@piwitests/server 0.24.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 (2476) 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/EmptyState-C-mCzGhO.mjs +42 -0
  161. package/.output/server/chunks/build/EmptyState-C-mCzGhO.mjs.map +1 -0
  162. package/.output/server/chunks/build/EntityLinks-BcpvMt_V.mjs +325 -0
  163. package/.output/server/chunks/build/EntityLinks-BcpvMt_V.mjs.map +1 -0
  164. package/.output/server/chunks/build/EnvManagedBadge-_8GfjWjE.mjs +71 -0
  165. package/.output/server/chunks/build/EnvManagedBadge-_8GfjWjE.mjs.map +1 -0
  166. package/.output/server/chunks/build/ErrorState-9UPssp7w.mjs +39 -0
  167. package/.output/server/chunks/build/ErrorState-9UPssp7w.mjs.map +1 -0
  168. package/.output/server/chunks/build/FeatureUnavailable-Buoyoqx1.mjs +83 -0
  169. package/.output/server/chunks/build/FeatureUnavailable-Buoyoqx1.mjs.map +1 -0
  170. package/.output/server/chunks/build/GetStartedWizard-tL3U_qM1.mjs +510 -0
  171. package/.output/server/chunks/build/GetStartedWizard-tL3U_qM1.mjs.map +1 -0
  172. package/.output/server/chunks/build/HelpHint-C96TlqxY.mjs +1070 -0
  173. package/.output/server/chunks/build/HelpHint-C96TlqxY.mjs.map +1 -0
  174. package/.output/server/chunks/build/LoadingState-CxfFwac9.mjs +38 -0
  175. package/.output/server/chunks/build/LoadingState-CxfFwac9.mjs.map +1 -0
  176. package/.output/server/chunks/build/MarkerBadge-DmubzeuF.mjs +72 -0
  177. package/.output/server/chunks/build/MarkerBadge-DmubzeuF.mjs.map +1 -0
  178. package/.output/server/chunks/build/MetaStripGroup-Cp2WCQf7.mjs +193 -0
  179. package/.output/server/chunks/build/MetaStripGroup-Cp2WCQf7.mjs.map +1 -0
  180. package/.output/server/chunks/build/MiniRunBars-CcSn_9Wl.mjs +59 -0
  181. package/.output/server/chunks/build/MiniRunBars-CcSn_9Wl.mjs.map +1 -0
  182. package/.output/server/chunks/build/Modal-BGBGJtVH.mjs +1472 -0
  183. package/.output/server/chunks/build/Modal-BGBGJtVH.mjs.map +1 -0
  184. package/.output/server/chunks/build/NavbarActions-VCHW0u67.mjs +59 -0
  185. package/.output/server/chunks/build/NavbarActions-VCHW0u67.mjs.map +1 -0
  186. package/.output/server/chunks/build/NavigationMenu-D4ZpdCm_.mjs +4155 -0
  187. package/.output/server/chunks/build/NavigationMenu-D4ZpdCm_.mjs.map +1 -0
  188. package/.output/server/chunks/build/OpenInIdeLink-Bnl-_som.mjs +396 -0
  189. package/.output/server/chunks/build/OpenInIdeLink-Bnl-_som.mjs.map +1 -0
  190. package/.output/server/chunks/build/ProjectTestCasesTable-saHYJoyQ.mjs +2407 -0
  191. package/.output/server/chunks/build/ProjectTestCasesTable-saHYJoyQ.mjs.map +1 -0
  192. package/.output/server/chunks/build/RovingFocusItem-CLjuqlIR.mjs +100 -0
  193. package/.output/server/chunks/build/RovingFocusItem-CLjuqlIR.mjs.map +1 -0
  194. package/.output/server/chunks/build/RunReports-CKYYRC59.mjs +57 -0
  195. package/.output/server/chunks/build/RunReports-CKYYRC59.mjs.map +1 -0
  196. package/.output/server/chunks/build/RunStatusBadge-CWhmAmKb.mjs +59 -0
  197. package/.output/server/chunks/build/RunStatusBadge-CWhmAmKb.mjs.map +1 -0
  198. package/.output/server/chunks/build/SectionCard-BB1O3uXd.mjs +142 -0
  199. package/.output/server/chunks/build/SectionCard-BB1O3uXd.mjs.map +1 -0
  200. package/.output/server/chunks/build/Select-COU8NARj.mjs +3572 -0
  201. package/.output/server/chunks/build/Select-COU8NARj.mjs.map +1 -0
  202. package/.output/server/chunks/build/SelectMenu-BUwwc3Qt.mjs +4400 -0
  203. package/.output/server/chunks/build/SelectMenu-BUwwc3Qt.mjs.map +1 -0
  204. package/.output/server/chunks/build/Separator-CQsq6WA9.mjs +421 -0
  205. package/.output/server/chunks/build/Separator-CQsq6WA9.mjs.map +1 -0
  206. package/.output/server/chunks/build/SettingsField-CEasBHu3.mjs +174 -0
  207. package/.output/server/chunks/build/SettingsField-CEasBHu3.mjs.map +1 -0
  208. package/.output/server/chunks/build/Slideover-DN5CvSnw.mjs +926 -0
  209. package/.output/server/chunks/build/Slideover-DN5CvSnw.mjs.map +1 -0
  210. package/.output/server/chunks/build/Switch-_NJhWmI9.mjs +655 -0
  211. package/.output/server/chunks/build/Switch-_NJhWmI9.mjs.map +1 -0
  212. package/.output/server/chunks/build/Table-BET-DOtX.mjs +949 -0
  213. package/.output/server/chunks/build/Table-BET-DOtX.mjs.map +1 -0
  214. package/.output/server/chunks/build/Tabs-CC34LIUz.mjs +1058 -0
  215. package/.output/server/chunks/build/Tabs-CC34LIUz.mjs.map +1 -0
  216. package/.output/server/chunks/build/TagBadge-aGUzbCxx.mjs +31 -0
  217. package/.output/server/chunks/build/TagBadge-aGUzbCxx.mjs.map +1 -0
  218. package/.output/server/chunks/build/TestCaseHistoryChart-BgI6P_zS.mjs +221 -0
  219. package/.output/server/chunks/build/TestCaseHistoryChart-BgI6P_zS.mjs.map +1 -0
  220. package/.output/server/chunks/build/TestMetaBadges-G2dAHnT-.mjs +200 -0
  221. package/.output/server/chunks/build/TestMetaBadges-G2dAHnT-.mjs.map +1 -0
  222. package/.output/server/chunks/build/TestStatusBar-DR8jM5th.mjs +109 -0
  223. package/.output/server/chunks/build/TestStatusBar-DR8jM5th.mjs.map +1 -0
  224. package/.output/server/chunks/build/Textarea-CmjqdiIA.mjs +605 -0
  225. package/.output/server/chunks/build/Textarea-CmjqdiIA.mjs.map +1 -0
  226. package/.output/server/chunks/build/Tooltip-CK0ucuXC.mjs +874 -0
  227. package/.output/server/chunks/build/Tooltip-CK0ucuXC.mjs.map +1 -0
  228. package/.output/server/chunks/build/_id_-B7Dw490u.mjs +8608 -0
  229. package/.output/server/chunks/build/_id_-B7Dw490u.mjs.map +1 -0
  230. package/.output/server/chunks/build/_id_-DVPb1S93.mjs +8736 -0
  231. package/.output/server/chunks/build/_id_-DVPb1S93.mjs.map +1 -0
  232. package/.output/server/chunks/build/_id_-kkexEH_q.mjs +1418 -0
  233. package/.output/server/chunks/build/_id_-kkexEH_q.mjs.map +1 -0
  234. package/.output/server/chunks/build/_id_-rQhFY0fN.mjs +4161 -0
  235. package/.output/server/chunks/build/_id_-rQhFY0fN.mjs.map +1 -0
  236. package/.output/server/chunks/build/about-C4AbyQ4q.mjs +698 -0
  237. package/.output/server/chunks/build/about-C4AbyQ4q.mjs.map +1 -0
  238. package/.output/server/chunks/build/account-B45bYZd1.mjs +920 -0
  239. package/.output/server/chunks/build/account-B45bYZd1.mjs.map +1 -0
  240. package/.output/server/chunks/build/ai-CgN9xXFf.mjs +1850 -0
  241. package/.output/server/chunks/build/ai-CgN9xXFf.mjs.map +1 -0
  242. package/.output/server/chunks/build/analytics-BRkiUpwa.mjs +3784 -0
  243. package/.output/server/chunks/build/analytics-BRkiUpwa.mjs.map +1 -0
  244. package/.output/server/chunks/build/auto-heal-BnTdKHQq.mjs +533 -0
  245. package/.output/server/chunks/build/auto-heal-BnTdKHQq.mjs.map +1 -0
  246. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  247. package/.output/server/chunks/build/compare-ykNFuMic.mjs +83 -0
  248. package/.output/server/chunks/build/compare-ykNFuMic.mjs.map +1 -0
  249. package/.output/server/chunks/build/db.client-DyVEaqk4.mjs +1196 -0
  250. package/.output/server/chunks/build/db.client-DyVEaqk4.mjs.map +1 -0
  251. package/.output/server/chunks/build/default-BGOdM_zA.mjs +6499 -0
  252. package/.output/server/chunks/build/default-BGOdM_zA.mjs.map +1 -0
  253. package/.output/server/chunks/build/docs-D7R5eJ1Z.mjs +1181 -0
  254. package/.output/server/chunks/build/docs-D7R5eJ1Z.mjs.map +1 -0
  255. package/.output/server/chunks/build/edit-BbL3k6c3.mjs +1640 -0
  256. package/.output/server/chunks/build/edit-BbL3k6c3.mjs.map +1 -0
  257. package/.output/server/chunks/build/fetch-DOcN2mHf.mjs +148 -0
  258. package/.output/server/chunks/build/fetch-DOcN2mHf.mjs.map +1 -0
  259. package/.output/server/chunks/build/forgot-password-CizombKP.mjs +297 -0
  260. package/.output/server/chunks/build/forgot-password-CizombKP.mjs.map +1 -0
  261. package/.output/server/chunks/build/help-content-BK3jcgLw.mjs +650 -0
  262. package/.output/server/chunks/build/help-content-BK3jcgLw.mjs.map +1 -0
  263. package/.output/server/chunks/build/import-ibAn_HB9.mjs +1023 -0
  264. package/.output/server/chunks/build/import-ibAn_HB9.mjs.map +1 -0
  265. package/.output/server/chunks/build/index-2GmuPNF-.mjs +457 -0
  266. package/.output/server/chunks/build/index-2GmuPNF-.mjs.map +1 -0
  267. package/.output/server/chunks/build/index-CqinXTVs.mjs +1700 -0
  268. package/.output/server/chunks/build/index-CqinXTVs.mjs.map +1 -0
  269. package/.output/server/chunks/build/index-D5A0DW7Y.mjs +93 -0
  270. package/.output/server/chunks/build/index-D5A0DW7Y.mjs.map +1 -0
  271. package/.output/server/chunks/build/index-DreB_S-d.mjs +1169 -0
  272. package/.output/server/chunks/build/index-DreB_S-d.mjs.map +1 -0
  273. package/.output/server/chunks/build/index-KsRegEjT.mjs +11040 -0
  274. package/.output/server/chunks/build/index-KsRegEjT.mjs.map +1 -0
  275. package/.output/server/chunks/build/isValueEqualOrExist-D4lZ8uRY.mjs +1 -1
  276. package/.output/server/chunks/build/login-DueFS2RU.mjs +835 -0
  277. package/.output/server/chunks/build/login-DueFS2RU.mjs.map +1 -0
  278. package/.output/server/chunks/build/mcp-Dwj29-uG.mjs +1593 -0
  279. package/.output/server/chunks/build/mcp-Dwj29-uG.mjs.map +1 -0
  280. package/.output/server/chunks/build/notifications-CjAn5FJj.mjs +1265 -0
  281. package/.output/server/chunks/build/notifications-CjAn5FJj.mjs.map +1 -0
  282. package/.output/server/chunks/build/performance-DRzcu_c7.mjs +581 -0
  283. package/.output/server/chunks/build/performance-DRzcu_c7.mjs.map +1 -0
  284. package/.output/server/chunks/build/pr-feedback-DR60oGBf.mjs +370 -0
  285. package/.output/server/chunks/build/pr-feedback-DR60oGBf.mjs.map +1 -0
  286. package/.output/server/chunks/build/reset-password-D6UnQTgI.mjs +355 -0
  287. package/.output/server/chunks/build/reset-password-D6UnQTgI.mjs.map +1 -0
  288. package/.output/server/chunks/build/selections-BjjolRZ9.mjs +1197 -0
  289. package/.output/server/chunks/build/selections-BjjolRZ9.mjs.map +1 -0
  290. package/.output/server/chunks/build/server.mjs +341 -43
  291. package/.output/server/chunks/build/server.mjs.map +1 -1
  292. package/.output/server/chunks/build/settings-B3NWV9tu.mjs +282 -0
  293. package/.output/server/chunks/build/settings-B3NWV9tu.mjs.map +1 -0
  294. package/.output/server/chunks/build/settings-metadata-DwJk8uSt.mjs +164 -0
  295. package/.output/server/chunks/build/settings-metadata-DwJk8uSt.mjs.map +1 -0
  296. package/.output/server/chunks/build/setup-BlgFTixN.mjs +1065 -0
  297. package/.output/server/chunks/build/setup-BlgFTixN.mjs.map +1 -0
  298. package/.output/server/chunks/build/storage-C1O-FC0U.mjs +361 -0
  299. package/.output/server/chunks/build/storage-C1O-FC0U.mjs.map +1 -0
  300. package/.output/server/chunks/build/styles.mjs +0 -2
  301. package/.output/server/chunks/build/tags-dsvYrnii.mjs +375 -0
  302. package/.output/server/chunks/build/tags-dsvYrnii.mjs.map +1 -0
  303. package/.output/server/chunks/build/test-cases-CFiOuyK6.mjs +228 -0
  304. package/.output/server/chunks/build/test-cases-CFiOuyK6.mjs.map +1 -0
  305. package/.output/server/chunks/build/test-functions-CbmBi6az.mjs +552 -0
  306. package/.output/server/chunks/build/test-functions-CbmBi6az.mjs.map +1 -0
  307. package/.output/server/chunks/build/useAiStatus-CiK1MZbH.mjs +9 -0
  308. package/.output/server/chunks/build/useAiStatus-CiK1MZbH.mjs.map +1 -0
  309. package/.output/server/chunks/build/useCopyRich-DPKZKHvZ.mjs +5805 -0
  310. package/.output/server/chunks/build/useCopyRich-DPKZKHvZ.mjs.map +1 -0
  311. package/.output/server/chunks/build/useDesktopDownload-R_RWSgUV.mjs +46 -0
  312. package/.output/server/chunks/build/useDesktopDownload-R_RWSgUV.mjs.map +1 -0
  313. package/.output/server/chunks/build/useDesktopLocalRuns-BdELBy0Y.mjs +381 -0
  314. package/.output/server/chunks/build/useDesktopLocalRuns-BdELBy0Y.mjs.map +1 -0
  315. package/.output/server/chunks/build/useDesktopProjectLink-IUN7SIP2.mjs +84 -0
  316. package/.output/server/chunks/build/useDesktopProjectLink-IUN7SIP2.mjs.map +1 -0
  317. package/.output/server/chunks/build/useOpenInIde-DS4YXevu.mjs +95 -0
  318. package/.output/server/chunks/build/useOpenInIde-DS4YXevu.mjs.map +1 -0
  319. package/.output/server/chunks/build/useSettingsNav-Dg87E7kY.mjs +19 -0
  320. package/.output/server/chunks/build/useSettingsNav-Dg87E7kY.mjs.map +1 -0
  321. package/.output/server/chunks/build/useTreeViewCookie-BvoH7a_X.mjs +25 -0
  322. package/.output/server/chunks/build/useTreeViewCookie-BvoH7a_X.mjs.map +1 -0
  323. package/.output/server/chunks/build/users-DgsoiXxQ.mjs +747 -0
  324. package/.output/server/chunks/build/users-DgsoiXxQ.mjs.map +1 -0
  325. package/.output/server/chunks/nitro/nitro.mjs +5767 -2513
  326. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  327. package/.output/server/chunks/routes/__piwi/session.get.mjs +3 -3
  328. package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
  329. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +2 -2
  330. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
  331. package/.output/server/chunks/routes/api/admin/stats.get.mjs +1 -1
  332. package/.output/server/chunks/routes/api/ai/status.get.mjs +1 -1
  333. package/.output/server/chunks/routes/api/ai/step-resolution.post.mjs +6 -5
  334. package/.output/server/chunks/routes/api/ai/step-resolution.post.mjs.map +1 -1
  335. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +16 -4
  336. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
  337. package/.output/server/chunks/routes/api/auth/change-password.post.mjs +4 -4
  338. package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
  339. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +4 -5
  340. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
  341. package/.output/server/chunks/routes/api/auth/login.post.mjs +6 -8
  342. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
  343. package/.output/server/chunks/routes/api/auth/logout.post.mjs +2 -2
  344. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
  345. package/.output/server/chunks/routes/api/auth/me.get.mjs +1 -1
  346. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +1 -1
  347. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +4 -4
  348. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
  349. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +2 -2
  350. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
  351. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +7 -8
  352. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
  353. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +6 -5
  354. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
  355. package/.output/server/chunks/routes/api/auth/setup.get.mjs +1 -1
  356. package/.output/server/chunks/routes/api/auth/setup.post.mjs +8 -9
  357. package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
  358. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +3 -3
  359. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
  360. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +9 -8
  361. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
  362. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +5 -6
  363. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
  364. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +2 -2
  365. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
  366. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +2 -2
  367. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs +7 -7
  369. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +1 -1
  371. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +2 -2
  372. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
  373. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +5 -5
  374. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
  375. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +3 -3
  376. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
  377. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +6 -6
  378. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
  379. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +2 -2
  380. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
  381. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +12 -11
  382. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
  383. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +12 -11
  384. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
  385. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +3 -2
  386. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
  387. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +1 -1
  388. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +2 -2
  389. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -1
  390. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +3 -3
  391. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
  392. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +3 -3
  393. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -1
  394. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.get.mjs +54 -0
  395. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.get.mjs.map +1 -0
  396. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.post.mjs +91 -0
  397. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.post.mjs.map +1 -0
  398. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +3 -3
  399. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
  400. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +2 -2
  401. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
  402. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +6 -5
  403. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +4 -4
  405. package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  407. package/.output/server/chunks/routes/api/index.get.mjs +4 -19
  408. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  409. package/.output/server/chunks/routes/api/index.get2.mjs +27 -11
  410. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
  411. package/.output/server/chunks/routes/api/index.get3.mjs +12 -29
  412. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  413. package/.output/server/chunks/routes/api/index.get4.mjs +15 -4
  414. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
  415. package/.output/server/chunks/routes/api/index.get5.mjs +2 -7
  416. package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
  417. package/.output/server/chunks/routes/api/index.get6.mjs +58 -0
  418. package/.output/server/chunks/routes/api/index.get6.mjs.map +1 -0
  419. package/.output/server/chunks/routes/api/index.post.mjs +20 -9
  420. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  421. package/.output/server/chunks/routes/api/index.post2.mjs +7 -7
  422. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  423. package/.output/server/chunks/routes/api/index.post3.mjs +4 -4
  424. package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
  425. package/.output/server/chunks/routes/api/index.post4.mjs +20 -13
  426. package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
  427. package/.output/server/chunks/routes/api/index.post5.mjs +6 -5
  428. package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
  429. package/.output/server/chunks/routes/api/index.post6.mjs +10 -17
  430. package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
  431. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +4 -4
  432. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
  433. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +3 -3
  434. package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
  435. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +4 -4
  436. package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
  437. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +2 -2
  438. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
  439. package/.output/server/chunks/routes/api/markers/_id_.patch.mjs +76 -0
  440. package/.output/server/chunks/routes/api/markers/_id_.patch.mjs.map +1 -0
  441. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +46 -12
  442. package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
  443. package/.output/server/chunks/routes/api/projects/_id/ai-steps.get.mjs +3 -3
  444. package/.output/server/chunks/routes/api/projects/_id/ai-steps.get.mjs.map +1 -1
  445. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +2 -2
  446. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
  447. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +3 -3
  448. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
  449. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +3 -3
  450. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
  451. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +6 -6
  452. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
  453. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +1 -1
  454. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +2 -2
  455. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
  456. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +2 -2
  457. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
  458. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +3 -3
  459. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
  460. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +4 -4
  461. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
  462. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +6 -6
  463. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
  464. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +4 -4
  465. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -1
  466. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +2 -4
  467. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -1
  468. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +3 -4
  469. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -1
  470. package/.output/server/chunks/routes/api/projects/_id/selections/_key/resolve.get.mjs +75 -0
  471. package/.output/server/chunks/routes/api/projects/_id/selections/_key/resolve.get.mjs.map +1 -0
  472. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.delete.mjs +61 -0
  473. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.delete.mjs.map +1 -0
  474. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.get.mjs +59 -0
  475. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.get.mjs.map +1 -0
  476. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.patch.mjs +67 -0
  477. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.patch.mjs.map +1 -0
  478. package/.output/server/chunks/routes/api/projects/_id/selections/analytics.get.mjs +55 -0
  479. package/.output/server/chunks/routes/api/projects/_id/selections/analytics.get.mjs.map +1 -0
  480. package/.output/server/chunks/routes/api/projects/_id/selections/impact.post.mjs +64 -0
  481. package/.output/server/chunks/routes/api/projects/_id/selections/impact.post.mjs.map +1 -0
  482. package/.output/server/chunks/routes/api/projects/_id/selections/preview.post.mjs +60 -0
  483. package/.output/server/chunks/routes/api/projects/_id/selections/preview.post.mjs.map +1 -0
  484. package/.output/server/chunks/routes/api/projects/_id/selections/suggestions.get.mjs +58 -0
  485. package/.output/server/chunks/routes/api/projects/_id/selections/suggestions.get.mjs.map +1 -0
  486. package/.output/server/chunks/routes/api/projects/_id/selections.get.mjs +55 -0
  487. package/.output/server/chunks/routes/api/projects/_id/selections.get.mjs.map +1 -0
  488. package/.output/server/chunks/routes/api/projects/_id/selections.post.mjs +69 -0
  489. package/.output/server/chunks/routes/api/projects/_id/selections.post.mjs.map +1 -0
  490. package/.output/server/chunks/routes/api/projects/_id/share-links.get.mjs +55 -0
  491. package/.output/server/chunks/routes/api/projects/_id/share-links.get.mjs.map +1 -0
  492. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +4 -5
  493. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +3 -3
  495. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +1 -1
  497. package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs +6 -5
  498. package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs.map +1 -1
  499. package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs +3 -3
  500. package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs.map +1 -1
  501. package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs +2 -2
  502. package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs.map +1 -1
  503. package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs +3 -3
  504. package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs.map +1 -1
  505. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +4 -5
  506. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
  507. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +2 -2
  508. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
  509. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +3 -4
  510. package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
  511. package/.output/server/chunks/routes/api/projects/_id_.patch.mjs +91 -0
  512. package/.output/server/chunks/routes/api/projects/_id_.patch.mjs.map +1 -0
  513. package/.output/server/chunks/routes/api/projects/menu.get.mjs +2 -2
  514. package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
  515. package/.output/server/chunks/routes/api/projects/overview.get.mjs +2 -2
  516. package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
  517. package/.output/server/chunks/routes/api/projects.get.mjs +3 -2
  518. package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
  519. package/.output/server/chunks/routes/api/search.get.mjs +1 -1
  520. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +1 -1
  521. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +1 -1
  522. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +1 -1
  523. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +3 -2
  524. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
  525. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +2 -3
  526. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
  527. package/.output/server/chunks/routes/api/settings/ai.get.mjs +1 -1
  528. package/.output/server/chunks/routes/api/settings/ai.put.mjs +6 -6
  529. package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
  530. package/.output/server/chunks/routes/api/settings/auto-heal.get.mjs +59 -0
  531. package/.output/server/chunks/routes/api/settings/auto-heal.get.mjs.map +1 -0
  532. package/.output/server/chunks/routes/api/settings/auto-heal.put.mjs +65 -0
  533. package/.output/server/chunks/routes/api/settings/auto-heal.put.mjs.map +1 -0
  534. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +1 -1
  535. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +1 -1
  536. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +3 -3
  537. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
  538. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +15 -2
  539. package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
  540. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +1 -1
  541. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +1 -1
  542. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +1 -1
  543. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +2 -2
  544. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
  545. package/.output/server/chunks/routes/api/setup-status.get.mjs +1 -1
  546. package/.output/server/chunks/routes/api/share-links/_id_.delete.mjs +60 -0
  547. package/.output/server/chunks/routes/api/share-links/_id_.delete.mjs.map +1 -0
  548. package/.output/server/chunks/routes/api/share-links/settings.get.mjs +53 -0
  549. package/.output/server/chunks/routes/api/share-links/settings.get.mjs.map +1 -0
  550. package/.output/server/chunks/routes/api/stream.get.mjs +1 -1
  551. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +3 -4
  552. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
  553. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +11 -8
  554. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
  555. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +3 -3
  556. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
  557. package/.output/server/chunks/routes/api/tags/_id_.patch.mjs +77 -0
  558. package/.output/server/chunks/routes/api/tags/_id_.patch.mjs.map +1 -0
  559. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +3 -3
  560. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs.map +1 -1
  561. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +3 -3
  562. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs.map +1 -1
  563. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +2 -2
  564. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
  565. package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs +2 -2
  566. package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs.map +1 -1
  567. package/.output/server/chunks/routes/api/test-functions/_id_.patch.mjs +71 -0
  568. package/.output/server/chunks/routes/api/test-functions/_id_.patch.mjs.map +1 -0
  569. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +8 -7
  570. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
  571. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +4 -4
  572. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
  573. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +1 -1
  574. package/.output/server/chunks/routes/api/test-run-cases/_id/dom-snapshot.get.mjs +65 -0
  575. package/.output/server/chunks/routes/api/test-run-cases/_id/dom-snapshot.get.mjs.map +1 -0
  576. package/.output/server/chunks/routes/api/test-run-cases/_id/environment-diff.get.mjs +54 -0
  577. package/.output/server/chunks/routes/api/test-run-cases/_id/environment-diff.get.mjs.map +1 -0
  578. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +2 -2
  579. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -1
  580. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-healing.get.mjs +57 -0
  581. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-healing.get.mjs.map +1 -0
  582. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-pick.post.mjs +63 -0
  583. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-pick.post.mjs.map +1 -0
  584. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.get.mjs +54 -0
  585. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.get.mjs.map +1 -0
  586. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.post.mjs +91 -0
  587. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.post.mjs.map +1 -0
  588. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network-body.get.mjs +63 -0
  589. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network-body.get.mjs.map +1 -0
  590. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network.get.mjs +58 -0
  591. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network.get.mjs.map +1 -0
  592. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-stacks.get.mjs +61 -0
  593. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-stacks.get.mjs.map +1 -0
  594. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +3 -3
  595. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
  596. package/.output/server/chunks/routes/api/test-run-cases/_id/visual-diff.get.mjs +54 -0
  597. package/.output/server/chunks/routes/api/test-run-cases/_id/visual-diff.get.mjs.map +1 -0
  598. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +2 -2
  599. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
  600. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +8 -8
  601. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
  602. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +11 -11
  603. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
  604. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +69 -39
  605. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
  606. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +2 -2
  607. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
  608. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +10 -8
  609. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
  610. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +84 -12
  611. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -1
  612. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +3 -3
  613. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
  614. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +2 -2
  615. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
  616. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +3 -3
  617. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
  618. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +2 -2
  619. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
  620. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +9 -5
  621. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
  622. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +2 -2
  623. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
  624. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +2 -2
  625. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
  626. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +2 -2
  627. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
  628. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +3 -3
  629. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
  630. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +5 -5
  631. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -1
  632. package/.output/server/chunks/routes/api/test-runs/import.post.mjs +4 -4
  633. package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -1
  634. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +2 -2
  635. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
  636. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +18 -15
  637. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
  638. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +14 -11
  639. package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
  640. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +34 -25
  641. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
  642. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +26 -18
  643. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
  644. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +5 -2
  645. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
  646. package/.output/server/chunks/routes/api/traces/check.post.mjs +3 -3
  647. package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
  648. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +4 -4
  649. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
  650. package/.output/server/chunks/routes/api/users/_id/index.get.mjs +4 -4
  651. package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
  652. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +4 -4
  653. package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
  654. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +7 -6
  655. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
  656. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +3 -3
  657. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
  658. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +6 -6
  659. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
  660. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +6 -6
  661. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  662. package/.output/server/chunks/routes/api/users/_id_.patch.mjs +9 -12
  663. package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
  664. package/.output/server/chunks/routes/api/version.get.mjs +1 -1
  665. package/.output/server/chunks/routes/mcp.post.mjs +9 -4
  666. package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
  667. package/.output/server/chunks/routes/renderer.mjs +1 -1
  668. package/.output/server/chunks/routes/share/_token_.get.mjs +101 -0
  669. package/.output/server/chunks/routes/share/_token_.get.mjs.map +1 -0
  670. package/.output/server/chunks/tasks/sweep.mjs +7 -7
  671. package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
  672. package/.output/server/chunks/tasks/sweep2.mjs +7 -35
  673. package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
  674. package/.output/server/chunks/tasks/sweep3.mjs +95 -0
  675. package/.output/server/chunks/tasks/sweep3.mjs.map +1 -0
  676. package/.output/server/database/migrations/0046_strange_micromax.sql +1 -0
  677. package/.output/server/database/migrations/0047_lethal_white_tiger.sql +2 -0
  678. package/.output/server/database/migrations/0048_stormy_whizzer.sql +21 -0
  679. package/.output/server/database/migrations/0049_optimal_blue_blade.sql +22 -0
  680. package/.output/server/database/migrations/0050_rainy_snowbird.sql +1 -0
  681. package/.output/server/database/migrations/0051_brave_rafael_vega.sql +3 -0
  682. package/.output/server/database/migrations/0052_backfill_branch.sql +10 -0
  683. package/.output/server/database/migrations/0053_damp_dark_beast.sql +18 -0
  684. package/.output/server/database/migrations/meta/0046_snapshot.json +3786 -0
  685. package/.output/server/database/migrations/meta/0047_snapshot.json +3800 -0
  686. package/.output/server/database/migrations/meta/0048_snapshot.json +3935 -0
  687. package/.output/server/database/migrations/meta/0049_snapshot.json +4079 -0
  688. package/.output/server/database/migrations/meta/0050_snapshot.json +4086 -0
  689. package/.output/server/database/migrations/meta/0051_snapshot.json +4105 -0
  690. package/.output/server/database/migrations/meta/0052_snapshot.json +4105 -0
  691. package/.output/server/database/migrations/meta/0053_snapshot.json +4221 -0
  692. package/.output/server/database/migrations/meta/_journal.json +56 -0
  693. package/.output/server/database/migrations-pg/0047_boring_harry_osborn.sql +1 -0
  694. package/.output/server/database/migrations-pg/0048_right_gargoyle.sql +2 -0
  695. package/.output/server/database/migrations-pg/0049_plain_preak.sql +21 -0
  696. package/.output/server/database/migrations-pg/0050_shallow_mother_askani.sql +22 -0
  697. package/.output/server/database/migrations-pg/0051_military_drax.sql +1 -0
  698. package/.output/server/database/migrations-pg/0052_clean_patch.sql +3 -0
  699. package/.output/server/database/migrations-pg/0053_backfill_branch.sql +10 -0
  700. package/.output/server/database/migrations-pg/0054_smooth_malice.sql +18 -0
  701. package/.output/server/database/migrations-pg/meta/0047_snapshot.json +4492 -0
  702. package/.output/server/database/migrations-pg/meta/0048_snapshot.json +4504 -0
  703. package/.output/server/database/migrations-pg/meta/0049_snapshot.json +4667 -0
  704. package/.output/server/database/migrations-pg/meta/0050_snapshot.json +4853 -0
  705. package/.output/server/database/migrations-pg/meta/0051_snapshot.json +4859 -0
  706. package/.output/server/database/migrations-pg/meta/0052_snapshot.json +4898 -0
  707. package/.output/server/database/migrations-pg/meta/0053_snapshot.json +4898 -0
  708. package/.output/server/database/migrations-pg/meta/0054_snapshot.json +5043 -0
  709. package/.output/server/database/migrations-pg/meta/_journal.json +56 -0
  710. package/.output/server/index.mjs +1 -1
  711. package/.output/server/package.json +1 -53
  712. package/README.md +4 -4
  713. package/package.json +3 -3
  714. package/.output/public/_nuxt/-COcylA_.js +0 -1
  715. package/.output/public/_nuxt/03FA4-rI.js +0 -1
  716. package/.output/public/_nuxt/5a7jHE9s.js +0 -1
  717. package/.output/public/_nuxt/6Z_ZwH8I.js +0 -1
  718. package/.output/public/_nuxt/7ZHq6PCI.js +0 -1
  719. package/.output/public/_nuxt/98sAB6Gu.js +0 -1
  720. package/.output/public/_nuxt/B--J7VNt.js +0 -1
  721. package/.output/public/_nuxt/B1LUinhp.js +0 -3
  722. package/.output/public/_nuxt/B33YjaHr.js +0 -1
  723. package/.output/public/_nuxt/B69RP95P.js +0 -1
  724. package/.output/public/_nuxt/B8H4XydJ.js +0 -1
  725. package/.output/public/_nuxt/B8Xm4_S_.js +0 -1
  726. package/.output/public/_nuxt/BBhrClA9.js +0 -1
  727. package/.output/public/_nuxt/BCGljaM0.js +0 -1
  728. package/.output/public/_nuxt/BFxvHlO9.js +0 -1
  729. package/.output/public/_nuxt/BKrWWV14.js +0 -1
  730. package/.output/public/_nuxt/BN1zZw5b.js +0 -9
  731. package/.output/public/_nuxt/BPXqL9vK.js +0 -1
  732. package/.output/public/_nuxt/BUnwEAjq.js +0 -1
  733. package/.output/public/_nuxt/BVLqydCr.js +0 -1
  734. package/.output/public/_nuxt/BWMSVSNM.js +0 -1
  735. package/.output/public/_nuxt/B_r0xHVS.js +0 -1
  736. package/.output/public/_nuxt/BakMHV79.js +0 -1
  737. package/.output/public/_nuxt/Bd8B-yeR.js +0 -1
  738. package/.output/public/_nuxt/BevElZaK.js +0 -1
  739. package/.output/public/_nuxt/BfA6lfg4.js +0 -1
  740. package/.output/public/_nuxt/Bg93Rnts.js +0 -4
  741. package/.output/public/_nuxt/BgABj4Ty.js +0 -4
  742. package/.output/public/_nuxt/BjaRappk.js +0 -1
  743. package/.output/public/_nuxt/BkM2KXUo.js +0 -4
  744. package/.output/public/_nuxt/BkxRbXIj.js +0 -1
  745. package/.output/public/_nuxt/Bme1UkOl.js +0 -1
  746. package/.output/public/_nuxt/BmzxRbcg.js +0 -1
  747. package/.output/public/_nuxt/Bn0jaRxI.js +0 -1
  748. package/.output/public/_nuxt/BoNKdx5o.js +0 -1
  749. package/.output/public/_nuxt/Bp3FRuEm.js +0 -1
  750. package/.output/public/_nuxt/BrUBOQ0y.js +0 -1
  751. package/.output/public/_nuxt/BtSGUY-7.js +0 -5
  752. package/.output/public/_nuxt/BtbpLWDs.js +0 -1
  753. package/.output/public/_nuxt/BvAfKk6C.js +0 -1
  754. package/.output/public/_nuxt/BwEN1fJ1.js +0 -1
  755. package/.output/public/_nuxt/C-XjxjG5.js +0 -1
  756. package/.output/public/_nuxt/C3W_wyr9.js +0 -1
  757. package/.output/public/_nuxt/C5TrTuWv.js +0 -254
  758. package/.output/public/_nuxt/C7D5Wl7T.js +0 -1
  759. package/.output/public/_nuxt/C7fq_rHE.js +0 -1
  760. package/.output/public/_nuxt/C8Paf_V1.js +0 -1
  761. package/.output/public/_nuxt/CD8ZzAFC.js +0 -1
  762. package/.output/public/_nuxt/CDTeSrLO.js +0 -44
  763. package/.output/public/_nuxt/CGHV0Y2d.js +0 -1
  764. package/.output/public/_nuxt/CIpF9l75.js +0 -5
  765. package/.output/public/_nuxt/CJ1rmnk4.js +0 -1
  766. package/.output/public/_nuxt/CMuzkARi.js +0 -1
  767. package/.output/public/_nuxt/COuZu9FO.js +0 -2
  768. package/.output/public/_nuxt/CX5Q0dZ8.js +0 -1
  769. package/.output/public/_nuxt/CX_G-FHC.js +0 -79
  770. package/.output/public/_nuxt/Ce5_Tq63.js +0 -1
  771. package/.output/public/_nuxt/Cf4MFOuf.js +0 -1
  772. package/.output/public/_nuxt/CgkXEZMo.js +0 -1
  773. package/.output/public/_nuxt/CjBktNrC.js +0 -1
  774. package/.output/public/_nuxt/CjtjQV60.js +0 -1
  775. package/.output/public/_nuxt/CpcrljrH.js +0 -1
  776. package/.output/public/_nuxt/Cq33x7yV.js +0 -1
  777. package/.output/public/_nuxt/CsV7pmcT.js +0 -1
  778. package/.output/public/_nuxt/Cu2Q4iPh.js +0 -1
  779. package/.output/public/_nuxt/CyLcEDg2.js +0 -2
  780. package/.output/public/_nuxt/D0Kop4bS.js +0 -1
  781. package/.output/public/_nuxt/D1Y43xM1.js +0 -2
  782. package/.output/public/_nuxt/D1vqYZsL.js +0 -7
  783. package/.output/public/_nuxt/D2rZosKf.js +0 -6
  784. package/.output/public/_nuxt/D7W_4Sqc.js +0 -1
  785. package/.output/public/_nuxt/D7jpwkRG.js +0 -5
  786. package/.output/public/_nuxt/D8NAb7VE.js +0 -1
  787. package/.output/public/_nuxt/D8vguZKg.js +0 -17
  788. package/.output/public/_nuxt/DEvYVl9M.js +0 -1
  789. package/.output/public/_nuxt/DF6Mes5z.js +0 -41
  790. package/.output/public/_nuxt/DGq4A2Pd.js +0 -1
  791. package/.output/public/_nuxt/DH5H1DJh.js +0 -1
  792. package/.output/public/_nuxt/DL8knjzi.js +0 -1
  793. package/.output/public/_nuxt/DM3bDZC6.js +0 -1
  794. package/.output/public/_nuxt/DMAiMrNr.js +0 -1
  795. package/.output/public/_nuxt/DMWfVJCj.js +0 -34
  796. package/.output/public/_nuxt/DMsm-RGQ.js +0 -1
  797. package/.output/public/_nuxt/DMtrFQqi.js +0 -2
  798. package/.output/public/_nuxt/DPZBpFOX.js +0 -5
  799. package/.output/public/_nuxt/DVEGfqtt.js +0 -2
  800. package/.output/public/_nuxt/D_y2VS8k.js +0 -1
  801. package/.output/public/_nuxt/DaNC-xl1.js +0 -1
  802. package/.output/public/_nuxt/DbmGeOus.js +0 -1
  803. package/.output/public/_nuxt/DcLbz6DV.js +0 -1
  804. package/.output/public/_nuxt/DcR0Mmdl.js +0 -1
  805. package/.output/public/_nuxt/DhYznn-U.js +0 -1
  806. package/.output/public/_nuxt/DhuRRlmK.js +0 -1
  807. package/.output/public/_nuxt/Drw8yQg6.js +0 -1
  808. package/.output/public/_nuxt/DuO5wfAC.js +0 -1
  809. package/.output/public/_nuxt/DuOH5jcQ.js +0 -1
  810. package/.output/public/_nuxt/DvEsAuE9.js +0 -1
  811. package/.output/public/_nuxt/Dz6g_QJT.js +0 -1
  812. package/.output/public/_nuxt/DzZpIs4W.js +0 -1
  813. package/.output/public/_nuxt/DzzNS-K1.js +0 -1
  814. package/.output/public/_nuxt/Fsw2W4TA.js +0 -9
  815. package/.output/public/_nuxt/LwoTUb-r.js +0 -1
  816. package/.output/public/_nuxt/OfPjZaky.js +0 -1
  817. package/.output/public/_nuxt/P5uOaRUZ.js +0 -167
  818. package/.output/public/_nuxt/Qo6oszaF.js +0 -1
  819. package/.output/public/_nuxt/T5UuMUxA.js +0 -1
  820. package/.output/public/_nuxt/UY8pjaZA.js +0 -1
  821. package/.output/public/_nuxt/V9p3z39z.js +0 -1
  822. package/.output/public/_nuxt/VACXezo0.js +0 -1
  823. package/.output/public/_nuxt/YmCeJkZ2.js +0 -1
  824. package/.output/public/_nuxt/builds/meta/70224ee0-4d1f-45d2-b380-2ecb18064bf1.json +0 -1
  825. package/.output/public/_nuxt/entry.DzPSf_u5.css +0 -1
  826. package/.output/public/_nuxt/fXUwH_3d.js +0 -1
  827. package/.output/public/_nuxt/index.BiXg7rd-.css +0 -1
  828. package/.output/public/_nuxt/opwuUqHG.js +0 -2
  829. package/.output/public/_nuxt/opyDpgSw.js +0 -1
  830. package/.output/public/_nuxt/sVV8xB9f.js +0 -1
  831. package/.output/public/_nuxt/xa5UHCot.js +0 -1
  832. package/.output/server/chunks/_/quarantine.mjs +0 -112
  833. package/.output/server/chunks/_/quarantine.mjs.map +0 -1
  834. package/.output/server/chunks/build/Alert-He-UxEt6.mjs +0 -479
  835. package/.output/server/chunks/build/Alert-He-UxEt6.mjs.map +0 -1
  836. package/.output/server/chunks/build/Breadcrumb-DEP2dVCZ.mjs +0 -522
  837. package/.output/server/chunks/build/Breadcrumb-DEP2dVCZ.mjs.map +0 -1
  838. package/.output/server/chunks/build/BreadcrumbNav-y6nMDYcR.mjs +0 -111
  839. package/.output/server/chunks/build/BreadcrumbNav-y6nMDYcR.mjs.map +0 -1
  840. package/.output/server/chunks/build/BrowserBadge-DIASU8Gf.mjs +0 -89
  841. package/.output/server/chunks/build/BrowserBadge-DIASU8Gf.mjs.map +0 -1
  842. package/.output/server/chunks/build/ChartCard-ZTsCvItQ.mjs +0 -77
  843. package/.output/server/chunks/build/ChartCard-ZTsCvItQ.mjs.map +0 -1
  844. package/.output/server/chunks/build/ChartMarkerTooltip-u_1DUHh-.mjs +0 -72
  845. package/.output/server/chunks/build/ChartMarkerTooltip-u_1DUHh-.mjs.map +0 -1
  846. package/.output/server/chunks/build/Checkbox-BisdHf8n.mjs +0 -746
  847. package/.output/server/chunks/build/Checkbox-BisdHf8n.mjs.map +0 -1
  848. package/.output/server/chunks/build/CodeBlock-B8BNtZAe.mjs +0 -54
  849. package/.output/server/chunks/build/CodeBlock-B8BNtZAe.mjs.map +0 -1
  850. package/.output/server/chunks/build/DashboardNavbar-D7-3zBUU.mjs +0 -270
  851. package/.output/server/chunks/build/DashboardNavbar-D7-3zBUU.mjs.map +0 -1
  852. package/.output/server/chunks/build/DashboardSidebarToggle-C3HdHvlE.mjs +0 -480
  853. package/.output/server/chunks/build/DashboardSidebarToggle-C3HdHvlE.mjs.map +0 -1
  854. package/.output/server/chunks/build/DataLocationCard-CC2-lHiP.mjs +0 -102
  855. package/.output/server/chunks/build/DataLocationCard-CC2-lHiP.mjs.map +0 -1
  856. package/.output/server/chunks/build/DesktopRunLocallyButton-iNzrDsEs.mjs +0 -1183
  857. package/.output/server/chunks/build/DesktopRunLocallyButton-iNzrDsEs.mjs.map +0 -1
  858. package/.output/server/chunks/build/DiagnosisPanel-BVb2LgHu.mjs +0 -1208
  859. package/.output/server/chunks/build/DiagnosisPanel-BVb2LgHu.mjs.map +0 -1
  860. package/.output/server/chunks/build/DiagnosisResult-xVgZlfKK.mjs +0 -1524
  861. package/.output/server/chunks/build/DiagnosisResult-xVgZlfKK.mjs.map +0 -1
  862. package/.output/server/chunks/build/DurationValue-UX9uajQJ.mjs +0 -43
  863. package/.output/server/chunks/build/DurationValue-UX9uajQJ.mjs.map +0 -1
  864. package/.output/server/chunks/build/EmptyState-DC2q_7TD.mjs +0 -42
  865. package/.output/server/chunks/build/EmptyState-DC2q_7TD.mjs.map +0 -1
  866. package/.output/server/chunks/build/EntityLinks-Dzn73fbq.mjs +0 -325
  867. package/.output/server/chunks/build/EntityLinks-Dzn73fbq.mjs.map +0 -1
  868. package/.output/server/chunks/build/EnvManagedBadge-C-agmABK.mjs +0 -71
  869. package/.output/server/chunks/build/EnvManagedBadge-C-agmABK.mjs.map +0 -1
  870. package/.output/server/chunks/build/ErrorState-CktYyeEZ.mjs +0 -39
  871. package/.output/server/chunks/build/ErrorState-CktYyeEZ.mjs.map +0 -1
  872. package/.output/server/chunks/build/FeatureUnavailable-DHFkwI7t.mjs +0 -83
  873. package/.output/server/chunks/build/FeatureUnavailable-DHFkwI7t.mjs.map +0 -1
  874. package/.output/server/chunks/build/GetStartedWizard-BpcGYsm2.mjs +0 -510
  875. package/.output/server/chunks/build/GetStartedWizard-BpcGYsm2.mjs.map +0 -1
  876. package/.output/server/chunks/build/HelpHint-plioHKA0.mjs +0 -1048
  877. package/.output/server/chunks/build/HelpHint-plioHKA0.mjs.map +0 -1
  878. package/.output/server/chunks/build/LoadingState-CwpfmI0W.mjs +0 -38
  879. package/.output/server/chunks/build/LoadingState-CwpfmI0W.mjs.map +0 -1
  880. package/.output/server/chunks/build/MarkerBadge-Biz5--h2.mjs +0 -72
  881. package/.output/server/chunks/build/MarkerBadge-Biz5--h2.mjs.map +0 -1
  882. package/.output/server/chunks/build/MetaStripGroup-A0a72vt5.mjs +0 -193
  883. package/.output/server/chunks/build/MetaStripGroup-A0a72vt5.mjs.map +0 -1
  884. package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs +0 -59
  885. package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs.map +0 -1
  886. package/.output/server/chunks/build/Modal-hKLvVFNp.mjs +0 -1472
  887. package/.output/server/chunks/build/Modal-hKLvVFNp.mjs.map +0 -1
  888. package/.output/server/chunks/build/NavbarActions-_YjrSUat.mjs +0 -59
  889. package/.output/server/chunks/build/NavbarActions-_YjrSUat.mjs.map +0 -1
  890. package/.output/server/chunks/build/NavigationMenu-RfBOyS32.mjs +0 -4155
  891. package/.output/server/chunks/build/NavigationMenu-RfBOyS32.mjs.map +0 -1
  892. package/.output/server/chunks/build/OpenInIdeLink-Jp6SzEtD.mjs +0 -396
  893. package/.output/server/chunks/build/OpenInIdeLink-Jp6SzEtD.mjs.map +0 -1
  894. package/.output/server/chunks/build/ProjectTestCasesTable-DxOTfhi4.mjs +0 -2407
  895. package/.output/server/chunks/build/ProjectTestCasesTable-DxOTfhi4.mjs.map +0 -1
  896. package/.output/server/chunks/build/RovingFocusItem-BOSx1Z9Z.mjs +0 -100
  897. package/.output/server/chunks/build/RovingFocusItem-BOSx1Z9Z.mjs.map +0 -1
  898. package/.output/server/chunks/build/RunReports-nuLb-Nm3.mjs +0 -57
  899. package/.output/server/chunks/build/RunReports-nuLb-Nm3.mjs.map +0 -1
  900. package/.output/server/chunks/build/RunStatusBadge-CvWmcFYM.mjs +0 -59
  901. package/.output/server/chunks/build/RunStatusBadge-CvWmcFYM.mjs.map +0 -1
  902. package/.output/server/chunks/build/SectionCard-DHAFvJxm.mjs +0 -142
  903. package/.output/server/chunks/build/SectionCard-DHAFvJxm.mjs.map +0 -1
  904. package/.output/server/chunks/build/Select-CEyw7HGK.mjs +0 -3572
  905. package/.output/server/chunks/build/Select-CEyw7HGK.mjs.map +0 -1
  906. package/.output/server/chunks/build/SelectMenu-C02Hs2_F.mjs +0 -4400
  907. package/.output/server/chunks/build/SelectMenu-C02Hs2_F.mjs.map +0 -1
  908. package/.output/server/chunks/build/Separator-lrN70ODV.mjs +0 -421
  909. package/.output/server/chunks/build/Separator-lrN70ODV.mjs.map +0 -1
  910. package/.output/server/chunks/build/SettingsField-tRmytcEJ.mjs +0 -174
  911. package/.output/server/chunks/build/SettingsField-tRmytcEJ.mjs.map +0 -1
  912. package/.output/server/chunks/build/Slideover-D6cRIqch.mjs +0 -926
  913. package/.output/server/chunks/build/Slideover-D6cRIqch.mjs.map +0 -1
  914. package/.output/server/chunks/build/Switch-R2n82ncQ.mjs +0 -655
  915. package/.output/server/chunks/build/Switch-R2n82ncQ.mjs.map +0 -1
  916. package/.output/server/chunks/build/Table-qZdnm9t2.mjs +0 -949
  917. package/.output/server/chunks/build/Table-qZdnm9t2.mjs.map +0 -1
  918. package/.output/server/chunks/build/Tabs-BDP7MWl4.mjs +0 -1058
  919. package/.output/server/chunks/build/Tabs-BDP7MWl4.mjs.map +0 -1
  920. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs +0 -31
  921. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs.map +0 -1
  922. package/.output/server/chunks/build/TestCaseHistoryChart-CKDXQ2GI.mjs +0 -164
  923. package/.output/server/chunks/build/TestCaseHistoryChart-CKDXQ2GI.mjs.map +0 -1
  924. package/.output/server/chunks/build/TestMetaBadges-BlyKmfeP.mjs +0 -200
  925. package/.output/server/chunks/build/TestMetaBadges-BlyKmfeP.mjs.map +0 -1
  926. package/.output/server/chunks/build/TestStatusBar-CvsmKJ4D.mjs +0 -109
  927. package/.output/server/chunks/build/TestStatusBar-CvsmKJ4D.mjs.map +0 -1
  928. package/.output/server/chunks/build/Textarea-DpmpM-lN.mjs +0 -605
  929. package/.output/server/chunks/build/Textarea-DpmpM-lN.mjs.map +0 -1
  930. package/.output/server/chunks/build/Tooltip-BI3WQErw.mjs +0 -874
  931. package/.output/server/chunks/build/Tooltip-BI3WQErw.mjs.map +0 -1
  932. package/.output/server/chunks/build/_id_-26komi8G.mjs +0 -8126
  933. package/.output/server/chunks/build/_id_-26komi8G.mjs.map +0 -1
  934. package/.output/server/chunks/build/_id_-T965GKYC.mjs +0 -1413
  935. package/.output/server/chunks/build/_id_-T965GKYC.mjs.map +0 -1
  936. package/.output/server/chunks/build/_id_-w7YCSiiy.mjs +0 -4144
  937. package/.output/server/chunks/build/_id_-w7YCSiiy.mjs.map +0 -1
  938. package/.output/server/chunks/build/_id_-wiULjAVc.mjs +0 -8658
  939. package/.output/server/chunks/build/_id_-wiULjAVc.mjs.map +0 -1
  940. package/.output/server/chunks/build/about-B3V_OEiu.mjs +0 -698
  941. package/.output/server/chunks/build/about-B3V_OEiu.mjs.map +0 -1
  942. package/.output/server/chunks/build/account-DpBdYE46.mjs +0 -920
  943. package/.output/server/chunks/build/account-DpBdYE46.mjs.map +0 -1
  944. package/.output/server/chunks/build/ai-DYhpzbqp.mjs +0 -1850
  945. package/.output/server/chunks/build/ai-DYhpzbqp.mjs.map +0 -1
  946. package/.output/server/chunks/build/analytics-CZJEU0an.mjs +0 -3567
  947. package/.output/server/chunks/build/analytics-CZJEU0an.mjs.map +0 -1
  948. package/.output/server/chunks/build/compare-B2OB3zdd.mjs +0 -83
  949. package/.output/server/chunks/build/compare-B2OB3zdd.mjs.map +0 -1
  950. package/.output/server/chunks/build/db.client-DijpEH6i.mjs +0 -1101
  951. package/.output/server/chunks/build/db.client-DijpEH6i.mjs.map +0 -1
  952. package/.output/server/chunks/build/default-CQa_bmAf.mjs +0 -6362
  953. package/.output/server/chunks/build/default-CQa_bmAf.mjs.map +0 -1
  954. package/.output/server/chunks/build/docs-C8bndVXg.mjs +0 -1181
  955. package/.output/server/chunks/build/docs-C8bndVXg.mjs.map +0 -1
  956. package/.output/server/chunks/build/edit-BdfF9er2.mjs +0 -1204
  957. package/.output/server/chunks/build/edit-BdfF9er2.mjs.map +0 -1
  958. package/.output/server/chunks/build/fetch-tkz5_OA-.mjs +0 -148
  959. package/.output/server/chunks/build/fetch-tkz5_OA-.mjs.map +0 -1
  960. package/.output/server/chunks/build/forgot-password-swZRcvXE.mjs +0 -297
  961. package/.output/server/chunks/build/forgot-password-swZRcvXE.mjs.map +0 -1
  962. package/.output/server/chunks/build/help-content-C876a9WD.mjs +0 -638
  963. package/.output/server/chunks/build/help-content-C876a9WD.mjs.map +0 -1
  964. package/.output/server/chunks/build/import-B27Sv7h5.mjs +0 -1023
  965. package/.output/server/chunks/build/import-B27Sv7h5.mjs.map +0 -1
  966. package/.output/server/chunks/build/index-BdZmxLtC.mjs +0 -1696
  967. package/.output/server/chunks/build/index-BdZmxLtC.mjs.map +0 -1
  968. package/.output/server/chunks/build/index-ByWTzqF6.mjs +0 -432
  969. package/.output/server/chunks/build/index-ByWTzqF6.mjs.map +0 -1
  970. package/.output/server/chunks/build/index-C7m32bRI.mjs +0 -1164
  971. package/.output/server/chunks/build/index-C7m32bRI.mjs.map +0 -1
  972. package/.output/server/chunks/build/index-Dq6nk6OB.mjs +0 -10721
  973. package/.output/server/chunks/build/index-Dq6nk6OB.mjs.map +0 -1
  974. package/.output/server/chunks/build/index-ID913tUa.mjs +0 -93
  975. package/.output/server/chunks/build/index-ID913tUa.mjs.map +0 -1
  976. package/.output/server/chunks/build/index-styles.BmH47p9x.mjs +0 -8
  977. package/.output/server/chunks/build/index-styles.BmH47p9x.mjs.map +0 -1
  978. package/.output/server/chunks/build/login-hxCF06JT.mjs +0 -827
  979. package/.output/server/chunks/build/login-hxCF06JT.mjs.map +0 -1
  980. package/.output/server/chunks/build/mcp-BVW1llyW.mjs +0 -1593
  981. package/.output/server/chunks/build/mcp-BVW1llyW.mjs.map +0 -1
  982. package/.output/server/chunks/build/notifications-Dn-evqXM.mjs +0 -1136
  983. package/.output/server/chunks/build/notifications-Dn-evqXM.mjs.map +0 -1
  984. package/.output/server/chunks/build/performance-CV8qm94u.mjs +0 -581
  985. package/.output/server/chunks/build/performance-CV8qm94u.mjs.map +0 -1
  986. package/.output/server/chunks/build/pr-feedback-gKDz8LyA.mjs +0 -370
  987. package/.output/server/chunks/build/pr-feedback-gKDz8LyA.mjs.map +0 -1
  988. package/.output/server/chunks/build/reset-password-DtEISa1I.mjs +0 -355
  989. package/.output/server/chunks/build/reset-password-DtEISa1I.mjs.map +0 -1
  990. package/.output/server/chunks/build/settings-BJDnuLpc.mjs +0 -281
  991. package/.output/server/chunks/build/settings-BJDnuLpc.mjs.map +0 -1
  992. package/.output/server/chunks/build/settings-metadata-DnAK4Rzg.mjs +0 -154
  993. package/.output/server/chunks/build/settings-metadata-DnAK4Rzg.mjs.map +0 -1
  994. package/.output/server/chunks/build/setup-BO9tXa_G.mjs +0 -1065
  995. package/.output/server/chunks/build/setup-BO9tXa_G.mjs.map +0 -1
  996. package/.output/server/chunks/build/storage-zN92cA9q.mjs +0 -361
  997. package/.output/server/chunks/build/storage-zN92cA9q.mjs.map +0 -1
  998. package/.output/server/chunks/build/tags-CJFnoyQc.mjs +0 -375
  999. package/.output/server/chunks/build/tags-CJFnoyQc.mjs.map +0 -1
  1000. package/.output/server/chunks/build/test-cases-0Q6rT73d.mjs +0 -228
  1001. package/.output/server/chunks/build/test-cases-0Q6rT73d.mjs.map +0 -1
  1002. package/.output/server/chunks/build/test-functions-DVRJgiWo.mjs +0 -552
  1003. package/.output/server/chunks/build/test-functions-DVRJgiWo.mjs.map +0 -1
  1004. package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs +0 -9
  1005. package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs.map +0 -1
  1006. package/.output/server/chunks/build/useChartMarkers-C0wSO0xk.mjs +0 -156
  1007. package/.output/server/chunks/build/useChartMarkers-C0wSO0xk.mjs.map +0 -1
  1008. package/.output/server/chunks/build/useCopyRich-BM9GTjJi.mjs +0 -5344
  1009. package/.output/server/chunks/build/useCopyRich-BM9GTjJi.mjs.map +0 -1
  1010. package/.output/server/chunks/build/useDesktopDownload-Dyf0fR47.mjs +0 -46
  1011. package/.output/server/chunks/build/useDesktopDownload-Dyf0fR47.mjs.map +0 -1
  1012. package/.output/server/chunks/build/useDesktopLocalRuns-k7Gw3Fv3.mjs +0 -319
  1013. package/.output/server/chunks/build/useDesktopLocalRuns-k7Gw3Fv3.mjs.map +0 -1
  1014. package/.output/server/chunks/build/useDesktopProjectLink-WwLte59P.mjs +0 -67
  1015. package/.output/server/chunks/build/useDesktopProjectLink-WwLte59P.mjs.map +0 -1
  1016. package/.output/server/chunks/build/useOpenInIde-D74FmDNg.mjs +0 -185
  1017. package/.output/server/chunks/build/useOpenInIde-D74FmDNg.mjs.map +0 -1
  1018. package/.output/server/chunks/build/useSettingsNav-BLTHducV.mjs +0 -19
  1019. package/.output/server/chunks/build/useSettingsNav-BLTHducV.mjs.map +0 -1
  1020. package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs +0 -25
  1021. package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs.map +0 -1
  1022. package/.output/server/chunks/build/users-C9bjOBde.mjs +0 -747
  1023. package/.output/server/chunks/build/users-C9bjOBde.mjs.map +0 -1
  1024. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +0 -76
  1025. package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +0 -1
  1026. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +0 -89
  1027. package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +0 -1
  1028. package/.output/server/chunks/routes/api/tags/_id_.put.mjs +0 -77
  1029. package/.output/server/chunks/routes/api/tags/_id_.put.mjs.map +0 -1
  1030. package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs +0 -71
  1031. package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs.map +0 -1
  1032. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +0 -66
  1033. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +0 -1
  1034. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +0 -55
  1035. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +0 -1
  1036. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +0 -56
  1037. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +0 -1
  1038. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +0 -64
  1039. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +0 -1
  1040. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +0 -64
  1041. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +0 -1
  1042. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +0 -59
  1043. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +0 -1
  1044. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +0 -62
  1045. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +0 -1
  1046. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +0 -55
  1047. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +0 -1
  1048. package/.output/server/node_modules/.nitro/d3-array@2.12.1/dist/d3-array.js +0 -1182
  1049. package/.output/server/node_modules/.nitro/d3-array@2.12.1/package.json +0 -53
  1050. package/.output/server/node_modules/.nitro/d3-array@3.2.4/package.json +0 -61
  1051. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/array.js +0 -4
  1052. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/ascending.js +0 -3
  1053. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bin.js +0 -125
  1054. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bisect.js +0 -9
  1055. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bisector.js +0 -56
  1056. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/blur.js +0 -115
  1057. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/constant.js +0 -3
  1058. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/count.js +0 -18
  1059. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/cross.js +0 -33
  1060. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/cumsum.js +0 -6
  1061. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/descending.js +0 -7
  1062. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/deviation.js +0 -6
  1063. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/difference.js +0 -11
  1064. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/disjoint.js +0 -15
  1065. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/every.js +0 -10
  1066. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/extent.js +0 -29
  1067. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/filter.js +0 -11
  1068. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/fsum.js +0 -69
  1069. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/greatest.js +0 -29
  1070. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/greatestIndex.js +0 -19
  1071. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/group.js +0 -65
  1072. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/groupSort.js +0 -10
  1073. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/identity.js +0 -3
  1074. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/index.js +0 -57
  1075. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/intersection.js +0 -19
  1076. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/least.js +0 -29
  1077. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/leastIndex.js +0 -19
  1078. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/map.js +0 -5
  1079. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/max.js +0 -20
  1080. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/maxIndex.js +0 -22
  1081. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/mean.js +0 -19
  1082. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/median.js +0 -9
  1083. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/merge.js +0 -9
  1084. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/min.js +0 -20
  1085. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/minIndex.js +0 -22
  1086. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/mode.js +0 -28
  1087. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/nice.js +0 -18
  1088. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/number.js +0 -20
  1089. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/pairs.js +0 -15
  1090. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/permute.js +0 -3
  1091. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/quantile.js +0 -47
  1092. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/quickselect.js +0 -53
  1093. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/range.js +0 -13
  1094. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/rank.js +0 -24
  1095. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/reduce.js +0 -14
  1096. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/reverse.js +0 -4
  1097. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/scan.js +0 -6
  1098. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/shuffle.js +0 -13
  1099. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/some.js +0 -10
  1100. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/sort.js +0 -39
  1101. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/subset.js +0 -5
  1102. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/sum.js +0 -18
  1103. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/superset.js +0 -19
  1104. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/freedmanDiaconis.js +0 -7
  1105. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/scott.js +0 -7
  1106. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/sturges.js +0 -5
  1107. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/ticks.js +0 -55
  1108. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/transpose.js +0 -15
  1109. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/union.js +0 -11
  1110. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/variance.js +0 -25
  1111. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/zip.js +0 -5
  1112. package/.output/server/node_modules/.nitro/d3-path@1.0.9/dist/d3-path.js +0 -141
  1113. package/.output/server/node_modules/.nitro/d3-path@1.0.9/package.json +0 -47
  1114. package/.output/server/node_modules/.nitro/d3-path@3.1.0/package.json +0 -54
  1115. package/.output/server/node_modules/.nitro/d3-path@3.1.0/src/index.js +0 -1
  1116. package/.output/server/node_modules/.nitro/d3-path@3.1.0/src/path.js +0 -156
  1117. package/.output/server/node_modules/.nitro/d3-shape@1.3.7/dist/d3-shape.js +0 -1949
  1118. package/.output/server/node_modules/.nitro/d3-shape@1.3.7/package.json +0 -48
  1119. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/package.json +0 -55
  1120. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/arc.js +0 -268
  1121. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/area.js +0 -112
  1122. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/areaRadial.js +0 -29
  1123. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/array.js +0 -7
  1124. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/constant.js +0 -5
  1125. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basis.js +0 -51
  1126. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basisClosed.js +0 -52
  1127. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basisOpen.js +0 -39
  1128. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/bump.js +0 -75
  1129. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/bundle.js +0 -56
  1130. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinal.js +0 -61
  1131. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinalClosed.js +0 -61
  1132. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinalOpen.js +0 -49
  1133. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRom.js +0 -88
  1134. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRomClosed.js +0 -74
  1135. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRomOpen.js +0 -62
  1136. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/linear.js +0 -31
  1137. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/linearClosed.js +0 -25
  1138. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/monotone.js +0 -104
  1139. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/natural.js +0 -65
  1140. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/radial.js +0 -36
  1141. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/step.js +0 -53
  1142. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/descending.js +0 -3
  1143. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/identity.js +0 -3
  1144. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/index.js +0 -53
  1145. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/line.js +0 -58
  1146. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/lineRadial.js +0 -19
  1147. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/link.js +0 -73
  1148. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/math.js +0 -20
  1149. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/noop.js +0 -1
  1150. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/diverging.js +0 -14
  1151. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/expand.js +0 -10
  1152. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/none.js +0 -9
  1153. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/silhouette.js +0 -10
  1154. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/wiggle.js +0 -24
  1155. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/appearance.js +0 -12
  1156. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/ascending.js +0 -12
  1157. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/descending.js +0 -5
  1158. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/insideOut.js +0 -27
  1159. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/none.js +0 -5
  1160. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/reverse.js +0 -5
  1161. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/path.js +0 -19
  1162. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/pie.js +0 -80
  1163. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/point.js +0 -7
  1164. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/pointRadial.js +0 -3
  1165. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/stack.js +0 -58
  1166. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/asterisk.js +0 -17
  1167. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/circle.js +0 -9
  1168. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/cross.js +0 -20
  1169. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/diamond.js +0 -16
  1170. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/diamond2.js +0 -12
  1171. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/plus.js +0 -11
  1172. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/square.js +0 -9
  1173. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/square2.js +0 -12
  1174. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/star.js +0 -24
  1175. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/times.js +0 -11
  1176. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/triangle.js +0 -13
  1177. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/triangle2.js +0 -15
  1178. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/wye.js +0 -25
  1179. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol.js +0 -66
  1180. package/.output/server/node_modules/@emotion/cache/dist/emotion-cache.cjs.js +0 -503
  1181. package/.output/server/node_modules/@emotion/cache/package.json +0 -100
  1182. package/.output/server/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.cjs.js +0 -148
  1183. package/.output/server/node_modules/@emotion/css/create-instance/package.json +0 -9
  1184. package/.output/server/node_modules/@emotion/css/dist/emotion-css.cjs.js +0 -33
  1185. package/.output/server/node_modules/@emotion/css/dist/emotion-css.cjs.mjs +0 -12
  1186. package/.output/server/node_modules/@emotion/css/package.json +0 -106
  1187. package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.dev.js +0 -59
  1188. package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.js +0 -7
  1189. package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.prod.js +0 -59
  1190. package/.output/server/node_modules/@emotion/hash/package.json +0 -29
  1191. package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.dev.js +0 -13
  1192. package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.js +0 -7
  1193. package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.prod.js +0 -13
  1194. package/.output/server/node_modules/@emotion/memoize/package.json +0 -32
  1195. package/.output/server/node_modules/@emotion/serialize/dist/emotion-serialize.cjs.js +0 -246
  1196. package/.output/server/node_modules/@emotion/serialize/package.json +0 -54
  1197. package/.output/server/node_modules/@emotion/sheet/dist/emotion-sheet.cjs.js +0 -144
  1198. package/.output/server/node_modules/@emotion/sheet/package.json +0 -47
  1199. package/.output/server/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.js +0 -56
  1200. package/.output/server/node_modules/@emotion/unitless/package.json +0 -29
  1201. package/.output/server/node_modules/@emotion/utils/dist/emotion-utils.cjs.js +0 -60
  1202. package/.output/server/node_modules/@emotion/utils/package.json +0 -65
  1203. package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.dev.js +0 -20
  1204. package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.js +0 -7
  1205. package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.prod.js +0 -20
  1206. package/.output/server/node_modules/@emotion/weak-memoize/package.json +0 -32
  1207. package/.output/server/node_modules/@juggle/resize-observer/lib/exports/resize-observer.umd.js +0 -512
  1208. package/.output/server/node_modules/@juggle/resize-observer/package.json +0 -69
  1209. package/.output/server/node_modules/@unovis/dagre-layout/dist/acyclic.js +0 -73
  1210. package/.output/server/node_modules/@unovis/dagre-layout/dist/add-border-segments.js +0 -48
  1211. package/.output/server/node_modules/@unovis/dagre-layout/dist/coordinate-system.js +0 -89
  1212. package/.output/server/node_modules/@unovis/dagre-layout/dist/data/list.js +0 -61
  1213. package/.output/server/node_modules/@unovis/dagre-layout/dist/greedy-fas.js +0 -143
  1214. package/.output/server/node_modules/@unovis/dagre-layout/dist/index.js +0 -9
  1215. package/.output/server/node_modules/@unovis/dagre-layout/dist/layout.js +0 -514
  1216. package/.output/server/node_modules/@unovis/dagre-layout/dist/nesting-graph.js +0 -149
  1217. package/.output/server/node_modules/@unovis/dagre-layout/dist/normalize.js +0 -111
  1218. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/add-subgraph-constraints.js +0 -57
  1219. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/barycenter.js +0 -35
  1220. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/build-layer-graph.js +0 -86
  1221. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/cross-count.js +0 -90
  1222. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/index.js +0 -83
  1223. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/init-order.js +0 -54
  1224. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/resolve-conflicts.js +0 -132
  1225. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/sort-subgraph.js +0 -83
  1226. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/sort.js +0 -70
  1227. package/.output/server/node_modules/@unovis/dagre-layout/dist/parent-dummy-chains.js +0 -94
  1228. package/.output/server/node_modules/@unovis/dagre-layout/dist/position/bk.js +0 -451
  1229. package/.output/server/node_modules/@unovis/dagre-layout/dist/position/index.js +0 -35
  1230. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/feasible-tree.js +0 -94
  1231. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/index.js +0 -56
  1232. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/network-simplex.js +0 -246
  1233. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/util.js +0 -56
  1234. package/.output/server/node_modules/@unovis/dagre-layout/dist/util.js +0 -291
  1235. package/.output/server/node_modules/@unovis/dagre-layout/package.json +0 -73
  1236. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/components.js +0 -32
  1237. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dfs.js +0 -53
  1238. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dijkstra-all.js +0 -11
  1239. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dijkstra.js +0 -57
  1240. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/find-cycles.js +0 -11
  1241. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/floyd-warshall.js +0 -56
  1242. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/index.js +0 -12
  1243. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/is-acyclic.js +0 -18
  1244. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/postorder.js +0 -8
  1245. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/preorder.js +0 -8
  1246. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/prim.js +0 -56
  1247. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/tarjan.js +0 -49
  1248. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/topsort.js +0 -42
  1249. package/.output/server/node_modules/@unovis/graphlibrary/dist/data/priority-queue.js +0 -179
  1250. package/.output/server/node_modules/@unovis/graphlibrary/dist/graph.js +0 -572
  1251. package/.output/server/node_modules/@unovis/graphlibrary/dist/index.js +0 -6
  1252. package/.output/server/node_modules/@unovis/graphlibrary/dist/json.js +0 -88
  1253. package/.output/server/node_modules/@unovis/graphlibrary/package.json +0 -63
  1254. package/.output/server/node_modules/@unovis/ts/components/annotations/config.js +0 -6
  1255. package/.output/server/node_modules/@unovis/ts/components/annotations/index.js +0 -125
  1256. package/.output/server/node_modules/@unovis/ts/components/annotations/style.js +0 -54
  1257. package/.output/server/node_modules/@unovis/ts/components/annotations/types.js +0 -2
  1258. package/.output/server/node_modules/@unovis/ts/components/area/config.js +0 -7
  1259. package/.output/server/node_modules/@unovis/ts/components/area/index.js +0 -197
  1260. package/.output/server/node_modules/@unovis/ts/components/area/style.js +0 -50
  1261. package/.output/server/node_modules/@unovis/ts/components/axis/config.js +0 -7
  1262. package/.output/server/node_modules/@unovis/ts/components/axis/index.js +0 -500
  1263. package/.output/server/node_modules/@unovis/ts/components/axis/style.js +0 -121
  1264. package/.output/server/node_modules/@unovis/ts/components/axis/types.js +0 -8
  1265. package/.output/server/node_modules/@unovis/ts/components/brush/config.js +0 -15
  1266. package/.output/server/node_modules/@unovis/ts/components/brush/index.js +0 -204
  1267. package/.output/server/node_modules/@unovis/ts/components/brush/style.js +0 -70
  1268. package/.output/server/node_modules/@unovis/ts/components/brush/types.js +0 -8
  1269. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/config.js +0 -17
  1270. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/index.js +0 -87
  1271. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/modules/shape.js +0 -102
  1272. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/style.js +0 -75
  1273. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/types.js +0 -12
  1274. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/config.js +0 -8
  1275. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/index.js +0 -245
  1276. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/label.js +0 -113
  1277. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/layout.js +0 -93
  1278. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/link.js +0 -69
  1279. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/node.js +0 -52
  1280. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/style.js +0 -97
  1281. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/types.js +0 -8
  1282. package/.output/server/node_modules/@unovis/ts/components/crosshair/config.js +0 -6
  1283. package/.output/server/node_modules/@unovis/ts/components/crosshair/index.js +0 -287
  1284. package/.output/server/node_modules/@unovis/ts/components/crosshair/style.js +0 -30
  1285. package/.output/server/node_modules/@unovis/ts/components/crosshair/types.js +0 -2
  1286. package/.output/server/node_modules/@unovis/ts/components/donut/config.js +0 -7
  1287. package/.output/server/node_modules/@unovis/ts/components/donut/constants.js +0 -8
  1288. package/.output/server/node_modules/@unovis/ts/components/donut/index.js +0 -138
  1289. package/.output/server/node_modules/@unovis/ts/components/donut/modules/arc.js +0 -59
  1290. package/.output/server/node_modules/@unovis/ts/components/donut/style.js +0 -70
  1291. package/.output/server/node_modules/@unovis/ts/components/flow-legend/config.js +0 -17
  1292. package/.output/server/node_modules/@unovis/ts/components/flow-legend/index.js +0 -96
  1293. package/.output/server/node_modules/@unovis/ts/components/flow-legend/style.js +0 -98
  1294. package/.output/server/node_modules/@unovis/ts/components/flow-legend/types.js +0 -8
  1295. package/.output/server/node_modules/@unovis/ts/components/free-brush/config.js +0 -15
  1296. package/.output/server/node_modules/@unovis/ts/components/free-brush/index.js +0 -193
  1297. package/.output/server/node_modules/@unovis/ts/components/free-brush/style.js +0 -51
  1298. package/.output/server/node_modules/@unovis/ts/components/free-brush/types.js +0 -10
  1299. package/.output/server/node_modules/@unovis/ts/components/graph/config.js +0 -23
  1300. package/.output/server/node_modules/@unovis/ts/components/graph/index.js +0 -914
  1301. package/.output/server/node_modules/@unovis/ts/components/graph/modules/layout-helpers.js +0 -69
  1302. package/.output/server/node_modules/@unovis/ts/components/graph/modules/layout.js +0 -429
  1303. package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/helper.js +0 -64
  1304. package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/index.js +0 -294
  1305. package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/style.js +0 -120
  1306. package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/helper.js +0 -129
  1307. package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/index.js +0 -326
  1308. package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/style.js +0 -313
  1309. package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/helper.js +0 -111
  1310. package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/index.js +0 -99
  1311. package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/style.js +0 -126
  1312. package/.output/server/node_modules/@unovis/ts/components/graph/modules/shape.js +0 -78
  1313. package/.output/server/node_modules/@unovis/ts/components/graph/modules/zoom-levels.js +0 -10
  1314. package/.output/server/node_modules/@unovis/ts/components/graph/style.js +0 -87
  1315. package/.output/server/node_modules/@unovis/ts/components/graph/types.js +0 -45
  1316. package/.output/server/node_modules/@unovis/ts/components/grouped-bar/config.js +0 -7
  1317. package/.output/server/node_modules/@unovis/ts/components/grouped-bar/index.js +0 -239
  1318. package/.output/server/node_modules/@unovis/ts/components/grouped-bar/style.js +0 -45
  1319. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/config.js +0 -7
  1320. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/index.js +0 -221
  1321. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/renderer-utils.js +0 -15
  1322. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/renderer.js +0 -117
  1323. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/shaders.js +0 -27
  1324. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/config.js +0 -28
  1325. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/index.js +0 -706
  1326. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/leaflet.css.js +0 -5
  1327. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/clusterBackground.js +0 -27
  1328. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/donut.js +0 -25
  1329. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/map.js +0 -155
  1330. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/node.js +0 -158
  1331. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/selectionRing.js +0 -41
  1332. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/utils.js +0 -214
  1333. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/leaflet-maplibre-gl.js +0 -273
  1334. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/map-style.js +0 -15
  1335. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js +0 -40
  1336. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js +0 -40
  1337. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js +0 -4981
  1338. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl-layer.js +0 -27
  1339. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl-utils.js +0 -38
  1340. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/maplibre-gl.css.js +0 -4
  1341. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/style.js +0 -183
  1342. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/types.js +0 -15
  1343. package/.output/server/node_modules/@unovis/ts/components/line/config.js +0 -7
  1344. package/.output/server/node_modules/@unovis/ts/components/line/index.js +0 -191
  1345. package/.output/server/node_modules/@unovis/ts/components/line/style.js +0 -46
  1346. package/.output/server/node_modules/@unovis/ts/components/nested-donut/config.js +0 -8
  1347. package/.output/server/node_modules/@unovis/ts/components/nested-donut/index.js +0 -218
  1348. package/.output/server/node_modules/@unovis/ts/components/nested-donut/modules/arc.js +0 -51
  1349. package/.output/server/node_modules/@unovis/ts/components/nested-donut/modules/label.js +0 -82
  1350. package/.output/server/node_modules/@unovis/ts/components/nested-donut/style.js +0 -80
  1351. package/.output/server/node_modules/@unovis/ts/components/nested-donut/types.js +0 -14
  1352. package/.output/server/node_modules/@unovis/ts/components/plotband/config.js +0 -9
  1353. package/.output/server/node_modules/@unovis/ts/components/plotband/constants.js +0 -413
  1354. package/.output/server/node_modules/@unovis/ts/components/plotband/index.js +0 -92
  1355. package/.output/server/node_modules/@unovis/ts/components/plotband/style.js +0 -39
  1356. package/.output/server/node_modules/@unovis/ts/components/plotband/types.js +0 -27
  1357. package/.output/server/node_modules/@unovis/ts/components/plotline/config.js +0 -9
  1358. package/.output/server/node_modules/@unovis/ts/components/plotline/constants.js +0 -58
  1359. package/.output/server/node_modules/@unovis/ts/components/plotline/index.js +0 -102
  1360. package/.output/server/node_modules/@unovis/ts/components/plotline/style.js +0 -43
  1361. package/.output/server/node_modules/@unovis/ts/components/plotline/types.js +0 -33
  1362. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/config.js +0 -11
  1363. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/index.js +0 -69
  1364. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/style.js +0 -39
  1365. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/types.js +0 -2
  1366. package/.output/server/node_modules/@unovis/ts/components/sankey/config.js +0 -18
  1367. package/.output/server/node_modules/@unovis/ts/components/sankey/index.js +0 -637
  1368. package/.output/server/node_modules/@unovis/ts/components/sankey/modules/label.js +0 -206
  1369. package/.output/server/node_modules/@unovis/ts/components/sankey/modules/link.js +0 -99
  1370. package/.output/server/node_modules/@unovis/ts/components/sankey/modules/node.js +0 -206
  1371. package/.output/server/node_modules/@unovis/ts/components/sankey/style.js +0 -172
  1372. package/.output/server/node_modules/@unovis/ts/components/sankey/types.js +0 -46
  1373. package/.output/server/node_modules/@unovis/ts/components/scatter/config.js +0 -10
  1374. package/.output/server/node_modules/@unovis/ts/components/scatter/index.js +0 -200
  1375. package/.output/server/node_modules/@unovis/ts/components/scatter/modules/point.js +0 -87
  1376. package/.output/server/node_modules/@unovis/ts/components/scatter/modules/utils.js +0 -112
  1377. package/.output/server/node_modules/@unovis/ts/components/scatter/style.js +0 -56
  1378. package/.output/server/node_modules/@unovis/ts/components/stacked-bar/config.js +0 -7
  1379. package/.output/server/node_modules/@unovis/ts/components/stacked-bar/index.js +0 -244
  1380. package/.output/server/node_modules/@unovis/ts/components/stacked-bar/style.js +0 -44
  1381. package/.output/server/node_modules/@unovis/ts/components/timeline/config.js +0 -20
  1382. package/.output/server/node_modules/@unovis/ts/components/timeline/constants.js +0 -6
  1383. package/.output/server/node_modules/@unovis/ts/components/timeline/index.js +0 -568
  1384. package/.output/server/node_modules/@unovis/ts/components/timeline/style.js +0 -126
  1385. package/.output/server/node_modules/@unovis/ts/components/timeline/types.js +0 -2
  1386. package/.output/server/node_modules/@unovis/ts/components/timeline/utils.js +0 -16
  1387. package/.output/server/node_modules/@unovis/ts/components/tooltip/config.js +0 -21
  1388. package/.output/server/node_modules/@unovis/ts/components/tooltip/index.js +0 -365
  1389. package/.output/server/node_modules/@unovis/ts/components/tooltip/style.js +0 -76
  1390. package/.output/server/node_modules/@unovis/ts/components/topojson-map/config.js +0 -11
  1391. package/.output/server/node_modules/@unovis/ts/components/topojson-map/index.js +0 -1294
  1392. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/background.js +0 -13
  1393. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/donut.js +0 -29
  1394. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/flow.js +0 -134
  1395. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/selectionRing.js +0 -33
  1396. package/.output/server/node_modules/@unovis/ts/components/topojson-map/style.js +0 -229
  1397. package/.output/server/node_modules/@unovis/ts/components/topojson-map/types.js +0 -87
  1398. package/.output/server/node_modules/@unovis/ts/components/topojson-map/utils.js +0 -324
  1399. package/.output/server/node_modules/@unovis/ts/components/treemap/config.js +0 -7
  1400. package/.output/server/node_modules/@unovis/ts/components/treemap/index.js +0 -296
  1401. package/.output/server/node_modules/@unovis/ts/components/treemap/style.js +0 -68
  1402. package/.output/server/node_modules/@unovis/ts/components/treemap/types.js +0 -2
  1403. package/.output/server/node_modules/@unovis/ts/components/vis-controls/config.js +0 -10
  1404. package/.output/server/node_modules/@unovis/ts/components/vis-controls/index.js +0 -55
  1405. package/.output/server/node_modules/@unovis/ts/components/vis-controls/style.js +0 -76
  1406. package/.output/server/node_modules/@unovis/ts/components/vis-controls/types.js +0 -8
  1407. package/.output/server/node_modules/@unovis/ts/components/xy-labels/config.js +0 -8
  1408. package/.output/server/node_modules/@unovis/ts/components/xy-labels/index.js +0 -88
  1409. package/.output/server/node_modules/@unovis/ts/components/xy-labels/modules/label.js +0 -107
  1410. package/.output/server/node_modules/@unovis/ts/components/xy-labels/style.js +0 -56
  1411. package/.output/server/node_modules/@unovis/ts/components/xy-labels/types.js +0 -9
  1412. package/.output/server/node_modules/@unovis/ts/components.js +0 -35
  1413. package/.output/server/node_modules/@unovis/ts/containers/single-container/config.js +0 -7
  1414. package/.output/server/node_modules/@unovis/ts/containers/single-container/index.js +0 -151
  1415. package/.output/server/node_modules/@unovis/ts/containers/xy-container/config.js +0 -7
  1416. package/.output/server/node_modules/@unovis/ts/containers/xy-container/index.js +0 -370
  1417. package/.output/server/node_modules/@unovis/ts/containers.js +0 -4
  1418. package/.output/server/node_modules/@unovis/ts/core/component/config.js +0 -8
  1419. package/.output/server/node_modules/@unovis/ts/core/component/index.js +0 -136
  1420. package/.output/server/node_modules/@unovis/ts/core/component/types.js +0 -2
  1421. package/.output/server/node_modules/@unovis/ts/core/container/config.js +0 -26
  1422. package/.output/server/node_modules/@unovis/ts/core/container/index.js +0 -135
  1423. package/.output/server/node_modules/@unovis/ts/core/xy-component/config.js +0 -7
  1424. package/.output/server/node_modules/@unovis/ts/core/xy-component/index.js +0 -78
  1425. package/.output/server/node_modules/@unovis/ts/data-models/core.js +0 -14
  1426. package/.output/server/node_modules/@unovis/ts/data-models/graph.js +0 -128
  1427. package/.output/server/node_modules/@unovis/ts/data-models/index.js +0 -5
  1428. package/.output/server/node_modules/@unovis/ts/data-models/map-graph.js +0 -59
  1429. package/.output/server/node_modules/@unovis/ts/data-models/map.js +0 -12
  1430. package/.output/server/node_modules/@unovis/ts/data-models/series.js +0 -19
  1431. package/.output/server/node_modules/@unovis/ts/index.js +0 -81
  1432. package/.output/server/node_modules/@unovis/ts/package.json +0 -127
  1433. package/.output/server/node_modules/@unovis/ts/styles/colors.js +0 -24
  1434. package/.output/server/node_modules/@unovis/ts/styles/index.js +0 -66
  1435. package/.output/server/node_modules/@unovis/ts/styles/patterns.js +0 -54
  1436. package/.output/server/node_modules/@unovis/ts/styles/sizes.js +0 -117
  1437. package/.output/server/node_modules/@unovis/ts/types/accessor.js +0 -2
  1438. package/.output/server/node_modules/@unovis/ts/types/component.js +0 -16
  1439. package/.output/server/node_modules/@unovis/ts/types/curve.js +0 -46
  1440. package/.output/server/node_modules/@unovis/ts/types/data.js +0 -9
  1441. package/.output/server/node_modules/@unovis/ts/types/direction.js +0 -10
  1442. package/.output/server/node_modules/@unovis/ts/types/graph.js +0 -2
  1443. package/.output/server/node_modules/@unovis/ts/types/map.js +0 -2
  1444. package/.output/server/node_modules/@unovis/ts/types/misc.js +0 -2
  1445. package/.output/server/node_modules/@unovis/ts/types/position.js +0 -28
  1446. package/.output/server/node_modules/@unovis/ts/types/scale.js +0 -28
  1447. package/.output/server/node_modules/@unovis/ts/types/shape.js +0 -11
  1448. package/.output/server/node_modules/@unovis/ts/types/spacing.js +0 -2
  1449. package/.output/server/node_modules/@unovis/ts/types/svg.js +0 -22
  1450. package/.output/server/node_modules/@unovis/ts/types/symbol.js +0 -24
  1451. package/.output/server/node_modules/@unovis/ts/types/text.js +0 -26
  1452. package/.output/server/node_modules/@unovis/ts/types.js +0 -37
  1453. package/.output/server/node_modules/@unovis/ts/utils/color.js +0 -66
  1454. package/.output/server/node_modules/@unovis/ts/utils/d3.js +0 -16
  1455. package/.output/server/node_modules/@unovis/ts/utils/data.js +0 -314
  1456. package/.output/server/node_modules/@unovis/ts/utils/html.js +0 -23
  1457. package/.output/server/node_modules/@unovis/ts/utils/index.js +0 -14
  1458. package/.output/server/node_modules/@unovis/ts/utils/map.js +0 -20
  1459. package/.output/server/node_modules/@unovis/ts/utils/misc.js +0 -151
  1460. package/.output/server/node_modules/@unovis/ts/utils/path.js +0 -261
  1461. package/.output/server/node_modules/@unovis/ts/utils/resize-observer.js +0 -6
  1462. package/.output/server/node_modules/@unovis/ts/utils/scale.js +0 -4
  1463. package/.output/server/node_modules/@unovis/ts/utils/style.js +0 -30
  1464. package/.output/server/node_modules/@unovis/ts/utils/svg.js +0 -61
  1465. package/.output/server/node_modules/@unovis/ts/utils/text.js +0 -506
  1466. package/.output/server/node_modules/@unovis/ts/utils/theme.js +0 -4
  1467. package/.output/server/node_modules/@unovis/ts/utils/to-px.js +0 -110
  1468. package/.output/server/node_modules/@unovis/ts/utils/type.js +0 -2
  1469. package/.output/server/node_modules/@unovis/vue/components/annotations/index.js +0 -34
  1470. package/.output/server/node_modules/@unovis/vue/components/area/index.js +0 -52
  1471. package/.output/server/node_modules/@unovis/vue/components/axis/index.js +0 -71
  1472. package/.output/server/node_modules/@unovis/vue/components/brush/index.js +0 -51
  1473. package/.output/server/node_modules/@unovis/vue/components/chord-diagram/index.js +0 -48
  1474. package/.output/server/node_modules/@unovis/vue/components/crosshair/index.js +0 -28
  1475. package/.output/server/node_modules/@unovis/vue/components/donut/index.js +0 -52
  1476. package/.output/server/node_modules/@unovis/vue/components/free-brush/index.js +0 -50
  1477. package/.output/server/node_modules/@unovis/vue/components/graph/index.js +0 -124
  1478. package/.output/server/node_modules/@unovis/vue/components/grouped-bar/index.js +0 -50
  1479. package/.output/server/node_modules/@unovis/vue/components/line/index.js +0 -48
  1480. package/.output/server/node_modules/@unovis/vue/components/nested-donut/index.js +0 -53
  1481. package/.output/server/node_modules/@unovis/vue/components/plotband/index.js +0 -49
  1482. package/.output/server/node_modules/@unovis/vue/components/plotline/index.js +0 -50
  1483. package/.output/server/node_modules/@unovis/vue/components/sankey/index.js +0 -91
  1484. package/.output/server/node_modules/@unovis/vue/components/scatter/index.js +0 -53
  1485. package/.output/server/node_modules/@unovis/vue/components/stacked-bar/index.js +0 -50
  1486. package/.output/server/node_modules/@unovis/vue/components/timeline/index.js +0 -28
  1487. package/.output/server/node_modules/@unovis/vue/components/tooltip/index.js +0 -42
  1488. package/.output/server/node_modules/@unovis/vue/components/topojson-map/index.js +0 -95
  1489. package/.output/server/node_modules/@unovis/vue/components/treemap/index.js +0 -60
  1490. package/.output/server/node_modules/@unovis/vue/components/xy-labels/index.js +0 -54
  1491. package/.output/server/node_modules/@unovis/vue/containers/single-container/index.js +0 -67
  1492. package/.output/server/node_modules/@unovis/vue/containers/xy-container/index.js +0 -98
  1493. package/.output/server/node_modules/@unovis/vue/html-components/bullet-legend/index.js +0 -44
  1494. package/.output/server/node_modules/@unovis/vue/html-components/flow-legend/index.js +0 -46
  1495. package/.output/server/node_modules/@unovis/vue/html-components/leaflet-flow-map/index.js +0 -96
  1496. package/.output/server/node_modules/@unovis/vue/html-components/leaflet-map/index.js +0 -83
  1497. package/.output/server/node_modules/@unovis/vue/html-components/rolling-pin-legend/index.js +0 -40
  1498. package/.output/server/node_modules/@unovis/vue/index.js +0 -96
  1499. package/.output/server/node_modules/@unovis/vue/package.json +0 -81
  1500. package/.output/server/node_modules/@unovis/vue/utils/context.js +0 -9
  1501. package/.output/server/node_modules/@unovis/vue/utils/props.js +0 -19
  1502. package/.output/server/node_modules/d3-axis/package.json +0 -54
  1503. package/.output/server/node_modules/d3-axis/src/axis.js +0 -174
  1504. package/.output/server/node_modules/d3-axis/src/identity.js +0 -3
  1505. package/.output/server/node_modules/d3-axis/src/index.js +0 -6
  1506. package/.output/server/node_modules/d3-brush/package.json +0 -55
  1507. package/.output/server/node_modules/d3-brush/src/brush.js +0 -621
  1508. package/.output/server/node_modules/d3-brush/src/constant.js +0 -1
  1509. package/.output/server/node_modules/d3-brush/src/event.js +0 -16
  1510. package/.output/server/node_modules/d3-brush/src/index.js +0 -6
  1511. package/.output/server/node_modules/d3-brush/src/noevent.js +0 -8
  1512. package/.output/server/node_modules/d3-chord/package.json +0 -54
  1513. package/.output/server/node_modules/d3-chord/src/array.js +0 -1
  1514. package/.output/server/node_modules/d3-chord/src/chord.js +0 -122
  1515. package/.output/server/node_modules/d3-chord/src/constant.js +0 -5
  1516. package/.output/server/node_modules/d3-chord/src/index.js +0 -2
  1517. package/.output/server/node_modules/d3-chord/src/math.js +0 -8
  1518. package/.output/server/node_modules/d3-chord/src/ribbon.js +0 -134
  1519. package/.output/server/node_modules/d3-color/package.json +0 -54
  1520. package/.output/server/node_modules/d3-color/src/color.js +0 -396
  1521. package/.output/server/node_modules/d3-color/src/cubehelix.js +0 -61
  1522. package/.output/server/node_modules/d3-color/src/define.js +0 -10
  1523. package/.output/server/node_modules/d3-color/src/index.js +0 -3
  1524. package/.output/server/node_modules/d3-color/src/lab.js +0 -123
  1525. package/.output/server/node_modules/d3-color/src/math.js +0 -2
  1526. package/.output/server/node_modules/d3-dispatch/package.json +0 -50
  1527. package/.output/server/node_modules/d3-dispatch/src/dispatch.js +0 -84
  1528. package/.output/server/node_modules/d3-dispatch/src/index.js +0 -1
  1529. package/.output/server/node_modules/d3-drag/package.json +0 -54
  1530. package/.output/server/node_modules/d3-drag/src/constant.js +0 -1
  1531. package/.output/server/node_modules/d3-drag/src/drag.js +0 -194
  1532. package/.output/server/node_modules/d3-drag/src/event.js +0 -28
  1533. package/.output/server/node_modules/d3-drag/src/index.js +0 -2
  1534. package/.output/server/node_modules/d3-drag/src/nodrag.js +0 -28
  1535. package/.output/server/node_modules/d3-drag/src/noevent.js +0 -13
  1536. package/.output/server/node_modules/d3-ease/package.json +0 -51
  1537. package/.output/server/node_modules/d3-ease/src/back.js +0 -37
  1538. package/.output/server/node_modules/d3-ease/src/bounce.js +0 -22
  1539. package/.output/server/node_modules/d3-ease/src/circle.js +0 -11
  1540. package/.output/server/node_modules/d3-ease/src/cubic.js +0 -11
  1541. package/.output/server/node_modules/d3-ease/src/elastic.js +0 -46
  1542. package/.output/server/node_modules/d3-ease/src/exp.js +0 -13
  1543. package/.output/server/node_modules/d3-ease/src/index.js +0 -66
  1544. package/.output/server/node_modules/d3-ease/src/linear.js +0 -1
  1545. package/.output/server/node_modules/d3-ease/src/math.js +0 -4
  1546. package/.output/server/node_modules/d3-ease/src/poly.js +0 -37
  1547. package/.output/server/node_modules/d3-ease/src/quad.js +0 -11
  1548. package/.output/server/node_modules/d3-ease/src/sin.js +0 -14
  1549. package/.output/server/node_modules/d3-force/package.json +0 -58
  1550. package/.output/server/node_modules/d3-force/src/center.js +0 -40
  1551. package/.output/server/node_modules/d3-force/src/collide.js +0 -100
  1552. package/.output/server/node_modules/d3-force/src/constant.js +0 -5
  1553. package/.output/server/node_modules/d3-force/src/index.js +0 -8
  1554. package/.output/server/node_modules/d3-force/src/jiggle.js +0 -3
  1555. package/.output/server/node_modules/d3-force/src/lcg.js +0 -9
  1556. package/.output/server/node_modules/d3-force/src/link.js +0 -117
  1557. package/.output/server/node_modules/d3-force/src/manyBody.js +0 -116
  1558. package/.output/server/node_modules/d3-force/src/radial.js +0 -57
  1559. package/.output/server/node_modules/d3-force/src/simulation.js +0 -156
  1560. package/.output/server/node_modules/d3-force/src/x.js +0 -41
  1561. package/.output/server/node_modules/d3-force/src/y.js +0 -41
  1562. package/.output/server/node_modules/d3-format/package.json +0 -56
  1563. package/.output/server/node_modules/d3-format/src/defaultLocale.js +0 -18
  1564. package/.output/server/node_modules/d3-format/src/exponent.js +0 -5
  1565. package/.output/server/node_modules/d3-format/src/formatDecimal.js +0 -20
  1566. package/.output/server/node_modules/d3-format/src/formatGroup.js +0 -18
  1567. package/.output/server/node_modules/d3-format/src/formatNumerals.js +0 -7
  1568. package/.output/server/node_modules/d3-format/src/formatPrefixAuto.js +0 -16
  1569. package/.output/server/node_modules/d3-format/src/formatRounded.js +0 -11
  1570. package/.output/server/node_modules/d3-format/src/formatSpecifier.js +0 -47
  1571. package/.output/server/node_modules/d3-format/src/formatTrim.js +0 -11
  1572. package/.output/server/node_modules/d3-format/src/formatTypes.js +0 -19
  1573. package/.output/server/node_modules/d3-format/src/identity.js +0 -3
  1574. package/.output/server/node_modules/d3-format/src/index.js +0 -6
  1575. package/.output/server/node_modules/d3-format/src/locale.js +0 -147
  1576. package/.output/server/node_modules/d3-format/src/precisionFixed.js +0 -5
  1577. package/.output/server/node_modules/d3-format/src/precisionPrefix.js +0 -5
  1578. package/.output/server/node_modules/d3-format/src/precisionRound.js +0 -6
  1579. package/.output/server/node_modules/d3-geo/package.json +0 -59
  1580. package/.output/server/node_modules/d3-geo/src/area.js +0 -76
  1581. package/.output/server/node_modules/d3-geo/src/bounds.js +0 -179
  1582. package/.output/server/node_modules/d3-geo/src/cartesian.js +0 -33
  1583. package/.output/server/node_modules/d3-geo/src/centroid.js +0 -143
  1584. package/.output/server/node_modules/d3-geo/src/circle.js +0 -72
  1585. package/.output/server/node_modules/d3-geo/src/clip/antimeridian.js +0 -92
  1586. package/.output/server/node_modules/d3-geo/src/clip/buffer.js +0 -24
  1587. package/.output/server/node_modules/d3-geo/src/clip/circle.js +0 -177
  1588. package/.output/server/node_modules/d3-geo/src/clip/extent.js +0 -20
  1589. package/.output/server/node_modules/d3-geo/src/clip/index.js +0 -131
  1590. package/.output/server/node_modules/d3-geo/src/clip/line.js +0 -59
  1591. package/.output/server/node_modules/d3-geo/src/clip/rectangle.js +0 -168
  1592. package/.output/server/node_modules/d3-geo/src/clip/rejoin.js +0 -103
  1593. package/.output/server/node_modules/d3-geo/src/compose.js +0 -12
  1594. package/.output/server/node_modules/d3-geo/src/constant.js +0 -5
  1595. package/.output/server/node_modules/d3-geo/src/contains.js +0 -97
  1596. package/.output/server/node_modules/d3-geo/src/distance.js +0 -10
  1597. package/.output/server/node_modules/d3-geo/src/graticule.js +0 -105
  1598. package/.output/server/node_modules/d3-geo/src/identity.js +0 -1
  1599. package/.output/server/node_modules/d3-geo/src/index.js +0 -34
  1600. package/.output/server/node_modules/d3-geo/src/interpolate.js +0 -36
  1601. package/.output/server/node_modules/d3-geo/src/length.js +0 -53
  1602. package/.output/server/node_modules/d3-geo/src/math.js +0 -36
  1603. package/.output/server/node_modules/d3-geo/src/noop.js +0 -1
  1604. package/.output/server/node_modules/d3-geo/src/path/area.js +0 -50
  1605. package/.output/server/node_modules/d3-geo/src/path/bounds.js +0 -28
  1606. package/.output/server/node_modules/d3-geo/src/path/centroid.js +0 -100
  1607. package/.output/server/node_modules/d3-geo/src/path/context.js +0 -45
  1608. package/.output/server/node_modules/d3-geo/src/path/index.js +0 -76
  1609. package/.output/server/node_modules/d3-geo/src/path/measure.js +0 -45
  1610. package/.output/server/node_modules/d3-geo/src/path/string.js +0 -86
  1611. package/.output/server/node_modules/d3-geo/src/pointEqual.js +0 -5
  1612. package/.output/server/node_modules/d3-geo/src/polygonContains.js +0 -74
  1613. package/.output/server/node_modules/d3-geo/src/projection/albers.js +0 -10
  1614. package/.output/server/node_modules/d3-geo/src/projection/albersUsa.js +0 -111
  1615. package/.output/server/node_modules/d3-geo/src/projection/azimuthal.js +0 -27
  1616. package/.output/server/node_modules/d3-geo/src/projection/azimuthalEqualArea.js +0 -17
  1617. package/.output/server/node_modules/d3-geo/src/projection/azimuthalEquidistant.js +0 -17
  1618. package/.output/server/node_modules/d3-geo/src/projection/conic.js +0 -15
  1619. package/.output/server/node_modules/d3-geo/src/projection/conicConformal.js +0 -38
  1620. package/.output/server/node_modules/d3-geo/src/projection/conicEqualArea.js +0 -33
  1621. package/.output/server/node_modules/d3-geo/src/projection/conicEquidistant.js +0 -32
  1622. package/.output/server/node_modules/d3-geo/src/projection/cylindricalEqualArea.js +0 -15
  1623. package/.output/server/node_modules/d3-geo/src/projection/equalEarth.js +0 -36
  1624. package/.output/server/node_modules/d3-geo/src/projection/equirectangular.js +0 -12
  1625. package/.output/server/node_modules/d3-geo/src/projection/fit.js +0 -47
  1626. package/.output/server/node_modules/d3-geo/src/projection/gnomonic.js +0 -16
  1627. package/.output/server/node_modules/d3-geo/src/projection/identity.js +0 -85
  1628. package/.output/server/node_modules/d3-geo/src/projection/index.js +0 -177
  1629. package/.output/server/node_modules/d3-geo/src/projection/mercator.js +0 -52
  1630. package/.output/server/node_modules/d3-geo/src/projection/naturalEarth1.js +0 -28
  1631. package/.output/server/node_modules/d3-geo/src/projection/orthographic.js +0 -15
  1632. package/.output/server/node_modules/d3-geo/src/projection/resample.js +0 -102
  1633. package/.output/server/node_modules/d3-geo/src/projection/stereographic.js +0 -18
  1634. package/.output/server/node_modules/d3-geo/src/projection/transverseMercator.js +0 -27
  1635. package/.output/server/node_modules/d3-geo/src/rotation.js +0 -79
  1636. package/.output/server/node_modules/d3-geo/src/stream.js +0 -69
  1637. package/.output/server/node_modules/d3-geo/src/transform.js +0 -26
  1638. package/.output/server/node_modules/d3-geo-projection/package.json +0 -79
  1639. package/.output/server/node_modules/d3-geo-projection/src/airy.js +0 -49
  1640. package/.output/server/node_modules/d3-geo-projection/src/aitoff.js +0 -45
  1641. package/.output/server/node_modules/d3-geo-projection/src/armadillo.js +0 -83
  1642. package/.output/server/node_modules/d3-geo-projection/src/august.js +0 -39
  1643. package/.output/server/node_modules/d3-geo-projection/src/baker.js +0 -27
  1644. package/.output/server/node_modules/d3-geo-projection/src/berghaus.js +0 -77
  1645. package/.output/server/node_modules/d3-geo-projection/src/bertin.js +0 -44
  1646. package/.output/server/node_modules/d3-geo-projection/src/boggs.js +0 -26
  1647. package/.output/server/node_modules/d3-geo-projection/src/bonne.js +0 -29
  1648. package/.output/server/node_modules/d3-geo-projection/src/bottomley.js +0 -34
  1649. package/.output/server/node_modules/d3-geo-projection/src/bromley.js +0 -10
  1650. package/.output/server/node_modules/d3-geo-projection/src/chamberlin.js +0 -120
  1651. package/.output/server/node_modules/d3-geo-projection/src/collignon.js +0 -18
  1652. package/.output/server/node_modules/d3-geo-projection/src/craig.js +0 -26
  1653. package/.output/server/node_modules/d3-geo-projection/src/craster.js +0 -18
  1654. package/.output/server/node_modules/d3-geo-projection/src/cylindricalEqualArea.js +0 -22
  1655. package/.output/server/node_modules/d3-geo-projection/src/cylindricalStereographic.js +0 -21
  1656. package/.output/server/node_modules/d3-geo-projection/src/eckert1.js +0 -24
  1657. package/.output/server/node_modules/d3-geo-projection/src/eckert2.js +0 -23
  1658. package/.output/server/node_modules/d3-geo-projection/src/eckert3.js +0 -23
  1659. package/.output/server/node_modules/d3-geo-projection/src/eckert4.js +0 -30
  1660. package/.output/server/node_modules/d3-geo-projection/src/eckert5.js +0 -23
  1661. package/.output/server/node_modules/d3-geo-projection/src/eckert6.js +0 -28
  1662. package/.output/server/node_modules/d3-geo-projection/src/eisenlohr.js +0 -70
  1663. package/.output/server/node_modules/d3-geo-projection/src/elliptic.js +0 -118
  1664. package/.output/server/node_modules/d3-geo-projection/src/fahey.js +0 -19
  1665. package/.output/server/node_modules/d3-geo-projection/src/foucaut.js +0 -17
  1666. package/.output/server/node_modules/d3-geo-projection/src/foucautSinusoidal.js +0 -49
  1667. package/.output/server/node_modules/d3-geo-projection/src/gilbert.js +0 -64
  1668. package/.output/server/node_modules/d3-geo-projection/src/gingery.js +0 -146
  1669. package/.output/server/node_modules/d3-geo-projection/src/ginzburg4.js +0 -9
  1670. package/.output/server/node_modules/d3-geo-projection/src/ginzburg5.js +0 -9
  1671. package/.output/server/node_modules/d3-geo-projection/src/ginzburg6.js +0 -10
  1672. package/.output/server/node_modules/d3-geo-projection/src/ginzburg8.js +0 -33
  1673. package/.output/server/node_modules/d3-geo-projection/src/ginzburg9.js +0 -9
  1674. package/.output/server/node_modules/d3-geo-projection/src/ginzburgPolyconic.js +0 -56
  1675. package/.output/server/node_modules/d3-geo-projection/src/gringorten.js +0 -147
  1676. package/.output/server/node_modules/d3-geo-projection/src/guyou.js +0 -53
  1677. package/.output/server/node_modules/d3-geo-projection/src/hammer.js +0 -51
  1678. package/.output/server/node_modules/d3-geo-projection/src/hammerRetroazimuthal.js +0 -109
  1679. package/.output/server/node_modules/d3-geo-projection/src/healpix.js +0 -99
  1680. package/.output/server/node_modules/d3-geo-projection/src/hill.js +0 -66
  1681. package/.output/server/node_modules/d3-geo-projection/src/homolosine.js +0 -22
  1682. package/.output/server/node_modules/d3-geo-projection/src/hufnagel.js +0 -91
  1683. package/.output/server/node_modules/d3-geo-projection/src/hyperelliptical.js +0 -73
  1684. package/.output/server/node_modules/d3-geo-projection/src/index.js +0 -95
  1685. package/.output/server/node_modules/d3-geo-projection/src/integrate.js +0 -91
  1686. package/.output/server/node_modules/d3-geo-projection/src/interrupted/boggs.js +0 -17
  1687. package/.output/server/node_modules/d3-geo-projection/src/interrupted/homolosine.js +0 -17
  1688. package/.output/server/node_modules/d3-geo-projection/src/interrupted/index.js +0 -147
  1689. package/.output/server/node_modules/d3-geo-projection/src/interrupted/mollweide.js +0 -17
  1690. package/.output/server/node_modules/d3-geo-projection/src/interrupted/mollweideHemispheres.js +0 -16
  1691. package/.output/server/node_modules/d3-geo-projection/src/interrupted/quarticAuthalic.js +0 -16
  1692. package/.output/server/node_modules/d3-geo-projection/src/interrupted/sinuMollweide.js +0 -19
  1693. package/.output/server/node_modules/d3-geo-projection/src/interrupted/sinusoidal.js +0 -18
  1694. package/.output/server/node_modules/d3-geo-projection/src/kavrayskiy7.js +0 -15
  1695. package/.output/server/node_modules/d3-geo-projection/src/lagrange.js +0 -47
  1696. package/.output/server/node_modules/d3-geo-projection/src/larrivee.js +0 -46
  1697. package/.output/server/node_modules/d3-geo-projection/src/laskowski.js +0 -37
  1698. package/.output/server/node_modules/d3-geo-projection/src/littrow.js +0 -29
  1699. package/.output/server/node_modules/d3-geo-projection/src/loximuthal.js +0 -34
  1700. package/.output/server/node_modules/d3-geo-projection/src/math.js +0 -64
  1701. package/.output/server/node_modules/d3-geo-projection/src/miller.js +0 -15
  1702. package/.output/server/node_modules/d3-geo-projection/src/modifiedStereographic.js +0 -122
  1703. package/.output/server/node_modules/d3-geo-projection/src/mollweide.js +0 -29
  1704. package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarParabolic.js +0 -26
  1705. package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarQuartic.js +0 -29
  1706. package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarSinusoidal.js +0 -31
  1707. package/.output/server/node_modules/d3-geo-projection/src/naturalEarth2.js +0 -29
  1708. package/.output/server/node_modules/d3-geo-projection/src/nellHammer.js +0 -26
  1709. package/.output/server/node_modules/d3-geo-projection/src/newton.js +0 -64
  1710. package/.output/server/node_modules/d3-geo-projection/src/nicolosi.js +0 -64
  1711. package/.output/server/node_modules/d3-geo-projection/src/noop.js +0 -1
  1712. package/.output/server/node_modules/d3-geo-projection/src/parallel1.js +0 -14
  1713. package/.output/server/node_modules/d3-geo-projection/src/patterson.js +0 -41
  1714. package/.output/server/node_modules/d3-geo-projection/src/polyconic.js +0 -35
  1715. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/butterfly.js +0 -31
  1716. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/collignon.js +0 -43
  1717. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/index.js +0 -173
  1718. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/matrix.js +0 -64
  1719. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/octahedron.js +0 -21
  1720. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/waterman.js +0 -123
  1721. package/.output/server/node_modules/d3-geo-projection/src/project/clockwise.js +0 -8
  1722. package/.output/server/node_modules/d3-geo-projection/src/project/contains.js +0 -11
  1723. package/.output/server/node_modules/d3-geo-projection/src/project/index.js +0 -136
  1724. package/.output/server/node_modules/d3-geo-projection/src/quantize.js +0 -70
  1725. package/.output/server/node_modules/d3-geo-projection/src/quincuncial/gringorten.js +0 -7
  1726. package/.output/server/node_modules/d3-geo-projection/src/quincuncial/index.js +0 -40
  1727. package/.output/server/node_modules/d3-geo-projection/src/quincuncial/peirce.js +0 -7
  1728. package/.output/server/node_modules/d3-geo-projection/src/rectangularPolyconic.js +0 -44
  1729. package/.output/server/node_modules/d3-geo-projection/src/robinson.js +0 -88
  1730. package/.output/server/node_modules/d3-geo-projection/src/satellite.js +0 -71
  1731. package/.output/server/node_modules/d3-geo-projection/src/sinuMollweide.js +0 -26
  1732. package/.output/server/node_modules/d3-geo-projection/src/sinusoidal.js +0 -15
  1733. package/.output/server/node_modules/d3-geo-projection/src/square.js +0 -24
  1734. package/.output/server/node_modules/d3-geo-projection/src/stitch.js +0 -215
  1735. package/.output/server/node_modules/d3-geo-projection/src/times.js +0 -25
  1736. package/.output/server/node_modules/d3-geo-projection/src/twoPoint.js +0 -26
  1737. package/.output/server/node_modules/d3-geo-projection/src/twoPointAzimuthal.js +0 -29
  1738. package/.output/server/node_modules/d3-geo-projection/src/twoPointEquidistant.js +0 -47
  1739. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten.js +0 -47
  1740. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten2.js +0 -34
  1741. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten3.js +0 -30
  1742. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten4.js +0 -63
  1743. package/.output/server/node_modules/d3-geo-projection/src/wagner.js +0 -98
  1744. package/.output/server/node_modules/d3-geo-projection/src/wagner4.js +0 -13
  1745. package/.output/server/node_modules/d3-geo-projection/src/wagner6.js +0 -15
  1746. package/.output/server/node_modules/d3-geo-projection/src/wiechel.js +0 -34
  1747. package/.output/server/node_modules/d3-geo-projection/src/winkel3.js +0 -45
  1748. package/.output/server/node_modules/d3-hierarchy/package.json +0 -56
  1749. package/.output/server/node_modules/d3-hierarchy/src/accessors.js +0 -8
  1750. package/.output/server/node_modules/d3-hierarchy/src/array.js +0 -20
  1751. package/.output/server/node_modules/d3-hierarchy/src/cluster.js +0 -84
  1752. package/.output/server/node_modules/d3-hierarchy/src/constant.js +0 -9
  1753. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/ancestors.js +0 -7
  1754. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/count.js +0 -12
  1755. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/descendants.js +0 -3
  1756. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/each.js +0 -7
  1757. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/eachAfter.js +0 -15
  1758. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/eachBefore.js +0 -12
  1759. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/find.js +0 -8
  1760. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/index.js +0 -91
  1761. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/iterator.js +0 -14
  1762. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/leaves.js +0 -9
  1763. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/links.js +0 -9
  1764. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/path.js +0 -30
  1765. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/sort.js +0 -7
  1766. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/sum.js +0 -9
  1767. package/.output/server/node_modules/d3-hierarchy/src/index.js +0 -15
  1768. package/.output/server/node_modules/d3-hierarchy/src/lcg.js +0 -9
  1769. package/.output/server/node_modules/d3-hierarchy/src/pack/enclose.js +0 -123
  1770. package/.output/server/node_modules/d3-hierarchy/src/pack/index.js +0 -81
  1771. package/.output/server/node_modules/d3-hierarchy/src/pack/siblings.js +0 -120
  1772. package/.output/server/node_modules/d3-hierarchy/src/partition.js +0 -52
  1773. package/.output/server/node_modules/d3-hierarchy/src/stratify.js +0 -145
  1774. package/.output/server/node_modules/d3-hierarchy/src/tree.js +0 -237
  1775. package/.output/server/node_modules/d3-hierarchy/src/treemap/binary.js +0 -46
  1776. package/.output/server/node_modules/d3-hierarchy/src/treemap/dice.js +0 -12
  1777. package/.output/server/node_modules/d3-hierarchy/src/treemap/index.js +0 -94
  1778. package/.output/server/node_modules/d3-hierarchy/src/treemap/resquarify.js +0 -36
  1779. package/.output/server/node_modules/d3-hierarchy/src/treemap/round.js +0 -6
  1780. package/.output/server/node_modules/d3-hierarchy/src/treemap/slice.js +0 -12
  1781. package/.output/server/node_modules/d3-hierarchy/src/treemap/sliceDice.js +0 -6
  1782. package/.output/server/node_modules/d3-hierarchy/src/treemap/squarify.js +0 -66
  1783. package/.output/server/node_modules/d3-interpolate/package.json +0 -53
  1784. package/.output/server/node_modules/d3-interpolate/src/array.js +0 -22
  1785. package/.output/server/node_modules/d3-interpolate/src/basis.js +0 -19
  1786. package/.output/server/node_modules/d3-interpolate/src/basisClosed.js +0 -13
  1787. package/.output/server/node_modules/d3-interpolate/src/color.js +0 -29
  1788. package/.output/server/node_modules/d3-interpolate/src/constant.js +0 -1
  1789. package/.output/server/node_modules/d3-interpolate/src/cubehelix.js +0 -29
  1790. package/.output/server/node_modules/d3-interpolate/src/date.js +0 -6
  1791. package/.output/server/node_modules/d3-interpolate/src/discrete.js +0 -6
  1792. package/.output/server/node_modules/d3-interpolate/src/hcl.js +0 -21
  1793. package/.output/server/node_modules/d3-interpolate/src/hsl.js +0 -21
  1794. package/.output/server/node_modules/d3-interpolate/src/hue.js +0 -9
  1795. package/.output/server/node_modules/d3-interpolate/src/index.js +0 -21
  1796. package/.output/server/node_modules/d3-interpolate/src/lab.js +0 -16
  1797. package/.output/server/node_modules/d3-interpolate/src/number.js +0 -5
  1798. package/.output/server/node_modules/d3-interpolate/src/numberArray.js +0 -14
  1799. package/.output/server/node_modules/d3-interpolate/src/object.js +0 -23
  1800. package/.output/server/node_modules/d3-interpolate/src/piecewise.js +0 -11
  1801. package/.output/server/node_modules/d3-interpolate/src/quantize.js +0 -5
  1802. package/.output/server/node_modules/d3-interpolate/src/rgb.js +0 -55
  1803. package/.output/server/node_modules/d3-interpolate/src/round.js +0 -5
  1804. package/.output/server/node_modules/d3-interpolate/src/string.js +0 -64
  1805. package/.output/server/node_modules/d3-interpolate/src/transform/decompose.js +0 -26
  1806. package/.output/server/node_modules/d3-interpolate/src/transform/index.js +0 -63
  1807. package/.output/server/node_modules/d3-interpolate/src/transform/parse.js +0 -18
  1808. package/.output/server/node_modules/d3-interpolate/src/value.js +0 -22
  1809. package/.output/server/node_modules/d3-interpolate/src/zoom.js +0 -71
  1810. package/.output/server/node_modules/d3-interpolate-path/build/d3-interpolate-path.js +0 -782
  1811. package/.output/server/node_modules/d3-interpolate-path/package.json +0 -52
  1812. package/.output/server/node_modules/d3-quadtree/package.json +0 -49
  1813. package/.output/server/node_modules/d3-quadtree/src/add.js +0 -84
  1814. package/.output/server/node_modules/d3-quadtree/src/cover.js +0 -43
  1815. package/.output/server/node_modules/d3-quadtree/src/data.js +0 -7
  1816. package/.output/server/node_modules/d3-quadtree/src/extent.js +0 -5
  1817. package/.output/server/node_modules/d3-quadtree/src/find.js +0 -70
  1818. package/.output/server/node_modules/d3-quadtree/src/index.js +0 -1
  1819. package/.output/server/node_modules/d3-quadtree/src/quad.js +0 -7
  1820. package/.output/server/node_modules/d3-quadtree/src/quadtree.js +0 -73
  1821. package/.output/server/node_modules/d3-quadtree/src/remove.js +0 -62
  1822. package/.output/server/node_modules/d3-quadtree/src/root.js +0 -3
  1823. package/.output/server/node_modules/d3-quadtree/src/size.js +0 -7
  1824. package/.output/server/node_modules/d3-quadtree/src/visit.js +0 -16
  1825. package/.output/server/node_modules/d3-quadtree/src/visitAfter.js +0 -21
  1826. package/.output/server/node_modules/d3-quadtree/src/x.js +0 -7
  1827. package/.output/server/node_modules/d3-quadtree/src/y.js +0 -7
  1828. package/.output/server/node_modules/d3-sankey/dist/d3-sankey.js +0 -425
  1829. package/.output/server/node_modules/d3-sankey/package.json +0 -43
  1830. package/.output/server/node_modules/d3-scale/package.json +0 -57
  1831. package/.output/server/node_modules/d3-scale/src/band.js +0 -101
  1832. package/.output/server/node_modules/d3-scale/src/constant.js +0 -5
  1833. package/.output/server/node_modules/d3-scale/src/continuous.js +0 -125
  1834. package/.output/server/node_modules/d3-scale/src/diverging.js +0 -104
  1835. package/.output/server/node_modules/d3-scale/src/identity.js +0 -28
  1836. package/.output/server/node_modules/d3-scale/src/index.js +0 -78
  1837. package/.output/server/node_modules/d3-scale/src/init.js +0 -26
  1838. package/.output/server/node_modules/d3-scale/src/linear.js +0 -70
  1839. package/.output/server/node_modules/d3-scale/src/log.js +0 -140
  1840. package/.output/server/node_modules/d3-scale/src/nice.js +0 -18
  1841. package/.output/server/node_modules/d3-scale/src/number.js +0 -3
  1842. package/.output/server/node_modules/d3-scale/src/ordinal.js +0 -46
  1843. package/.output/server/node_modules/d3-scale/src/pow.js +0 -50
  1844. package/.output/server/node_modules/d3-scale/src/quantile.js +0 -57
  1845. package/.output/server/node_modules/d3-scale/src/quantize.js +0 -56
  1846. package/.output/server/node_modules/d3-scale/src/radial.js +0 -63
  1847. package/.output/server/node_modules/d3-scale/src/sequential.js +0 -107
  1848. package/.output/server/node_modules/d3-scale/src/sequentialQuantile.js +0 -38
  1849. package/.output/server/node_modules/d3-scale/src/symlog.js +0 -35
  1850. package/.output/server/node_modules/d3-scale/src/threshold.js +0 -39
  1851. package/.output/server/node_modules/d3-scale/src/tickFormat.js +0 -29
  1852. package/.output/server/node_modules/d3-scale/src/time.js +0 -71
  1853. package/.output/server/node_modules/d3-scale/src/utcTime.js +0 -8
  1854. package/.output/server/node_modules/d3-selection/package.json +0 -51
  1855. package/.output/server/node_modules/d3-selection/src/array.js +0 -9
  1856. package/.output/server/node_modules/d3-selection/src/constant.js +0 -5
  1857. package/.output/server/node_modules/d3-selection/src/create.js +0 -6
  1858. package/.output/server/node_modules/d3-selection/src/creator.js +0 -25
  1859. package/.output/server/node_modules/d3-selection/src/index.js +0 -15
  1860. package/.output/server/node_modules/d3-selection/src/local.js +0 -27
  1861. package/.output/server/node_modules/d3-selection/src/matcher.js +0 -12
  1862. package/.output/server/node_modules/d3-selection/src/namespace.js +0 -7
  1863. package/.output/server/node_modules/d3-selection/src/namespaces.js +0 -9
  1864. package/.output/server/node_modules/d3-selection/src/pointer.js +0 -20
  1865. package/.output/server/node_modules/d3-selection/src/pointers.js +0 -11
  1866. package/.output/server/node_modules/d3-selection/src/select.js +0 -7
  1867. package/.output/server/node_modules/d3-selection/src/selectAll.js +0 -8
  1868. package/.output/server/node_modules/d3-selection/src/selection/append.js +0 -8
  1869. package/.output/server/node_modules/d3-selection/src/selection/attr.js +0 -57
  1870. package/.output/server/node_modules/d3-selection/src/selection/call.js +0 -6
  1871. package/.output/server/node_modules/d3-selection/src/selection/classed.js +0 -75
  1872. package/.output/server/node_modules/d3-selection/src/selection/clone.js +0 -13
  1873. package/.output/server/node_modules/d3-selection/src/selection/data.js +0 -128
  1874. package/.output/server/node_modules/d3-selection/src/selection/datum.js +0 -5
  1875. package/.output/server/node_modules/d3-selection/src/selection/dispatch.js +0 -34
  1876. package/.output/server/node_modules/d3-selection/src/selection/each.js +0 -10
  1877. package/.output/server/node_modules/d3-selection/src/selection/empty.js +0 -3
  1878. package/.output/server/node_modules/d3-selection/src/selection/enter.js +0 -22
  1879. package/.output/server/node_modules/d3-selection/src/selection/exit.js +0 -6
  1880. package/.output/server/node_modules/d3-selection/src/selection/filter.js +0 -16
  1881. package/.output/server/node_modules/d3-selection/src/selection/html.js +0 -25
  1882. package/.output/server/node_modules/d3-selection/src/selection/index.js +0 -90
  1883. package/.output/server/node_modules/d3-selection/src/selection/insert.js +0 -14
  1884. package/.output/server/node_modules/d3-selection/src/selection/iterator.js +0 -7
  1885. package/.output/server/node_modules/d3-selection/src/selection/join.js +0 -15
  1886. package/.output/server/node_modules/d3-selection/src/selection/lower.js +0 -7
  1887. package/.output/server/node_modules/d3-selection/src/selection/merge.js +0 -19
  1888. package/.output/server/node_modules/d3-selection/src/selection/node.js +0 -11
  1889. package/.output/server/node_modules/d3-selection/src/selection/nodes.js +0 -3
  1890. package/.output/server/node_modules/d3-selection/src/selection/on.js +0 -67
  1891. package/.output/server/node_modules/d3-selection/src/selection/order.js +0 -13
  1892. package/.output/server/node_modules/d3-selection/src/selection/property.js +0 -28
  1893. package/.output/server/node_modules/d3-selection/src/selection/raise.js +0 -7
  1894. package/.output/server/node_modules/d3-selection/src/selection/remove.js +0 -8
  1895. package/.output/server/node_modules/d3-selection/src/selection/select.js +0 -17
  1896. package/.output/server/node_modules/d3-selection/src/selection/selectAll.js +0 -25
  1897. package/.output/server/node_modules/d3-selection/src/selection/selectChild.js +0 -18
  1898. package/.output/server/node_modules/d3-selection/src/selection/selectChildren.js +0 -18
  1899. package/.output/server/node_modules/d3-selection/src/selection/size.js +0 -5
  1900. package/.output/server/node_modules/d3-selection/src/selection/sort.js +0 -24
  1901. package/.output/server/node_modules/d3-selection/src/selection/sparse.js +0 -3
  1902. package/.output/server/node_modules/d3-selection/src/selection/style.js +0 -35
  1903. package/.output/server/node_modules/d3-selection/src/selection/text.js +0 -25
  1904. package/.output/server/node_modules/d3-selection/src/selector.js +0 -7
  1905. package/.output/server/node_modules/d3-selection/src/selectorAll.js +0 -9
  1906. package/.output/server/node_modules/d3-selection/src/sourceEvent.js +0 -5
  1907. package/.output/server/node_modules/d3-selection/src/window.js +0 -5
  1908. package/.output/server/node_modules/d3-time/package.json +0 -53
  1909. package/.output/server/node_modules/d3-time/src/day.js +0 -35
  1910. package/.output/server/node_modules/d3-time/src/duration.js +0 -7
  1911. package/.output/server/node_modules/d3-time/src/hour.js +0 -26
  1912. package/.output/server/node_modules/d3-time/src/index.js +0 -96
  1913. package/.output/server/node_modules/d3-time/src/interval.js +0 -69
  1914. package/.output/server/node_modules/d3-time/src/millisecond.js +0 -25
  1915. package/.output/server/node_modules/d3-time/src/minute.js +0 -26
  1916. package/.output/server/node_modules/d3-time/src/month.js +0 -27
  1917. package/.output/server/node_modules/d3-time/src/second.js +0 -14
  1918. package/.output/server/node_modules/d3-time/src/ticks.js +0 -58
  1919. package/.output/server/node_modules/d3-time/src/week.js +0 -56
  1920. package/.output/server/node_modules/d3-time/src/year.js +0 -49
  1921. package/.output/server/node_modules/d3-time-format/package.json +0 -60
  1922. package/.output/server/node_modules/d3-time-format/src/defaultLocale.js +0 -27
  1923. package/.output/server/node_modules/d3-time-format/src/index.js +0 -4
  1924. package/.output/server/node_modules/d3-time-format/src/isoFormat.js +0 -13
  1925. package/.output/server/node_modules/d3-time-format/src/isoParse.js +0 -13
  1926. package/.output/server/node_modules/d3-time-format/src/locale.js +0 -697
  1927. package/.output/server/node_modules/d3-timer/package.json +0 -53
  1928. package/.output/server/node_modules/d3-timer/src/index.js +0 -13
  1929. package/.output/server/node_modules/d3-timer/src/interval.js +0 -17
  1930. package/.output/server/node_modules/d3-timer/src/timeout.js +0 -11
  1931. package/.output/server/node_modules/d3-timer/src/timer.js +0 -110
  1932. package/.output/server/node_modules/d3-transition/package.json +0 -65
  1933. package/.output/server/node_modules/d3-transition/src/active.js +0 -21
  1934. package/.output/server/node_modules/d3-transition/src/index.js +0 -4
  1935. package/.output/server/node_modules/d3-transition/src/interrupt.js +0 -24
  1936. package/.output/server/node_modules/d3-transition/src/selection/index.js +0 -6
  1937. package/.output/server/node_modules/d3-transition/src/selection/interrupt.js +0 -7
  1938. package/.output/server/node_modules/d3-transition/src/selection/transition.js +0 -42
  1939. package/.output/server/node_modules/d3-transition/src/transition/attr.js +0 -78
  1940. package/.output/server/node_modules/d3-transition/src/transition/attrTween.js +0 -44
  1941. package/.output/server/node_modules/d3-transition/src/transition/delay.js +0 -23
  1942. package/.output/server/node_modules/d3-transition/src/transition/duration.js +0 -23
  1943. package/.output/server/node_modules/d3-transition/src/transition/ease.js +0 -16
  1944. package/.output/server/node_modules/d3-transition/src/transition/easeVarying.js +0 -14
  1945. package/.output/server/node_modules/d3-transition/src/transition/end.js +0 -29
  1946. package/.output/server/node_modules/d3-transition/src/transition/filter.js +0 -16
  1947. package/.output/server/node_modules/d3-transition/src/transition/index.js +0 -73
  1948. package/.output/server/node_modules/d3-transition/src/transition/interpolate.js +0 -10
  1949. package/.output/server/node_modules/d3-transition/src/transition/merge.js +0 -19
  1950. package/.output/server/node_modules/d3-transition/src/transition/on.js +0 -32
  1951. package/.output/server/node_modules/d3-transition/src/transition/remove.js +0 -11
  1952. package/.output/server/node_modules/d3-transition/src/transition/schedule.js +0 -153
  1953. package/.output/server/node_modules/d3-transition/src/transition/select.js +0 -22
  1954. package/.output/server/node_modules/d3-transition/src/transition/selectAll.js +0 -26
  1955. package/.output/server/node_modules/d3-transition/src/transition/selection.js +0 -7
  1956. package/.output/server/node_modules/d3-transition/src/transition/style.js +0 -80
  1957. package/.output/server/node_modules/d3-transition/src/transition/styleTween.js +0 -24
  1958. package/.output/server/node_modules/d3-transition/src/transition/text.js +0 -20
  1959. package/.output/server/node_modules/d3-transition/src/transition/textTween.js +0 -24
  1960. package/.output/server/node_modules/d3-transition/src/transition/transition.js +0 -24
  1961. package/.output/server/node_modules/d3-transition/src/transition/tween.js +0 -81
  1962. package/.output/server/node_modules/d3-zoom/package.json +0 -57
  1963. package/.output/server/node_modules/d3-zoom/src/constant.js +0 -1
  1964. package/.output/server/node_modules/d3-zoom/src/event.js +0 -14
  1965. package/.output/server/node_modules/d3-zoom/src/index.js +0 -2
  1966. package/.output/server/node_modules/d3-zoom/src/noevent.js +0 -8
  1967. package/.output/server/node_modules/d3-zoom/src/transform.js +0 -51
  1968. package/.output/server/node_modules/d3-zoom/src/zoom.js +0 -447
  1969. package/.output/server/node_modules/elkjs/lib/elk.bundled.js +0 -6545
  1970. package/.output/server/node_modules/elkjs/package.json +0 -54
  1971. package/.output/server/node_modules/internmap/package.json +0 -43
  1972. package/.output/server/node_modules/internmap/src/index.js +0 -61
  1973. package/.output/server/node_modules/leaflet/dist/leaflet-src.js +0 -14062
  1974. package/.output/server/node_modules/leaflet/package.json +0 -109
  1975. package/.output/server/node_modules/lodash-es/_DataView.js +0 -7
  1976. package/.output/server/node_modules/lodash-es/_Hash.js +0 -32
  1977. package/.output/server/node_modules/lodash-es/_LazyWrapper.js +0 -28
  1978. package/.output/server/node_modules/lodash-es/_ListCache.js +0 -32
  1979. package/.output/server/node_modules/lodash-es/_LodashWrapper.js +0 -22
  1980. package/.output/server/node_modules/lodash-es/_Map.js +0 -7
  1981. package/.output/server/node_modules/lodash-es/_MapCache.js +0 -32
  1982. package/.output/server/node_modules/lodash-es/_Promise.js +0 -7
  1983. package/.output/server/node_modules/lodash-es/_Set.js +0 -7
  1984. package/.output/server/node_modules/lodash-es/_SetCache.js +0 -27
  1985. package/.output/server/node_modules/lodash-es/_Stack.js +0 -27
  1986. package/.output/server/node_modules/lodash-es/_Symbol.js +0 -6
  1987. package/.output/server/node_modules/lodash-es/_Uint8Array.js +0 -6
  1988. package/.output/server/node_modules/lodash-es/_WeakMap.js +0 -7
  1989. package/.output/server/node_modules/lodash-es/_apply.js +0 -21
  1990. package/.output/server/node_modules/lodash-es/_arrayEach.js +0 -22
  1991. package/.output/server/node_modules/lodash-es/_arrayFilter.js +0 -25
  1992. package/.output/server/node_modules/lodash-es/_arrayIncludes.js +0 -17
  1993. package/.output/server/node_modules/lodash-es/_arrayIncludesWith.js +0 -22
  1994. package/.output/server/node_modules/lodash-es/_arrayLikeKeys.js +0 -49
  1995. package/.output/server/node_modules/lodash-es/_arrayMap.js +0 -21
  1996. package/.output/server/node_modules/lodash-es/_arrayPush.js +0 -20
  1997. package/.output/server/node_modules/lodash-es/_arrayReduce.js +0 -26
  1998. package/.output/server/node_modules/lodash-es/_arraySome.js +0 -23
  1999. package/.output/server/node_modules/lodash-es/_asciiSize.js +0 -12
  2000. package/.output/server/node_modules/lodash-es/_assignMergeValue.js +0 -20
  2001. package/.output/server/node_modules/lodash-es/_assignValue.js +0 -28
  2002. package/.output/server/node_modules/lodash-es/_assocIndexOf.js +0 -21
  2003. package/.output/server/node_modules/lodash-es/_baseAssign.js +0 -17
  2004. package/.output/server/node_modules/lodash-es/_baseAssignIn.js +0 -17
  2005. package/.output/server/node_modules/lodash-es/_baseAssignValue.js +0 -25
  2006. package/.output/server/node_modules/lodash-es/_baseClone.js +0 -166
  2007. package/.output/server/node_modules/lodash-es/_baseCreate.js +0 -30
  2008. package/.output/server/node_modules/lodash-es/_baseEach.js +0 -14
  2009. package/.output/server/node_modules/lodash-es/_baseExtremum.js +0 -32
  2010. package/.output/server/node_modules/lodash-es/_baseFilter.js +0 -21
  2011. package/.output/server/node_modules/lodash-es/_baseFindIndex.js +0 -24
  2012. package/.output/server/node_modules/lodash-es/_baseFlatten.js +0 -38
  2013. package/.output/server/node_modules/lodash-es/_baseFor.js +0 -16
  2014. package/.output/server/node_modules/lodash-es/_baseForOwn.js +0 -16
  2015. package/.output/server/node_modules/lodash-es/_baseGet.js +0 -24
  2016. package/.output/server/node_modules/lodash-es/_baseGetAllKeys.js +0 -20
  2017. package/.output/server/node_modules/lodash-es/_baseGetTag.js +0 -28
  2018. package/.output/server/node_modules/lodash-es/_baseGt.js +0 -14
  2019. package/.output/server/node_modules/lodash-es/_baseHas.js +0 -19
  2020. package/.output/server/node_modules/lodash-es/_baseHasIn.js +0 -13
  2021. package/.output/server/node_modules/lodash-es/_baseIndexOf.js +0 -20
  2022. package/.output/server/node_modules/lodash-es/_baseIsArguments.js +0 -18
  2023. package/.output/server/node_modules/lodash-es/_baseIsEqual.js +0 -28
  2024. package/.output/server/node_modules/lodash-es/_baseIsEqualDeep.js +0 -83
  2025. package/.output/server/node_modules/lodash-es/_baseIsMap.js +0 -18
  2026. package/.output/server/node_modules/lodash-es/_baseIsMatch.js +0 -62
  2027. package/.output/server/node_modules/lodash-es/_baseIsNaN.js +0 -12
  2028. package/.output/server/node_modules/lodash-es/_baseIsNative.js +0 -47
  2029. package/.output/server/node_modules/lodash-es/_baseIsSet.js +0 -18
  2030. package/.output/server/node_modules/lodash-es/_baseIsTypedArray.js +0 -60
  2031. package/.output/server/node_modules/lodash-es/_baseIteratee.js +0 -31
  2032. package/.output/server/node_modules/lodash-es/_baseKeys.js +0 -30
  2033. package/.output/server/node_modules/lodash-es/_baseKeysIn.js +0 -33
  2034. package/.output/server/node_modules/lodash-es/_baseLodash.js +0 -10
  2035. package/.output/server/node_modules/lodash-es/_baseLt.js +0 -14
  2036. package/.output/server/node_modules/lodash-es/_baseMap.js +0 -22
  2037. package/.output/server/node_modules/lodash-es/_baseMatches.js +0 -22
  2038. package/.output/server/node_modules/lodash-es/_baseMatchesProperty.js +0 -33
  2039. package/.output/server/node_modules/lodash-es/_baseMerge.js +0 -42
  2040. package/.output/server/node_modules/lodash-es/_baseMergeDeep.js +0 -94
  2041. package/.output/server/node_modules/lodash-es/_baseOrderBy.js +0 -49
  2042. package/.output/server/node_modules/lodash-es/_basePick.js +0 -19
  2043. package/.output/server/node_modules/lodash-es/_basePickBy.js +0 -30
  2044. package/.output/server/node_modules/lodash-es/_baseProperty.js +0 -14
  2045. package/.output/server/node_modules/lodash-es/_basePropertyDeep.js +0 -16
  2046. package/.output/server/node_modules/lodash-es/_baseRange.js +0 -28
  2047. package/.output/server/node_modules/lodash-es/_baseReduce.js +0 -23
  2048. package/.output/server/node_modules/lodash-es/_baseRest.js +0 -17
  2049. package/.output/server/node_modules/lodash-es/_baseSet.js +0 -51
  2050. package/.output/server/node_modules/lodash-es/_baseSetData.js +0 -17
  2051. package/.output/server/node_modules/lodash-es/_baseSetToString.js +0 -22
  2052. package/.output/server/node_modules/lodash-es/_baseSortBy.js +0 -21
  2053. package/.output/server/node_modules/lodash-es/_baseTimes.js +0 -20
  2054. package/.output/server/node_modules/lodash-es/_baseToPairs.js +0 -18
  2055. package/.output/server/node_modules/lodash-es/_baseToString.js +0 -37
  2056. package/.output/server/node_modules/lodash-es/_baseTrim.js +0 -19
  2057. package/.output/server/node_modules/lodash-es/_baseUnary.js +0 -14
  2058. package/.output/server/node_modules/lodash-es/_baseUniq.js +0 -72
  2059. package/.output/server/node_modules/lodash-es/_baseValues.js +0 -19
  2060. package/.output/server/node_modules/lodash-es/_baseZipObject.js +0 -23
  2061. package/.output/server/node_modules/lodash-es/_cacheHas.js +0 -13
  2062. package/.output/server/node_modules/lodash-es/_castFunction.js +0 -14
  2063. package/.output/server/node_modules/lodash-es/_castPath.js +0 -21
  2064. package/.output/server/node_modules/lodash-es/_cloneArrayBuffer.js +0 -16
  2065. package/.output/server/node_modules/lodash-es/_cloneBuffer.js +0 -35
  2066. package/.output/server/node_modules/lodash-es/_cloneDataView.js +0 -16
  2067. package/.output/server/node_modules/lodash-es/_cloneRegExp.js +0 -17
  2068. package/.output/server/node_modules/lodash-es/_cloneSymbol.js +0 -18
  2069. package/.output/server/node_modules/lodash-es/_cloneTypedArray.js +0 -16
  2070. package/.output/server/node_modules/lodash-es/_compareAscending.js +0 -41
  2071. package/.output/server/node_modules/lodash-es/_compareMultiple.js +0 -44
  2072. package/.output/server/node_modules/lodash-es/_composeArgs.js +0 -39
  2073. package/.output/server/node_modules/lodash-es/_composeArgsRight.js +0 -41
  2074. package/.output/server/node_modules/lodash-es/_copyArray.js +0 -20
  2075. package/.output/server/node_modules/lodash-es/_copyObject.js +0 -40
  2076. package/.output/server/node_modules/lodash-es/_copySymbols.js +0 -16
  2077. package/.output/server/node_modules/lodash-es/_copySymbolsIn.js +0 -16
  2078. package/.output/server/node_modules/lodash-es/_coreJsData.js +0 -6
  2079. package/.output/server/node_modules/lodash-es/_countHolders.js +0 -21
  2080. package/.output/server/node_modules/lodash-es/_createAssigner.js +0 -37
  2081. package/.output/server/node_modules/lodash-es/_createBaseEach.js +0 -32
  2082. package/.output/server/node_modules/lodash-es/_createBaseFor.js +0 -25
  2083. package/.output/server/node_modules/lodash-es/_createBind.js +0 -28
  2084. package/.output/server/node_modules/lodash-es/_createCtor.js +0 -37
  2085. package/.output/server/node_modules/lodash-es/_createCurry.js +0 -46
  2086. package/.output/server/node_modules/lodash-es/_createFind.js +0 -25
  2087. package/.output/server/node_modules/lodash-es/_createHybrid.js +0 -92
  2088. package/.output/server/node_modules/lodash-es/_createPartial.js +0 -43
  2089. package/.output/server/node_modules/lodash-es/_createRange.js +0 -30
  2090. package/.output/server/node_modules/lodash-es/_createRecurry.js +0 -56
  2091. package/.output/server/node_modules/lodash-es/_createSet.js +0 -19
  2092. package/.output/server/node_modules/lodash-es/_createToPairs.js +0 -30
  2093. package/.output/server/node_modules/lodash-es/_createWrap.js +0 -106
  2094. package/.output/server/node_modules/lodash-es/_defineProperty.js +0 -11
  2095. package/.output/server/node_modules/lodash-es/_equalArrays.js +0 -84
  2096. package/.output/server/node_modules/lodash-es/_equalByTag.js +0 -112
  2097. package/.output/server/node_modules/lodash-es/_equalObjects.js +0 -90
  2098. package/.output/server/node_modules/lodash-es/_flatRest.js +0 -16
  2099. package/.output/server/node_modules/lodash-es/_freeGlobal.js +0 -4
  2100. package/.output/server/node_modules/lodash-es/_getAllKeys.js +0 -16
  2101. package/.output/server/node_modules/lodash-es/_getAllKeysIn.js +0 -17
  2102. package/.output/server/node_modules/lodash-es/_getData.js +0 -15
  2103. package/.output/server/node_modules/lodash-es/_getFuncName.js +0 -31
  2104. package/.output/server/node_modules/lodash-es/_getHolder.js +0 -13
  2105. package/.output/server/node_modules/lodash-es/_getMapData.js +0 -18
  2106. package/.output/server/node_modules/lodash-es/_getMatchData.js +0 -24
  2107. package/.output/server/node_modules/lodash-es/_getNative.js +0 -17
  2108. package/.output/server/node_modules/lodash-es/_getPrototype.js +0 -6
  2109. package/.output/server/node_modules/lodash-es/_getRawTag.js +0 -46
  2110. package/.output/server/node_modules/lodash-es/_getSymbols.js +0 -30
  2111. package/.output/server/node_modules/lodash-es/_getSymbolsIn.js +0 -25
  2112. package/.output/server/node_modules/lodash-es/_getTag.js +0 -58
  2113. package/.output/server/node_modules/lodash-es/_getValue.js +0 -13
  2114. package/.output/server/node_modules/lodash-es/_getWrapDetails.js +0 -17
  2115. package/.output/server/node_modules/lodash-es/_hasPath.js +0 -39
  2116. package/.output/server/node_modules/lodash-es/_hasUnicode.js +0 -26
  2117. package/.output/server/node_modules/lodash-es/_hashClear.js +0 -15
  2118. package/.output/server/node_modules/lodash-es/_hashDelete.js +0 -17
  2119. package/.output/server/node_modules/lodash-es/_hashGet.js +0 -30
  2120. package/.output/server/node_modules/lodash-es/_hashHas.js +0 -23
  2121. package/.output/server/node_modules/lodash-es/_hashSet.js +0 -23
  2122. package/.output/server/node_modules/lodash-es/_initCloneArray.js +0 -26
  2123. package/.output/server/node_modules/lodash-es/_initCloneByTag.js +0 -77
  2124. package/.output/server/node_modules/lodash-es/_initCloneObject.js +0 -18
  2125. package/.output/server/node_modules/lodash-es/_insertWrapDetails.js +0 -23
  2126. package/.output/server/node_modules/lodash-es/_isFlattenable.js +0 -20
  2127. package/.output/server/node_modules/lodash-es/_isIndex.js +0 -25
  2128. package/.output/server/node_modules/lodash-es/_isIterateeCall.js +0 -30
  2129. package/.output/server/node_modules/lodash-es/_isKey.js +0 -29
  2130. package/.output/server/node_modules/lodash-es/_isKeyable.js +0 -15
  2131. package/.output/server/node_modules/lodash-es/_isLaziable.js +0 -28
  2132. package/.output/server/node_modules/lodash-es/_isMasked.js +0 -20
  2133. package/.output/server/node_modules/lodash-es/_isPrototype.js +0 -18
  2134. package/.output/server/node_modules/lodash-es/_isStrictComparable.js +0 -15
  2135. package/.output/server/node_modules/lodash-es/_listCacheClear.js +0 -13
  2136. package/.output/server/node_modules/lodash-es/_listCacheDelete.js +0 -35
  2137. package/.output/server/node_modules/lodash-es/_listCacheGet.js +0 -19
  2138. package/.output/server/node_modules/lodash-es/_listCacheHas.js +0 -16
  2139. package/.output/server/node_modules/lodash-es/_listCacheSet.js +0 -26
  2140. package/.output/server/node_modules/lodash-es/_mapCacheClear.js +0 -21
  2141. package/.output/server/node_modules/lodash-es/_mapCacheDelete.js +0 -18
  2142. package/.output/server/node_modules/lodash-es/_mapCacheGet.js +0 -16
  2143. package/.output/server/node_modules/lodash-es/_mapCacheHas.js +0 -16
  2144. package/.output/server/node_modules/lodash-es/_mapCacheSet.js +0 -22
  2145. package/.output/server/node_modules/lodash-es/_mapToArray.js +0 -18
  2146. package/.output/server/node_modules/lodash-es/_matchesStrictComparable.js +0 -20
  2147. package/.output/server/node_modules/lodash-es/_memoizeCapped.js +0 -26
  2148. package/.output/server/node_modules/lodash-es/_mergeData.js +0 -90
  2149. package/.output/server/node_modules/lodash-es/_metaMap.js +0 -6
  2150. package/.output/server/node_modules/lodash-es/_nativeCreate.js +0 -6
  2151. package/.output/server/node_modules/lodash-es/_nativeKeys.js +0 -6
  2152. package/.output/server/node_modules/lodash-es/_nativeKeysIn.js +0 -20
  2153. package/.output/server/node_modules/lodash-es/_nodeUtil.js +0 -30
  2154. package/.output/server/node_modules/lodash-es/_objectToString.js +0 -22
  2155. package/.output/server/node_modules/lodash-es/_overArg.js +0 -15
  2156. package/.output/server/node_modules/lodash-es/_overRest.js +0 -36
  2157. package/.output/server/node_modules/lodash-es/_realNames.js +0 -4
  2158. package/.output/server/node_modules/lodash-es/_reorder.js +0 -29
  2159. package/.output/server/node_modules/lodash-es/_replaceHolders.js +0 -29
  2160. package/.output/server/node_modules/lodash-es/_root.js +0 -9
  2161. package/.output/server/node_modules/lodash-es/_safeGet.js +0 -21
  2162. package/.output/server/node_modules/lodash-es/_setCacheAdd.js +0 -19
  2163. package/.output/server/node_modules/lodash-es/_setCacheHas.js +0 -14
  2164. package/.output/server/node_modules/lodash-es/_setData.js +0 -20
  2165. package/.output/server/node_modules/lodash-es/_setToArray.js +0 -18
  2166. package/.output/server/node_modules/lodash-es/_setToPairs.js +0 -18
  2167. package/.output/server/node_modules/lodash-es/_setToString.js +0 -14
  2168. package/.output/server/node_modules/lodash-es/_setWrapToString.js +0 -21
  2169. package/.output/server/node_modules/lodash-es/_shortOut.js +0 -37
  2170. package/.output/server/node_modules/lodash-es/_stackClear.js +0 -15
  2171. package/.output/server/node_modules/lodash-es/_stackDelete.js +0 -18
  2172. package/.output/server/node_modules/lodash-es/_stackGet.js +0 -14
  2173. package/.output/server/node_modules/lodash-es/_stackHas.js +0 -14
  2174. package/.output/server/node_modules/lodash-es/_stackSet.js +0 -34
  2175. package/.output/server/node_modules/lodash-es/_strictIndexOf.js +0 -23
  2176. package/.output/server/node_modules/lodash-es/_stringSize.js +0 -18
  2177. package/.output/server/node_modules/lodash-es/_stringToPath.js +0 -27
  2178. package/.output/server/node_modules/lodash-es/_toKey.js +0 -21
  2179. package/.output/server/node_modules/lodash-es/_toSource.js +0 -26
  2180. package/.output/server/node_modules/lodash-es/_trimmedEndIndex.js +0 -19
  2181. package/.output/server/node_modules/lodash-es/_unicodeSize.js +0 -44
  2182. package/.output/server/node_modules/lodash-es/_updateWrapDetails.js +0 -46
  2183. package/.output/server/node_modules/lodash-es/_wrapperClone.js +0 -23
  2184. package/.output/server/node_modules/lodash-es/bind.js +0 -57
  2185. package/.output/server/node_modules/lodash-es/clone.js +0 -36
  2186. package/.output/server/node_modules/lodash-es/cloneDeep.js +0 -29
  2187. package/.output/server/node_modules/lodash-es/constant.js +0 -26
  2188. package/.output/server/node_modules/lodash-es/defaults.js +0 -64
  2189. package/.output/server/node_modules/lodash-es/each.js +0 -1
  2190. package/.output/server/node_modules/lodash-es/eq.js +0 -37
  2191. package/.output/server/node_modules/lodash-es/filter.js +0 -52
  2192. package/.output/server/node_modules/lodash-es/find.js +0 -42
  2193. package/.output/server/node_modules/lodash-es/findIndex.js +0 -55
  2194. package/.output/server/node_modules/lodash-es/flatten.js +0 -22
  2195. package/.output/server/node_modules/lodash-es/forEach.js +0 -41
  2196. package/.output/server/node_modules/lodash-es/get.js +0 -33
  2197. package/.output/server/node_modules/lodash-es/has.js +0 -35
  2198. package/.output/server/node_modules/lodash-es/hasIn.js +0 -34
  2199. package/.output/server/node_modules/lodash-es/identity.js +0 -21
  2200. package/.output/server/node_modules/lodash-es/isArguments.js +0 -36
  2201. package/.output/server/node_modules/lodash-es/isArray.js +0 -26
  2202. package/.output/server/node_modules/lodash-es/isArrayLike.js +0 -33
  2203. package/.output/server/node_modules/lodash-es/isArrayLikeObject.js +0 -33
  2204. package/.output/server/node_modules/lodash-es/isBuffer.js +0 -38
  2205. package/.output/server/node_modules/lodash-es/isEmpty.js +0 -77
  2206. package/.output/server/node_modules/lodash-es/isFunction.js +0 -37
  2207. package/.output/server/node_modules/lodash-es/isLength.js +0 -35
  2208. package/.output/server/node_modules/lodash-es/isMap.js +0 -27
  2209. package/.output/server/node_modules/lodash-es/isObject.js +0 -31
  2210. package/.output/server/node_modules/lodash-es/isObjectLike.js +0 -29
  2211. package/.output/server/node_modules/lodash-es/isPlainObject.js +0 -62
  2212. package/.output/server/node_modules/lodash-es/isSet.js +0 -27
  2213. package/.output/server/node_modules/lodash-es/isString.js +0 -30
  2214. package/.output/server/node_modules/lodash-es/isSymbol.js +0 -29
  2215. package/.output/server/node_modules/lodash-es/isTypedArray.js +0 -27
  2216. package/.output/server/node_modules/lodash-es/isUndefined.js +0 -22
  2217. package/.output/server/node_modules/lodash-es/keys.js +0 -37
  2218. package/.output/server/node_modules/lodash-es/keysIn.js +0 -32
  2219. package/.output/server/node_modules/lodash-es/last.js +0 -20
  2220. package/.output/server/node_modules/lodash-es/map.js +0 -53
  2221. package/.output/server/node_modules/lodash-es/mapValues.js +0 -43
  2222. package/.output/server/node_modules/lodash-es/max.js +0 -29
  2223. package/.output/server/node_modules/lodash-es/maxBy.js +0 -34
  2224. package/.output/server/node_modules/lodash-es/memoize.js +0 -73
  2225. package/.output/server/node_modules/lodash-es/merge.js +0 -39
  2226. package/.output/server/node_modules/lodash-es/min.js +0 -29
  2227. package/.output/server/node_modules/lodash-es/minBy.js +0 -34
  2228. package/.output/server/node_modules/lodash-es/noop.js +0 -17
  2229. package/.output/server/node_modules/lodash-es/now.js +0 -23
  2230. package/.output/server/node_modules/lodash-es/package.json +0 -23
  2231. package/.output/server/node_modules/lodash-es/pick.js +0 -25
  2232. package/.output/server/node_modules/lodash-es/property.js +0 -32
  2233. package/.output/server/node_modules/lodash-es/range.js +0 -46
  2234. package/.output/server/node_modules/lodash-es/reduce.js +0 -51
  2235. package/.output/server/node_modules/lodash-es/size.js +0 -46
  2236. package/.output/server/node_modules/lodash-es/sortBy.js +0 -48
  2237. package/.output/server/node_modules/lodash-es/stubArray.js +0 -23
  2238. package/.output/server/node_modules/lodash-es/stubFalse.js +0 -18
  2239. package/.output/server/node_modules/lodash-es/toFinite.js +0 -42
  2240. package/.output/server/node_modules/lodash-es/toInteger.js +0 -36
  2241. package/.output/server/node_modules/lodash-es/toNumber.js +0 -64
  2242. package/.output/server/node_modules/lodash-es/toPairs.js +0 -30
  2243. package/.output/server/node_modules/lodash-es/toPlainObject.js +0 -32
  2244. package/.output/server/node_modules/lodash-es/toString.js +0 -28
  2245. package/.output/server/node_modules/lodash-es/transform.js +0 -65
  2246. package/.output/server/node_modules/lodash-es/union.js +0 -26
  2247. package/.output/server/node_modules/lodash-es/uniqueId.js +0 -28
  2248. package/.output/server/node_modules/lodash-es/values.js +0 -34
  2249. package/.output/server/node_modules/lodash-es/wrapperLodash.js +0 -147
  2250. package/.output/server/node_modules/lodash-es/zipObject.js +0 -24
  2251. package/.output/server/node_modules/maplibre-gl/dist/maplibre-gl.js +0 -44
  2252. package/.output/server/node_modules/maplibre-gl/dist/package.json +0 -1
  2253. package/.output/server/node_modules/maplibre-gl/package.json +0 -182
  2254. package/.output/server/node_modules/striptags/package.json +0 -30
  2255. package/.output/server/node_modules/striptags/src/striptags.js +0 -239
  2256. package/.output/server/node_modules/stylis/dist/umd/package.json +0 -1
  2257. package/.output/server/node_modules/stylis/dist/umd/stylis.js +0 -2
  2258. package/.output/server/node_modules/stylis/package.json +0 -167
  2259. package/.output/server/node_modules/supercluster/dist/supercluster.js +0 -635
  2260. package/.output/server/node_modules/supercluster/package.json +0 -54
  2261. package/.output/server/node_modules/three/package.json +0 -136
  2262. package/.output/server/node_modules/three/src/cameras/ArrayCamera.js +0 -18
  2263. package/.output/server/node_modules/three/src/cameras/Camera.js +0 -68
  2264. package/.output/server/node_modules/three/src/cameras/CubeCamera.js +0 -107
  2265. package/.output/server/node_modules/three/src/cameras/OrthographicCamera.js +0 -136
  2266. package/.output/server/node_modules/three/src/cameras/PerspectiveCamera.js +0 -233
  2267. package/.output/server/node_modules/three/src/constants.js +0 -199
  2268. package/.output/server/node_modules/three/src/core/BufferAttribute.js +0 -528
  2269. package/.output/server/node_modules/three/src/core/BufferGeometry.js +0 -1130
  2270. package/.output/server/node_modules/three/src/core/EventDispatcher.js +0 -87
  2271. package/.output/server/node_modules/three/src/core/Layers.js +0 -60
  2272. package/.output/server/node_modules/three/src/core/Object3D.js +0 -924
  2273. package/.output/server/node_modules/three/src/extras/ImageUtils.js +0 -66
  2274. package/.output/server/node_modules/three/src/extras/PMREMGenerator.js +0 -1013
  2275. package/.output/server/node_modules/three/src/geometries/BoxGeometry.js +0 -170
  2276. package/.output/server/node_modules/three/src/geometries/PlaneGeometry.js +0 -87
  2277. package/.output/server/node_modules/three/src/materials/Material.js +0 -491
  2278. package/.output/server/node_modules/three/src/materials/MeshBasicMaterial.js +0 -106
  2279. package/.output/server/node_modules/three/src/materials/MeshDepthMaterial.js +0 -74
  2280. package/.output/server/node_modules/three/src/materials/MeshDistanceMaterial.js +0 -72
  2281. package/.output/server/node_modules/three/src/materials/PointsMaterial.js +0 -59
  2282. package/.output/server/node_modules/three/src/materials/RawShaderMaterial.js +0 -17
  2283. package/.output/server/node_modules/three/src/materials/ShaderMaterial.js +0 -200
  2284. package/.output/server/node_modules/three/src/math/Box3.js +0 -518
  2285. package/.output/server/node_modules/three/src/math/Color.js +0 -604
  2286. package/.output/server/node_modules/three/src/math/Euler.js +0 -322
  2287. package/.output/server/node_modules/three/src/math/Frustum.js +0 -162
  2288. package/.output/server/node_modules/three/src/math/MathUtils.js +0 -258
  2289. package/.output/server/node_modules/three/src/math/Matrix3.js +0 -339
  2290. package/.output/server/node_modules/three/src/math/Matrix4.js +0 -885
  2291. package/.output/server/node_modules/three/src/math/Plane.js +0 -205
  2292. package/.output/server/node_modules/three/src/math/Quaternion.js +0 -689
  2293. package/.output/server/node_modules/three/src/math/Ray.js +0 -496
  2294. package/.output/server/node_modules/three/src/math/Sphere.js +0 -219
  2295. package/.output/server/node_modules/three/src/math/Triangle.js +0 -299
  2296. package/.output/server/node_modules/three/src/math/Vector2.js +0 -484
  2297. package/.output/server/node_modules/three/src/math/Vector3.js +0 -745
  2298. package/.output/server/node_modules/three/src/math/Vector4.js +0 -664
  2299. package/.output/server/node_modules/three/src/objects/Group.js +0 -17
  2300. package/.output/server/node_modules/three/src/objects/Mesh.js +0 -419
  2301. package/.output/server/node_modules/three/src/objects/Points.js +0 -188
  2302. package/.output/server/node_modules/three/src/renderers/WebGLCubeRenderTarget.js +0 -155
  2303. package/.output/server/node_modules/three/src/renderers/WebGLMultisampleRenderTarget.js +0 -33
  2304. package/.output/server/node_modules/three/src/renderers/WebGLRenderTarget.js +0 -109
  2305. package/.output/server/node_modules/three/src/renderers/WebGLRenderer.js +0 -2217
  2306. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js +0 -7
  2307. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js +0 -7
  2308. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js +0 -7
  2309. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_pars_fragment.glsl.js +0 -5
  2310. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js +0 -18
  2311. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js +0 -8
  2312. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/begin_vertex.glsl.js +0 -3
  2313. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js +0 -9
  2314. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +0 -258
  2315. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +0 -44
  2316. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_begin.glsl.js +0 -7
  2317. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js +0 -18
  2318. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js +0 -21
  2319. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js +0 -33
  2320. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js +0 -9
  2321. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js +0 -7
  2322. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js +0 -7
  2323. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js +0 -11
  2324. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js +0 -11
  2325. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +0 -11
  2326. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +0 -23
  2327. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -116
  2328. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +0 -214
  2329. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/default_fragment.glsl.js +0 -5
  2330. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/default_vertex.glsl.js +0 -5
  2331. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js +0 -36
  2332. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl.js +0 -9
  2333. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js +0 -7
  2334. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/dithering_fragment.glsl.js +0 -7
  2335. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js +0 -20
  2336. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +0 -11
  2337. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl.js +0 -7
  2338. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/encodings_fragment.glsl.js +0 -3
  2339. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/encodings_pars_fragment.glsl.js +0 -62
  2340. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +0 -14
  2341. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +0 -68
  2342. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +0 -21
  2343. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +0 -22
  2344. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +0 -62
  2345. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js +0 -37
  2346. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js +0 -17
  2347. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js +0 -19
  2348. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js +0 -7
  2349. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js +0 -7
  2350. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +0 -26
  2351. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -16
  2352. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl.js +0 -8
  2353. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +0 -152
  2354. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js +0 -13
  2355. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +0 -38
  2356. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js +0 -122
  2357. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +0 -223
  2358. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl.js +0 -7
  2359. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +0 -34
  2360. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +0 -95
  2361. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +0 -188
  2362. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_fragment.glsl.js +0 -4
  2363. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +0 -28
  2364. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +0 -9
  2365. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +0 -9
  2366. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +0 -16
  2367. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +0 -22
  2368. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +0 -10
  2369. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl.js +0 -7
  2370. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js +0 -20
  2371. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js +0 -19
  2372. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js +0 -12
  2373. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_pars_fragment.glsl.js +0 -7
  2374. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +0 -27
  2375. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +0 -38
  2376. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +0 -44
  2377. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +0 -48
  2378. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js +0 -41
  2379. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_fragment.glsl.js +0 -14
  2380. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_vertex.glsl.js +0 -14
  2381. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_vertex.glsl.js +0 -14
  2382. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +0 -45
  2383. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +0 -12
  2384. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js +0 -54
  2385. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +0 -8
  2386. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js +0 -13
  2387. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js +0 -12
  2388. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_pars_fragment.glsl.js +0 -7
  2389. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +0 -310
  2390. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +0 -63
  2391. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +0 -60
  2392. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +0 -66
  2393. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinbase_vertex.glsl.js +0 -10
  2394. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js +0 -48
  2395. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinning_vertex.glsl.js +0 -15
  2396. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js +0 -20
  2397. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js +0 -14
  2398. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl.js +0 -7
  2399. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js +0 -7
  2400. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +0 -77
  2401. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +0 -32
  2402. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +0 -115
  2403. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js +0 -7
  2404. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js +0 -10
  2405. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js +0 -7
  2406. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js +0 -7
  2407. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js +0 -17
  2408. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js +0 -7
  2409. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +0 -15
  2410. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk.js +0 -257
  2411. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js +0 -29
  2412. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/cube.glsl.js +0 -38
  2413. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js +0 -92
  2414. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js +0 -73
  2415. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/equirect.glsl.js +0 -37
  2416. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js +0 -69
  2417. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +0 -115
  2418. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +0 -150
  2419. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +0 -107
  2420. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +0 -76
  2421. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -125
  2422. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +0 -196
  2423. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +0 -116
  2424. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js +0 -70
  2425. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js +0 -49
  2426. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js +0 -79
  2427. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/vsm.glsl.js +0 -56
  2428. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib.js +0 -325
  2429. package/.output/server/node_modules/three/src/renderers/shaders/UniformsLib.js +0 -217
  2430. package/.output/server/node_modules/three/src/renderers/shaders/UniformsUtils.js +0 -66
  2431. package/.output/server/node_modules/three/src/renderers/webgl/WebGLAnimation.js +0 -53
  2432. package/.output/server/node_modules/three/src/renderers/webgl/WebGLAttributes.js +0 -193
  2433. package/.output/server/node_modules/three/src/renderers/webgl/WebGLBackground.js +0 -225
  2434. package/.output/server/node_modules/three/src/renderers/webgl/WebGLBindingStates.js +0 -595
  2435. package/.output/server/node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js +0 -61
  2436. package/.output/server/node_modules/three/src/renderers/webgl/WebGLCapabilities.js +0 -123
  2437. package/.output/server/node_modules/three/src/renderers/webgl/WebGLClipping.js +0 -167
  2438. package/.output/server/node_modules/three/src/renderers/webgl/WebGLCubeMaps.js +0 -103
  2439. package/.output/server/node_modules/three/src/renderers/webgl/WebGLCubeUVMaps.js +0 -117
  2440. package/.output/server/node_modules/three/src/renderers/webgl/WebGLExtensions.js +0 -96
  2441. package/.output/server/node_modules/three/src/renderers/webgl/WebGLGeometries.js +0 -195
  2442. package/.output/server/node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js +0 -71
  2443. package/.output/server/node_modules/three/src/renderers/webgl/WebGLInfo.js +0 -72
  2444. package/.output/server/node_modules/three/src/renderers/webgl/WebGLLights.js +0 -551
  2445. package/.output/server/node_modules/three/src/renderers/webgl/WebGLMaterials.js +0 -792
  2446. package/.output/server/node_modules/three/src/renderers/webgl/WebGLMorphtargets.js +0 -283
  2447. package/.output/server/node_modules/three/src/renderers/webgl/WebGLObjects.js +0 -72
  2448. package/.output/server/node_modules/three/src/renderers/webgl/WebGLProgram.js +0 -897
  2449. package/.output/server/node_modules/three/src/renderers/webgl/WebGLPrograms.js +0 -432
  2450. package/.output/server/node_modules/three/src/renderers/webgl/WebGLProperties.js +0 -48
  2451. package/.output/server/node_modules/three/src/renderers/webgl/WebGLRenderLists.js +0 -247
  2452. package/.output/server/node_modules/three/src/renderers/webgl/WebGLRenderStates.js +0 -106
  2453. package/.output/server/node_modules/three/src/renderers/webgl/WebGLShader.js +0 -12
  2454. package/.output/server/node_modules/three/src/renderers/webgl/WebGLShadowMap.js +0 -381
  2455. package/.output/server/node_modules/three/src/renderers/webgl/WebGLState.js +0 -1083
  2456. package/.output/server/node_modules/three/src/renderers/webgl/WebGLTextures.js +0 -1530
  2457. package/.output/server/node_modules/three/src/renderers/webgl/WebGLUniforms.js +0 -1019
  2458. package/.output/server/node_modules/three/src/renderers/webgl/WebGLUtils.js +0 -197
  2459. package/.output/server/node_modules/three/src/renderers/webxr/WebXRController.js +0 -299
  2460. package/.output/server/node_modules/three/src/renderers/webxr/WebXRManager.js +0 -684
  2461. package/.output/server/node_modules/three/src/scenes/Scene.js +0 -58
  2462. package/.output/server/node_modules/three/src/textures/CubeTexture.js +0 -33
  2463. package/.output/server/node_modules/three/src/textures/DataTexture2DArray.js +0 -29
  2464. package/.output/server/node_modules/three/src/textures/DataTexture3D.js +0 -37
  2465. package/.output/server/node_modules/three/src/textures/DepthTexture.js +0 -36
  2466. package/.output/server/node_modules/three/src/textures/Texture.js +0 -377
  2467. package/.output/server/node_modules/three/src/utils.js +0 -93
  2468. package/.output/server/node_modules/throttle-debounce/esm/index.js +0 -162
  2469. package/.output/server/node_modules/throttle-debounce/esm/package.json +0 -1
  2470. package/.output/server/node_modules/throttle-debounce/package.json +0 -98
  2471. package/.output/server/node_modules/topojson-client/dist/topojson-client.js +0 -508
  2472. package/.output/server/node_modules/topojson-client/package.json +0 -49
  2473. package/.output/server/node_modules/tslib/modules/index.js +0 -70
  2474. package/.output/server/node_modules/tslib/modules/package.json +0 -3
  2475. package/.output/server/node_modules/tslib/package.json +0 -47
  2476. package/.output/server/node_modules/tslib/tslib.js +0 -484
@@ -1,3567 +0,0 @@
1
- import { _ as _sfc_main$1$1, a as _sfc_main$d } from './DashboardNavbar-D7-3zBUU.mjs';
2
- import { _ as _sfc_main$1$2, a as _sfc_main$e } from './Breadcrumb-DEP2dVCZ.mjs';
3
- import { _ as __nuxt_component_4 } from './FilterToolbar-BwXy8xSk.mjs';
4
- import { _ as _sfc_main$f } from './Select-CEyw7HGK.mjs';
5
- import { _ as _sfc_main$g } from './SelectMenu-C02Hs2_F.mjs';
6
- import { l as useHead, o as _sfc_main$p, m as _sfc_main$k, n as _sfc_main$7$1, v as __nuxt_component_12 } from './server.mjs';
7
- import { _ as _sfc_main$h } from './Checkbox-BisdHf8n.mjs';
8
- import { defineComponent, withAsyncContext, computed, mergeProps, withCtx, unref, isRef, createVNode, resolveDynamicComponent, openBlock, createBlock, createCommentVNode, Fragment, renderList, toDisplayString, createTextVNode, ref, useSSRContext } from 'vue';
9
- import { ssrRenderComponent, ssrRenderList, ssrInterpolate, ssrRenderClass, ssrRenderVNode, ssrRenderAttrs, ssrRenderAttr, ssrRenderStyle } from 'vue/server-renderer';
10
- import { M as MAX_ANALYTICS_DAYS, A as ANALYTICS_BANDS, a as ANALYTICS_WIDGETS, D as DEFAULT_ANALYTICS_DAYS, b as analyticsScopeToQuery } from '../_/scope.mjs';
11
- import { c as useCookie } from './DashboardSidebarToggle-C3HdHvlE.mjs';
12
- import { u as useFetch } from './fetch-tkz5_OA-.mjs';
13
- import { _ as _sfc_main$c } from './Alert-He-UxEt6.mjs';
14
- import { f as formatRelativeTime, e as errorMessage, i as clusterErrorTypeColor } from './index-ByWTzqF6.mjs';
15
- import { _ as __nuxt_component_11 } from './SectionCard-DHAFvJxm.mjs';
16
- import { _ as __nuxt_component_13 } from './LoadingState-CwpfmI0W.mjs';
17
- import { _ as __nuxt_component_5$1 } from './ErrorState-CktYyeEZ.mjs';
18
- import { _ as __nuxt_component_4$2 } from './EmptyState-DC2q_7TD.mjs';
19
- import { _ as __nuxt_component_5$2 } from './MiniRunBars-fgLMgRUp.mjs';
20
- import { _ as __nuxt_component_3 } from './TableScroller-DMcdCVrH.mjs';
21
- import { _ as __nuxt_component_4$3 } from './TagBadge-DwzoFCBb.mjs';
22
- import { _ as __nuxt_component_14 } from './DurationValue-UX9uajQJ.mjs';
23
- import { _ as __nuxt_component_13$1 } from './RunStatusBadge-CvWmcFYM.mjs';
24
- import { _ as __nuxt_component_0 } from './ChartCard-ZTsCvItQ.mjs';
25
- import { _ as __nuxt_component_1, u as useChartMarkers } from './useChartMarkers-C0wSO0xk.mjs';
26
- import { VisXYContainer, VisStackedBar, VisAxis, VisArea, VisLine } from '@unovis/vue';
27
- import { CurveType } from '@unovis/ts';
28
- import { _ as __nuxt_component_1$1 } from './StatTileGrid-7zOFUQ6j.mjs';
29
- import { _ as __nuxt_component_2 } from './StatTile-DpcVQFVI.mjs';
30
- import { _ as __nuxt_component_4$1 } from './FeatureUnavailable-DHFkwI7t.mjs';
31
- import './useFormControl-8skMOTIf.mjs';
32
- import './handleAndDispatchCustomEvent-Bk_AVSSo.mjs';
33
- import '../nitro/nitro.mjs';
34
- import 'node:crypto';
35
- import 'drizzle-orm';
36
- import 'path';
37
- import 'fs/promises';
38
- import 'zlib';
39
- import 'util';
40
- import 'marked';
41
- import 'highlight.js/lib/core';
42
- import 'highlight.js/lib/languages/bash';
43
- import 'highlight.js/lib/languages/css';
44
- import 'highlight.js/lib/languages/diff';
45
- import 'highlight.js/lib/languages/javascript';
46
- import 'highlight.js/lib/languages/json';
47
- import 'highlight.js/lib/languages/python';
48
- import 'highlight.js/lib/languages/typescript';
49
- import 'highlight.js/lib/languages/xml';
50
- import 'highlight.js/lib/languages/yaml';
51
- import 'fflate';
52
- import 'zod';
53
- import 'pixelmatch';
54
- import 'sharp';
55
- import '@anthropic-ai/sdk';
56
- import 'nodemailer';
57
- import 'node:dns/promises';
58
- import 'node:net';
59
- import 'node:util';
60
- import 'rou3';
61
- import 'fs';
62
- import '@aws-sdk/client-s3';
63
- import 'node:http';
64
- import 'node:https';
65
- import 'node:events';
66
- import 'node:buffer';
67
- import 'node:fs';
68
- import 'node:path';
69
- import 'drizzle-orm/libsql/sqlite3';
70
- import 'drizzle-orm/sqlite-core';
71
- import 'drizzle-orm/pg-core';
72
- import 'url';
73
- import 'node:async_hooks';
74
- import 'node:zlib';
75
- import 'consola';
76
- import 'node:url';
77
- import '@iconify/utils';
78
- import './VisuallyHiddenInput-D4E5aJCQ.mjs';
79
- import '@tanstack/vue-virtual';
80
- import 'vue-router';
81
- import '@iconify/vue';
82
- import 'tailwindcss/colors';
83
- import 'tailwind-variants';
84
- import '@iconify/utils/lib/css/icon';
85
- import 'perfect-debounce';
86
- import '@floating-ui/vue';
87
- import 'aria-hidden';
88
- import '../routes/renderer.mjs';
89
- import 'vue-bundle-renderer/runtime';
90
- import 'unhead/server';
91
- import 'devalue';
92
- import 'unhead/plugins';
93
- import 'unhead/utils';
94
- import './isValueEqualOrExist-D4lZ8uRY.mjs';
95
- import './useForwardScopeId-D0ameaSU.mjs';
96
- import './RovingFocusItem-BOSx1Z9Z.mjs';
97
- import './Label-DYDR1Oeh.mjs';
98
- import '@vue/shared';
99
- import 'date-fns';
100
- import './Card--Ike7sYc.mjs';
101
- import './HelpHint-plioHKA0.mjs';
102
- import './help-content-C876a9WD.mjs';
103
- import '../_/marker-categories.mjs';
104
-
105
- const DEFAULT_ANALYTICS_SCOPE_STATE = {
106
- days: DEFAULT_ANALYTICS_DAYS,
107
- projectIds: [],
108
- environment: null,
109
- fullRunsOnly: true
110
- };
111
- function useAnalyticsScope() {
112
- const state = useCookie("piwi-analytics-scope", {
113
- default: () => ({ ...DEFAULT_ANALYTICS_SCOPE_STATE }),
114
- encode: (v) => JSON.stringify(v),
115
- decode: (v) => {
116
- try {
117
- return v ? { ...DEFAULT_ANALYTICS_SCOPE_STATE, ...JSON.parse(v) } : { ...DEFAULT_ANALYTICS_SCOPE_STATE };
118
- } catch {
119
- return { ...DEFAULT_ANALYTICS_SCOPE_STATE };
120
- }
121
- }
122
- });
123
- const scope = computed(() => ({
124
- days: state.value.days,
125
- projectIds: state.value.projectIds.length > 0 ? state.value.projectIds : void 0,
126
- environment: state.value.environment,
127
- fullRunsOnly: state.value.fullRunsOnly
128
- }));
129
- const scopeQuery = computed(() => analyticsScopeToQuery(scope.value));
130
- return { state, scope, scopeQuery };
131
- }
132
- function useAnalyticsWidget(widget, query) {
133
- return useFetch(
134
- `/api/analytics/${widget}`,
135
- {
136
- query: computed(query),
137
- lazy: true,
138
- server: false
139
- },
140
- "$UlG3SHNJJg"
141
- /* nuxt-injected */
142
- );
143
- }
144
- const ENV_ALL = "All environments";
145
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
146
- __name: "AnalyticsScopeBar",
147
- __ssrInlineRender: true,
148
- props: {
149
- modelValue: {},
150
- availableProjects: {},
151
- availableEnvironments: {}
152
- },
153
- emits: ["update:modelValue"],
154
- setup(__props, { emit: __emit }) {
155
- const props = __props;
156
- const emit = __emit;
157
- const PERIOD_ITEMS = [
158
- { label: "Last 7 days", value: 7 },
159
- { label: "Last 30 days", value: 30 },
160
- { label: "Last 90 days", value: 90 },
161
- { label: "Last year", value: 365 },
162
- { label: "All time", value: MAX_ANALYTICS_DAYS }
163
- ];
164
- const days = computed({
165
- get: () => props.modelValue.days,
166
- set: (val) => emit("update:modelValue", { ...props.modelValue, days: val })
167
- });
168
- const projectItems = computed(() => props.availableProjects.map((p) => ({ label: p.label || p.name, value: p.id })));
169
- const projectIds = computed({
170
- get: () => props.modelValue.projectIds,
171
- set: (val) => emit("update:modelValue", { ...props.modelValue, projectIds: val })
172
- });
173
- function projectLabel(id) {
174
- return projectItems.value.find((item) => item.value === id)?.label ?? `#${id}`;
175
- }
176
- const environment = computed({
177
- get: () => props.modelValue.environment ?? ENV_ALL,
178
- set: (val) => emit("update:modelValue", { ...props.modelValue, environment: val === ENV_ALL ? null : val })
179
- });
180
- const environmentItems = computed(() => [ENV_ALL, ...props.availableEnvironments]);
181
- const fullRunsOnly = computed({
182
- get: () => props.modelValue.fullRunsOnly,
183
- set: (val) => emit("update:modelValue", { ...props.modelValue, fullRunsOnly: val })
184
- });
185
- const isDefault = computed(
186
- () => props.modelValue.days === DEFAULT_ANALYTICS_SCOPE_STATE.days && props.modelValue.projectIds.length === 0 && props.modelValue.environment === null && props.modelValue.fullRunsOnly === DEFAULT_ANALYTICS_SCOPE_STATE.fullRunsOnly
187
- );
188
- function reset() {
189
- emit("update:modelValue", { ...DEFAULT_ANALYTICS_SCOPE_STATE });
190
- }
191
- return (_ctx, _push, _parent, _attrs) => {
192
- const _component_USelect = _sfc_main$f;
193
- const _component_USelectMenu = _sfc_main$g;
194
- const _component_UIcon = _sfc_main$p;
195
- const _component_UCheckbox = _sfc_main$h;
196
- const _component_UButton = _sfc_main$k;
197
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "flex items-center gap-3 flex-wrap" }, _attrs))}>`);
198
- _push(ssrRenderComponent(_component_USelect, {
199
- modelValue: unref(days),
200
- "onUpdate:modelValue": ($event) => isRef(days) ? days.value = $event : null,
201
- items: PERIOD_ITEMS,
202
- size: "sm",
203
- class: "min-w-[140px]",
204
- icon: "i-lucide-calendar-range"
205
- }, null, _parent));
206
- if (unref(projectItems).length > 0) {
207
- _push(ssrRenderComponent(_component_USelectMenu, {
208
- modelValue: unref(projectIds),
209
- "onUpdate:modelValue": ($event) => isRef(projectIds) ? projectIds.value = $event : null,
210
- items: unref(projectItems),
211
- "value-key": "value",
212
- multiple: "",
213
- searchable: "",
214
- size: "sm",
215
- class: "min-w-[170px]",
216
- placeholder: "All projects"
217
- }, {
218
- default: withCtx(({ modelValue: selected }, _push2, _parent2, _scopeId) => {
219
- if (_push2) {
220
- _push2(`<div class="flex items-center gap-1.5"${_scopeId}>`);
221
- _push2(ssrRenderComponent(_component_UIcon, {
222
- name: "i-lucide-folder",
223
- class: ["size-3.5 shrink-0", selected.length ? "text-primary" : "text-gray-400"]
224
- }, null, _parent2, _scopeId));
225
- if (!selected.length) {
226
- _push2(`<span class="text-gray-500"${_scopeId}>All projects</span>`);
227
- } else if (selected.length === 1) {
228
- _push2(`<span class="truncate"${_scopeId}>${ssrInterpolate(projectLabel(selected[0]))}</span>`);
229
- } else {
230
- _push2(`<span${_scopeId}>${ssrInterpolate(selected.length)} projects</span>`);
231
- }
232
- _push2(`</div>`);
233
- } else {
234
- return [
235
- createVNode("div", { class: "flex items-center gap-1.5" }, [
236
- createVNode(_component_UIcon, {
237
- name: "i-lucide-folder",
238
- class: ["size-3.5 shrink-0", selected.length ? "text-primary" : "text-gray-400"]
239
- }, null, 8, ["class"]),
240
- !selected.length ? (openBlock(), createBlock("span", {
241
- key: 0,
242
- class: "text-gray-500"
243
- }, "All projects")) : selected.length === 1 ? (openBlock(), createBlock("span", {
244
- key: 1,
245
- class: "truncate"
246
- }, toDisplayString(projectLabel(selected[0])), 1)) : (openBlock(), createBlock("span", { key: 2 }, toDisplayString(selected.length) + " projects", 1))
247
- ])
248
- ];
249
- }
250
- }),
251
- _: 1
252
- }, _parent));
253
- } else {
254
- _push(`<!---->`);
255
- }
256
- if (__props.availableEnvironments.length > 0) {
257
- _push(ssrRenderComponent(_component_USelect, {
258
- modelValue: unref(environment),
259
- "onUpdate:modelValue": ($event) => isRef(environment) ? environment.value = $event : null,
260
- items: unref(environmentItems),
261
- size: "sm",
262
- class: "min-w-[160px]",
263
- icon: "i-lucide-server"
264
- }, null, _parent));
265
- } else {
266
- _push(`<!---->`);
267
- }
268
- _push(`<label class="flex items-center gap-1.5 cursor-pointer select-none text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors">`);
269
- _push(ssrRenderComponent(_component_UCheckbox, {
270
- modelValue: unref(fullRunsOnly),
271
- "onUpdate:modelValue": ($event) => isRef(fullRunsOnly) ? fullRunsOnly.value = $event : null,
272
- size: "sm"
273
- }, null, _parent));
274
- _push(` Full runs only </label>`);
275
- if (!unref(isDefault)) {
276
- _push(ssrRenderComponent(_component_UButton, {
277
- variant: "ghost",
278
- size: "sm",
279
- color: "neutral",
280
- icon: "i-lucide-x",
281
- onClick: reset
282
- }, {
283
- default: withCtx((_, _push2, _parent2, _scopeId) => {
284
- if (_push2) {
285
- _push2(` Reset `);
286
- } else {
287
- return [
288
- createTextVNode(" Reset ")
289
- ];
290
- }
291
- }),
292
- _: 1
293
- }, _parent));
294
- } else {
295
- _push(`<!---->`);
296
- }
297
- _push(`</div>`);
298
- };
299
- }
300
- });
301
- const _sfc_setup$b = _sfc_main$b.setup;
302
- _sfc_main$b.setup = (props, ctx) => {
303
- const ssrContext = useSSRContext();
304
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/AnalyticsScopeBar.vue");
305
- return _sfc_setup$b ? _sfc_setup$b(props, ctx) : void 0;
306
- };
307
- const __nuxt_component_5 = Object.assign(_sfc_main$b, { __name: "AnalyticsScopeBar" });
308
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
309
- __name: "InsightsFeed",
310
- __ssrInlineRender: true,
311
- props: {
312
- query: {}
313
- },
314
- async setup(__props) {
315
- let __temp, __restore;
316
- const props = __props;
317
- const {
318
- data: insights,
319
- pending,
320
- error,
321
- refresh
322
- } = ([__temp, __restore] = withAsyncContext(() => useAnalyticsWidget("insights", () => props.query)), __temp = await __temp, __restore(), __temp);
323
- const NuxtLink = __nuxt_component_12;
324
- const SEVERITY_META = {
325
- critical: { icon: "i-lucide-octagon-alert", class: "text-red-500", border: "border-l-red-500" },
326
- warning: { icon: "i-lucide-triangle-alert", class: "text-amber-500", border: "border-l-amber-400" },
327
- info: { icon: "i-lucide-info", class: "text-blue-500", border: "border-l-blue-400" },
328
- positive: { icon: "i-lucide-trending-up", class: "text-green-500", border: "border-l-green-500" }
329
- };
330
- return (_ctx, _push, _parent, _attrs) => {
331
- const _component_SectionCard = __nuxt_component_11;
332
- const _component_LoadingState = __nuxt_component_13;
333
- const _component_ErrorState = __nuxt_component_5$1;
334
- const _component_UButton = _sfc_main$k;
335
- const _component_EmptyState = __nuxt_component_4$2;
336
- const _component_UIcon = _sfc_main$p;
337
- _push(ssrRenderComponent(_component_SectionCard, mergeProps({
338
- icon: "i-lucide-lightbulb",
339
- title: "Insights",
340
- count: unref(insights)?.length || void 0,
341
- help: "analytics.insights"
342
- }, _attrs), {
343
- default: withCtx((_, _push2, _parent2, _scopeId) => {
344
- if (_push2) {
345
- if (unref(pending)) {
346
- _push2(ssrRenderComponent(_component_LoadingState, null, null, _parent2, _scopeId));
347
- } else if (unref(error)) {
348
- _push2(ssrRenderComponent(_component_ErrorState, {
349
- text: `Couldn't load insights: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
350
- }, {
351
- action: withCtx((_2, _push3, _parent3, _scopeId2) => {
352
- if (_push3) {
353
- _push3(ssrRenderComponent(_component_UButton, {
354
- size: "sm",
355
- color: "neutral",
356
- variant: "outline",
357
- icon: "i-lucide-refresh-cw",
358
- onClick: ($event) => unref(refresh)()
359
- }, {
360
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
361
- if (_push4) {
362
- _push4(` Retry `);
363
- } else {
364
- return [
365
- createTextVNode(" Retry ")
366
- ];
367
- }
368
- }),
369
- _: 1
370
- }, _parent3, _scopeId2));
371
- } else {
372
- return [
373
- createVNode(_component_UButton, {
374
- size: "sm",
375
- color: "neutral",
376
- variant: "outline",
377
- icon: "i-lucide-refresh-cw",
378
- onClick: ($event) => unref(refresh)()
379
- }, {
380
- default: withCtx(() => [
381
- createTextVNode(" Retry ")
382
- ]),
383
- _: 1
384
- }, 8, ["onClick"])
385
- ];
386
- }
387
- }),
388
- _: 1
389
- }, _parent2, _scopeId));
390
- } else if (!unref(insights) || unref(insights).length === 0) {
391
- _push2(ssrRenderComponent(_component_EmptyState, {
392
- icon: "i-lucide-check-circle",
393
- text: "Nothing needs your attention in this period."
394
- }, null, _parent2, _scopeId));
395
- } else {
396
- _push2(`<div class="divide-y divide-gray-100 dark:divide-gray-800"${_scopeId}><!--[-->`);
397
- ssrRenderList(unref(insights), (insight) => {
398
- ssrRenderVNode(_push2, createVNode(resolveDynamicComponent(insight.to ? unref(NuxtLink) : "div"), {
399
- key: insight.id,
400
- to: insight.to,
401
- class: ["flex items-start gap-3 py-3 pl-3 border-l-2", [
402
- SEVERITY_META[insight.severity].border,
403
- insight.to ? "hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded-r transition-colors" : ""
404
- ]]
405
- }, {
406
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
407
- if (_push3) {
408
- _push3(ssrRenderComponent(_component_UIcon, {
409
- name: SEVERITY_META[insight.severity].icon,
410
- class: ["size-4 mt-0.5 shrink-0", SEVERITY_META[insight.severity].class]
411
- }, null, _parent3, _scopeId2));
412
- _push3(`<div class="min-w-0"${_scopeId2}><p class="text-sm font-medium"${_scopeId2}>${ssrInterpolate(insight.message)}</p>`);
413
- if (insight.detail) {
414
- _push3(`<p class="text-xs text-gray-500 dark:text-gray-400 mt-0.5"${_scopeId2}>${ssrInterpolate(insight.detail)}</p>`);
415
- } else {
416
- _push3(`<!---->`);
417
- }
418
- _push3(`</div>`);
419
- } else {
420
- return [
421
- createVNode(_component_UIcon, {
422
- name: SEVERITY_META[insight.severity].icon,
423
- class: ["size-4 mt-0.5 shrink-0", SEVERITY_META[insight.severity].class]
424
- }, null, 8, ["name", "class"]),
425
- createVNode("div", { class: "min-w-0" }, [
426
- createVNode("p", { class: "text-sm font-medium" }, toDisplayString(insight.message), 1),
427
- insight.detail ? (openBlock(), createBlock("p", {
428
- key: 0,
429
- class: "text-xs text-gray-500 dark:text-gray-400 mt-0.5"
430
- }, toDisplayString(insight.detail), 1)) : createCommentVNode("", true)
431
- ])
432
- ];
433
- }
434
- }),
435
- _: 2
436
- }), _parent2, _scopeId);
437
- });
438
- _push2(`<!--]--></div>`);
439
- }
440
- } else {
441
- return [
442
- unref(pending) ? (openBlock(), createBlock(_component_LoadingState, { key: 0 })) : unref(error) ? (openBlock(), createBlock(_component_ErrorState, {
443
- key: 1,
444
- text: `Couldn't load insights: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
445
- }, {
446
- action: withCtx(() => [
447
- createVNode(_component_UButton, {
448
- size: "sm",
449
- color: "neutral",
450
- variant: "outline",
451
- icon: "i-lucide-refresh-cw",
452
- onClick: ($event) => unref(refresh)()
453
- }, {
454
- default: withCtx(() => [
455
- createTextVNode(" Retry ")
456
- ]),
457
- _: 1
458
- }, 8, ["onClick"])
459
- ]),
460
- _: 1
461
- }, 8, ["text"])) : !unref(insights) || unref(insights).length === 0 ? (openBlock(), createBlock(_component_EmptyState, {
462
- key: 2,
463
- icon: "i-lucide-check-circle",
464
- text: "Nothing needs your attention in this period."
465
- })) : (openBlock(), createBlock("div", {
466
- key: 3,
467
- class: "divide-y divide-gray-100 dark:divide-gray-800"
468
- }, [
469
- (openBlock(true), createBlock(Fragment, null, renderList(unref(insights), (insight) => {
470
- return openBlock(), createBlock(resolveDynamicComponent(insight.to ? unref(NuxtLink) : "div"), {
471
- key: insight.id,
472
- to: insight.to,
473
- class: ["flex items-start gap-3 py-3 pl-3 border-l-2", [
474
- SEVERITY_META[insight.severity].border,
475
- insight.to ? "hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded-r transition-colors" : ""
476
- ]]
477
- }, {
478
- default: withCtx(() => [
479
- createVNode(_component_UIcon, {
480
- name: SEVERITY_META[insight.severity].icon,
481
- class: ["size-4 mt-0.5 shrink-0", SEVERITY_META[insight.severity].class]
482
- }, null, 8, ["name", "class"]),
483
- createVNode("div", { class: "min-w-0" }, [
484
- createVNode("p", { class: "text-sm font-medium" }, toDisplayString(insight.message), 1),
485
- insight.detail ? (openBlock(), createBlock("p", {
486
- key: 0,
487
- class: "text-xs text-gray-500 dark:text-gray-400 mt-0.5"
488
- }, toDisplayString(insight.detail), 1)) : createCommentVNode("", true)
489
- ])
490
- ]),
491
- _: 2
492
- }, 1032, ["to", "class"]);
493
- }), 128))
494
- ]))
495
- ];
496
- }
497
- }),
498
- _: 1
499
- }, _parent));
500
- };
501
- }
502
- });
503
- const _sfc_setup$a = _sfc_main$a.setup;
504
- _sfc_main$a.setup = (props, ctx) => {
505
- const ssrContext = useSSRContext();
506
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/InsightsFeed.vue");
507
- return _sfc_setup$a ? _sfc_setup$a(props, ctx) : void 0;
508
- };
509
- const InsightsFeed = Object.assign(_sfc_main$a, { __name: "InsightsFeed" });
510
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
511
- __name: "PortfolioScorecard",
512
- __ssrInlineRender: true,
513
- props: {
514
- query: {}
515
- },
516
- async setup(__props) {
517
- let __temp, __restore;
518
- const props = __props;
519
- const {
520
- data: rows,
521
- pending,
522
- error,
523
- refresh
524
- } = ([__temp, __restore] = withAsyncContext(() => useAnalyticsWidget("portfolio", () => props.query)), __temp = await __temp, __restore(), __temp);
525
- function passRateClass(rate) {
526
- if (rate === null) return "text-gray-400";
527
- if (rate >= 90) return "text-green-600 dark:text-green-400";
528
- if (rate >= 50) return "text-yellow-600 dark:text-yellow-400";
529
- return "text-red-600 dark:text-red-400";
530
- }
531
- function deltaMeta(delta) {
532
- if (delta === null || Math.abs(delta) < 1) return null;
533
- return delta > 0 ? { icon: "i-lucide-trending-up", class: "text-green-600 dark:text-green-400" } : { icon: "i-lucide-trending-down", class: "text-red-600 dark:text-red-400" };
534
- }
535
- return (_ctx, _push, _parent, _attrs) => {
536
- const _component_SectionCard = __nuxt_component_11;
537
- const _component_LoadingState = __nuxt_component_13;
538
- const _component_ErrorState = __nuxt_component_5$1;
539
- const _component_UButton = _sfc_main$k;
540
- const _component_EmptyState = __nuxt_component_4$2;
541
- const _component_NuxtLink = __nuxt_component_12;
542
- const _component_MiniRunBars = __nuxt_component_5$2;
543
- const _component_TableScroller = __nuxt_component_3;
544
- const _component_TagBadge = __nuxt_component_4$3;
545
- const _component_UIcon = _sfc_main$p;
546
- const _component_DurationValue = __nuxt_component_14;
547
- const _component_RunStatusBadge = __nuxt_component_13$1;
548
- _push(ssrRenderComponent(_component_SectionCard, mergeProps({
549
- icon: "i-lucide-table-properties",
550
- title: "Portfolio health",
551
- count: unref(rows)?.length || void 0,
552
- help: "analytics.portfolio"
553
- }, _attrs), {
554
- default: withCtx((_, _push2, _parent2, _scopeId) => {
555
- if (_push2) {
556
- if (unref(pending)) {
557
- _push2(ssrRenderComponent(_component_LoadingState, null, null, _parent2, _scopeId));
558
- } else if (unref(error)) {
559
- _push2(ssrRenderComponent(_component_ErrorState, {
560
- text: `Couldn't load the portfolio: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
561
- }, {
562
- action: withCtx((_2, _push3, _parent3, _scopeId2) => {
563
- if (_push3) {
564
- _push3(ssrRenderComponent(_component_UButton, {
565
- size: "sm",
566
- color: "neutral",
567
- variant: "outline",
568
- icon: "i-lucide-refresh-cw",
569
- onClick: ($event) => unref(refresh)()
570
- }, {
571
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
572
- if (_push4) {
573
- _push4(` Retry `);
574
- } else {
575
- return [
576
- createTextVNode(" Retry ")
577
- ];
578
- }
579
- }),
580
- _: 1
581
- }, _parent3, _scopeId2));
582
- } else {
583
- return [
584
- createVNode(_component_UButton, {
585
- size: "sm",
586
- color: "neutral",
587
- variant: "outline",
588
- icon: "i-lucide-refresh-cw",
589
- onClick: ($event) => unref(refresh)()
590
- }, {
591
- default: withCtx(() => [
592
- createTextVNode(" Retry ")
593
- ]),
594
- _: 1
595
- }, 8, ["onClick"])
596
- ];
597
- }
598
- }),
599
- _: 1
600
- }, _parent2, _scopeId));
601
- } else if (!unref(rows) || unref(rows).length === 0) {
602
- _push2(ssrRenderComponent(_component_EmptyState, { text: "No projects with runs in this period." }, null, _parent2, _scopeId));
603
- } else {
604
- _push2(`<!--[--><div class="md:hidden space-y-3"${_scopeId}><!--[-->`);
605
- ssrRenderList(unref(rows), (row) => {
606
- _push2(`<div class="rounded-lg border border-gray-200 dark:border-gray-800 p-3 space-y-2"${_scopeId}><div class="flex items-center justify-between gap-2"${_scopeId}>`);
607
- _push2(ssrRenderComponent(_component_NuxtLink, {
608
- to: `/projects/${row.projectId}`,
609
- class: "font-medium truncate hover:text-primary"
610
- }, {
611
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
612
- if (_push3) {
613
- _push3(`${ssrInterpolate(row.label || row.name)}`);
614
- } else {
615
- return [
616
- createTextVNode(toDisplayString(row.label || row.name), 1)
617
- ];
618
- }
619
- }),
620
- _: 2
621
- }, _parent2, _scopeId));
622
- _push2(`<span class="${ssrRenderClass([passRateClass(row.passRate), "tabular-nums font-semibold shrink-0"])}"${_scopeId}>${ssrInterpolate(row.passRate !== null ? `${row.passRate}%` : "—")}</span></div>`);
623
- _push2(ssrRenderComponent(_component_MiniRunBars, {
624
- runs: row.recentRuns,
625
- height: 20
626
- }, null, _parent2, _scopeId));
627
- _push2(`<div class="flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"${_scopeId}><span${_scopeId}>${ssrInterpolate(row.runCount)} runs · ${ssrInterpolate(row.flakyTests)} flaky · ${ssrInterpolate(row.openClusters)} open clusters</span>`);
628
- if (row.latestRun) {
629
- _push2(`<span${_scopeId}>${ssrInterpolate(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(row.latestRun.startTime))}</span>`);
630
- } else {
631
- _push2(`<!---->`);
632
- }
633
- _push2(`</div></div>`);
634
- });
635
- _push2(`<!--]--></div><div class="hidden md:block"${_scopeId}>`);
636
- _push2(ssrRenderComponent(_component_TableScroller, { "min-width": "52rem" }, {
637
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
638
- if (_push3) {
639
- _push3(`<table class="w-full text-sm"${_scopeId2}><thead${_scopeId2}><tr class="text-left text-xs text-gray-500 uppercase tracking-wider border-b border-gray-200 dark:border-gray-800"${_scopeId2}><th class="py-2 pr-4 font-medium"${_scopeId2}>Project</th><th class="py-2 pr-4 font-medium"${_scopeId2}>Trend</th><th class="py-2 pr-4 font-medium text-right"${_scopeId2}>Pass rate</th><th class="py-2 pr-4 font-medium text-right"${_scopeId2}>Runs</th><th class="py-2 pr-4 font-medium text-right"${_scopeId2}>Flaky</th><th class="py-2 pr-4 font-medium text-right"${_scopeId2}>Avg run</th><th class="py-2 pr-4 font-medium text-right"${_scopeId2}>Open clusters</th><th class="py-2 font-medium text-right"${_scopeId2}>Latest run</th></tr></thead><tbody class="divide-y divide-gray-100 dark:divide-gray-800"${_scopeId2}><!--[-->`);
640
- ssrRenderList(unref(rows), (row) => {
641
- _push3(`<tr${_scopeId2}><td class="py-2.5 pr-4"${_scopeId2}><div class="flex items-center gap-2 min-w-0"${_scopeId2}>`);
642
- _push3(ssrRenderComponent(_component_NuxtLink, {
643
- to: `/projects/${row.projectId}`,
644
- class: "font-medium truncate hover:text-primary"
645
- }, {
646
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
647
- if (_push4) {
648
- _push4(`${ssrInterpolate(row.label || row.name)}`);
649
- } else {
650
- return [
651
- createTextVNode(toDisplayString(row.label || row.name), 1)
652
- ];
653
- }
654
- }),
655
- _: 2
656
- }, _parent3, _scopeId2));
657
- _push3(`<!--[-->`);
658
- ssrRenderList(row.tags.slice(0, 2), (tag) => {
659
- _push3(ssrRenderComponent(_component_TagBadge, {
660
- key: tag.id,
661
- text: tag.text,
662
- color: tag.color
663
- }, null, _parent3, _scopeId2));
664
- });
665
- _push3(`<!--]--></div></td><td class="py-2.5 pr-4"${_scopeId2}><div class="w-36"${_scopeId2}>`);
666
- _push3(ssrRenderComponent(_component_MiniRunBars, {
667
- runs: row.recentRuns,
668
- height: 22
669
- }, null, _parent3, _scopeId2));
670
- _push3(`</div></td><td class="py-2.5 pr-4 text-right"${_scopeId2}><span class="${ssrRenderClass([passRateClass(row.passRate), "inline-flex items-center gap-1 tabular-nums font-semibold"])}"${_scopeId2}>${ssrInterpolate(row.passRate !== null ? `${row.passRate}%` : "—")} `);
671
- if (deltaMeta(row.passRateDelta)) {
672
- _push3(ssrRenderComponent(_component_UIcon, {
673
- name: deltaMeta(row.passRateDelta).icon,
674
- class: ["size-3.5", deltaMeta(row.passRateDelta).class],
675
- title: `${row.passRateDelta > 0 ? "+" : ""}${row.passRateDelta} pts vs previous period`
676
- }, null, _parent3, _scopeId2));
677
- } else {
678
- _push3(`<!---->`);
679
- }
680
- _push3(`</span></td><td class="py-2.5 pr-4 text-right tabular-nums"${_scopeId2}>${ssrInterpolate(row.runCount)}</td><td class="${ssrRenderClass([row.flakyTests > 0 ? "text-amber-600 dark:text-amber-400" : "", "py-2.5 pr-4 text-right tabular-nums"])}"${_scopeId2}>${ssrInterpolate(row.flakyTests)}</td><td class="py-2.5 pr-4 text-right tabular-nums text-gray-500 dark:text-gray-400"${_scopeId2}>`);
681
- _push3(ssrRenderComponent(_component_DurationValue, {
682
- ms: row.avgRunDurationMs
683
- }, null, _parent3, _scopeId2));
684
- _push3(`</td><td class="${ssrRenderClass([row.openClusters > 0 ? "text-red-600 dark:text-red-400" : "", "py-2.5 pr-4 text-right tabular-nums"])}"${_scopeId2}>${ssrInterpolate(row.openClusters)}</td><td class="py-2.5 text-right"${_scopeId2}>`);
685
- if (row.latestRun) {
686
- _push3(ssrRenderComponent(_component_NuxtLink, {
687
- to: `/test-runs/${row.latestRun.id}`,
688
- class: "inline-flex items-center gap-2 hover:text-primary"
689
- }, {
690
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
691
- if (_push4) {
692
- _push4(ssrRenderComponent(_component_RunStatusBadge, {
693
- status: row.latestRun.status
694
- }, null, _parent4, _scopeId3));
695
- _push4(`<span class="text-xs text-gray-500 dark:text-gray-400"${_scopeId3}>${ssrInterpolate(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(row.latestRun.startTime))}</span>`);
696
- } else {
697
- return [
698
- createVNode(_component_RunStatusBadge, {
699
- status: row.latestRun.status
700
- }, null, 8, ["status"]),
701
- createVNode("span", { class: "text-xs text-gray-500 dark:text-gray-400" }, toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(row.latestRun.startTime)), 1)
702
- ];
703
- }
704
- }),
705
- _: 2
706
- }, _parent3, _scopeId2));
707
- } else {
708
- _push3(`<span class="text-xs text-gray-400"${_scopeId2}>No runs</span>`);
709
- }
710
- _push3(`</td></tr>`);
711
- });
712
- _push3(`<!--]--></tbody></table>`);
713
- } else {
714
- return [
715
- createVNode("table", { class: "w-full text-sm" }, [
716
- createVNode("thead", null, [
717
- createVNode("tr", { class: "text-left text-xs text-gray-500 uppercase tracking-wider border-b border-gray-200 dark:border-gray-800" }, [
718
- createVNode("th", { class: "py-2 pr-4 font-medium" }, "Project"),
719
- createVNode("th", { class: "py-2 pr-4 font-medium" }, "Trend"),
720
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Pass rate"),
721
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Runs"),
722
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Flaky"),
723
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Avg run"),
724
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Open clusters"),
725
- createVNode("th", { class: "py-2 font-medium text-right" }, "Latest run")
726
- ])
727
- ]),
728
- createVNode("tbody", { class: "divide-y divide-gray-100 dark:divide-gray-800" }, [
729
- (openBlock(true), createBlock(Fragment, null, renderList(unref(rows), (row) => {
730
- return openBlock(), createBlock("tr", {
731
- key: row.projectId
732
- }, [
733
- createVNode("td", { class: "py-2.5 pr-4" }, [
734
- createVNode("div", { class: "flex items-center gap-2 min-w-0" }, [
735
- createVNode(_component_NuxtLink, {
736
- to: `/projects/${row.projectId}`,
737
- class: "font-medium truncate hover:text-primary"
738
- }, {
739
- default: withCtx(() => [
740
- createTextVNode(toDisplayString(row.label || row.name), 1)
741
- ]),
742
- _: 2
743
- }, 1032, ["to"]),
744
- (openBlock(true), createBlock(Fragment, null, renderList(row.tags.slice(0, 2), (tag) => {
745
- return openBlock(), createBlock(_component_TagBadge, {
746
- key: tag.id,
747
- text: tag.text,
748
- color: tag.color
749
- }, null, 8, ["text", "color"]);
750
- }), 128))
751
- ])
752
- ]),
753
- createVNode("td", { class: "py-2.5 pr-4" }, [
754
- createVNode("div", { class: "w-36" }, [
755
- createVNode(_component_MiniRunBars, {
756
- runs: row.recentRuns,
757
- height: 22
758
- }, null, 8, ["runs"])
759
- ])
760
- ]),
761
- createVNode("td", { class: "py-2.5 pr-4 text-right" }, [
762
- createVNode("span", {
763
- class: ["inline-flex items-center gap-1 tabular-nums font-semibold", passRateClass(row.passRate)]
764
- }, [
765
- createTextVNode(toDisplayString(row.passRate !== null ? `${row.passRate}%` : "—") + " ", 1),
766
- deltaMeta(row.passRateDelta) ? (openBlock(), createBlock(_component_UIcon, {
767
- key: 0,
768
- name: deltaMeta(row.passRateDelta).icon,
769
- class: ["size-3.5", deltaMeta(row.passRateDelta).class],
770
- title: `${row.passRateDelta > 0 ? "+" : ""}${row.passRateDelta} pts vs previous period`
771
- }, null, 8, ["name", "class", "title"])) : createCommentVNode("", true)
772
- ], 2)
773
- ]),
774
- createVNode("td", { class: "py-2.5 pr-4 text-right tabular-nums" }, toDisplayString(row.runCount), 1),
775
- createVNode("td", {
776
- class: ["py-2.5 pr-4 text-right tabular-nums", row.flakyTests > 0 ? "text-amber-600 dark:text-amber-400" : ""]
777
- }, toDisplayString(row.flakyTests), 3),
778
- createVNode("td", { class: "py-2.5 pr-4 text-right tabular-nums text-gray-500 dark:text-gray-400" }, [
779
- createVNode(_component_DurationValue, {
780
- ms: row.avgRunDurationMs
781
- }, null, 8, ["ms"])
782
- ]),
783
- createVNode("td", {
784
- class: ["py-2.5 pr-4 text-right tabular-nums", row.openClusters > 0 ? "text-red-600 dark:text-red-400" : ""]
785
- }, toDisplayString(row.openClusters), 3),
786
- createVNode("td", { class: "py-2.5 text-right" }, [
787
- row.latestRun ? (openBlock(), createBlock(_component_NuxtLink, {
788
- key: 0,
789
- to: `/test-runs/${row.latestRun.id}`,
790
- class: "inline-flex items-center gap-2 hover:text-primary"
791
- }, {
792
- default: withCtx(() => [
793
- createVNode(_component_RunStatusBadge, {
794
- status: row.latestRun.status
795
- }, null, 8, ["status"]),
796
- createVNode("span", { class: "text-xs text-gray-500 dark:text-gray-400" }, toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(row.latestRun.startTime)), 1)
797
- ]),
798
- _: 2
799
- }, 1032, ["to"])) : (openBlock(), createBlock("span", {
800
- key: 1,
801
- class: "text-xs text-gray-400"
802
- }, "No runs"))
803
- ])
804
- ]);
805
- }), 128))
806
- ])
807
- ])
808
- ];
809
- }
810
- }),
811
- _: 1
812
- }, _parent2, _scopeId));
813
- _push2(`</div><!--]-->`);
814
- }
815
- } else {
816
- return [
817
- unref(pending) ? (openBlock(), createBlock(_component_LoadingState, { key: 0 })) : unref(error) ? (openBlock(), createBlock(_component_ErrorState, {
818
- key: 1,
819
- text: `Couldn't load the portfolio: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
820
- }, {
821
- action: withCtx(() => [
822
- createVNode(_component_UButton, {
823
- size: "sm",
824
- color: "neutral",
825
- variant: "outline",
826
- icon: "i-lucide-refresh-cw",
827
- onClick: ($event) => unref(refresh)()
828
- }, {
829
- default: withCtx(() => [
830
- createTextVNode(" Retry ")
831
- ]),
832
- _: 1
833
- }, 8, ["onClick"])
834
- ]),
835
- _: 1
836
- }, 8, ["text"])) : !unref(rows) || unref(rows).length === 0 ? (openBlock(), createBlock(_component_EmptyState, {
837
- key: 2,
838
- text: "No projects with runs in this period."
839
- })) : (openBlock(), createBlock(Fragment, { key: 3 }, [
840
- createVNode("div", { class: "md:hidden space-y-3" }, [
841
- (openBlock(true), createBlock(Fragment, null, renderList(unref(rows), (row) => {
842
- return openBlock(), createBlock("div", {
843
- key: row.projectId,
844
- class: "rounded-lg border border-gray-200 dark:border-gray-800 p-3 space-y-2"
845
- }, [
846
- createVNode("div", { class: "flex items-center justify-between gap-2" }, [
847
- createVNode(_component_NuxtLink, {
848
- to: `/projects/${row.projectId}`,
849
- class: "font-medium truncate hover:text-primary"
850
- }, {
851
- default: withCtx(() => [
852
- createTextVNode(toDisplayString(row.label || row.name), 1)
853
- ]),
854
- _: 2
855
- }, 1032, ["to"]),
856
- createVNode("span", {
857
- class: ["tabular-nums font-semibold shrink-0", passRateClass(row.passRate)]
858
- }, toDisplayString(row.passRate !== null ? `${row.passRate}%` : "—"), 3)
859
- ]),
860
- createVNode(_component_MiniRunBars, {
861
- runs: row.recentRuns,
862
- height: 20
863
- }, null, 8, ["runs"]),
864
- createVNode("div", { class: "flex items-center justify-between text-xs text-gray-500 dark:text-gray-400" }, [
865
- createVNode("span", null, toDisplayString(row.runCount) + " runs · " + toDisplayString(row.flakyTests) + " flaky · " + toDisplayString(row.openClusters) + " open clusters", 1),
866
- row.latestRun ? (openBlock(), createBlock("span", { key: 0 }, toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(row.latestRun.startTime)), 1)) : createCommentVNode("", true)
867
- ])
868
- ]);
869
- }), 128))
870
- ]),
871
- createVNode("div", { class: "hidden md:block" }, [
872
- createVNode(_component_TableScroller, { "min-width": "52rem" }, {
873
- default: withCtx(() => [
874
- createVNode("table", { class: "w-full text-sm" }, [
875
- createVNode("thead", null, [
876
- createVNode("tr", { class: "text-left text-xs text-gray-500 uppercase tracking-wider border-b border-gray-200 dark:border-gray-800" }, [
877
- createVNode("th", { class: "py-2 pr-4 font-medium" }, "Project"),
878
- createVNode("th", { class: "py-2 pr-4 font-medium" }, "Trend"),
879
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Pass rate"),
880
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Runs"),
881
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Flaky"),
882
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Avg run"),
883
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Open clusters"),
884
- createVNode("th", { class: "py-2 font-medium text-right" }, "Latest run")
885
- ])
886
- ]),
887
- createVNode("tbody", { class: "divide-y divide-gray-100 dark:divide-gray-800" }, [
888
- (openBlock(true), createBlock(Fragment, null, renderList(unref(rows), (row) => {
889
- return openBlock(), createBlock("tr", {
890
- key: row.projectId
891
- }, [
892
- createVNode("td", { class: "py-2.5 pr-4" }, [
893
- createVNode("div", { class: "flex items-center gap-2 min-w-0" }, [
894
- createVNode(_component_NuxtLink, {
895
- to: `/projects/${row.projectId}`,
896
- class: "font-medium truncate hover:text-primary"
897
- }, {
898
- default: withCtx(() => [
899
- createTextVNode(toDisplayString(row.label || row.name), 1)
900
- ]),
901
- _: 2
902
- }, 1032, ["to"]),
903
- (openBlock(true), createBlock(Fragment, null, renderList(row.tags.slice(0, 2), (tag) => {
904
- return openBlock(), createBlock(_component_TagBadge, {
905
- key: tag.id,
906
- text: tag.text,
907
- color: tag.color
908
- }, null, 8, ["text", "color"]);
909
- }), 128))
910
- ])
911
- ]),
912
- createVNode("td", { class: "py-2.5 pr-4" }, [
913
- createVNode("div", { class: "w-36" }, [
914
- createVNode(_component_MiniRunBars, {
915
- runs: row.recentRuns,
916
- height: 22
917
- }, null, 8, ["runs"])
918
- ])
919
- ]),
920
- createVNode("td", { class: "py-2.5 pr-4 text-right" }, [
921
- createVNode("span", {
922
- class: ["inline-flex items-center gap-1 tabular-nums font-semibold", passRateClass(row.passRate)]
923
- }, [
924
- createTextVNode(toDisplayString(row.passRate !== null ? `${row.passRate}%` : "—") + " ", 1),
925
- deltaMeta(row.passRateDelta) ? (openBlock(), createBlock(_component_UIcon, {
926
- key: 0,
927
- name: deltaMeta(row.passRateDelta).icon,
928
- class: ["size-3.5", deltaMeta(row.passRateDelta).class],
929
- title: `${row.passRateDelta > 0 ? "+" : ""}${row.passRateDelta} pts vs previous period`
930
- }, null, 8, ["name", "class", "title"])) : createCommentVNode("", true)
931
- ], 2)
932
- ]),
933
- createVNode("td", { class: "py-2.5 pr-4 text-right tabular-nums" }, toDisplayString(row.runCount), 1),
934
- createVNode("td", {
935
- class: ["py-2.5 pr-4 text-right tabular-nums", row.flakyTests > 0 ? "text-amber-600 dark:text-amber-400" : ""]
936
- }, toDisplayString(row.flakyTests), 3),
937
- createVNode("td", { class: "py-2.5 pr-4 text-right tabular-nums text-gray-500 dark:text-gray-400" }, [
938
- createVNode(_component_DurationValue, {
939
- ms: row.avgRunDurationMs
940
- }, null, 8, ["ms"])
941
- ]),
942
- createVNode("td", {
943
- class: ["py-2.5 pr-4 text-right tabular-nums", row.openClusters > 0 ? "text-red-600 dark:text-red-400" : ""]
944
- }, toDisplayString(row.openClusters), 3),
945
- createVNode("td", { class: "py-2.5 text-right" }, [
946
- row.latestRun ? (openBlock(), createBlock(_component_NuxtLink, {
947
- key: 0,
948
- to: `/test-runs/${row.latestRun.id}`,
949
- class: "inline-flex items-center gap-2 hover:text-primary"
950
- }, {
951
- default: withCtx(() => [
952
- createVNode(_component_RunStatusBadge, {
953
- status: row.latestRun.status
954
- }, null, 8, ["status"]),
955
- createVNode("span", { class: "text-xs text-gray-500 dark:text-gray-400" }, toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(row.latestRun.startTime)), 1)
956
- ]),
957
- _: 2
958
- }, 1032, ["to"])) : (openBlock(), createBlock("span", {
959
- key: 1,
960
- class: "text-xs text-gray-400"
961
- }, "No runs"))
962
- ])
963
- ]);
964
- }), 128))
965
- ])
966
- ])
967
- ]),
968
- _: 1
969
- })
970
- ])
971
- ], 64))
972
- ];
973
- }
974
- }),
975
- _: 1
976
- }, _parent));
977
- };
978
- }
979
- });
980
- const _sfc_setup$9 = _sfc_main$9.setup;
981
- _sfc_main$9.setup = (props, ctx) => {
982
- const ssrContext = useSSRContext();
983
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/PortfolioScorecard.vue");
984
- return _sfc_setup$9 ? _sfc_setup$9(props, ctx) : void 0;
985
- };
986
- const PortfolioScorecard = Object.assign(_sfc_main$9, { __name: "PortfolioScorecard" });
987
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
988
- __name: "PassRateHeatmap",
989
- __ssrInlineRender: true,
990
- props: {
991
- query: {}
992
- },
993
- async setup(__props) {
994
- let __temp, __restore;
995
- const props = __props;
996
- const {
997
- data: heatmap,
998
- pending,
999
- error,
1000
- refresh
1001
- } = ([__temp, __restore] = withAsyncContext(() => useAnalyticsWidget("pass-rate-heatmap", () => props.query)), __temp = await __temp, __restore(), __temp);
1002
- function cellStyle(rate) {
1003
- if (rate === null) return {};
1004
- if (rate >= 99.5) return { backgroundColor: "rgba(34, 197, 94, 0.85)" };
1005
- if (rate >= 90) return { backgroundColor: "rgba(34, 197, 94, 0.5)" };
1006
- if (rate >= 75) return { backgroundColor: "rgba(245, 158, 11, 0.55)" };
1007
- if (rate >= 50) return { backgroundColor: "rgba(249, 115, 22, 0.65)" };
1008
- return { backgroundColor: "rgba(239, 68, 68, 0.75)" };
1009
- }
1010
- function cellTitle(row, index, rate) {
1011
- const date = heatmap.value?.buckets[index] ?? "";
1012
- const span = (heatmap.value?.bucketDays ?? 1) > 1 ? ` (${heatmap.value.bucketDays} days)` : "";
1013
- return `${row.label || row.name} · ${date}${span}: ${rate !== null ? `${rate}% passed` : "no runs"}`;
1014
- }
1015
- const legendItems = [
1016
- { color: "rgba(34, 197, 94, 0.85)", label: "100%" },
1017
- { color: "rgba(34, 197, 94, 0.5)", label: "≥ 90%" },
1018
- { color: "rgba(245, 158, 11, 0.55)", label: "≥ 75%" },
1019
- { color: "rgba(249, 115, 22, 0.65)", label: "≥ 50%" },
1020
- { color: "rgba(239, 68, 68, 0.75)", label: "< 50%" }
1021
- ];
1022
- const subtitle = computed(() => {
1023
- const bucketDays = heatmap.value?.bucketDays ?? 1;
1024
- return bucketDays > 1 ? `One cell = ${bucketDays} days` : "One cell = one day";
1025
- });
1026
- const MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
1027
- const axisSpansYears = computed(() => {
1028
- const buckets = heatmap.value?.buckets ?? [];
1029
- return buckets.length > 1 && buckets[0].slice(0, 4) !== buckets[buckets.length - 1].slice(0, 4);
1030
- });
1031
- function formatBucket(iso) {
1032
- const [year, month, day] = iso.split("-");
1033
- const monthName = MONTHS[Number(month) - 1];
1034
- return axisSpansYears.value ? `${monthName} ${year}` : `${monthName} ${Number(day)}`;
1035
- }
1036
- const axisTicks = computed(() => {
1037
- const buckets = heatmap.value?.buckets ?? [];
1038
- const count = buckets.length;
1039
- if (count === 0) return [];
1040
- const tickCount = Math.min(axisSpansYears.value ? 4 : 5, count);
1041
- const seen = /* @__PURE__ */ new Set();
1042
- const ticks = [];
1043
- for (let i = 0; i < tickCount; i++) {
1044
- const index = tickCount === 1 ? 0 : Math.round(i * (count - 1) / (tickCount - 1));
1045
- if (seen.has(index)) continue;
1046
- seen.add(index);
1047
- const left = index === 0 ? 0 : index === count - 1 ? 100 : (index + 0.5) / count * 100;
1048
- const transform = index === 0 ? "translateX(0)" : index === count - 1 ? "translateX(-100%)" : "translateX(-50%)";
1049
- ticks.push({ index, label: formatBucket(buckets[index]), left, transform });
1050
- }
1051
- return ticks;
1052
- });
1053
- return (_ctx, _push, _parent, _attrs) => {
1054
- const _component_ChartCard = __nuxt_component_0;
1055
- const _component_LoadingState = __nuxt_component_13;
1056
- const _component_ErrorState = __nuxt_component_5$1;
1057
- const _component_UButton = _sfc_main$k;
1058
- const _component_EmptyState = __nuxt_component_4$2;
1059
- const _component_TableScroller = __nuxt_component_3;
1060
- const _component_NuxtLink = __nuxt_component_12;
1061
- const _component_ChartLegend = __nuxt_component_1;
1062
- _push(ssrRenderComponent(_component_ChartCard, mergeProps({
1063
- icon: "i-lucide-grid-3x3",
1064
- title: "Pass rate heatmap",
1065
- subtitle: unref(subtitle),
1066
- help: "analytics.heatmap"
1067
- }, _attrs), {
1068
- default: withCtx((_, _push2, _parent2, _scopeId) => {
1069
- if (_push2) {
1070
- if (unref(pending)) {
1071
- _push2(ssrRenderComponent(_component_LoadingState, null, null, _parent2, _scopeId));
1072
- } else if (unref(error)) {
1073
- _push2(ssrRenderComponent(_component_ErrorState, {
1074
- text: `Couldn't load the heatmap: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
1075
- }, {
1076
- action: withCtx((_2, _push3, _parent3, _scopeId2) => {
1077
- if (_push3) {
1078
- _push3(ssrRenderComponent(_component_UButton, {
1079
- size: "sm",
1080
- color: "neutral",
1081
- variant: "outline",
1082
- icon: "i-lucide-refresh-cw",
1083
- onClick: ($event) => unref(refresh)()
1084
- }, {
1085
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
1086
- if (_push4) {
1087
- _push4(` Retry `);
1088
- } else {
1089
- return [
1090
- createTextVNode(" Retry ")
1091
- ];
1092
- }
1093
- }),
1094
- _: 1
1095
- }, _parent3, _scopeId2));
1096
- } else {
1097
- return [
1098
- createVNode(_component_UButton, {
1099
- size: "sm",
1100
- color: "neutral",
1101
- variant: "outline",
1102
- icon: "i-lucide-refresh-cw",
1103
- onClick: ($event) => unref(refresh)()
1104
- }, {
1105
- default: withCtx(() => [
1106
- createTextVNode(" Retry ")
1107
- ]),
1108
- _: 1
1109
- }, 8, ["onClick"])
1110
- ];
1111
- }
1112
- }),
1113
- _: 1
1114
- }, _parent2, _scopeId));
1115
- } else if (!unref(heatmap) || unref(heatmap).rows.length === 0) {
1116
- _push2(ssrRenderComponent(_component_EmptyState, { text: "No runs in this period." }, null, _parent2, _scopeId));
1117
- } else {
1118
- _push2(ssrRenderComponent(_component_TableScroller, { "min-width": "22rem" }, {
1119
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
1120
- if (_push3) {
1121
- _push3(`<div class="space-y-1"${_scopeId2}><!--[-->`);
1122
- ssrRenderList(unref(heatmap).rows, (row) => {
1123
- _push3(`<div class="grid items-center gap-2" style="${ssrRenderStyle({ "grid-template-columns": "8rem 1fr" })}"${_scopeId2}>`);
1124
- _push3(ssrRenderComponent(_component_NuxtLink, {
1125
- to: `/projects/${row.projectId}`,
1126
- class: "text-sm truncate hover:text-primary",
1127
- title: row.label || row.name
1128
- }, {
1129
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
1130
- if (_push4) {
1131
- _push4(`${ssrInterpolate(row.label || row.name)}`);
1132
- } else {
1133
- return [
1134
- createTextVNode(toDisplayString(row.label || row.name), 1)
1135
- ];
1136
- }
1137
- }),
1138
- _: 2
1139
- }, _parent3, _scopeId2));
1140
- _push3(`<div class="flex gap-px"${_scopeId2}><!--[-->`);
1141
- ssrRenderList(row.cells, (rate, index) => {
1142
- _push3(`<div class="h-6 flex-1 rounded-sm min-w-1 bg-gray-100 dark:bg-gray-800" style="${ssrRenderStyle(cellStyle(rate))}"${ssrRenderAttr("title", cellTitle(row, index, rate))}${_scopeId2}></div>`);
1143
- });
1144
- _push3(`<!--]--></div></div>`);
1145
- });
1146
- _push3(`<!--]--><div class="grid gap-2" style="${ssrRenderStyle({ "grid-template-columns": "8rem 1fr" })}"${_scopeId2}><span${_scopeId2}></span><div class="relative h-4"${_scopeId2}><!--[-->`);
1147
- ssrRenderList(unref(axisTicks), (tick) => {
1148
- _push3(`<span class="absolute top-0 text-xs text-gray-400 whitespace-nowrap" style="${ssrRenderStyle({ left: `${tick.left}%`, transform: tick.transform })}"${_scopeId2}>${ssrInterpolate(tick.label)}</span>`);
1149
- });
1150
- _push3(`<!--]--></div></div>`);
1151
- _push3(ssrRenderComponent(_component_ChartLegend, {
1152
- items: legendItems,
1153
- dense: ""
1154
- }, null, _parent3, _scopeId2));
1155
- _push3(`</div>`);
1156
- } else {
1157
- return [
1158
- createVNode("div", { class: "space-y-1" }, [
1159
- (openBlock(true), createBlock(Fragment, null, renderList(unref(heatmap).rows, (row) => {
1160
- return openBlock(), createBlock("div", {
1161
- key: row.projectId,
1162
- class: "grid items-center gap-2",
1163
- style: { "grid-template-columns": "8rem 1fr" }
1164
- }, [
1165
- createVNode(_component_NuxtLink, {
1166
- to: `/projects/${row.projectId}`,
1167
- class: "text-sm truncate hover:text-primary",
1168
- title: row.label || row.name
1169
- }, {
1170
- default: withCtx(() => [
1171
- createTextVNode(toDisplayString(row.label || row.name), 1)
1172
- ]),
1173
- _: 2
1174
- }, 1032, ["to", "title"]),
1175
- createVNode("div", { class: "flex gap-px" }, [
1176
- (openBlock(true), createBlock(Fragment, null, renderList(row.cells, (rate, index) => {
1177
- return openBlock(), createBlock("div", {
1178
- key: index,
1179
- class: "h-6 flex-1 rounded-sm min-w-1 bg-gray-100 dark:bg-gray-800",
1180
- style: cellStyle(rate),
1181
- title: cellTitle(row, index, rate)
1182
- }, null, 12, ["title"]);
1183
- }), 128))
1184
- ])
1185
- ]);
1186
- }), 128)),
1187
- createVNode("div", {
1188
- class: "grid gap-2",
1189
- style: { "grid-template-columns": "8rem 1fr" }
1190
- }, [
1191
- createVNode("span"),
1192
- createVNode("div", { class: "relative h-4" }, [
1193
- (openBlock(true), createBlock(Fragment, null, renderList(unref(axisTicks), (tick) => {
1194
- return openBlock(), createBlock("span", {
1195
- key: tick.index,
1196
- class: "absolute top-0 text-xs text-gray-400 whitespace-nowrap",
1197
- style: { left: `${tick.left}%`, transform: tick.transform }
1198
- }, toDisplayString(tick.label), 5);
1199
- }), 128))
1200
- ])
1201
- ]),
1202
- createVNode(_component_ChartLegend, {
1203
- items: legendItems,
1204
- dense: ""
1205
- })
1206
- ])
1207
- ];
1208
- }
1209
- }),
1210
- _: 1
1211
- }, _parent2, _scopeId));
1212
- }
1213
- } else {
1214
- return [
1215
- unref(pending) ? (openBlock(), createBlock(_component_LoadingState, { key: 0 })) : unref(error) ? (openBlock(), createBlock(_component_ErrorState, {
1216
- key: 1,
1217
- text: `Couldn't load the heatmap: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
1218
- }, {
1219
- action: withCtx(() => [
1220
- createVNode(_component_UButton, {
1221
- size: "sm",
1222
- color: "neutral",
1223
- variant: "outline",
1224
- icon: "i-lucide-refresh-cw",
1225
- onClick: ($event) => unref(refresh)()
1226
- }, {
1227
- default: withCtx(() => [
1228
- createTextVNode(" Retry ")
1229
- ]),
1230
- _: 1
1231
- }, 8, ["onClick"])
1232
- ]),
1233
- _: 1
1234
- }, 8, ["text"])) : !unref(heatmap) || unref(heatmap).rows.length === 0 ? (openBlock(), createBlock(_component_EmptyState, {
1235
- key: 2,
1236
- text: "No runs in this period."
1237
- })) : (openBlock(), createBlock(_component_TableScroller, {
1238
- key: 3,
1239
- "min-width": "22rem"
1240
- }, {
1241
- default: withCtx(() => [
1242
- createVNode("div", { class: "space-y-1" }, [
1243
- (openBlock(true), createBlock(Fragment, null, renderList(unref(heatmap).rows, (row) => {
1244
- return openBlock(), createBlock("div", {
1245
- key: row.projectId,
1246
- class: "grid items-center gap-2",
1247
- style: { "grid-template-columns": "8rem 1fr" }
1248
- }, [
1249
- createVNode(_component_NuxtLink, {
1250
- to: `/projects/${row.projectId}`,
1251
- class: "text-sm truncate hover:text-primary",
1252
- title: row.label || row.name
1253
- }, {
1254
- default: withCtx(() => [
1255
- createTextVNode(toDisplayString(row.label || row.name), 1)
1256
- ]),
1257
- _: 2
1258
- }, 1032, ["to", "title"]),
1259
- createVNode("div", { class: "flex gap-px" }, [
1260
- (openBlock(true), createBlock(Fragment, null, renderList(row.cells, (rate, index) => {
1261
- return openBlock(), createBlock("div", {
1262
- key: index,
1263
- class: "h-6 flex-1 rounded-sm min-w-1 bg-gray-100 dark:bg-gray-800",
1264
- style: cellStyle(rate),
1265
- title: cellTitle(row, index, rate)
1266
- }, null, 12, ["title"]);
1267
- }), 128))
1268
- ])
1269
- ]);
1270
- }), 128)),
1271
- createVNode("div", {
1272
- class: "grid gap-2",
1273
- style: { "grid-template-columns": "8rem 1fr" }
1274
- }, [
1275
- createVNode("span"),
1276
- createVNode("div", { class: "relative h-4" }, [
1277
- (openBlock(true), createBlock(Fragment, null, renderList(unref(axisTicks), (tick) => {
1278
- return openBlock(), createBlock("span", {
1279
- key: tick.index,
1280
- class: "absolute top-0 text-xs text-gray-400 whitespace-nowrap",
1281
- style: { left: `${tick.left}%`, transform: tick.transform }
1282
- }, toDisplayString(tick.label), 5);
1283
- }), 128))
1284
- ])
1285
- ]),
1286
- createVNode(_component_ChartLegend, {
1287
- items: legendItems,
1288
- dense: ""
1289
- })
1290
- ])
1291
- ]),
1292
- _: 1
1293
- }))
1294
- ];
1295
- }
1296
- }),
1297
- _: 1
1298
- }, _parent));
1299
- };
1300
- }
1301
- });
1302
- const _sfc_setup$8 = _sfc_main$8.setup;
1303
- _sfc_main$8.setup = (props, ctx) => {
1304
- const ssrContext = useSSRContext();
1305
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/PassRateHeatmap.vue");
1306
- return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0;
1307
- };
1308
- const PassRateHeatmap = Object.assign(_sfc_main$8, { __name: "PassRateHeatmap" });
1309
- const lineColor = "rgb(59, 130, 246)";
1310
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1311
- __name: "CiTimeTrendChart",
1312
- __ssrInlineRender: true,
1313
- props: {
1314
- query: {}
1315
- },
1316
- async setup(__props) {
1317
- let __temp, __restore;
1318
- const props = __props;
1319
- const {
1320
- data: trend,
1321
- pending,
1322
- error,
1323
- refresh
1324
- } = ([__temp, __restore] = withAsyncContext(() => useAnalyticsWidget("ci-time-trend", () => props.query)), __temp = await __temp, __restore(), __temp);
1325
- const chartData = computed(
1326
- () => trend.value?.points.map((p) => ({ date: new Date(p.date), totalMinutes: p.totalMinutes, runCount: p.runCount })) ?? []
1327
- );
1328
- const hasData = computed(() => chartData.value.some((p) => p.runCount > 0));
1329
- const x = (d) => d.date;
1330
- const y = (d) => d.totalMinutes;
1331
- const xyContainerRef = ref(null);
1332
- const { tooltipData, tooltipPos, onRenderComplete } = useChartMarkers(xyContainerRef, chartData, {
1333
- x: (d) => d.date,
1334
- series: [{ y: (d) => d.totalMinutes, color: lineColor }]
1335
- });
1336
- const deltaBadge = computed(() => {
1337
- if (!trend.value || trend.value.deltaPct === null) return null;
1338
- const pct = trend.value.deltaPct;
1339
- return {
1340
- label: `${pct > 0 ? "+" : ""}${pct}% vs previous period`,
1341
- class: pct > 25 ? "text-red-600 dark:text-red-400" : pct < -10 ? "text-green-600 dark:text-green-400" : "text-gray-500"
1342
- };
1343
- });
1344
- const subtitle = computed(() => {
1345
- if (!trend.value) return void 0;
1346
- const total = trend.value.totalMinutes;
1347
- const label = total < 60 ? `${Math.round(total)} min` : `${Math.round(total / 60 * 10) / 10} h`;
1348
- return `${label} across ${trend.value.runCount} runs`;
1349
- });
1350
- return (_ctx, _push, _parent, _attrs) => {
1351
- const _component_ChartCard = __nuxt_component_0;
1352
- const _component_LoadingState = __nuxt_component_13;
1353
- const _component_ErrorState = __nuxt_component_5$1;
1354
- const _component_UButton = _sfc_main$k;
1355
- const _component_EmptyState = __nuxt_component_4$2;
1356
- _push(ssrRenderComponent(_component_ChartCard, mergeProps({
1357
- icon: "i-lucide-timer",
1358
- title: "CI time",
1359
- subtitle: unref(subtitle),
1360
- help: "analytics.ci-time"
1361
- }, _attrs), {
1362
- actions: withCtx((_, _push2, _parent2, _scopeId) => {
1363
- if (_push2) {
1364
- if (unref(deltaBadge)) {
1365
- _push2(`<span class="${ssrRenderClass([unref(deltaBadge).class, "text-xs font-medium tabular-nums"])}"${_scopeId}>${ssrInterpolate(unref(deltaBadge).label)}</span>`);
1366
- } else {
1367
- _push2(`<!---->`);
1368
- }
1369
- } else {
1370
- return [
1371
- unref(deltaBadge) ? (openBlock(), createBlock("span", {
1372
- key: 0,
1373
- class: ["text-xs font-medium tabular-nums", unref(deltaBadge).class]
1374
- }, toDisplayString(unref(deltaBadge).label), 3)) : createCommentVNode("", true)
1375
- ];
1376
- }
1377
- }),
1378
- default: withCtx((_, _push2, _parent2, _scopeId) => {
1379
- if (_push2) {
1380
- if (unref(pending)) {
1381
- _push2(ssrRenderComponent(_component_LoadingState, null, null, _parent2, _scopeId));
1382
- } else if (unref(error)) {
1383
- _push2(ssrRenderComponent(_component_ErrorState, {
1384
- text: `Couldn't load CI time: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
1385
- }, {
1386
- action: withCtx((_2, _push3, _parent3, _scopeId2) => {
1387
- if (_push3) {
1388
- _push3(ssrRenderComponent(_component_UButton, {
1389
- size: "sm",
1390
- color: "neutral",
1391
- variant: "outline",
1392
- icon: "i-lucide-refresh-cw",
1393
- onClick: ($event) => unref(refresh)()
1394
- }, {
1395
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
1396
- if (_push4) {
1397
- _push4(` Retry `);
1398
- } else {
1399
- return [
1400
- createTextVNode(" Retry ")
1401
- ];
1402
- }
1403
- }),
1404
- _: 1
1405
- }, _parent3, _scopeId2));
1406
- } else {
1407
- return [
1408
- createVNode(_component_UButton, {
1409
- size: "sm",
1410
- color: "neutral",
1411
- variant: "outline",
1412
- icon: "i-lucide-refresh-cw",
1413
- onClick: ($event) => unref(refresh)()
1414
- }, {
1415
- default: withCtx(() => [
1416
- createTextVNode(" Retry ")
1417
- ]),
1418
- _: 1
1419
- }, 8, ["onClick"])
1420
- ];
1421
- }
1422
- }),
1423
- _: 1
1424
- }, _parent2, _scopeId));
1425
- } else if (!unref(hasData)) {
1426
- _push2(ssrRenderComponent(_component_EmptyState, { text: "No runs in this period." }, null, _parent2, _scopeId));
1427
- } else {
1428
- _push2(`<div class="w-full relative"${_scopeId}>`);
1429
- _push2(ssrRenderComponent(unref(VisXYContainer), {
1430
- ref_key: "xyContainerRef",
1431
- ref: xyContainerRef,
1432
- data: unref(chartData),
1433
- height: 220,
1434
- padding: { top: 10, right: 10, bottom: 0, left: 0 },
1435
- "on-render-complete": unref(onRenderComplete)
1436
- }, {
1437
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
1438
- if (_push3) {
1439
- _push3(ssrRenderComponent(unref(VisArea), {
1440
- x,
1441
- y,
1442
- color: "rgba(59, 130, 246, 0.15)",
1443
- "curve-type": unref(CurveType).MonotoneX
1444
- }, null, _parent3, _scopeId2));
1445
- _push3(ssrRenderComponent(unref(VisLine), {
1446
- x,
1447
- y,
1448
- color: lineColor,
1449
- "curve-type": unref(CurveType).MonotoneX,
1450
- "line-width": 2
1451
- }, null, _parent3, _scopeId2));
1452
- _push3(ssrRenderComponent(unref(VisAxis), {
1453
- type: "x",
1454
- "tick-format": (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric" })
1455
- }, null, _parent3, _scopeId2));
1456
- _push3(ssrRenderComponent(unref(VisAxis), {
1457
- type: "y",
1458
- label: "Minutes",
1459
- "tick-format": (d) => d.toString()
1460
- }, null, _parent3, _scopeId2));
1461
- } else {
1462
- return [
1463
- createVNode(unref(VisArea), {
1464
- x,
1465
- y,
1466
- color: "rgba(59, 130, 246, 0.15)",
1467
- "curve-type": unref(CurveType).MonotoneX
1468
- }, null, 8, ["curve-type"]),
1469
- createVNode(unref(VisLine), {
1470
- x,
1471
- y,
1472
- color: lineColor,
1473
- "curve-type": unref(CurveType).MonotoneX,
1474
- "line-width": 2
1475
- }, null, 8, ["curve-type"]),
1476
- createVNode(unref(VisAxis), {
1477
- type: "x",
1478
- "tick-format": (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric" })
1479
- }, null, 8, ["tick-format"]),
1480
- createVNode(unref(VisAxis), {
1481
- type: "y",
1482
- label: "Minutes",
1483
- "tick-format": (d) => d.toString()
1484
- }, null, 8, ["tick-format"])
1485
- ];
1486
- }
1487
- }),
1488
- _: 1
1489
- }, _parent2, _scopeId));
1490
- if (unref(tooltipData)) {
1491
- _push2(`<div class="fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 max-w-[240px]" style="${ssrRenderStyle({ left: `${unref(tooltipPos).x}px`, top: `${unref(tooltipPos).y}px` })}"${_scopeId}><div class="p-2 text-sm text-gray-900 dark:text-gray-100"${_scopeId}><div class="font-semibold mb-1"${_scopeId}>${ssrInterpolate(new Date(unref(tooltipData).date).toLocaleDateString("en-US", { month: "short", day: "numeric" }))}</div><div${_scopeId}>${ssrInterpolate(unref(tooltipData).totalMinutes)} minutes</div><div class="text-gray-400 text-xs"${_scopeId}>${ssrInterpolate(unref(tooltipData).runCount)} runs</div></div></div>`);
1492
- } else {
1493
- _push2(`<!---->`);
1494
- }
1495
- _push2(`</div>`);
1496
- }
1497
- } else {
1498
- return [
1499
- unref(pending) ? (openBlock(), createBlock(_component_LoadingState, { key: 0 })) : unref(error) ? (openBlock(), createBlock(_component_ErrorState, {
1500
- key: 1,
1501
- text: `Couldn't load CI time: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
1502
- }, {
1503
- action: withCtx(() => [
1504
- createVNode(_component_UButton, {
1505
- size: "sm",
1506
- color: "neutral",
1507
- variant: "outline",
1508
- icon: "i-lucide-refresh-cw",
1509
- onClick: ($event) => unref(refresh)()
1510
- }, {
1511
- default: withCtx(() => [
1512
- createTextVNode(" Retry ")
1513
- ]),
1514
- _: 1
1515
- }, 8, ["onClick"])
1516
- ]),
1517
- _: 1
1518
- }, 8, ["text"])) : !unref(hasData) ? (openBlock(), createBlock(_component_EmptyState, {
1519
- key: 2,
1520
- text: "No runs in this period."
1521
- })) : (openBlock(), createBlock("div", {
1522
- key: 3,
1523
- class: "w-full relative"
1524
- }, [
1525
- createVNode(unref(VisXYContainer), {
1526
- ref_key: "xyContainerRef",
1527
- ref: xyContainerRef,
1528
- data: unref(chartData),
1529
- height: 220,
1530
- padding: { top: 10, right: 10, bottom: 0, left: 0 },
1531
- "on-render-complete": unref(onRenderComplete)
1532
- }, {
1533
- default: withCtx(() => [
1534
- createVNode(unref(VisArea), {
1535
- x,
1536
- y,
1537
- color: "rgba(59, 130, 246, 0.15)",
1538
- "curve-type": unref(CurveType).MonotoneX
1539
- }, null, 8, ["curve-type"]),
1540
- createVNode(unref(VisLine), {
1541
- x,
1542
- y,
1543
- color: lineColor,
1544
- "curve-type": unref(CurveType).MonotoneX,
1545
- "line-width": 2
1546
- }, null, 8, ["curve-type"]),
1547
- createVNode(unref(VisAxis), {
1548
- type: "x",
1549
- "tick-format": (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric" })
1550
- }, null, 8, ["tick-format"]),
1551
- createVNode(unref(VisAxis), {
1552
- type: "y",
1553
- label: "Minutes",
1554
- "tick-format": (d) => d.toString()
1555
- }, null, 8, ["tick-format"])
1556
- ]),
1557
- _: 2
1558
- }, 1032, ["data", "on-render-complete"]),
1559
- unref(tooltipData) ? (openBlock(), createBlock("div", {
1560
- key: 0,
1561
- class: "fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 max-w-[240px]",
1562
- style: { left: `${unref(tooltipPos).x}px`, top: `${unref(tooltipPos).y}px` }
1563
- }, [
1564
- createVNode("div", { class: "p-2 text-sm text-gray-900 dark:text-gray-100" }, [
1565
- createVNode("div", { class: "font-semibold mb-1" }, toDisplayString(new Date(unref(tooltipData).date).toLocaleDateString("en-US", { month: "short", day: "numeric" })), 1),
1566
- createVNode("div", null, toDisplayString(unref(tooltipData).totalMinutes) + " minutes", 1),
1567
- createVNode("div", { class: "text-gray-400 text-xs" }, toDisplayString(unref(tooltipData).runCount) + " runs", 1)
1568
- ])
1569
- ], 4)) : createCommentVNode("", true)
1570
- ]))
1571
- ];
1572
- }
1573
- }),
1574
- _: 1
1575
- }, _parent));
1576
- };
1577
- }
1578
- });
1579
- const _sfc_setup$7 = _sfc_main$7.setup;
1580
- _sfc_main$7.setup = (props, ctx) => {
1581
- const ssrContext = useSSRContext();
1582
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/CiTimeTrendChart.vue");
1583
- return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0;
1584
- };
1585
- const CiTimeTrendChart = Object.assign(_sfc_main$7, { __name: "CiTimeTrendChart" });
1586
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1587
- __name: "WastedTimeChart",
1588
- __ssrInlineRender: true,
1589
- props: {
1590
- query: {}
1591
- },
1592
- async setup(__props) {
1593
- let __temp, __restore;
1594
- const props = __props;
1595
- const {
1596
- data: wasted,
1597
- pending,
1598
- error,
1599
- refresh
1600
- } = ([__temp, __restore] = withAsyncContext(() => useAnalyticsWidget("wasted-time", () => props.query)), __temp = await __temp, __restore(), __temp);
1601
- const chartData = computed(
1602
- () => wasted.value?.points.map((p) => ({
1603
- date: new Date(p.date),
1604
- waitMinutes: p.waitMinutes,
1605
- failedExecMinutes: p.failedExecMinutes
1606
- })) ?? []
1607
- );
1608
- const hasData = computed(() => chartData.value.some((p) => p.waitMinutes > 0 || p.failedExecMinutes > 0));
1609
- const x = (d) => d.date;
1610
- const areaColors = ["rgb(245, 158, 11)", "rgb(239, 68, 68)"];
1611
- const xyContainerRef = ref(null);
1612
- const { tooltipData, tooltipPos, onRenderComplete } = useChartMarkers(xyContainerRef, chartData, {
1613
- x: (d) => d.date,
1614
- series: [
1615
- { y: (d) => d.waitMinutes, color: areaColors[0] },
1616
- { y: (d) => d.failedExecMinutes, color: areaColors[1] }
1617
- ]
1618
- });
1619
- const legendItems = [
1620
- { color: areaColors[0], label: "Wait steps" },
1621
- { color: areaColors[1], label: "Failed attempts" }
1622
- ];
1623
- const subtitle = computed(() => {
1624
- if (!wasted.value) return void 0;
1625
- const total = wasted.value.totalWaitMinutes + wasted.value.totalFailedExecMinutes;
1626
- const label = total < 60 ? `${Math.round(total)} min` : `${Math.round(total / 60 * 10) / 10} h`;
1627
- return `${label} of CI time produced no signal`;
1628
- });
1629
- const reclaim = computed(() => wasted.value?.timeoutReclaimable ?? null);
1630
- const reclaimLabel = computed(() => {
1631
- const m = reclaim.value?.estimatedMinutes ?? 0;
1632
- return m < 60 ? `${Math.round(m)} min` : `${Math.round(m / 60 * 10) / 10} h`;
1633
- });
1634
- return (_ctx, _push, _parent, _attrs) => {
1635
- const _component_ChartCard = __nuxt_component_0;
1636
- const _component_ChartLegend = __nuxt_component_1;
1637
- const _component_LoadingState = __nuxt_component_13;
1638
- const _component_ErrorState = __nuxt_component_5$1;
1639
- const _component_UButton = _sfc_main$k;
1640
- const _component_EmptyState = __nuxt_component_4$2;
1641
- const _component_UIcon = _sfc_main$p;
1642
- const _component_NuxtLink = __nuxt_component_12;
1643
- _push(ssrRenderComponent(_component_ChartCard, mergeProps({
1644
- icon: "i-lucide-hourglass",
1645
- title: "Wasted CI time",
1646
- subtitle: unref(subtitle),
1647
- help: "analytics.wasted-time"
1648
- }, _attrs), {
1649
- legend: withCtx((_, _push2, _parent2, _scopeId) => {
1650
- if (_push2) {
1651
- _push2(ssrRenderComponent(_component_ChartLegend, {
1652
- items: legendItems,
1653
- dense: ""
1654
- }, null, _parent2, _scopeId));
1655
- } else {
1656
- return [
1657
- createVNode(_component_ChartLegend, {
1658
- items: legendItems,
1659
- dense: ""
1660
- })
1661
- ];
1662
- }
1663
- }),
1664
- default: withCtx((_, _push2, _parent2, _scopeId) => {
1665
- if (_push2) {
1666
- if (unref(pending)) {
1667
- _push2(ssrRenderComponent(_component_LoadingState, null, null, _parent2, _scopeId));
1668
- } else if (unref(error)) {
1669
- _push2(ssrRenderComponent(_component_ErrorState, {
1670
- text: `Couldn't load wasted time: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
1671
- }, {
1672
- action: withCtx((_2, _push3, _parent3, _scopeId2) => {
1673
- if (_push3) {
1674
- _push3(ssrRenderComponent(_component_UButton, {
1675
- size: "sm",
1676
- color: "neutral",
1677
- variant: "outline",
1678
- icon: "i-lucide-refresh-cw",
1679
- onClick: ($event) => unref(refresh)()
1680
- }, {
1681
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
1682
- if (_push4) {
1683
- _push4(` Retry `);
1684
- } else {
1685
- return [
1686
- createTextVNode(" Retry ")
1687
- ];
1688
- }
1689
- }),
1690
- _: 1
1691
- }, _parent3, _scopeId2));
1692
- } else {
1693
- return [
1694
- createVNode(_component_UButton, {
1695
- size: "sm",
1696
- color: "neutral",
1697
- variant: "outline",
1698
- icon: "i-lucide-refresh-cw",
1699
- onClick: ($event) => unref(refresh)()
1700
- }, {
1701
- default: withCtx(() => [
1702
- createTextVNode(" Retry ")
1703
- ]),
1704
- _: 1
1705
- }, 8, ["onClick"])
1706
- ];
1707
- }
1708
- }),
1709
- _: 1
1710
- }, _parent2, _scopeId));
1711
- } else if (!unref(hasData)) {
1712
- _push2(ssrRenderComponent(_component_EmptyState, { text: "No wasted time recorded in this period." }, null, _parent2, _scopeId));
1713
- } else {
1714
- _push2(`<div class="w-full relative"${_scopeId}>`);
1715
- _push2(ssrRenderComponent(unref(VisXYContainer), {
1716
- ref_key: "xyContainerRef",
1717
- ref: xyContainerRef,
1718
- data: unref(chartData),
1719
- height: 220,
1720
- padding: { top: 10, right: 10, bottom: 0, left: 0 },
1721
- "on-render-complete": unref(onRenderComplete)
1722
- }, {
1723
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
1724
- if (_push3) {
1725
- _push3(ssrRenderComponent(unref(VisArea), {
1726
- x,
1727
- y: [(d) => d.waitMinutes, (d) => d.failedExecMinutes],
1728
- color: areaColors,
1729
- "curve-type": unref(CurveType).MonotoneX
1730
- }, null, _parent3, _scopeId2));
1731
- _push3(ssrRenderComponent(unref(VisAxis), {
1732
- type: "x",
1733
- "tick-format": (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric" })
1734
- }, null, _parent3, _scopeId2));
1735
- _push3(ssrRenderComponent(unref(VisAxis), {
1736
- type: "y",
1737
- label: "Minutes",
1738
- "tick-format": (d) => d.toString()
1739
- }, null, _parent3, _scopeId2));
1740
- } else {
1741
- return [
1742
- createVNode(unref(VisArea), {
1743
- x,
1744
- y: [(d) => d.waitMinutes, (d) => d.failedExecMinutes],
1745
- color: areaColors,
1746
- "curve-type": unref(CurveType).MonotoneX
1747
- }, null, 8, ["y", "curve-type"]),
1748
- createVNode(unref(VisAxis), {
1749
- type: "x",
1750
- "tick-format": (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric" })
1751
- }, null, 8, ["tick-format"]),
1752
- createVNode(unref(VisAxis), {
1753
- type: "y",
1754
- label: "Minutes",
1755
- "tick-format": (d) => d.toString()
1756
- }, null, 8, ["tick-format"])
1757
- ];
1758
- }
1759
- }),
1760
- _: 1
1761
- }, _parent2, _scopeId));
1762
- if (unref(tooltipData)) {
1763
- _push2(`<div class="fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 max-w-[240px]" style="${ssrRenderStyle({ left: `${unref(tooltipPos).x}px`, top: `${unref(tooltipPos).y}px` })}"${_scopeId}><div class="p-2 text-sm text-gray-900 dark:text-gray-100"${_scopeId}><div class="font-semibold mb-1"${_scopeId}>${ssrInterpolate(new Date(unref(tooltipData).date).toLocaleDateString("en-US", { month: "short", day: "numeric" }))}</div><div${_scopeId}><span class="text-amber-500"${_scopeId}>●</span> Wait steps: ${ssrInterpolate(unref(tooltipData).waitMinutes)} min</div><div${_scopeId}><span class="text-red-500"${_scopeId}>●</span> Failed attempts: ${ssrInterpolate(unref(tooltipData).failedExecMinutes)} min</div></div></div>`);
1764
- } else {
1765
- _push2(`<!---->`);
1766
- }
1767
- if (unref(reclaim)) {
1768
- _push2(`<div class="mt-4 flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50 p-2.5 text-sm dark:border-amber-900/50 dark:bg-amber-950/30"${_scopeId}>`);
1769
- _push2(ssrRenderComponent(_component_UIcon, {
1770
- name: "i-lucide-scissors",
1771
- class: "mt-0.5 shrink-0 text-amber-500"
1772
- }, null, _parent2, _scopeId));
1773
- _push2(`<div class="text-gray-700 dark:text-gray-300"${_scopeId}> Up to <span class="font-semibold"${_scopeId}>≈${ssrInterpolate(unref(reclaimLabel))}</span> of this is avoidable — ${ssrInterpolate(unref(reclaim).oversizedCount)} oversized ${ssrInterpolate(unref(reclaim).oversizedCount === 1 ? "timeout" : "timeouts")} and ${ssrInterpolate(unref(reclaim).staleSlowCount)} stale <code class="text-xs"${_scopeId}>test.slow()</code> ${ssrInterpolate(unref(reclaim).staleSlowCount === 1 ? "mark" : "marks")} inflate the failed-attempt time above. `);
1774
- if (unref(reclaim).topProjectId) {
1775
- _push2(ssrRenderComponent(_component_NuxtLink, {
1776
- to: `/projects/${unref(reclaim).topProjectId}#performance`,
1777
- class: "text-primary hover:underline"
1778
- }, {
1779
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
1780
- if (_push3) {
1781
- _push3(`Review`);
1782
- } else {
1783
- return [
1784
- createTextVNode("Review")
1785
- ];
1786
- }
1787
- }),
1788
- _: 1
1789
- }, _parent2, _scopeId));
1790
- } else {
1791
- _push2(`<!---->`);
1792
- }
1793
- _push2(`</div></div>`);
1794
- } else {
1795
- _push2(`<!---->`);
1796
- }
1797
- if (unref(wasted) && unref(wasted).byProject.length > 0) {
1798
- _push2(`<div class="mt-4 space-y-1"${_scopeId}><!--[-->`);
1799
- ssrRenderList(unref(wasted).byProject.slice(0, 5), (project) => {
1800
- _push2(`<div class="flex items-center justify-between text-sm"${_scopeId}>`);
1801
- _push2(ssrRenderComponent(_component_NuxtLink, {
1802
- to: `/projects/${project.projectId}`,
1803
- class: "truncate hover:text-primary"
1804
- }, {
1805
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
1806
- if (_push3) {
1807
- _push3(`${ssrInterpolate(project.label || project.name)}`);
1808
- } else {
1809
- return [
1810
- createTextVNode(toDisplayString(project.label || project.name), 1)
1811
- ];
1812
- }
1813
- }),
1814
- _: 2
1815
- }, _parent2, _scopeId));
1816
- _push2(`<span class="tabular-nums text-gray-500 dark:text-gray-400 shrink-0"${_scopeId}>${ssrInterpolate(Math.round(project.waitMinutes + project.failedExecMinutes))} min </span></div>`);
1817
- });
1818
- _push2(`<!--]--></div>`);
1819
- } else {
1820
- _push2(`<!---->`);
1821
- }
1822
- _push2(`</div>`);
1823
- }
1824
- } else {
1825
- return [
1826
- unref(pending) ? (openBlock(), createBlock(_component_LoadingState, { key: 0 })) : unref(error) ? (openBlock(), createBlock(_component_ErrorState, {
1827
- key: 1,
1828
- text: `Couldn't load wasted time: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
1829
- }, {
1830
- action: withCtx(() => [
1831
- createVNode(_component_UButton, {
1832
- size: "sm",
1833
- color: "neutral",
1834
- variant: "outline",
1835
- icon: "i-lucide-refresh-cw",
1836
- onClick: ($event) => unref(refresh)()
1837
- }, {
1838
- default: withCtx(() => [
1839
- createTextVNode(" Retry ")
1840
- ]),
1841
- _: 1
1842
- }, 8, ["onClick"])
1843
- ]),
1844
- _: 1
1845
- }, 8, ["text"])) : !unref(hasData) ? (openBlock(), createBlock(_component_EmptyState, {
1846
- key: 2,
1847
- text: "No wasted time recorded in this period."
1848
- })) : (openBlock(), createBlock("div", {
1849
- key: 3,
1850
- class: "w-full relative"
1851
- }, [
1852
- createVNode(unref(VisXYContainer), {
1853
- ref_key: "xyContainerRef",
1854
- ref: xyContainerRef,
1855
- data: unref(chartData),
1856
- height: 220,
1857
- padding: { top: 10, right: 10, bottom: 0, left: 0 },
1858
- "on-render-complete": unref(onRenderComplete)
1859
- }, {
1860
- default: withCtx(() => [
1861
- createVNode(unref(VisArea), {
1862
- x,
1863
- y: [(d) => d.waitMinutes, (d) => d.failedExecMinutes],
1864
- color: areaColors,
1865
- "curve-type": unref(CurveType).MonotoneX
1866
- }, null, 8, ["y", "curve-type"]),
1867
- createVNode(unref(VisAxis), {
1868
- type: "x",
1869
- "tick-format": (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric" })
1870
- }, null, 8, ["tick-format"]),
1871
- createVNode(unref(VisAxis), {
1872
- type: "y",
1873
- label: "Minutes",
1874
- "tick-format": (d) => d.toString()
1875
- }, null, 8, ["tick-format"])
1876
- ]),
1877
- _: 2
1878
- }, 1032, ["data", "on-render-complete"]),
1879
- unref(tooltipData) ? (openBlock(), createBlock("div", {
1880
- key: 0,
1881
- class: "fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 max-w-[240px]",
1882
- style: { left: `${unref(tooltipPos).x}px`, top: `${unref(tooltipPos).y}px` }
1883
- }, [
1884
- createVNode("div", { class: "p-2 text-sm text-gray-900 dark:text-gray-100" }, [
1885
- createVNode("div", { class: "font-semibold mb-1" }, toDisplayString(new Date(unref(tooltipData).date).toLocaleDateString("en-US", { month: "short", day: "numeric" })), 1),
1886
- createVNode("div", null, [
1887
- createVNode("span", { class: "text-amber-500" }, "●"),
1888
- createTextVNode(" Wait steps: " + toDisplayString(unref(tooltipData).waitMinutes) + " min", 1)
1889
- ]),
1890
- createVNode("div", null, [
1891
- createVNode("span", { class: "text-red-500" }, "●"),
1892
- createTextVNode(" Failed attempts: " + toDisplayString(unref(tooltipData).failedExecMinutes) + " min", 1)
1893
- ])
1894
- ])
1895
- ], 4)) : createCommentVNode("", true),
1896
- unref(reclaim) ? (openBlock(), createBlock("div", {
1897
- key: 1,
1898
- class: "mt-4 flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50 p-2.5 text-sm dark:border-amber-900/50 dark:bg-amber-950/30"
1899
- }, [
1900
- createVNode(_component_UIcon, {
1901
- name: "i-lucide-scissors",
1902
- class: "mt-0.5 shrink-0 text-amber-500"
1903
- }),
1904
- createVNode("div", { class: "text-gray-700 dark:text-gray-300" }, [
1905
- createTextVNode(" Up to "),
1906
- createVNode("span", { class: "font-semibold" }, "≈" + toDisplayString(unref(reclaimLabel)), 1),
1907
- createTextVNode(" of this is avoidable — " + toDisplayString(unref(reclaim).oversizedCount) + " oversized " + toDisplayString(unref(reclaim).oversizedCount === 1 ? "timeout" : "timeouts") + " and " + toDisplayString(unref(reclaim).staleSlowCount) + " stale ", 1),
1908
- createVNode("code", { class: "text-xs" }, "test.slow()"),
1909
- createTextVNode(" " + toDisplayString(unref(reclaim).staleSlowCount === 1 ? "mark" : "marks") + " inflate the failed-attempt time above. ", 1),
1910
- unref(reclaim).topProjectId ? (openBlock(), createBlock(_component_NuxtLink, {
1911
- key: 0,
1912
- to: `/projects/${unref(reclaim).topProjectId}#performance`,
1913
- class: "text-primary hover:underline"
1914
- }, {
1915
- default: withCtx(() => [
1916
- createTextVNode("Review")
1917
- ]),
1918
- _: 1
1919
- }, 8, ["to"])) : createCommentVNode("", true)
1920
- ])
1921
- ])) : createCommentVNode("", true),
1922
- unref(wasted) && unref(wasted).byProject.length > 0 ? (openBlock(), createBlock("div", {
1923
- key: 2,
1924
- class: "mt-4 space-y-1"
1925
- }, [
1926
- (openBlock(true), createBlock(Fragment, null, renderList(unref(wasted).byProject.slice(0, 5), (project) => {
1927
- return openBlock(), createBlock("div", {
1928
- key: project.projectId,
1929
- class: "flex items-center justify-between text-sm"
1930
- }, [
1931
- createVNode(_component_NuxtLink, {
1932
- to: `/projects/${project.projectId}`,
1933
- class: "truncate hover:text-primary"
1934
- }, {
1935
- default: withCtx(() => [
1936
- createTextVNode(toDisplayString(project.label || project.name), 1)
1937
- ]),
1938
- _: 2
1939
- }, 1032, ["to"]),
1940
- createVNode("span", { class: "tabular-nums text-gray-500 dark:text-gray-400 shrink-0" }, toDisplayString(Math.round(project.waitMinutes + project.failedExecMinutes)) + " min ", 1)
1941
- ]);
1942
- }), 128))
1943
- ])) : createCommentVNode("", true)
1944
- ]))
1945
- ];
1946
- }
1947
- }),
1948
- _: 1
1949
- }, _parent));
1950
- };
1951
- }
1952
- });
1953
- const _sfc_setup$6 = _sfc_main$6.setup;
1954
- _sfc_main$6.setup = (props, ctx) => {
1955
- const ssrContext = useSSRContext();
1956
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/WastedTimeChart.vue");
1957
- return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
1958
- };
1959
- const WastedTimeChart = Object.assign(_sfc_main$6, { __name: "WastedTimeChart" });
1960
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1961
- __name: "GlobalFlakyLeaderboard",
1962
- __ssrInlineRender: true,
1963
- props: {
1964
- query: {}
1965
- },
1966
- async setup(__props) {
1967
- let __temp, __restore;
1968
- const props = __props;
1969
- const {
1970
- data: rows,
1971
- pending,
1972
- error,
1973
- refresh
1974
- } = ([__temp, __restore] = withAsyncContext(() => useAnalyticsWidget("flaky-leaderboard", () => props.query)), __temp = await __temp, __restore(), __temp);
1975
- function scoreColor(score) {
1976
- if (score >= 60) return "text-red-600 dark:text-red-400";
1977
- if (score >= 30) return "text-amber-600 dark:text-amber-400";
1978
- return "text-gray-500";
1979
- }
1980
- function flakeSummary(row) {
1981
- if (row.retryPassRuns > 0) return `flaked ${row.retryPassRuns}/${row.totalRuns} runs`;
1982
- return `${row.alternations} status flips in ${row.totalRuns} runs`;
1983
- }
1984
- return (_ctx, _push, _parent, _attrs) => {
1985
- const _component_SectionCard = __nuxt_component_11;
1986
- const _component_LoadingState = __nuxt_component_13;
1987
- const _component_ErrorState = __nuxt_component_5$1;
1988
- const _component_UButton = _sfc_main$k;
1989
- const _component_EmptyState = __nuxt_component_4$2;
1990
- const _component_NuxtLink = __nuxt_component_12;
1991
- const _component_TagBadge = __nuxt_component_4$3;
1992
- _push(ssrRenderComponent(_component_SectionCard, mergeProps({
1993
- icon: "i-lucide-repeat",
1994
- title: "Flakiest tests",
1995
- count: unref(rows)?.length || void 0,
1996
- subtitle: "Across all projects, sorted by impact",
1997
- help: "analytics.flaky-leaderboard"
1998
- }, _attrs), {
1999
- default: withCtx((_, _push2, _parent2, _scopeId) => {
2000
- if (_push2) {
2001
- if (unref(pending)) {
2002
- _push2(ssrRenderComponent(_component_LoadingState, null, null, _parent2, _scopeId));
2003
- } else if (unref(error)) {
2004
- _push2(ssrRenderComponent(_component_ErrorState, {
2005
- text: `Couldn't load flaky tests: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
2006
- }, {
2007
- action: withCtx((_2, _push3, _parent3, _scopeId2) => {
2008
- if (_push3) {
2009
- _push3(ssrRenderComponent(_component_UButton, {
2010
- size: "sm",
2011
- color: "neutral",
2012
- variant: "outline",
2013
- icon: "i-lucide-refresh-cw",
2014
- onClick: ($event) => unref(refresh)()
2015
- }, {
2016
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
2017
- if (_push4) {
2018
- _push4(` Retry `);
2019
- } else {
2020
- return [
2021
- createTextVNode(" Retry ")
2022
- ];
2023
- }
2024
- }),
2025
- _: 1
2026
- }, _parent3, _scopeId2));
2027
- } else {
2028
- return [
2029
- createVNode(_component_UButton, {
2030
- size: "sm",
2031
- color: "neutral",
2032
- variant: "outline",
2033
- icon: "i-lucide-refresh-cw",
2034
- onClick: ($event) => unref(refresh)()
2035
- }, {
2036
- default: withCtx(() => [
2037
- createTextVNode(" Retry ")
2038
- ]),
2039
- _: 1
2040
- }, 8, ["onClick"])
2041
- ];
2042
- }
2043
- }),
2044
- _: 1
2045
- }, _parent2, _scopeId));
2046
- } else if (!unref(rows) || unref(rows).length === 0) {
2047
- _push2(ssrRenderComponent(_component_EmptyState, { text: "No flaky tests detected. Nice and stable." }, null, _parent2, _scopeId));
2048
- } else {
2049
- _push2(`<div class="divide-y divide-gray-100 dark:divide-gray-800"${_scopeId}><!--[-->`);
2050
- ssrRenderList(unref(rows), (row) => {
2051
- _push2(ssrRenderComponent(_component_NuxtLink, {
2052
- key: `${row.projectId}-${row.testCaseId}`,
2053
- to: `/test-cases/${row.testCaseId}`,
2054
- class: "flex items-center gap-3 py-2.5 hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded transition-colors"
2055
- }, {
2056
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
2057
- if (_push3) {
2058
- _push3(`<span class="${ssrRenderClass([scoreColor(row.score), "tabular-nums font-bold text-sm w-10 text-right shrink-0"])}"${_scopeId2}>${ssrInterpolate(row.score)}</span><div class="flex-1 min-w-0"${_scopeId2}><p class="text-sm font-medium truncate"${_scopeId2}>${ssrInterpolate(row.title)}</p><p class="text-xs text-gray-500 dark:text-gray-400 truncate"${_scopeId2}>${ssrInterpolate(row.projectLabel || row.projectName)} · ${ssrInterpolate(flakeSummary(row))} `);
2059
- if (row.lastFlakeAt) {
2060
- _push3(`<!--[--> · last ${ssrInterpolate(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(row.lastFlakeAt))}<!--]-->`);
2061
- } else {
2062
- _push3(`<!---->`);
2063
- }
2064
- _push3(`</p></div><div class="text-right shrink-0"${_scopeId2}><p class="${ssrRenderClass([
2065
- row.wastedCiMinutes >= 30 ? "text-red-600 dark:text-red-400" : row.wastedCiMinutes >= 5 ? "text-amber-600 dark:text-amber-400" : "text-gray-500",
2066
- "text-sm tabular-nums"
2067
- ])}"${_scopeId2}>${ssrInterpolate(Math.round(row.wastedCiMinutes))} min </p>`);
2068
- if (row.rootCause) {
2069
- _push3(ssrRenderComponent(_component_TagBadge, {
2070
- text: row.rootCause,
2071
- color: "neutral"
2072
- }, null, _parent3, _scopeId2));
2073
- } else {
2074
- _push3(`<!---->`);
2075
- }
2076
- _push3(`</div>`);
2077
- } else {
2078
- return [
2079
- createVNode("span", {
2080
- class: ["tabular-nums font-bold text-sm w-10 text-right shrink-0", scoreColor(row.score)]
2081
- }, toDisplayString(row.score), 3),
2082
- createVNode("div", { class: "flex-1 min-w-0" }, [
2083
- createVNode("p", { class: "text-sm font-medium truncate" }, toDisplayString(row.title), 1),
2084
- createVNode("p", { class: "text-xs text-gray-500 dark:text-gray-400 truncate" }, [
2085
- createTextVNode(toDisplayString(row.projectLabel || row.projectName) + " · " + toDisplayString(flakeSummary(row)) + " ", 1),
2086
- row.lastFlakeAt ? (openBlock(), createBlock(Fragment, { key: 0 }, [
2087
- createTextVNode(" · last " + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(row.lastFlakeAt)), 1)
2088
- ], 64)) : createCommentVNode("", true)
2089
- ])
2090
- ]),
2091
- createVNode("div", { class: "text-right shrink-0" }, [
2092
- createVNode("p", {
2093
- class: [
2094
- "text-sm tabular-nums",
2095
- row.wastedCiMinutes >= 30 ? "text-red-600 dark:text-red-400" : row.wastedCiMinutes >= 5 ? "text-amber-600 dark:text-amber-400" : "text-gray-500"
2096
- ]
2097
- }, toDisplayString(Math.round(row.wastedCiMinutes)) + " min ", 3),
2098
- row.rootCause ? (openBlock(), createBlock(_component_TagBadge, {
2099
- key: 0,
2100
- text: row.rootCause,
2101
- color: "neutral"
2102
- }, null, 8, ["text"])) : createCommentVNode("", true)
2103
- ])
2104
- ];
2105
- }
2106
- }),
2107
- _: 2
2108
- }, _parent2, _scopeId));
2109
- });
2110
- _push2(`<!--]--></div>`);
2111
- }
2112
- } else {
2113
- return [
2114
- unref(pending) ? (openBlock(), createBlock(_component_LoadingState, { key: 0 })) : unref(error) ? (openBlock(), createBlock(_component_ErrorState, {
2115
- key: 1,
2116
- text: `Couldn't load flaky tests: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
2117
- }, {
2118
- action: withCtx(() => [
2119
- createVNode(_component_UButton, {
2120
- size: "sm",
2121
- color: "neutral",
2122
- variant: "outline",
2123
- icon: "i-lucide-refresh-cw",
2124
- onClick: ($event) => unref(refresh)()
2125
- }, {
2126
- default: withCtx(() => [
2127
- createTextVNode(" Retry ")
2128
- ]),
2129
- _: 1
2130
- }, 8, ["onClick"])
2131
- ]),
2132
- _: 1
2133
- }, 8, ["text"])) : !unref(rows) || unref(rows).length === 0 ? (openBlock(), createBlock(_component_EmptyState, {
2134
- key: 2,
2135
- text: "No flaky tests detected. Nice and stable."
2136
- })) : (openBlock(), createBlock("div", {
2137
- key: 3,
2138
- class: "divide-y divide-gray-100 dark:divide-gray-800"
2139
- }, [
2140
- (openBlock(true), createBlock(Fragment, null, renderList(unref(rows), (row) => {
2141
- return openBlock(), createBlock(_component_NuxtLink, {
2142
- key: `${row.projectId}-${row.testCaseId}`,
2143
- to: `/test-cases/${row.testCaseId}`,
2144
- class: "flex items-center gap-3 py-2.5 hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded transition-colors"
2145
- }, {
2146
- default: withCtx(() => [
2147
- createVNode("span", {
2148
- class: ["tabular-nums font-bold text-sm w-10 text-right shrink-0", scoreColor(row.score)]
2149
- }, toDisplayString(row.score), 3),
2150
- createVNode("div", { class: "flex-1 min-w-0" }, [
2151
- createVNode("p", { class: "text-sm font-medium truncate" }, toDisplayString(row.title), 1),
2152
- createVNode("p", { class: "text-xs text-gray-500 dark:text-gray-400 truncate" }, [
2153
- createTextVNode(toDisplayString(row.projectLabel || row.projectName) + " · " + toDisplayString(flakeSummary(row)) + " ", 1),
2154
- row.lastFlakeAt ? (openBlock(), createBlock(Fragment, { key: 0 }, [
2155
- createTextVNode(" · last " + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(row.lastFlakeAt)), 1)
2156
- ], 64)) : createCommentVNode("", true)
2157
- ])
2158
- ]),
2159
- createVNode("div", { class: "text-right shrink-0" }, [
2160
- createVNode("p", {
2161
- class: [
2162
- "text-sm tabular-nums",
2163
- row.wastedCiMinutes >= 30 ? "text-red-600 dark:text-red-400" : row.wastedCiMinutes >= 5 ? "text-amber-600 dark:text-amber-400" : "text-gray-500"
2164
- ]
2165
- }, toDisplayString(Math.round(row.wastedCiMinutes)) + " min ", 3),
2166
- row.rootCause ? (openBlock(), createBlock(_component_TagBadge, {
2167
- key: 0,
2168
- text: row.rootCause,
2169
- color: "neutral"
2170
- }, null, 8, ["text"])) : createCommentVNode("", true)
2171
- ])
2172
- ]),
2173
- _: 2
2174
- }, 1032, ["to"]);
2175
- }), 128))
2176
- ]))
2177
- ];
2178
- }
2179
- }),
2180
- _: 1
2181
- }, _parent));
2182
- };
2183
- }
2184
- });
2185
- const _sfc_setup$5 = _sfc_main$5.setup;
2186
- _sfc_main$5.setup = (props, ctx) => {
2187
- const ssrContext = useSSRContext();
2188
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/GlobalFlakyLeaderboard.vue");
2189
- return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
2190
- };
2191
- const GlobalFlakyLeaderboard = Object.assign(_sfc_main$5, { __name: "GlobalFlakyLeaderboard" });
2192
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2193
- __name: "ClusterLandscape",
2194
- __ssrInlineRender: true,
2195
- props: {
2196
- query: {}
2197
- },
2198
- async setup(__props) {
2199
- let __temp, __restore;
2200
- const props = __props;
2201
- const {
2202
- data: landscape,
2203
- pending,
2204
- error,
2205
- refresh
2206
- } = ([__temp, __restore] = withAsyncContext(() => useAnalyticsWidget("cluster-landscape", () => props.query)), __temp = await __temp, __restore(), __temp);
2207
- function ageClass(ageDays) {
2208
- if (ageDays >= 30) return "text-red-600 dark:text-red-400";
2209
- if (ageDays >= 14) return "text-amber-600 dark:text-amber-400";
2210
- return "text-gray-500";
2211
- }
2212
- return (_ctx, _push, _parent, _attrs) => {
2213
- const _component_SectionCard = __nuxt_component_11;
2214
- const _component_LoadingState = __nuxt_component_13;
2215
- const _component_ErrorState = __nuxt_component_5$1;
2216
- const _component_UButton = _sfc_main$k;
2217
- const _component_EmptyState = __nuxt_component_4$2;
2218
- const _component_StatTileGrid = __nuxt_component_1$1;
2219
- const _component_StatTile = __nuxt_component_2;
2220
- const _component_UBadge = _sfc_main$7$1;
2221
- const _component_NuxtLink = __nuxt_component_12;
2222
- _push(ssrRenderComponent(_component_SectionCard, mergeProps({
2223
- icon: "i-lucide-layers",
2224
- title: "Failure clusters",
2225
- subtitle: "Open root causes across all projects",
2226
- help: "analytics.cluster-landscape"
2227
- }, _attrs), {
2228
- default: withCtx((_, _push2, _parent2, _scopeId) => {
2229
- if (_push2) {
2230
- if (unref(pending)) {
2231
- _push2(ssrRenderComponent(_component_LoadingState, null, null, _parent2, _scopeId));
2232
- } else if (unref(error)) {
2233
- _push2(ssrRenderComponent(_component_ErrorState, {
2234
- text: `Couldn't load clusters: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
2235
- }, {
2236
- action: withCtx((_2, _push3, _parent3, _scopeId2) => {
2237
- if (_push3) {
2238
- _push3(ssrRenderComponent(_component_UButton, {
2239
- size: "sm",
2240
- color: "neutral",
2241
- variant: "outline",
2242
- icon: "i-lucide-refresh-cw",
2243
- onClick: ($event) => unref(refresh)()
2244
- }, {
2245
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
2246
- if (_push4) {
2247
- _push4(` Retry `);
2248
- } else {
2249
- return [
2250
- createTextVNode(" Retry ")
2251
- ];
2252
- }
2253
- }),
2254
- _: 1
2255
- }, _parent3, _scopeId2));
2256
- } else {
2257
- return [
2258
- createVNode(_component_UButton, {
2259
- size: "sm",
2260
- color: "neutral",
2261
- variant: "outline",
2262
- icon: "i-lucide-refresh-cw",
2263
- onClick: ($event) => unref(refresh)()
2264
- }, {
2265
- default: withCtx(() => [
2266
- createTextVNode(" Retry ")
2267
- ]),
2268
- _: 1
2269
- }, 8, ["onClick"])
2270
- ];
2271
- }
2272
- }),
2273
- _: 1
2274
- }, _parent2, _scopeId));
2275
- } else if (!unref(landscape) || unref(landscape).totalOpen === 0 && unref(landscape).resolvedInPeriod === 0) {
2276
- _push2(ssrRenderComponent(_component_EmptyState, {
2277
- icon: "i-lucide-check-circle",
2278
- text: "No open failure clusters."
2279
- }, null, _parent2, _scopeId));
2280
- } else {
2281
- _push2(`<div class="space-y-4"${_scopeId}>`);
2282
- _push2(ssrRenderComponent(_component_StatTileGrid, null, {
2283
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
2284
- if (_push3) {
2285
- _push3(ssrRenderComponent(_component_StatTile, {
2286
- label: "Open",
2287
- value: unref(landscape).totalOpen,
2288
- "value-class": unref(landscape).totalOpen > 0 ? "text-red-600 dark:text-red-400" : ""
2289
- }, null, _parent3, _scopeId2));
2290
- _push3(ssrRenderComponent(_component_StatTile, {
2291
- label: "Resolved this period",
2292
- value: unref(landscape).resolvedInPeriod
2293
- }, null, _parent3, _scopeId2));
2294
- _push3(ssrRenderComponent(_component_StatTile, {
2295
- label: "Oldest open",
2296
- value: unref(landscape).clusters.length > 0 ? `${Math.max(...unref(landscape).clusters.map((c) => c.ageDays))} d` : "—",
2297
- size: "lg"
2298
- }, null, _parent3, _scopeId2));
2299
- } else {
2300
- return [
2301
- createVNode(_component_StatTile, {
2302
- label: "Open",
2303
- value: unref(landscape).totalOpen,
2304
- "value-class": unref(landscape).totalOpen > 0 ? "text-red-600 dark:text-red-400" : ""
2305
- }, null, 8, ["value", "value-class"]),
2306
- createVNode(_component_StatTile, {
2307
- label: "Resolved this period",
2308
- value: unref(landscape).resolvedInPeriod
2309
- }, null, 8, ["value"]),
2310
- createVNode(_component_StatTile, {
2311
- label: "Oldest open",
2312
- value: unref(landscape).clusters.length > 0 ? `${Math.max(...unref(landscape).clusters.map((c) => c.ageDays))} d` : "—",
2313
- size: "lg"
2314
- }, null, 8, ["value"])
2315
- ];
2316
- }
2317
- }),
2318
- _: 1
2319
- }, _parent2, _scopeId));
2320
- if (unref(landscape).byErrorType.length > 0) {
2321
- _push2(`<div class="flex flex-wrap gap-1.5"${_scopeId}><!--[-->`);
2322
- ssrRenderList(unref(landscape).byErrorType, (entry) => {
2323
- _push2(ssrRenderComponent(_component_UBadge, {
2324
- key: entry.errorType,
2325
- color: ("clusterErrorTypeColor" in _ctx ? _ctx.clusterErrorTypeColor : unref(clusterErrorTypeColor))(entry.errorType),
2326
- variant: "subtle",
2327
- size: "sm"
2328
- }, {
2329
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
2330
- if (_push3) {
2331
- _push3(`${ssrInterpolate(entry.errorType)} · ${ssrInterpolate(entry.count)}`);
2332
- } else {
2333
- return [
2334
- createTextVNode(toDisplayString(entry.errorType) + " · " + toDisplayString(entry.count), 1)
2335
- ];
2336
- }
2337
- }),
2338
- _: 2
2339
- }, _parent2, _scopeId));
2340
- });
2341
- _push2(`<!--]--></div>`);
2342
- } else {
2343
- _push2(`<!---->`);
2344
- }
2345
- _push2(`<div class="divide-y divide-gray-100 dark:divide-gray-800"${_scopeId}><!--[-->`);
2346
- ssrRenderList(unref(landscape).clusters.slice(0, 8), (cluster) => {
2347
- _push2(ssrRenderComponent(_component_NuxtLink, {
2348
- key: cluster.id,
2349
- to: `/failure-clusters/${cluster.id}`,
2350
- class: "flex items-center gap-3 py-2.5 hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded transition-colors"
2351
- }, {
2352
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
2353
- if (_push3) {
2354
- _push3(`<div class="flex-1 min-w-0"${_scopeId2}><p class="text-sm font-medium truncate"${_scopeId2}>${ssrInterpolate(cluster.title || cluster.signature)}</p><p class="text-xs text-gray-500 dark:text-gray-400 truncate"${_scopeId2}>${ssrInterpolate(cluster.projectLabel || cluster.projectName)} `);
2355
- if (cluster.errorType) {
2356
- _push3(`<!--[--> · ${ssrInterpolate(cluster.errorType)}<!--]-->`);
2357
- } else {
2358
- _push3(`<!---->`);
2359
- }
2360
- _push3(`</p></div><div class="text-right text-xs shrink-0"${_scopeId2}><p class="tabular-nums font-medium"${_scopeId2}>${ssrInterpolate(cluster.occurrences)}×</p><p class="${ssrRenderClass([ageClass(cluster.ageDays), "tabular-nums"])}"${_scopeId2}>${ssrInterpolate(cluster.ageDays)} d open</p></div>`);
2361
- } else {
2362
- return [
2363
- createVNode("div", { class: "flex-1 min-w-0" }, [
2364
- createVNode("p", { class: "text-sm font-medium truncate" }, toDisplayString(cluster.title || cluster.signature), 1),
2365
- createVNode("p", { class: "text-xs text-gray-500 dark:text-gray-400 truncate" }, [
2366
- createTextVNode(toDisplayString(cluster.projectLabel || cluster.projectName) + " ", 1),
2367
- cluster.errorType ? (openBlock(), createBlock(Fragment, { key: 0 }, [
2368
- createTextVNode(" · " + toDisplayString(cluster.errorType), 1)
2369
- ], 64)) : createCommentVNode("", true)
2370
- ])
2371
- ]),
2372
- createVNode("div", { class: "text-right text-xs shrink-0" }, [
2373
- createVNode("p", { class: "tabular-nums font-medium" }, toDisplayString(cluster.occurrences) + "×", 1),
2374
- createVNode("p", {
2375
- class: ["tabular-nums", ageClass(cluster.ageDays)]
2376
- }, toDisplayString(cluster.ageDays) + " d open", 3)
2377
- ])
2378
- ];
2379
- }
2380
- }),
2381
- _: 2
2382
- }, _parent2, _scopeId));
2383
- });
2384
- _push2(`<!--]--></div></div>`);
2385
- }
2386
- } else {
2387
- return [
2388
- unref(pending) ? (openBlock(), createBlock(_component_LoadingState, { key: 0 })) : unref(error) ? (openBlock(), createBlock(_component_ErrorState, {
2389
- key: 1,
2390
- text: `Couldn't load clusters: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
2391
- }, {
2392
- action: withCtx(() => [
2393
- createVNode(_component_UButton, {
2394
- size: "sm",
2395
- color: "neutral",
2396
- variant: "outline",
2397
- icon: "i-lucide-refresh-cw",
2398
- onClick: ($event) => unref(refresh)()
2399
- }, {
2400
- default: withCtx(() => [
2401
- createTextVNode(" Retry ")
2402
- ]),
2403
- _: 1
2404
- }, 8, ["onClick"])
2405
- ]),
2406
- _: 1
2407
- }, 8, ["text"])) : !unref(landscape) || unref(landscape).totalOpen === 0 && unref(landscape).resolvedInPeriod === 0 ? (openBlock(), createBlock(_component_EmptyState, {
2408
- key: 2,
2409
- icon: "i-lucide-check-circle",
2410
- text: "No open failure clusters."
2411
- })) : (openBlock(), createBlock("div", {
2412
- key: 3,
2413
- class: "space-y-4"
2414
- }, [
2415
- createVNode(_component_StatTileGrid, null, {
2416
- default: withCtx(() => [
2417
- createVNode(_component_StatTile, {
2418
- label: "Open",
2419
- value: unref(landscape).totalOpen,
2420
- "value-class": unref(landscape).totalOpen > 0 ? "text-red-600 dark:text-red-400" : ""
2421
- }, null, 8, ["value", "value-class"]),
2422
- createVNode(_component_StatTile, {
2423
- label: "Resolved this period",
2424
- value: unref(landscape).resolvedInPeriod
2425
- }, null, 8, ["value"]),
2426
- createVNode(_component_StatTile, {
2427
- label: "Oldest open",
2428
- value: unref(landscape).clusters.length > 0 ? `${Math.max(...unref(landscape).clusters.map((c) => c.ageDays))} d` : "—",
2429
- size: "lg"
2430
- }, null, 8, ["value"])
2431
- ]),
2432
- _: 1
2433
- }),
2434
- unref(landscape).byErrorType.length > 0 ? (openBlock(), createBlock("div", {
2435
- key: 0,
2436
- class: "flex flex-wrap gap-1.5"
2437
- }, [
2438
- (openBlock(true), createBlock(Fragment, null, renderList(unref(landscape).byErrorType, (entry) => {
2439
- return openBlock(), createBlock(_component_UBadge, {
2440
- key: entry.errorType,
2441
- color: ("clusterErrorTypeColor" in _ctx ? _ctx.clusterErrorTypeColor : unref(clusterErrorTypeColor))(entry.errorType),
2442
- variant: "subtle",
2443
- size: "sm"
2444
- }, {
2445
- default: withCtx(() => [
2446
- createTextVNode(toDisplayString(entry.errorType) + " · " + toDisplayString(entry.count), 1)
2447
- ]),
2448
- _: 2
2449
- }, 1032, ["color"]);
2450
- }), 128))
2451
- ])) : createCommentVNode("", true),
2452
- createVNode("div", { class: "divide-y divide-gray-100 dark:divide-gray-800" }, [
2453
- (openBlock(true), createBlock(Fragment, null, renderList(unref(landscape).clusters.slice(0, 8), (cluster) => {
2454
- return openBlock(), createBlock(_component_NuxtLink, {
2455
- key: cluster.id,
2456
- to: `/failure-clusters/${cluster.id}`,
2457
- class: "flex items-center gap-3 py-2.5 hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded transition-colors"
2458
- }, {
2459
- default: withCtx(() => [
2460
- createVNode("div", { class: "flex-1 min-w-0" }, [
2461
- createVNode("p", { class: "text-sm font-medium truncate" }, toDisplayString(cluster.title || cluster.signature), 1),
2462
- createVNode("p", { class: "text-xs text-gray-500 dark:text-gray-400 truncate" }, [
2463
- createTextVNode(toDisplayString(cluster.projectLabel || cluster.projectName) + " ", 1),
2464
- cluster.errorType ? (openBlock(), createBlock(Fragment, { key: 0 }, [
2465
- createTextVNode(" · " + toDisplayString(cluster.errorType), 1)
2466
- ], 64)) : createCommentVNode("", true)
2467
- ])
2468
- ]),
2469
- createVNode("div", { class: "text-right text-xs shrink-0" }, [
2470
- createVNode("p", { class: "tabular-nums font-medium" }, toDisplayString(cluster.occurrences) + "×", 1),
2471
- createVNode("p", {
2472
- class: ["tabular-nums", ageClass(cluster.ageDays)]
2473
- }, toDisplayString(cluster.ageDays) + " d open", 3)
2474
- ])
2475
- ]),
2476
- _: 2
2477
- }, 1032, ["to"]);
2478
- }), 128))
2479
- ])
2480
- ]))
2481
- ];
2482
- }
2483
- }),
2484
- _: 1
2485
- }, _parent));
2486
- };
2487
- }
2488
- });
2489
- const _sfc_setup$4 = _sfc_main$4.setup;
2490
- _sfc_main$4.setup = (props, ctx) => {
2491
- const ssrContext = useSSRContext();
2492
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/ClusterLandscape.vue");
2493
- return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
2494
- };
2495
- const ClusterLandscape = Object.assign(_sfc_main$4, { __name: "ClusterLandscape" });
2496
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2497
- __name: "RegressionVelocityChart",
2498
- __ssrInlineRender: true,
2499
- props: {
2500
- query: {}
2501
- },
2502
- async setup(__props) {
2503
- let __temp, __restore;
2504
- const props = __props;
2505
- const {
2506
- data: velocity,
2507
- pending,
2508
- error,
2509
- refresh
2510
- } = ([__temp, __restore] = withAsyncContext(() => useAnalyticsWidget("regression-velocity", () => props.query)), __temp = await __temp, __restore(), __temp);
2511
- const chartData = computed(
2512
- () => velocity.value?.points.map((p) => ({
2513
- date: new Date(p.date),
2514
- regressions: p.regressions,
2515
- newFlaky: p.newFlaky
2516
- })) ?? []
2517
- );
2518
- const hasData = computed(() => chartData.value.some((p) => p.regressions > 0 || p.newFlaky > 0));
2519
- const x = (d) => d.date;
2520
- const barColors = ["rgb(239, 68, 68)", "rgb(147, 51, 234)"];
2521
- const legendItems = [
2522
- { color: barColors[0], label: "New regressions" },
2523
- { color: barColors[1], label: "Newly flaky" }
2524
- ];
2525
- const deltaBadge = computed(() => {
2526
- if (!velocity.value || velocity.value.deltaPct === null) return null;
2527
- const pct = velocity.value.deltaPct;
2528
- return {
2529
- label: `${pct > 0 ? "+" : ""}${pct}% vs previous period`,
2530
- // Fewer regressions is good, more is bad.
2531
- class: pct > 0 ? "text-red-600 dark:text-red-400" : "text-green-600 dark:text-green-400"
2532
- };
2533
- });
2534
- const subtitle = computed(() => {
2535
- if (!velocity.value) return void 0;
2536
- return `${velocity.value.totalRegressions} new regressions, ${velocity.value.totalNewFlaky} newly flaky`;
2537
- });
2538
- return (_ctx, _push, _parent, _attrs) => {
2539
- const _component_ChartCard = __nuxt_component_0;
2540
- const _component_ChartLegend = __nuxt_component_1;
2541
- const _component_LoadingState = __nuxt_component_13;
2542
- const _component_ErrorState = __nuxt_component_5$1;
2543
- const _component_UButton = _sfc_main$k;
2544
- const _component_EmptyState = __nuxt_component_4$2;
2545
- _push(ssrRenderComponent(_component_ChartCard, mergeProps({
2546
- icon: "i-lucide-git-pull-request-arrow",
2547
- title: "Regression velocity",
2548
- subtitle: unref(subtitle),
2549
- help: "analytics.regression-velocity"
2550
- }, _attrs), {
2551
- legend: withCtx((_, _push2, _parent2, _scopeId) => {
2552
- if (_push2) {
2553
- _push2(ssrRenderComponent(_component_ChartLegend, {
2554
- items: legendItems,
2555
- dense: ""
2556
- }, null, _parent2, _scopeId));
2557
- } else {
2558
- return [
2559
- createVNode(_component_ChartLegend, {
2560
- items: legendItems,
2561
- dense: ""
2562
- })
2563
- ];
2564
- }
2565
- }),
2566
- actions: withCtx((_, _push2, _parent2, _scopeId) => {
2567
- if (_push2) {
2568
- if (unref(deltaBadge)) {
2569
- _push2(`<span class="${ssrRenderClass([unref(deltaBadge).class, "text-xs font-medium tabular-nums"])}"${_scopeId}>${ssrInterpolate(unref(deltaBadge).label)}</span>`);
2570
- } else {
2571
- _push2(`<!---->`);
2572
- }
2573
- } else {
2574
- return [
2575
- unref(deltaBadge) ? (openBlock(), createBlock("span", {
2576
- key: 0,
2577
- class: ["text-xs font-medium tabular-nums", unref(deltaBadge).class]
2578
- }, toDisplayString(unref(deltaBadge).label), 3)) : createCommentVNode("", true)
2579
- ];
2580
- }
2581
- }),
2582
- default: withCtx((_, _push2, _parent2, _scopeId) => {
2583
- if (_push2) {
2584
- if (unref(pending)) {
2585
- _push2(ssrRenderComponent(_component_LoadingState, null, null, _parent2, _scopeId));
2586
- } else if (unref(error)) {
2587
- _push2(ssrRenderComponent(_component_ErrorState, {
2588
- text: `Couldn't load regression velocity: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
2589
- }, {
2590
- action: withCtx((_2, _push3, _parent3, _scopeId2) => {
2591
- if (_push3) {
2592
- _push3(ssrRenderComponent(_component_UButton, {
2593
- size: "sm",
2594
- color: "neutral",
2595
- variant: "outline",
2596
- icon: "i-lucide-refresh-cw",
2597
- onClick: ($event) => unref(refresh)()
2598
- }, {
2599
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
2600
- if (_push4) {
2601
- _push4(` Retry `);
2602
- } else {
2603
- return [
2604
- createTextVNode(" Retry ")
2605
- ];
2606
- }
2607
- }),
2608
- _: 1
2609
- }, _parent3, _scopeId2));
2610
- } else {
2611
- return [
2612
- createVNode(_component_UButton, {
2613
- size: "sm",
2614
- color: "neutral",
2615
- variant: "outline",
2616
- icon: "i-lucide-refresh-cw",
2617
- onClick: ($event) => unref(refresh)()
2618
- }, {
2619
- default: withCtx(() => [
2620
- createTextVNode(" Retry ")
2621
- ]),
2622
- _: 1
2623
- }, 8, ["onClick"])
2624
- ];
2625
- }
2626
- }),
2627
- _: 1
2628
- }, _parent2, _scopeId));
2629
- } else if (!unref(hasData)) {
2630
- _push2(ssrRenderComponent(_component_EmptyState, {
2631
- icon: "i-lucide-shield-check",
2632
- text: "No new regressions in this period."
2633
- }, null, _parent2, _scopeId));
2634
- } else {
2635
- _push2(`<div class="w-full"${_scopeId}>`);
2636
- _push2(ssrRenderComponent(unref(VisXYContainer), {
2637
- data: unref(chartData),
2638
- height: 220,
2639
- padding: { top: 10, right: 10, bottom: 0, left: 0 }
2640
- }, {
2641
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
2642
- if (_push3) {
2643
- _push3(ssrRenderComponent(unref(VisStackedBar), {
2644
- x,
2645
- y: [(d) => d.regressions, (d) => d.newFlaky],
2646
- color: barColors,
2647
- "rounded-corners": 2
2648
- }, null, _parent3, _scopeId2));
2649
- _push3(ssrRenderComponent(unref(VisAxis), {
2650
- type: "x",
2651
- "tick-format": (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric" })
2652
- }, null, _parent3, _scopeId2));
2653
- _push3(ssrRenderComponent(unref(VisAxis), {
2654
- type: "y",
2655
- label: "Count",
2656
- "tick-format": (d) => d.toString()
2657
- }, null, _parent3, _scopeId2));
2658
- } else {
2659
- return [
2660
- createVNode(unref(VisStackedBar), {
2661
- x,
2662
- y: [(d) => d.regressions, (d) => d.newFlaky],
2663
- color: barColors,
2664
- "rounded-corners": 2
2665
- }, null, 8, ["y"]),
2666
- createVNode(unref(VisAxis), {
2667
- type: "x",
2668
- "tick-format": (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric" })
2669
- }, null, 8, ["tick-format"]),
2670
- createVNode(unref(VisAxis), {
2671
- type: "y",
2672
- label: "Count",
2673
- "tick-format": (d) => d.toString()
2674
- }, null, 8, ["tick-format"])
2675
- ];
2676
- }
2677
- }),
2678
- _: 1
2679
- }, _parent2, _scopeId));
2680
- _push2(`</div>`);
2681
- }
2682
- } else {
2683
- return [
2684
- unref(pending) ? (openBlock(), createBlock(_component_LoadingState, { key: 0 })) : unref(error) ? (openBlock(), createBlock(_component_ErrorState, {
2685
- key: 1,
2686
- text: `Couldn't load regression velocity: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
2687
- }, {
2688
- action: withCtx(() => [
2689
- createVNode(_component_UButton, {
2690
- size: "sm",
2691
- color: "neutral",
2692
- variant: "outline",
2693
- icon: "i-lucide-refresh-cw",
2694
- onClick: ($event) => unref(refresh)()
2695
- }, {
2696
- default: withCtx(() => [
2697
- createTextVNode(" Retry ")
2698
- ]),
2699
- _: 1
2700
- }, 8, ["onClick"])
2701
- ]),
2702
- _: 1
2703
- }, 8, ["text"])) : !unref(hasData) ? (openBlock(), createBlock(_component_EmptyState, {
2704
- key: 2,
2705
- icon: "i-lucide-shield-check",
2706
- text: "No new regressions in this period."
2707
- })) : (openBlock(), createBlock("div", {
2708
- key: 3,
2709
- class: "w-full"
2710
- }, [
2711
- createVNode(unref(VisXYContainer), {
2712
- data: unref(chartData),
2713
- height: 220,
2714
- padding: { top: 10, right: 10, bottom: 0, left: 0 }
2715
- }, {
2716
- default: withCtx(() => [
2717
- createVNode(unref(VisStackedBar), {
2718
- x,
2719
- y: [(d) => d.regressions, (d) => d.newFlaky],
2720
- color: barColors,
2721
- "rounded-corners": 2
2722
- }, null, 8, ["y"]),
2723
- createVNode(unref(VisAxis), {
2724
- type: "x",
2725
- "tick-format": (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric" })
2726
- }, null, 8, ["tick-format"]),
2727
- createVNode(unref(VisAxis), {
2728
- type: "y",
2729
- label: "Count",
2730
- "tick-format": (d) => d.toString()
2731
- }, null, 8, ["tick-format"])
2732
- ]),
2733
- _: 2
2734
- }, 1032, ["data"])
2735
- ]))
2736
- ];
2737
- }
2738
- }),
2739
- _: 1
2740
- }, _parent));
2741
- };
2742
- }
2743
- });
2744
- const _sfc_setup$3 = _sfc_main$3.setup;
2745
- _sfc_main$3.setup = (props, ctx) => {
2746
- const ssrContext = useSSRContext();
2747
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/RegressionVelocityChart.vue");
2748
- return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
2749
- };
2750
- const RegressionVelocityChart = Object.assign(_sfc_main$3, { __name: "RegressionVelocityChart" });
2751
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2752
- __name: "BrowserMatrix",
2753
- __ssrInlineRender: true,
2754
- props: {
2755
- query: {}
2756
- },
2757
- async setup(__props) {
2758
- let __temp, __restore;
2759
- const props = __props;
2760
- const {
2761
- data: matrix,
2762
- pending,
2763
- error,
2764
- refresh
2765
- } = ([__temp, __restore] = withAsyncContext(() => useAnalyticsWidget("browser-matrix", () => props.query)), __temp = await __temp, __restore(), __temp);
2766
- function cellClass(rate) {
2767
- if (rate === null) return "bg-gray-100 dark:bg-gray-800 text-gray-400";
2768
- if (rate >= 99.5) return "bg-green-500/85 text-white";
2769
- if (rate >= 90) return "bg-green-500/45";
2770
- if (rate >= 75) return "bg-amber-500/50";
2771
- if (rate >= 50) return "bg-orange-500/60";
2772
- return "bg-red-500/70 text-white";
2773
- }
2774
- return (_ctx, _push, _parent, _attrs) => {
2775
- const _component_SectionCard = __nuxt_component_11;
2776
- const _component_LoadingState = __nuxt_component_13;
2777
- const _component_ErrorState = __nuxt_component_5$1;
2778
- const _component_UButton = _sfc_main$k;
2779
- const _component_EmptyState = __nuxt_component_4$2;
2780
- const _component_TableScroller = __nuxt_component_3;
2781
- const _component_NuxtLink = __nuxt_component_12;
2782
- _push(ssrRenderComponent(_component_SectionCard, mergeProps({
2783
- icon: "i-lucide-monitor-smartphone",
2784
- title: "Browser matrix",
2785
- help: "analytics.browser-matrix"
2786
- }, _attrs), {
2787
- default: withCtx((_, _push2, _parent2, _scopeId) => {
2788
- if (_push2) {
2789
- if (unref(pending)) {
2790
- _push2(ssrRenderComponent(_component_LoadingState, null, null, _parent2, _scopeId));
2791
- } else if (unref(error)) {
2792
- _push2(ssrRenderComponent(_component_ErrorState, {
2793
- text: `Couldn't load the browser matrix: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
2794
- }, {
2795
- action: withCtx((_2, _push3, _parent3, _scopeId2) => {
2796
- if (_push3) {
2797
- _push3(ssrRenderComponent(_component_UButton, {
2798
- size: "sm",
2799
- color: "neutral",
2800
- variant: "outline",
2801
- icon: "i-lucide-refresh-cw",
2802
- onClick: ($event) => unref(refresh)()
2803
- }, {
2804
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
2805
- if (_push4) {
2806
- _push4(` Retry `);
2807
- } else {
2808
- return [
2809
- createTextVNode(" Retry ")
2810
- ];
2811
- }
2812
- }),
2813
- _: 1
2814
- }, _parent3, _scopeId2));
2815
- } else {
2816
- return [
2817
- createVNode(_component_UButton, {
2818
- size: "sm",
2819
- color: "neutral",
2820
- variant: "outline",
2821
- icon: "i-lucide-refresh-cw",
2822
- onClick: ($event) => unref(refresh)()
2823
- }, {
2824
- default: withCtx(() => [
2825
- createTextVNode(" Retry ")
2826
- ]),
2827
- _: 1
2828
- }, 8, ["onClick"])
2829
- ];
2830
- }
2831
- }),
2832
- _: 1
2833
- }, _parent2, _scopeId));
2834
- } else if (!unref(matrix) || unref(matrix).rows.length === 0) {
2835
- _push2(ssrRenderComponent(_component_EmptyState, { text: "No runs with browser data in this period." }, null, _parent2, _scopeId));
2836
- } else {
2837
- _push2(ssrRenderComponent(_component_TableScroller, { "min-width": "30rem" }, {
2838
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
2839
- if (_push3) {
2840
- _push3(`<table class="w-full text-sm border-separate border-spacing-1"${_scopeId2}><thead${_scopeId2}><tr${_scopeId2}><th class="text-left text-xs text-gray-500 uppercase tracking-wider font-medium pr-2"${_scopeId2}>Project</th><!--[-->`);
2841
- ssrRenderList(unref(matrix).browsers, (browser) => {
2842
- _push3(`<th class="text-xs text-gray-500 uppercase tracking-wider font-medium px-1 text-center"${_scopeId2}>${ssrInterpolate(browser)}</th>`);
2843
- });
2844
- _push3(`<!--]--></tr></thead><tbody${_scopeId2}><!--[-->`);
2845
- ssrRenderList(unref(matrix).rows, (row) => {
2846
- _push3(`<tr${_scopeId2}><td class="pr-2 max-w-[12rem]"${_scopeId2}>`);
2847
- _push3(ssrRenderComponent(_component_NuxtLink, {
2848
- to: `/projects/${row.projectId}`,
2849
- class: "truncate hover:text-primary block",
2850
- title: row.label || row.name
2851
- }, {
2852
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
2853
- if (_push4) {
2854
- _push4(`${ssrInterpolate(row.label || row.name)}`);
2855
- } else {
2856
- return [
2857
- createTextVNode(toDisplayString(row.label || row.name), 1)
2858
- ];
2859
- }
2860
- }),
2861
- _: 2
2862
- }, _parent3, _scopeId2));
2863
- _push3(`</td><!--[-->`);
2864
- ssrRenderList(row.cells, (rate, index) => {
2865
- _push3(`<td class="${ssrRenderClass([cellClass(rate), "text-center tabular-nums rounded-md px-2 py-1.5 font-medium"])}"${ssrRenderAttr("title", `${row.label || row.name} · ${unref(matrix).browsers[index]}: ${rate !== null ? `${rate}% passed` : "no tests"}`)}${_scopeId2}>${ssrInterpolate(rate !== null ? `${Math.round(rate)}%` : "—")}</td>`);
2866
- });
2867
- _push3(`<!--]--></tr>`);
2868
- });
2869
- _push3(`<!--]--></tbody></table>`);
2870
- } else {
2871
- return [
2872
- createVNode("table", { class: "w-full text-sm border-separate border-spacing-1" }, [
2873
- createVNode("thead", null, [
2874
- createVNode("tr", null, [
2875
- createVNode("th", { class: "text-left text-xs text-gray-500 uppercase tracking-wider font-medium pr-2" }, "Project"),
2876
- (openBlock(true), createBlock(Fragment, null, renderList(unref(matrix).browsers, (browser) => {
2877
- return openBlock(), createBlock("th", {
2878
- key: browser,
2879
- class: "text-xs text-gray-500 uppercase tracking-wider font-medium px-1 text-center"
2880
- }, toDisplayString(browser), 1);
2881
- }), 128))
2882
- ])
2883
- ]),
2884
- createVNode("tbody", null, [
2885
- (openBlock(true), createBlock(Fragment, null, renderList(unref(matrix).rows, (row) => {
2886
- return openBlock(), createBlock("tr", {
2887
- key: row.projectId
2888
- }, [
2889
- createVNode("td", { class: "pr-2 max-w-[12rem]" }, [
2890
- createVNode(_component_NuxtLink, {
2891
- to: `/projects/${row.projectId}`,
2892
- class: "truncate hover:text-primary block",
2893
- title: row.label || row.name
2894
- }, {
2895
- default: withCtx(() => [
2896
- createTextVNode(toDisplayString(row.label || row.name), 1)
2897
- ]),
2898
- _: 2
2899
- }, 1032, ["to", "title"])
2900
- ]),
2901
- (openBlock(true), createBlock(Fragment, null, renderList(row.cells, (rate, index) => {
2902
- return openBlock(), createBlock("td", {
2903
- key: index,
2904
- class: ["text-center tabular-nums rounded-md px-2 py-1.5 font-medium", cellClass(rate)],
2905
- title: `${row.label || row.name} · ${unref(matrix).browsers[index]}: ${rate !== null ? `${rate}% passed` : "no tests"}`
2906
- }, toDisplayString(rate !== null ? `${Math.round(rate)}%` : "—"), 11, ["title"]);
2907
- }), 128))
2908
- ]);
2909
- }), 128))
2910
- ])
2911
- ])
2912
- ];
2913
- }
2914
- }),
2915
- _: 1
2916
- }, _parent2, _scopeId));
2917
- }
2918
- } else {
2919
- return [
2920
- unref(pending) ? (openBlock(), createBlock(_component_LoadingState, { key: 0 })) : unref(error) ? (openBlock(), createBlock(_component_ErrorState, {
2921
- key: 1,
2922
- text: `Couldn't load the browser matrix: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
2923
- }, {
2924
- action: withCtx(() => [
2925
- createVNode(_component_UButton, {
2926
- size: "sm",
2927
- color: "neutral",
2928
- variant: "outline",
2929
- icon: "i-lucide-refresh-cw",
2930
- onClick: ($event) => unref(refresh)()
2931
- }, {
2932
- default: withCtx(() => [
2933
- createTextVNode(" Retry ")
2934
- ]),
2935
- _: 1
2936
- }, 8, ["onClick"])
2937
- ]),
2938
- _: 1
2939
- }, 8, ["text"])) : !unref(matrix) || unref(matrix).rows.length === 0 ? (openBlock(), createBlock(_component_EmptyState, {
2940
- key: 2,
2941
- text: "No runs with browser data in this period."
2942
- })) : (openBlock(), createBlock(_component_TableScroller, {
2943
- key: 3,
2944
- "min-width": "30rem"
2945
- }, {
2946
- default: withCtx(() => [
2947
- createVNode("table", { class: "w-full text-sm border-separate border-spacing-1" }, [
2948
- createVNode("thead", null, [
2949
- createVNode("tr", null, [
2950
- createVNode("th", { class: "text-left text-xs text-gray-500 uppercase tracking-wider font-medium pr-2" }, "Project"),
2951
- (openBlock(true), createBlock(Fragment, null, renderList(unref(matrix).browsers, (browser) => {
2952
- return openBlock(), createBlock("th", {
2953
- key: browser,
2954
- class: "text-xs text-gray-500 uppercase tracking-wider font-medium px-1 text-center"
2955
- }, toDisplayString(browser), 1);
2956
- }), 128))
2957
- ])
2958
- ]),
2959
- createVNode("tbody", null, [
2960
- (openBlock(true), createBlock(Fragment, null, renderList(unref(matrix).rows, (row) => {
2961
- return openBlock(), createBlock("tr", {
2962
- key: row.projectId
2963
- }, [
2964
- createVNode("td", { class: "pr-2 max-w-[12rem]" }, [
2965
- createVNode(_component_NuxtLink, {
2966
- to: `/projects/${row.projectId}`,
2967
- class: "truncate hover:text-primary block",
2968
- title: row.label || row.name
2969
- }, {
2970
- default: withCtx(() => [
2971
- createTextVNode(toDisplayString(row.label || row.name), 1)
2972
- ]),
2973
- _: 2
2974
- }, 1032, ["to", "title"])
2975
- ]),
2976
- (openBlock(true), createBlock(Fragment, null, renderList(row.cells, (rate, index) => {
2977
- return openBlock(), createBlock("td", {
2978
- key: index,
2979
- class: ["text-center tabular-nums rounded-md px-2 py-1.5 font-medium", cellClass(rate)],
2980
- title: `${row.label || row.name} · ${unref(matrix).browsers[index]}: ${rate !== null ? `${rate}% passed` : "no tests"}`
2981
- }, toDisplayString(rate !== null ? `${Math.round(rate)}%` : "—"), 11, ["title"]);
2982
- }), 128))
2983
- ]);
2984
- }), 128))
2985
- ])
2986
- ])
2987
- ]),
2988
- _: 1
2989
- }))
2990
- ];
2991
- }
2992
- }),
2993
- _: 1
2994
- }, _parent));
2995
- };
2996
- }
2997
- });
2998
- const _sfc_setup$2 = _sfc_main$2.setup;
2999
- _sfc_main$2.setup = (props, ctx) => {
3000
- const ssrContext = useSSRContext();
3001
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/BrowserMatrix.vue");
3002
- return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
3003
- };
3004
- const BrowserMatrix = Object.assign(_sfc_main$2, { __name: "BrowserMatrix" });
3005
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3006
- __name: "SlowEndpointsTable",
3007
- __ssrInlineRender: true,
3008
- props: {
3009
- query: {}
3010
- },
3011
- async setup(__props) {
3012
- let __temp, __restore;
3013
- const props = __props;
3014
- const {
3015
- data: slow,
3016
- pending,
3017
- error,
3018
- refresh
3019
- } = ([__temp, __restore] = withAsyncContext(() => useAnalyticsWidget("slow-endpoints", () => props.query)), __temp = await __temp, __restore(), __temp);
3020
- function latencyClass(ms) {
3021
- if (ms >= 1e3) return "text-red-600 dark:text-red-400";
3022
- if (ms >= 500) return "text-amber-600 dark:text-amber-400";
3023
- return "text-gray-600 dark:text-gray-300";
3024
- }
3025
- function methodColor(method) {
3026
- const map = {
3027
- GET: "info",
3028
- POST: "success",
3029
- PUT: "warning",
3030
- PATCH: "warning",
3031
- DELETE: "error"
3032
- };
3033
- return map[method.toUpperCase()] ?? "neutral";
3034
- }
3035
- return (_ctx, _push, _parent, _attrs) => {
3036
- const _component_SectionCard = __nuxt_component_11;
3037
- const _component_LoadingState = __nuxt_component_13;
3038
- const _component_ErrorState = __nuxt_component_5$1;
3039
- const _component_UButton = _sfc_main$k;
3040
- const _component_FeatureUnavailable = __nuxt_component_4$1;
3041
- const _component_UBadge = _sfc_main$7$1;
3042
- const _component_TableScroller = __nuxt_component_3;
3043
- _push(ssrRenderComponent(_component_SectionCard, mergeProps({
3044
- icon: "i-lucide-gauge",
3045
- title: "Slow endpoints",
3046
- count: unref(slow)?.endpoints.length || void 0,
3047
- subtitle: "Backend calls across all projects, slowest first",
3048
- help: "analytics.slow-endpoints"
3049
- }, _attrs), {
3050
- default: withCtx((_, _push2, _parent2, _scopeId) => {
3051
- if (_push2) {
3052
- if (unref(pending)) {
3053
- _push2(ssrRenderComponent(_component_LoadingState, null, null, _parent2, _scopeId));
3054
- } else if (unref(error)) {
3055
- _push2(ssrRenderComponent(_component_ErrorState, {
3056
- text: `Couldn't load slow endpoints: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
3057
- }, {
3058
- action: withCtx((_2, _push3, _parent3, _scopeId2) => {
3059
- if (_push3) {
3060
- _push3(ssrRenderComponent(_component_UButton, {
3061
- size: "sm",
3062
- color: "neutral",
3063
- variant: "outline",
3064
- icon: "i-lucide-refresh-cw",
3065
- onClick: ($event) => unref(refresh)()
3066
- }, {
3067
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
3068
- if (_push4) {
3069
- _push4(` Retry `);
3070
- } else {
3071
- return [
3072
- createTextVNode(" Retry ")
3073
- ];
3074
- }
3075
- }),
3076
- _: 1
3077
- }, _parent3, _scopeId2));
3078
- } else {
3079
- return [
3080
- createVNode(_component_UButton, {
3081
- size: "sm",
3082
- color: "neutral",
3083
- variant: "outline",
3084
- icon: "i-lucide-refresh-cw",
3085
- onClick: ($event) => unref(refresh)()
3086
- }, {
3087
- default: withCtx(() => [
3088
- createTextVNode(" Retry ")
3089
- ]),
3090
- _: 1
3091
- }, 8, ["onClick"])
3092
- ];
3093
- }
3094
- }),
3095
- _: 1
3096
- }, _parent2, _scopeId));
3097
- } else if (!unref(slow) || unref(slow).endpoints.length === 0) {
3098
- _push2(ssrRenderComponent(_component_FeatureUnavailable, {
3099
- icon: "i-lucide-network",
3100
- title: "No network requests captured in this period",
3101
- text: "Slow endpoints need the Piwi capture fixtures — extend your Playwright test with piwiFixtures and request timing rides along with every run.",
3102
- doc: "capture-fixtures"
3103
- }, null, _parent2, _scopeId));
3104
- } else {
3105
- _push2(`<!--[--><div class="md:hidden space-y-3"${_scopeId}><!--[-->`);
3106
- ssrRenderList(unref(slow).endpoints, (ep) => {
3107
- _push2(`<div class="rounded-lg border border-gray-200 dark:border-gray-800 p-3 space-y-1.5"${_scopeId}><div class="flex items-center gap-2 min-w-0"${_scopeId}>`);
3108
- _push2(ssrRenderComponent(_component_UBadge, {
3109
- color: methodColor(ep.method),
3110
- variant: "subtle",
3111
- size: "sm"
3112
- }, {
3113
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
3114
- if (_push3) {
3115
- _push3(`${ssrInterpolate(ep.method)}`);
3116
- } else {
3117
- return [
3118
- createTextVNode(toDisplayString(ep.method), 1)
3119
- ];
3120
- }
3121
- }),
3122
- _: 2
3123
- }, _parent2, _scopeId));
3124
- _push2(`<code class="text-xs truncate"${_scopeId}>${ssrInterpolate(ep.route)}</code></div><div class="flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"${_scopeId}><span${_scopeId}>p90 <span class="${ssrRenderClass([latencyClass(ep.p90Ms), "tabular-nums font-medium"])}"${_scopeId}>${ssrInterpolate(ep.p90Ms)} ms</span></span><span${_scopeId}>${ssrInterpolate(ep.requests)} reqs · ${ssrInterpolate(ep.projectCount)} proj</span>`);
3125
- if (ep.errorRate > 0) {
3126
- _push2(`<span class="text-red-600 dark:text-red-400 tabular-nums"${_scopeId}>${ssrInterpolate(ep.errorRate)}% err</span>`);
3127
- } else {
3128
- _push2(`<!---->`);
3129
- }
3130
- _push2(`</div></div>`);
3131
- });
3132
- _push2(`<!--]--></div><div class="hidden md:block"${_scopeId}>`);
3133
- _push2(ssrRenderComponent(_component_TableScroller, { "min-width": "44rem" }, {
3134
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
3135
- if (_push3) {
3136
- _push3(`<table class="w-full text-sm"${_scopeId2}><thead${_scopeId2}><tr class="text-left text-xs text-gray-500 uppercase tracking-wider border-b border-gray-200 dark:border-gray-800"${_scopeId2}><th class="py-2 pr-4 font-medium"${_scopeId2}>Endpoint</th><th class="py-2 pr-4 font-medium text-right"${_scopeId2}>Requests</th><th class="py-2 pr-4 font-medium text-right"${_scopeId2}>p50</th><th class="py-2 pr-4 font-medium text-right"${_scopeId2}>p90</th><th class="py-2 pr-4 font-medium text-right"${_scopeId2}>Max</th><th class="py-2 pr-4 font-medium text-right"${_scopeId2}>Errors</th><th class="py-2 font-medium text-right"${_scopeId2}>Projects</th></tr></thead><tbody class="divide-y divide-gray-100 dark:divide-gray-800"${_scopeId2}><!--[-->`);
3137
- ssrRenderList(unref(slow).endpoints, (ep) => {
3138
- _push3(`<tr${_scopeId2}><td class="py-2.5 pr-4"${_scopeId2}><div class="flex items-center gap-2 min-w-0"${_scopeId2}>`);
3139
- _push3(ssrRenderComponent(_component_UBadge, {
3140
- color: methodColor(ep.method),
3141
- variant: "subtle",
3142
- size: "sm"
3143
- }, {
3144
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
3145
- if (_push4) {
3146
- _push4(`${ssrInterpolate(ep.method)}`);
3147
- } else {
3148
- return [
3149
- createTextVNode(toDisplayString(ep.method), 1)
3150
- ];
3151
- }
3152
- }),
3153
- _: 2
3154
- }, _parent3, _scopeId2));
3155
- _push3(`<code class="text-xs truncate max-w-[22rem]"${ssrRenderAttr("title", ep.route)}${_scopeId2}>${ssrInterpolate(ep.route)}</code></div></td><td class="py-2.5 pr-4 text-right tabular-nums"${_scopeId2}>${ssrInterpolate(ep.requests)}</td><td class="py-2.5 pr-4 text-right tabular-nums text-gray-500"${_scopeId2}>${ssrInterpolate(ep.p50Ms)} ms</td><td class="${ssrRenderClass([latencyClass(ep.p90Ms), "py-2.5 pr-4 text-right tabular-nums font-medium"])}"${_scopeId2}>${ssrInterpolate(ep.p90Ms)} ms </td><td class="py-2.5 pr-4 text-right tabular-nums text-gray-500"${_scopeId2}>${ssrInterpolate(ep.maxMs)} ms</td><td class="${ssrRenderClass([ep.errorRate > 0 ? "text-red-600 dark:text-red-400" : "text-gray-400", "py-2.5 pr-4 text-right tabular-nums"])}"${_scopeId2}>${ssrInterpolate(ep.errorRate)}% </td><td class="py-2.5 text-right tabular-nums"${_scopeId2}>${ssrInterpolate(ep.projectCount)}</td></tr>`);
3156
- });
3157
- _push3(`<!--]--></tbody></table>`);
3158
- } else {
3159
- return [
3160
- createVNode("table", { class: "w-full text-sm" }, [
3161
- createVNode("thead", null, [
3162
- createVNode("tr", { class: "text-left text-xs text-gray-500 uppercase tracking-wider border-b border-gray-200 dark:border-gray-800" }, [
3163
- createVNode("th", { class: "py-2 pr-4 font-medium" }, "Endpoint"),
3164
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Requests"),
3165
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "p50"),
3166
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "p90"),
3167
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Max"),
3168
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Errors"),
3169
- createVNode("th", { class: "py-2 font-medium text-right" }, "Projects")
3170
- ])
3171
- ]),
3172
- createVNode("tbody", { class: "divide-y divide-gray-100 dark:divide-gray-800" }, [
3173
- (openBlock(true), createBlock(Fragment, null, renderList(unref(slow).endpoints, (ep) => {
3174
- return openBlock(), createBlock("tr", {
3175
- key: `${ep.method} ${ep.route}`
3176
- }, [
3177
- createVNode("td", { class: "py-2.5 pr-4" }, [
3178
- createVNode("div", { class: "flex items-center gap-2 min-w-0" }, [
3179
- createVNode(_component_UBadge, {
3180
- color: methodColor(ep.method),
3181
- variant: "subtle",
3182
- size: "sm"
3183
- }, {
3184
- default: withCtx(() => [
3185
- createTextVNode(toDisplayString(ep.method), 1)
3186
- ]),
3187
- _: 2
3188
- }, 1032, ["color"]),
3189
- createVNode("code", {
3190
- class: "text-xs truncate max-w-[22rem]",
3191
- title: ep.route
3192
- }, toDisplayString(ep.route), 9, ["title"])
3193
- ])
3194
- ]),
3195
- createVNode("td", { class: "py-2.5 pr-4 text-right tabular-nums" }, toDisplayString(ep.requests), 1),
3196
- createVNode("td", { class: "py-2.5 pr-4 text-right tabular-nums text-gray-500" }, toDisplayString(ep.p50Ms) + " ms", 1),
3197
- createVNode("td", {
3198
- class: ["py-2.5 pr-4 text-right tabular-nums font-medium", latencyClass(ep.p90Ms)]
3199
- }, toDisplayString(ep.p90Ms) + " ms ", 3),
3200
- createVNode("td", { class: "py-2.5 pr-4 text-right tabular-nums text-gray-500" }, toDisplayString(ep.maxMs) + " ms", 1),
3201
- createVNode("td", {
3202
- class: ["py-2.5 pr-4 text-right tabular-nums", ep.errorRate > 0 ? "text-red-600 dark:text-red-400" : "text-gray-400"]
3203
- }, toDisplayString(ep.errorRate) + "% ", 3),
3204
- createVNode("td", { class: "py-2.5 text-right tabular-nums" }, toDisplayString(ep.projectCount), 1)
3205
- ]);
3206
- }), 128))
3207
- ])
3208
- ])
3209
- ];
3210
- }
3211
- }),
3212
- _: 1
3213
- }, _parent2, _scopeId));
3214
- _push2(`</div><!--]-->`);
3215
- }
3216
- } else {
3217
- return [
3218
- unref(pending) ? (openBlock(), createBlock(_component_LoadingState, { key: 0 })) : unref(error) ? (openBlock(), createBlock(_component_ErrorState, {
3219
- key: 1,
3220
- text: `Couldn't load slow endpoints: ${("errorMessage" in _ctx ? _ctx.errorMessage : unref(errorMessage))(unref(error))}`
3221
- }, {
3222
- action: withCtx(() => [
3223
- createVNode(_component_UButton, {
3224
- size: "sm",
3225
- color: "neutral",
3226
- variant: "outline",
3227
- icon: "i-lucide-refresh-cw",
3228
- onClick: ($event) => unref(refresh)()
3229
- }, {
3230
- default: withCtx(() => [
3231
- createTextVNode(" Retry ")
3232
- ]),
3233
- _: 1
3234
- }, 8, ["onClick"])
3235
- ]),
3236
- _: 1
3237
- }, 8, ["text"])) : !unref(slow) || unref(slow).endpoints.length === 0 ? (openBlock(), createBlock(_component_FeatureUnavailable, {
3238
- key: 2,
3239
- icon: "i-lucide-network",
3240
- title: "No network requests captured in this period",
3241
- text: "Slow endpoints need the Piwi capture fixtures — extend your Playwright test with piwiFixtures and request timing rides along with every run.",
3242
- doc: "capture-fixtures"
3243
- })) : (openBlock(), createBlock(Fragment, { key: 3 }, [
3244
- createVNode("div", { class: "md:hidden space-y-3" }, [
3245
- (openBlock(true), createBlock(Fragment, null, renderList(unref(slow).endpoints, (ep) => {
3246
- return openBlock(), createBlock("div", {
3247
- key: `${ep.method} ${ep.route}`,
3248
- class: "rounded-lg border border-gray-200 dark:border-gray-800 p-3 space-y-1.5"
3249
- }, [
3250
- createVNode("div", { class: "flex items-center gap-2 min-w-0" }, [
3251
- createVNode(_component_UBadge, {
3252
- color: methodColor(ep.method),
3253
- variant: "subtle",
3254
- size: "sm"
3255
- }, {
3256
- default: withCtx(() => [
3257
- createTextVNode(toDisplayString(ep.method), 1)
3258
- ]),
3259
- _: 2
3260
- }, 1032, ["color"]),
3261
- createVNode("code", { class: "text-xs truncate" }, toDisplayString(ep.route), 1)
3262
- ]),
3263
- createVNode("div", { class: "flex items-center justify-between text-xs text-gray-500 dark:text-gray-400" }, [
3264
- createVNode("span", null, [
3265
- createTextVNode("p90 "),
3266
- createVNode("span", {
3267
- class: ["tabular-nums font-medium", latencyClass(ep.p90Ms)]
3268
- }, toDisplayString(ep.p90Ms) + " ms", 3)
3269
- ]),
3270
- createVNode("span", null, toDisplayString(ep.requests) + " reqs · " + toDisplayString(ep.projectCount) + " proj", 1),
3271
- ep.errorRate > 0 ? (openBlock(), createBlock("span", {
3272
- key: 0,
3273
- class: "text-red-600 dark:text-red-400 tabular-nums"
3274
- }, toDisplayString(ep.errorRate) + "% err", 1)) : createCommentVNode("", true)
3275
- ])
3276
- ]);
3277
- }), 128))
3278
- ]),
3279
- createVNode("div", { class: "hidden md:block" }, [
3280
- createVNode(_component_TableScroller, { "min-width": "44rem" }, {
3281
- default: withCtx(() => [
3282
- createVNode("table", { class: "w-full text-sm" }, [
3283
- createVNode("thead", null, [
3284
- createVNode("tr", { class: "text-left text-xs text-gray-500 uppercase tracking-wider border-b border-gray-200 dark:border-gray-800" }, [
3285
- createVNode("th", { class: "py-2 pr-4 font-medium" }, "Endpoint"),
3286
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Requests"),
3287
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "p50"),
3288
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "p90"),
3289
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Max"),
3290
- createVNode("th", { class: "py-2 pr-4 font-medium text-right" }, "Errors"),
3291
- createVNode("th", { class: "py-2 font-medium text-right" }, "Projects")
3292
- ])
3293
- ]),
3294
- createVNode("tbody", { class: "divide-y divide-gray-100 dark:divide-gray-800" }, [
3295
- (openBlock(true), createBlock(Fragment, null, renderList(unref(slow).endpoints, (ep) => {
3296
- return openBlock(), createBlock("tr", {
3297
- key: `${ep.method} ${ep.route}`
3298
- }, [
3299
- createVNode("td", { class: "py-2.5 pr-4" }, [
3300
- createVNode("div", { class: "flex items-center gap-2 min-w-0" }, [
3301
- createVNode(_component_UBadge, {
3302
- color: methodColor(ep.method),
3303
- variant: "subtle",
3304
- size: "sm"
3305
- }, {
3306
- default: withCtx(() => [
3307
- createTextVNode(toDisplayString(ep.method), 1)
3308
- ]),
3309
- _: 2
3310
- }, 1032, ["color"]),
3311
- createVNode("code", {
3312
- class: "text-xs truncate max-w-[22rem]",
3313
- title: ep.route
3314
- }, toDisplayString(ep.route), 9, ["title"])
3315
- ])
3316
- ]),
3317
- createVNode("td", { class: "py-2.5 pr-4 text-right tabular-nums" }, toDisplayString(ep.requests), 1),
3318
- createVNode("td", { class: "py-2.5 pr-4 text-right tabular-nums text-gray-500" }, toDisplayString(ep.p50Ms) + " ms", 1),
3319
- createVNode("td", {
3320
- class: ["py-2.5 pr-4 text-right tabular-nums font-medium", latencyClass(ep.p90Ms)]
3321
- }, toDisplayString(ep.p90Ms) + " ms ", 3),
3322
- createVNode("td", { class: "py-2.5 pr-4 text-right tabular-nums text-gray-500" }, toDisplayString(ep.maxMs) + " ms", 1),
3323
- createVNode("td", {
3324
- class: ["py-2.5 pr-4 text-right tabular-nums", ep.errorRate > 0 ? "text-red-600 dark:text-red-400" : "text-gray-400"]
3325
- }, toDisplayString(ep.errorRate) + "% ", 3),
3326
- createVNode("td", { class: "py-2.5 text-right tabular-nums" }, toDisplayString(ep.projectCount), 1)
3327
- ]);
3328
- }), 128))
3329
- ])
3330
- ])
3331
- ]),
3332
- _: 1
3333
- })
3334
- ])
3335
- ], 64))
3336
- ];
3337
- }
3338
- }),
3339
- _: 1
3340
- }, _parent));
3341
- };
3342
- }
3343
- });
3344
- const _sfc_setup$1 = _sfc_main$1.setup;
3345
- _sfc_main$1.setup = (props, ctx) => {
3346
- const ssrContext = useSSRContext();
3347
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/analytics/SlowEndpointsTable.vue");
3348
- return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
3349
- };
3350
- const SlowEndpointsTable = Object.assign(_sfc_main$1, { __name: "SlowEndpointsTable" });
3351
- const _sfc_main = /* @__PURE__ */ defineComponent({
3352
- __name: "analytics",
3353
- __ssrInlineRender: true,
3354
- async setup(__props) {
3355
- let __temp, __restore;
3356
- useHead({ title: "Analytics - Piwi Dashboard" });
3357
- const { state, scopeQuery } = useAnalyticsScope();
3358
- const { data: availableProjects } = ([__temp, __restore] = withAsyncContext(() => useFetch(
3359
- "/api/projects/menu",
3360
- {
3361
- lazy: true,
3362
- server: false,
3363
- default: () => []
3364
- },
3365
- "$sFpNat489G"
3366
- /* nuxt-injected */
3367
- )), __temp = await __temp, __restore(), __temp);
3368
- const { data: recentTestRuns } = ([__temp, __restore] = withAsyncContext(() => useFetch(
3369
- "/api/test-runs/recent",
3370
- {
3371
- lazy: true,
3372
- server: false,
3373
- default: () => []
3374
- },
3375
- "$QJEpX0hRMv"
3376
- /* nuxt-injected */
3377
- )), __temp = await __temp, __restore(), __temp);
3378
- const availableEnvironments = computed(() => {
3379
- const envSet = /* @__PURE__ */ new Set();
3380
- for (const run of recentTestRuns.value ?? []) {
3381
- if (run.environment) envSet.add(run.environment);
3382
- }
3383
- return [...envSet].sort();
3384
- });
3385
- const newestRunTime = computed(() => {
3386
- const runs = recentTestRuns.value ?? [];
3387
- if (runs.length === 0) return null;
3388
- return Math.max(...runs.map((r) => new Date(r.startTime).getTime()));
3389
- });
3390
- const windowHidesData = computed(() => {
3391
- if (newestRunTime.value === null) return false;
3392
- if (state.value.days >= MAX_ANALYTICS_DAYS) return false;
3393
- const windowStart = Date.now() - state.value.days * 24 * 60 * 60 * 1e3;
3394
- return newestRunTime.value < windowStart;
3395
- });
3396
- function widenToAllTime() {
3397
- state.value = { ...state.value, days: MAX_ANALYTICS_DAYS };
3398
- }
3399
- const WIDGET_COMPONENTS = {
3400
- insights: InsightsFeed,
3401
- portfolio: PortfolioScorecard,
3402
- "pass-rate-heatmap": PassRateHeatmap,
3403
- "ci-time-trend": CiTimeTrendChart,
3404
- "wasted-time": WastedTimeChart,
3405
- "flaky-leaderboard": GlobalFlakyLeaderboard,
3406
- "cluster-landscape": ClusterLandscape,
3407
- "regression-velocity": RegressionVelocityChart,
3408
- "browser-matrix": BrowserMatrix,
3409
- "slow-endpoints": SlowEndpointsTable
3410
- };
3411
- const bands = computed(
3412
- () => ANALYTICS_BANDS.map((band) => ({
3413
- ...band,
3414
- widgets: ANALYTICS_WIDGETS.filter((w) => w.band === band.id)
3415
- })).filter((band) => band.widgets.length > 0)
3416
- );
3417
- return (_ctx, _push, _parent, _attrs) => {
3418
- const _component_UDashboardPanel = _sfc_main$1$1;
3419
- const _component_UDashboardNavbar = _sfc_main$d;
3420
- const _component_UDashboardSidebarCollapse = _sfc_main$1$2;
3421
- const _component_UBreadcrumb = _sfc_main$e;
3422
- const _component_FilterToolbar = __nuxt_component_4;
3423
- const _component_AnalyticsScopeBar = __nuxt_component_5;
3424
- const _component_UAlert = _sfc_main$c;
3425
- _push(ssrRenderComponent(_component_UDashboardPanel, mergeProps({ id: "analytics" }, _attrs), {
3426
- header: withCtx((_, _push2, _parent2, _scopeId) => {
3427
- if (_push2) {
3428
- _push2(ssrRenderComponent(_component_UDashboardNavbar, null, {
3429
- leading: withCtx((_2, _push3, _parent3, _scopeId2) => {
3430
- if (_push3) {
3431
- _push3(ssrRenderComponent(_component_UDashboardSidebarCollapse, null, null, _parent3, _scopeId2));
3432
- _push3(ssrRenderComponent(_component_UBreadcrumb, { items: [{ label: "Analytics", icon: "i-lucide-chart-line", to: "/analytics" }] }, null, _parent3, _scopeId2));
3433
- } else {
3434
- return [
3435
- createVNode(_component_UDashboardSidebarCollapse),
3436
- createVNode(_component_UBreadcrumb, { items: [{ label: "Analytics", icon: "i-lucide-chart-line", to: "/analytics" }] })
3437
- ];
3438
- }
3439
- }),
3440
- _: 1
3441
- }, _parent2, _scopeId));
3442
- } else {
3443
- return [
3444
- createVNode(_component_UDashboardNavbar, null, {
3445
- leading: withCtx(() => [
3446
- createVNode(_component_UDashboardSidebarCollapse),
3447
- createVNode(_component_UBreadcrumb, { items: [{ label: "Analytics", icon: "i-lucide-chart-line", to: "/analytics" }] })
3448
- ]),
3449
- _: 1
3450
- })
3451
- ];
3452
- }
3453
- }),
3454
- body: withCtx((_, _push2, _parent2, _scopeId) => {
3455
- if (_push2) {
3456
- _push2(`<div class="space-y-6"${_scopeId}>`);
3457
- _push2(ssrRenderComponent(_component_FilterToolbar, null, {
3458
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
3459
- if (_push3) {
3460
- _push3(ssrRenderComponent(_component_AnalyticsScopeBar, {
3461
- modelValue: unref(state),
3462
- "onUpdate:modelValue": ($event) => isRef(state) ? state.value = $event : null,
3463
- "available-projects": unref(availableProjects),
3464
- "available-environments": unref(availableEnvironments)
3465
- }, null, _parent3, _scopeId2));
3466
- } else {
3467
- return [
3468
- createVNode(_component_AnalyticsScopeBar, {
3469
- modelValue: unref(state),
3470
- "onUpdate:modelValue": ($event) => isRef(state) ? state.value = $event : null,
3471
- "available-projects": unref(availableProjects),
3472
- "available-environments": unref(availableEnvironments)
3473
- }, null, 8, ["modelValue", "onUpdate:modelValue", "available-projects", "available-environments"])
3474
- ];
3475
- }
3476
- }),
3477
- _: 1
3478
- }, _parent2, _scopeId));
3479
- if (unref(windowHidesData)) {
3480
- _push2(ssrRenderComponent(_component_UAlert, {
3481
- icon: "i-lucide-calendar-off",
3482
- color: "warning",
3483
- variant: "subtle",
3484
- title: `No test runs in the last ${unref(state).days} days`,
3485
- description: `Your most recent run was ${("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(unref(newestRunTime))} — the widgets below look empty because the selected range excludes it.`,
3486
- actions: [
3487
- { label: "Show all time", color: "warning", variant: "solid", size: "xs", onClick: widenToAllTime }
3488
- ]
3489
- }, null, _parent2, _scopeId));
3490
- } else {
3491
- _push2(`<!---->`);
3492
- }
3493
- _push2(`<!--[-->`);
3494
- ssrRenderList(unref(bands), (band) => {
3495
- _push2(`<section class="space-y-3"${_scopeId}><div${_scopeId}><h2 class="text-sm font-semibold uppercase tracking-wide text-dimmed"${_scopeId}>${ssrInterpolate(band.label)}</h2><p class="text-sm text-muted"${_scopeId}>${ssrInterpolate(band.description)}</p></div><div class="grid grid-cols-1 xl:grid-cols-2 gap-6 items-start"${_scopeId}><!--[-->`);
3496
- ssrRenderList(band.widgets, (widget) => {
3497
- _push2(`<div class="${ssrRenderClass(widget.size === "full" ? "xl:col-span-2" : "")}"${_scopeId}>`);
3498
- ssrRenderVNode(_push2, createVNode(resolveDynamicComponent(WIDGET_COMPONENTS[widget.id]), { query: unref(scopeQuery) }, null), _parent2, _scopeId);
3499
- _push2(`</div>`);
3500
- });
3501
- _push2(`<!--]--></div></section>`);
3502
- });
3503
- _push2(`<!--]--></div>`);
3504
- } else {
3505
- return [
3506
- createVNode("div", { class: "space-y-6" }, [
3507
- createVNode(_component_FilterToolbar, null, {
3508
- default: withCtx(() => [
3509
- createVNode(_component_AnalyticsScopeBar, {
3510
- modelValue: unref(state),
3511
- "onUpdate:modelValue": ($event) => isRef(state) ? state.value = $event : null,
3512
- "available-projects": unref(availableProjects),
3513
- "available-environments": unref(availableEnvironments)
3514
- }, null, 8, ["modelValue", "onUpdate:modelValue", "available-projects", "available-environments"])
3515
- ]),
3516
- _: 1
3517
- }),
3518
- unref(windowHidesData) ? (openBlock(), createBlock(_component_UAlert, {
3519
- key: 0,
3520
- icon: "i-lucide-calendar-off",
3521
- color: "warning",
3522
- variant: "subtle",
3523
- title: `No test runs in the last ${unref(state).days} days`,
3524
- description: `Your most recent run was ${("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(unref(newestRunTime))} — the widgets below look empty because the selected range excludes it.`,
3525
- actions: [
3526
- { label: "Show all time", color: "warning", variant: "solid", size: "xs", onClick: widenToAllTime }
3527
- ]
3528
- }, null, 8, ["title", "description", "actions"])) : createCommentVNode("", true),
3529
- (openBlock(true), createBlock(Fragment, null, renderList(unref(bands), (band) => {
3530
- return openBlock(), createBlock("section", {
3531
- key: band.id,
3532
- class: "space-y-3"
3533
- }, [
3534
- createVNode("div", null, [
3535
- createVNode("h2", { class: "text-sm font-semibold uppercase tracking-wide text-dimmed" }, toDisplayString(band.label), 1),
3536
- createVNode("p", { class: "text-sm text-muted" }, toDisplayString(band.description), 1)
3537
- ]),
3538
- createVNode("div", { class: "grid grid-cols-1 xl:grid-cols-2 gap-6 items-start" }, [
3539
- (openBlock(true), createBlock(Fragment, null, renderList(band.widgets, (widget) => {
3540
- return openBlock(), createBlock("div", {
3541
- key: widget.id,
3542
- class: widget.size === "full" ? "xl:col-span-2" : ""
3543
- }, [
3544
- (openBlock(), createBlock(resolveDynamicComponent(WIDGET_COMPONENTS[widget.id]), { query: unref(scopeQuery) }, null, 8, ["query"]))
3545
- ], 2);
3546
- }), 128))
3547
- ])
3548
- ]);
3549
- }), 128))
3550
- ])
3551
- ];
3552
- }
3553
- }),
3554
- _: 1
3555
- }, _parent));
3556
- };
3557
- }
3558
- });
3559
- const _sfc_setup = _sfc_main.setup;
3560
- _sfc_main.setup = (props, ctx) => {
3561
- const ssrContext = useSSRContext();
3562
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/analytics.vue");
3563
- return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
3564
- };
3565
-
3566
- export { _sfc_main as default };
3567
- //# sourceMappingURL=analytics-CZJEU0an.mjs.map