@piwitests/server 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2468) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/3HmftUHT.js +1 -0
  3. package/.output/public/_nuxt/9oKY4Zb7.js +1 -0
  4. package/.output/public/_nuxt/B0eHOux4.js +1 -0
  5. package/.output/public/_nuxt/B1KjIR-q.js +1 -0
  6. package/.output/public/_nuxt/B4NjylBn.js +1 -0
  7. package/.output/public/_nuxt/B6djubIK.js +1 -0
  8. package/.output/public/_nuxt/B7uPoZ7T.js +1 -0
  9. package/.output/public/_nuxt/B7zo6PK8.js +1 -0
  10. package/.output/public/_nuxt/B8tezsWe.js +2 -0
  11. package/.output/public/_nuxt/BIamiwb7.js +5 -0
  12. package/.output/public/_nuxt/BL8cYWsR.js +1 -0
  13. package/.output/public/_nuxt/BMlKQMjM.js +1 -0
  14. package/.output/public/_nuxt/BO4sfkbw.js +1 -0
  15. package/.output/public/_nuxt/BOn5q0rT.js +1 -0
  16. package/.output/public/_nuxt/BPhGDGAR.js +1 -0
  17. package/.output/public/_nuxt/BTG_PmM5.js +1 -0
  18. package/.output/public/_nuxt/BV8EzO8q.js +1 -0
  19. package/.output/public/_nuxt/BY9A1aOT.js +1 -0
  20. package/.output/public/_nuxt/Bb_1uAHn.js +1 -0
  21. package/.output/public/_nuxt/BdQ7kfxJ.js +254 -0
  22. package/.output/public/_nuxt/BdyXNI2_.js +1 -0
  23. package/.output/public/_nuxt/Be0bwdsi.js +1 -0
  24. package/.output/public/_nuxt/Bg63qh8W.js +1 -0
  25. package/.output/public/_nuxt/Bh2WA4IJ.js +1 -0
  26. package/.output/public/_nuxt/BilJoEne.js +1 -0
  27. package/.output/public/_nuxt/BkHJoHpc.js +1 -0
  28. package/.output/public/_nuxt/BnhWd06P.js +1 -0
  29. package/.output/public/_nuxt/Bo73sAu8.js +1 -0
  30. package/.output/public/_nuxt/Bp2zrrkV.js +1 -0
  31. package/.output/public/_nuxt/Bp55g9gr.js +7 -0
  32. package/.output/public/_nuxt/BsGvSoPC.js +1 -0
  33. package/.output/public/_nuxt/BtcDY0Du.js +1 -0
  34. package/.output/public/_nuxt/C2hIM5f9.js +1 -0
  35. package/.output/public/_nuxt/C2yZcDch.js +1 -0
  36. package/.output/public/_nuxt/C5X_N4R7.js +79 -0
  37. package/.output/public/_nuxt/C6R4tyud.js +1 -0
  38. package/.output/public/_nuxt/C9A3sPDo.js +1 -0
  39. package/.output/public/_nuxt/CEgRB8H9.js +9 -0
  40. package/.output/public/_nuxt/CFKbXp6V.js +17 -0
  41. package/.output/public/_nuxt/CFg5qdS0.js +1 -0
  42. package/.output/public/_nuxt/CHWW6xiX.js +1 -0
  43. package/.output/public/_nuxt/CIPvUOic.js +2 -0
  44. package/.output/public/_nuxt/CK2AMqz_.js +1 -0
  45. package/.output/public/_nuxt/CLrLFf3s.js +4 -0
  46. package/.output/public/_nuxt/CMVTTE_g.js +1 -0
  47. package/.output/public/_nuxt/CPrVhXJk.js +1 -0
  48. package/.output/public/_nuxt/CTFUlsXp.js +1 -0
  49. package/.output/public/_nuxt/CUWrUpTl.js +1 -0
  50. package/.output/public/_nuxt/CUjzhXN1.js +1 -0
  51. package/.output/public/_nuxt/CVcFbORW.js +9 -0
  52. package/.output/public/_nuxt/CY1UsEbI.js +1 -0
  53. package/.output/public/_nuxt/CZ6WR7uw.js +1 -0
  54. package/.output/public/_nuxt/CZXeJs2k.js +1 -0
  55. package/.output/public/_nuxt/CZlz5y13.js +1 -0
  56. package/.output/public/_nuxt/C_eXufkv.js +1 -0
  57. package/.output/public/_nuxt/CbzgEkmW.js +2 -0
  58. package/.output/public/_nuxt/CfV2N201.js +1 -0
  59. package/.output/public/_nuxt/Cf_a8ynB.js +2 -0
  60. package/.output/public/_nuxt/ChlP20A5.js +6 -0
  61. package/.output/public/_nuxt/CkV_UG8j.js +1 -0
  62. package/.output/public/_nuxt/CrZhoZuI.js +1 -0
  63. package/.output/public/_nuxt/CrsaY0R_.js +1 -0
  64. package/.output/public/_nuxt/CsGsLxHg.js +1 -0
  65. package/.output/public/_nuxt/CsJ9Ce4U.js +1 -0
  66. package/.output/public/_nuxt/CxRTKV-K.js +44 -0
  67. package/.output/public/_nuxt/CxspCKpR.js +5 -0
  68. package/.output/public/_nuxt/CxwnFFD0.js +1 -0
  69. package/.output/public/_nuxt/CyWOerIG.js +1 -0
  70. package/.output/public/_nuxt/D0TpBpCc.js +1 -0
  71. package/.output/public/_nuxt/D0XWJGhG.js +1 -0
  72. package/.output/public/_nuxt/D3LyIeiJ.js +1 -0
  73. package/.output/public/_nuxt/D56yp7m9.js +1 -0
  74. package/.output/public/_nuxt/D5SN7rPK.js +1 -0
  75. package/.output/public/_nuxt/D72Ce8Ff.js +1 -0
  76. package/.output/public/_nuxt/DCeZxpxe.js +5 -0
  77. package/.output/public/_nuxt/DKgbchez.js +1 -0
  78. package/.output/public/_nuxt/DKhqIou2.js +1 -0
  79. package/.output/public/_nuxt/DLN-CQXF.js +5 -0
  80. package/.output/public/_nuxt/DPPhFZOr.js +1 -0
  81. package/.output/public/_nuxt/DR1jFptD.js +1 -0
  82. package/.output/public/_nuxt/DTtizz85.js +1 -0
  83. package/.output/public/_nuxt/DUC3QnqW.js +4 -0
  84. package/.output/public/_nuxt/DVIIj6Vv.js +1 -0
  85. package/.output/public/_nuxt/D_SD71Qf.js +1 -0
  86. package/.output/public/_nuxt/DadksxQ9.js +1 -0
  87. package/.output/public/_nuxt/DcccidY5.js +4 -0
  88. package/.output/public/_nuxt/DqkCbAzo.js +1 -0
  89. package/.output/public/_nuxt/Drh1_ASq.js +1 -0
  90. package/.output/public/_nuxt/DtGJeysS.js +1 -0
  91. package/.output/public/_nuxt/DwH4SIZE.js +1 -0
  92. package/.output/public/_nuxt/DwZS0oRm.js +2 -0
  93. package/.output/public/_nuxt/DxPZIuWy.js +1 -0
  94. package/.output/public/_nuxt/Dyb1FouX.js +1 -0
  95. package/.output/public/_nuxt/DzJa19LG.js +1 -0
  96. package/.output/public/_nuxt/EJllK0wm.js +1 -0
  97. package/.output/public/_nuxt/G2J1dVVb.js +1 -0
  98. package/.output/public/_nuxt/Gn1Ns00e.js +3 -0
  99. package/.output/public/_nuxt/HGYIpJtg.js +1 -0
  100. package/.output/public/_nuxt/IoE3eJ9F.js +1 -0
  101. package/.output/public/_nuxt/LWIyaZKe.js +1 -0
  102. package/.output/public/_nuxt/Q2oJNyXL.js +1 -0
  103. package/.output/public/_nuxt/R7AVOWi_.js +1 -0
  104. package/.output/public/_nuxt/Sx5-c-bZ.js +1 -0
  105. package/.output/public/_nuxt/WZXZeGYt.js +1 -0
  106. package/.output/public/_nuxt/builds/latest.json +1 -1
  107. package/.output/public/_nuxt/builds/meta/a5fb24cc-65e3-4e55-aa12-038fe2de4754.json +1 -0
  108. package/.output/public/_nuxt/dg6uXTyR.js +1 -0
  109. package/.output/public/_nuxt/entry.BFe0Ua9k.css +1 -0
  110. package/.output/public/_nuxt/i7znB42v.js +1 -0
  111. package/.output/public/_nuxt/igDJCTgt.js +1 -0
  112. package/.output/public/_nuxt/j2eGYaRa.js +1 -0
  113. package/.output/public/_nuxt/jv8U_Tup.js +1 -0
  114. package/.output/public/_nuxt/oA84LLqO.js +1 -0
  115. package/.output/public/_nuxt/r-HZNbp3.js +5 -0
  116. package/.output/public/_nuxt/r6zkA1SE.js +1 -0
  117. package/.output/public/_nuxt/rPG7kzfL.js +1 -0
  118. package/.output/public/_nuxt/vcSKeWsW.js +1 -0
  119. package/.output/public/_nuxt/xKX9IHe3.js +2 -0
  120. package/.output/public/demo/seed.version.json +2 -2
  121. package/.output/server/chunks/_/collect.mjs +1 -1
  122. package/.output/server/chunks/_/icons2.mjs +11506 -0
  123. package/.output/server/chunks/_/icons2.mjs.map +1 -0
  124. package/.output/server/chunks/_/markers.mjs +3 -3
  125. package/.output/server/chunks/_/markers.mjs.map +1 -1
  126. package/.output/server/chunks/_/scope.mjs +3 -0
  127. package/.output/server/chunks/_/scope.mjs.map +1 -1
  128. package/.output/server/chunks/_/users.mjs +15 -2
  129. package/.output/server/chunks/_/users.mjs.map +1 -1
  130. package/.output/server/chunks/build/Alert-gs8RgKxH.mjs +479 -0
  131. package/.output/server/chunks/build/Alert-gs8RgKxH.mjs.map +1 -0
  132. package/.output/server/chunks/build/Breadcrumb-DtV_L8Gt.mjs +522 -0
  133. package/.output/server/chunks/build/Breadcrumb-DtV_L8Gt.mjs.map +1 -0
  134. package/.output/server/chunks/build/BreadcrumbNav-DBnGj5Jq.mjs +111 -0
  135. package/.output/server/chunks/build/BreadcrumbNav-DBnGj5Jq.mjs.map +1 -0
  136. package/.output/server/chunks/build/BrowserBadge-vFb1ERG_.mjs +89 -0
  137. package/.output/server/chunks/build/BrowserBadge-vFb1ERG_.mjs.map +1 -0
  138. package/.output/server/chunks/build/ChartMarkerLines-BXqUpUcs.mjs +113 -0
  139. package/.output/server/chunks/build/ChartMarkerLines-BXqUpUcs.mjs.map +1 -0
  140. package/.output/server/chunks/build/ChartTooltip-DoF6Smyc.mjs +298 -0
  141. package/.output/server/chunks/build/ChartTooltip-DoF6Smyc.mjs.map +1 -0
  142. package/.output/server/chunks/build/Checkbox-ChSYhiUz.mjs +746 -0
  143. package/.output/server/chunks/build/Checkbox-ChSYhiUz.mjs.map +1 -0
  144. package/.output/server/chunks/build/CodeBlock-CmvKHaq8.mjs +54 -0
  145. package/.output/server/chunks/build/CodeBlock-CmvKHaq8.mjs.map +1 -0
  146. package/.output/server/chunks/build/DashboardNavbar-C3PsNVJt.mjs +270 -0
  147. package/.output/server/chunks/build/DashboardNavbar-C3PsNVJt.mjs.map +1 -0
  148. package/.output/server/chunks/build/DashboardSidebarToggle-a5KYecZ0.mjs +480 -0
  149. package/.output/server/chunks/build/DashboardSidebarToggle-a5KYecZ0.mjs.map +1 -0
  150. package/.output/server/chunks/build/DataLocationCard-ChV02QJj.mjs +102 -0
  151. package/.output/server/chunks/build/DataLocationCard-ChV02QJj.mjs.map +1 -0
  152. package/.output/server/chunks/build/DesktopRunLocallyButton-BfmbZpiL.mjs +1122 -0
  153. package/.output/server/chunks/build/DesktopRunLocallyButton-BfmbZpiL.mjs.map +1 -0
  154. package/.output/server/chunks/build/DiagnosisPanel-C_ndadzP.mjs +1207 -0
  155. package/.output/server/chunks/build/DiagnosisPanel-C_ndadzP.mjs.map +1 -0
  156. package/.output/server/chunks/build/DiagnosisResult-GAjo6Lt3.mjs +1524 -0
  157. package/.output/server/chunks/build/DiagnosisResult-GAjo6Lt3.mjs.map +1 -0
  158. package/.output/server/chunks/build/DurationValue-CObiBDnH.mjs +43 -0
  159. package/.output/server/chunks/build/DurationValue-CObiBDnH.mjs.map +1 -0
  160. package/.output/server/chunks/build/EntityLinks-BcpvMt_V.mjs +325 -0
  161. package/.output/server/chunks/build/EntityLinks-BcpvMt_V.mjs.map +1 -0
  162. package/.output/server/chunks/build/EnvManagedBadge-_8GfjWjE.mjs +71 -0
  163. package/.output/server/chunks/build/EnvManagedBadge-_8GfjWjE.mjs.map +1 -0
  164. package/.output/server/chunks/build/FeatureUnavailable-Buoyoqx1.mjs +83 -0
  165. package/.output/server/chunks/build/FeatureUnavailable-Buoyoqx1.mjs.map +1 -0
  166. package/.output/server/chunks/build/FormField-GYHKiSI6.mjs +282 -0
  167. package/.output/server/chunks/build/FormField-GYHKiSI6.mjs.map +1 -0
  168. package/.output/server/chunks/build/GetStartedWizard-tL3U_qM1.mjs +510 -0
  169. package/.output/server/chunks/build/GetStartedWizard-tL3U_qM1.mjs.map +1 -0
  170. package/.output/server/chunks/build/HelpHint-C96TlqxY.mjs +1070 -0
  171. package/.output/server/chunks/build/HelpHint-C96TlqxY.mjs.map +1 -0
  172. package/.output/server/chunks/build/MetaStripGroup-Cp2WCQf7.mjs +193 -0
  173. package/.output/server/chunks/build/MetaStripGroup-Cp2WCQf7.mjs.map +1 -0
  174. package/.output/server/chunks/build/MiniRunBars-CcSn_9Wl.mjs +59 -0
  175. package/.output/server/chunks/build/MiniRunBars-CcSn_9Wl.mjs.map +1 -0
  176. package/.output/server/chunks/build/Modal-BGBGJtVH.mjs +1472 -0
  177. package/.output/server/chunks/build/Modal-BGBGJtVH.mjs.map +1 -0
  178. package/.output/server/chunks/build/NavigationMenu-D4ZpdCm_.mjs +4155 -0
  179. package/.output/server/chunks/build/NavigationMenu-D4ZpdCm_.mjs.map +1 -0
  180. package/.output/server/chunks/build/OpenInIdeLink-Bnl-_som.mjs +396 -0
  181. package/.output/server/chunks/build/OpenInIdeLink-Bnl-_som.mjs.map +1 -0
  182. package/.output/server/chunks/build/ProjectTestCasesTable-saHYJoyQ.mjs +2407 -0
  183. package/.output/server/chunks/build/ProjectTestCasesTable-saHYJoyQ.mjs.map +1 -0
  184. package/.output/server/chunks/build/RovingFocusItem-CLjuqlIR.mjs +100 -0
  185. package/.output/server/chunks/build/RovingFocusItem-CLjuqlIR.mjs.map +1 -0
  186. package/.output/server/chunks/build/RunReports-CKYYRC59.mjs +57 -0
  187. package/.output/server/chunks/build/RunReports-CKYYRC59.mjs.map +1 -0
  188. package/.output/server/chunks/build/RunStatusBadge-CWhmAmKb.mjs +59 -0
  189. package/.output/server/chunks/build/RunStatusBadge-CWhmAmKb.mjs.map +1 -0
  190. package/.output/server/chunks/build/SectionCard-BB1O3uXd.mjs +142 -0
  191. package/.output/server/chunks/build/SectionCard-BB1O3uXd.mjs.map +1 -0
  192. package/.output/server/chunks/build/Select-COU8NARj.mjs +3572 -0
  193. package/.output/server/chunks/build/Select-COU8NARj.mjs.map +1 -0
  194. package/.output/server/chunks/build/SelectMenu-BUwwc3Qt.mjs +4400 -0
  195. package/.output/server/chunks/build/SelectMenu-BUwwc3Qt.mjs.map +1 -0
  196. package/.output/server/chunks/build/Separator-CQsq6WA9.mjs +421 -0
  197. package/.output/server/chunks/build/Separator-CQsq6WA9.mjs.map +1 -0
  198. package/.output/server/chunks/build/SettingsField-CEasBHu3.mjs +174 -0
  199. package/.output/server/chunks/build/SettingsField-CEasBHu3.mjs.map +1 -0
  200. package/.output/server/chunks/build/Slideover-DN5CvSnw.mjs +926 -0
  201. package/.output/server/chunks/build/Slideover-DN5CvSnw.mjs.map +1 -0
  202. package/.output/server/chunks/build/Switch-_NJhWmI9.mjs +655 -0
  203. package/.output/server/chunks/build/Switch-_NJhWmI9.mjs.map +1 -0
  204. package/.output/server/chunks/build/Table-BET-DOtX.mjs +949 -0
  205. package/.output/server/chunks/build/Table-BET-DOtX.mjs.map +1 -0
  206. package/.output/server/chunks/build/Tabs-CC34LIUz.mjs +1058 -0
  207. package/.output/server/chunks/build/Tabs-CC34LIUz.mjs.map +1 -0
  208. package/.output/server/chunks/build/TagBadge-aGUzbCxx.mjs +31 -0
  209. package/.output/server/chunks/build/TagBadge-aGUzbCxx.mjs.map +1 -0
  210. package/.output/server/chunks/build/TestCaseHistoryChart-BgI6P_zS.mjs +221 -0
  211. package/.output/server/chunks/build/TestCaseHistoryChart-BgI6P_zS.mjs.map +1 -0
  212. package/.output/server/chunks/build/TestStatusBar-DR8jM5th.mjs +109 -0
  213. package/.output/server/chunks/build/TestStatusBar-DR8jM5th.mjs.map +1 -0
  214. package/.output/server/chunks/build/Textarea-CmjqdiIA.mjs +605 -0
  215. package/.output/server/chunks/build/Textarea-CmjqdiIA.mjs.map +1 -0
  216. package/.output/server/chunks/build/Tooltip-CK0ucuXC.mjs +874 -0
  217. package/.output/server/chunks/build/Tooltip-CK0ucuXC.mjs.map +1 -0
  218. package/.output/server/chunks/build/VisuallyHiddenInput-D4E5aJCQ.mjs +142 -0
  219. package/.output/server/chunks/build/VisuallyHiddenInput-D4E5aJCQ.mjs.map +1 -0
  220. package/.output/server/chunks/build/_id_-B7Dw490u.mjs +8608 -0
  221. package/.output/server/chunks/build/_id_-B7Dw490u.mjs.map +1 -0
  222. package/.output/server/chunks/build/_id_-DVPb1S93.mjs +8736 -0
  223. package/.output/server/chunks/build/_id_-DVPb1S93.mjs.map +1 -0
  224. package/.output/server/chunks/build/_id_-kkexEH_q.mjs +1418 -0
  225. package/.output/server/chunks/build/_id_-kkexEH_q.mjs.map +1 -0
  226. package/.output/server/chunks/build/_id_-rQhFY0fN.mjs +4161 -0
  227. package/.output/server/chunks/build/_id_-rQhFY0fN.mjs.map +1 -0
  228. package/.output/server/chunks/build/about-C4AbyQ4q.mjs +698 -0
  229. package/.output/server/chunks/build/about-C4AbyQ4q.mjs.map +1 -0
  230. package/.output/server/chunks/build/account-B45bYZd1.mjs +920 -0
  231. package/.output/server/chunks/build/account-B45bYZd1.mjs.map +1 -0
  232. package/.output/server/chunks/build/ai-CgN9xXFf.mjs +1850 -0
  233. package/.output/server/chunks/build/ai-CgN9xXFf.mjs.map +1 -0
  234. package/.output/server/chunks/build/analytics-BRkiUpwa.mjs +3784 -0
  235. package/.output/server/chunks/build/analytics-BRkiUpwa.mjs.map +1 -0
  236. package/.output/server/chunks/build/auto-heal-BnTdKHQq.mjs +533 -0
  237. package/.output/server/chunks/build/auto-heal-BnTdKHQq.mjs.map +1 -0
  238. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  239. package/.output/server/chunks/build/compare-ykNFuMic.mjs +83 -0
  240. package/.output/server/chunks/build/compare-ykNFuMic.mjs.map +1 -0
  241. package/.output/server/chunks/build/db.client-DyVEaqk4.mjs +1196 -0
  242. package/.output/server/chunks/build/db.client-DyVEaqk4.mjs.map +1 -0
  243. package/.output/server/chunks/build/default-BGOdM_zA.mjs +6499 -0
  244. package/.output/server/chunks/build/default-BGOdM_zA.mjs.map +1 -0
  245. package/.output/server/chunks/build/docs-D7R5eJ1Z.mjs +1181 -0
  246. package/.output/server/chunks/build/docs-D7R5eJ1Z.mjs.map +1 -0
  247. package/.output/server/chunks/build/edit-BbL3k6c3.mjs +1640 -0
  248. package/.output/server/chunks/build/edit-BbL3k6c3.mjs.map +1 -0
  249. package/.output/server/chunks/build/fetch-DOcN2mHf.mjs +148 -0
  250. package/.output/server/chunks/build/fetch-DOcN2mHf.mjs.map +1 -0
  251. package/.output/server/chunks/build/forgot-password-CizombKP.mjs +297 -0
  252. package/.output/server/chunks/build/forgot-password-CizombKP.mjs.map +1 -0
  253. package/.output/server/chunks/build/help-content-BK3jcgLw.mjs +650 -0
  254. package/.output/server/chunks/build/help-content-BK3jcgLw.mjs.map +1 -0
  255. package/.output/server/chunks/build/import-ibAn_HB9.mjs +1023 -0
  256. package/.output/server/chunks/build/import-ibAn_HB9.mjs.map +1 -0
  257. package/.output/server/chunks/build/index-2GmuPNF-.mjs +457 -0
  258. package/.output/server/chunks/build/index-2GmuPNF-.mjs.map +1 -0
  259. package/.output/server/chunks/build/index-CqinXTVs.mjs +1700 -0
  260. package/.output/server/chunks/build/index-CqinXTVs.mjs.map +1 -0
  261. package/.output/server/chunks/build/index-D5A0DW7Y.mjs +93 -0
  262. package/.output/server/chunks/build/index-D5A0DW7Y.mjs.map +1 -0
  263. package/.output/server/chunks/build/index-DreB_S-d.mjs +1169 -0
  264. package/.output/server/chunks/build/index-DreB_S-d.mjs.map +1 -0
  265. package/.output/server/chunks/build/index-KsRegEjT.mjs +11040 -0
  266. package/.output/server/chunks/build/index-KsRegEjT.mjs.map +1 -0
  267. package/.output/server/chunks/build/isValueEqualOrExist-D4lZ8uRY.mjs +11 -0
  268. package/.output/server/chunks/build/isValueEqualOrExist-D4lZ8uRY.mjs.map +1 -0
  269. package/.output/server/chunks/build/login-DueFS2RU.mjs +835 -0
  270. package/.output/server/chunks/build/login-DueFS2RU.mjs.map +1 -0
  271. package/.output/server/chunks/build/mcp-Dwj29-uG.mjs +1593 -0
  272. package/.output/server/chunks/build/mcp-Dwj29-uG.mjs.map +1 -0
  273. package/.output/server/chunks/build/notifications-CjAn5FJj.mjs +1265 -0
  274. package/.output/server/chunks/build/notifications-CjAn5FJj.mjs.map +1 -0
  275. package/.output/server/chunks/build/performance-DRzcu_c7.mjs +581 -0
  276. package/.output/server/chunks/build/performance-DRzcu_c7.mjs.map +1 -0
  277. package/.output/server/chunks/build/pr-feedback-DR60oGBf.mjs +370 -0
  278. package/.output/server/chunks/build/pr-feedback-DR60oGBf.mjs.map +1 -0
  279. package/.output/server/chunks/build/reset-password-D6UnQTgI.mjs +355 -0
  280. package/.output/server/chunks/build/reset-password-D6UnQTgI.mjs.map +1 -0
  281. package/.output/server/chunks/build/selections-BjjolRZ9.mjs +1197 -0
  282. package/.output/server/chunks/build/selections-BjjolRZ9.mjs.map +1 -0
  283. package/.output/server/chunks/build/server.mjs +341 -43
  284. package/.output/server/chunks/build/server.mjs.map +1 -1
  285. package/.output/server/chunks/build/settings-B3NWV9tu.mjs +282 -0
  286. package/.output/server/chunks/build/settings-B3NWV9tu.mjs.map +1 -0
  287. package/.output/server/chunks/build/settings-metadata-DwJk8uSt.mjs +164 -0
  288. package/.output/server/chunks/build/settings-metadata-DwJk8uSt.mjs.map +1 -0
  289. package/.output/server/chunks/build/setup-BlgFTixN.mjs +1065 -0
  290. package/.output/server/chunks/build/setup-BlgFTixN.mjs.map +1 -0
  291. package/.output/server/chunks/build/storage-C1O-FC0U.mjs +361 -0
  292. package/.output/server/chunks/build/storage-C1O-FC0U.mjs.map +1 -0
  293. package/.output/server/chunks/build/styles.mjs +0 -2
  294. package/.output/server/chunks/build/tags-dsvYrnii.mjs +375 -0
  295. package/.output/server/chunks/build/tags-dsvYrnii.mjs.map +1 -0
  296. package/.output/server/chunks/build/test-cases-CFiOuyK6.mjs +228 -0
  297. package/.output/server/chunks/build/test-cases-CFiOuyK6.mjs.map +1 -0
  298. package/.output/server/chunks/build/test-functions-CbmBi6az.mjs +552 -0
  299. package/.output/server/chunks/build/test-functions-CbmBi6az.mjs.map +1 -0
  300. package/.output/server/chunks/build/useAiStatus-CiK1MZbH.mjs +9 -0
  301. package/.output/server/chunks/build/useAiStatus-CiK1MZbH.mjs.map +1 -0
  302. package/.output/server/chunks/build/useCopyRich-DPKZKHvZ.mjs +5805 -0
  303. package/.output/server/chunks/build/useCopyRich-DPKZKHvZ.mjs.map +1 -0
  304. package/.output/server/chunks/build/useDesktopDownload-R_RWSgUV.mjs +46 -0
  305. package/.output/server/chunks/build/useDesktopDownload-R_RWSgUV.mjs.map +1 -0
  306. package/.output/server/chunks/build/useDesktopLocalRuns-BdELBy0Y.mjs +381 -0
  307. package/.output/server/chunks/build/useDesktopLocalRuns-BdELBy0Y.mjs.map +1 -0
  308. package/.output/server/chunks/build/useDesktopProjectLink-IUN7SIP2.mjs +84 -0
  309. package/.output/server/chunks/build/useDesktopProjectLink-IUN7SIP2.mjs.map +1 -0
  310. package/.output/server/chunks/build/useFormControl-8skMOTIf.mjs +9 -0
  311. package/.output/server/chunks/build/useFormControl-8skMOTIf.mjs.map +1 -0
  312. package/.output/server/chunks/build/useOpenInIde-DS4YXevu.mjs +95 -0
  313. package/.output/server/chunks/build/useOpenInIde-DS4YXevu.mjs.map +1 -0
  314. package/.output/server/chunks/build/useSettingsNav-Dg87E7kY.mjs +19 -0
  315. package/.output/server/chunks/build/useSettingsNav-Dg87E7kY.mjs.map +1 -0
  316. package/.output/server/chunks/build/useTreeViewCookie-BvoH7a_X.mjs +25 -0
  317. package/.output/server/chunks/build/useTreeViewCookie-BvoH7a_X.mjs.map +1 -0
  318. package/.output/server/chunks/build/users-DgsoiXxQ.mjs +747 -0
  319. package/.output/server/chunks/build/users-DgsoiXxQ.mjs.map +1 -0
  320. package/.output/server/chunks/nitro/nitro.mjs +5513 -2266
  321. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  322. package/.output/server/chunks/routes/__piwi/session.get.mjs +3 -3
  323. package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
  324. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +2 -2
  325. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
  326. package/.output/server/chunks/routes/api/admin/stats.get.mjs +1 -1
  327. package/.output/server/chunks/routes/api/ai/status.get.mjs +1 -1
  328. package/.output/server/chunks/routes/api/ai/step-resolution.post.mjs +6 -5
  329. package/.output/server/chunks/routes/api/ai/step-resolution.post.mjs.map +1 -1
  330. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +16 -4
  331. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
  332. package/.output/server/chunks/routes/api/auth/change-password.post.mjs +4 -4
  333. package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
  334. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +4 -5
  335. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
  336. package/.output/server/chunks/routes/api/auth/login.post.mjs +6 -8
  337. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
  338. package/.output/server/chunks/routes/api/auth/logout.post.mjs +2 -2
  339. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
  340. package/.output/server/chunks/routes/api/auth/me.get.mjs +1 -1
  341. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +1 -1
  342. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +4 -4
  343. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
  344. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +2 -2
  345. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
  346. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +7 -8
  347. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
  348. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +6 -5
  349. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
  350. package/.output/server/chunks/routes/api/auth/setup.get.mjs +1 -1
  351. package/.output/server/chunks/routes/api/auth/setup.post.mjs +8 -9
  352. package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
  353. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +3 -3
  354. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
  355. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +9 -8
  356. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
  357. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +5 -6
  358. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
  359. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +2 -2
  360. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
  361. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +2 -2
  362. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
  363. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs +7 -7
  364. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -1
  365. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +1 -1
  366. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +2 -2
  367. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +5 -5
  369. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +3 -3
  371. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
  372. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +6 -6
  373. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
  374. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +2 -2
  375. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
  376. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +12 -11
  377. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
  378. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +12 -11
  379. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
  380. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +3 -2
  381. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
  382. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +1 -1
  383. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +2 -2
  384. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -1
  385. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +3 -3
  386. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
  387. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +3 -3
  388. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -1
  389. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.get.mjs +54 -0
  390. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.get.mjs.map +1 -0
  391. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.post.mjs +91 -0
  392. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.post.mjs.map +1 -0
  393. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +3 -3
  394. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
  395. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +2 -2
  396. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
  397. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +6 -5
  398. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
  399. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +4 -4
  400. package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
  401. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  402. package/.output/server/chunks/routes/api/index.get.mjs +4 -19
  403. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/index.get2.mjs +27 -11
  405. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/index.get3.mjs +12 -29
  407. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  408. package/.output/server/chunks/routes/api/index.get4.mjs +15 -4
  409. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
  410. package/.output/server/chunks/routes/api/index.get5.mjs +2 -7
  411. package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
  412. package/.output/server/chunks/routes/api/index.get6.mjs +58 -0
  413. package/.output/server/chunks/routes/api/index.get6.mjs.map +1 -0
  414. package/.output/server/chunks/routes/api/index.post.mjs +20 -9
  415. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  416. package/.output/server/chunks/routes/api/index.post2.mjs +7 -7
  417. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  418. package/.output/server/chunks/routes/api/index.post3.mjs +4 -4
  419. package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
  420. package/.output/server/chunks/routes/api/index.post4.mjs +20 -13
  421. package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
  422. package/.output/server/chunks/routes/api/index.post5.mjs +6 -5
  423. package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
  424. package/.output/server/chunks/routes/api/index.post6.mjs +10 -17
  425. package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
  426. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +4 -4
  427. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
  428. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +3 -3
  429. package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
  430. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +4 -4
  431. package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
  432. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +2 -2
  433. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
  434. package/.output/server/chunks/routes/api/markers/_id_.patch.mjs +76 -0
  435. package/.output/server/chunks/routes/api/markers/_id_.patch.mjs.map +1 -0
  436. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +46 -12
  437. package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
  438. package/.output/server/chunks/routes/api/projects/_id/ai-steps.get.mjs +3 -3
  439. package/.output/server/chunks/routes/api/projects/_id/ai-steps.get.mjs.map +1 -1
  440. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +2 -2
  441. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
  442. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +3 -3
  443. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
  444. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +3 -3
  445. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
  446. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +6 -6
  447. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
  448. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +1 -1
  449. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +2 -2
  450. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
  451. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +2 -2
  452. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
  453. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +3 -3
  454. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
  455. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +4 -4
  456. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
  457. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +6 -6
  458. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
  459. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +4 -4
  460. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -1
  461. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +2 -4
  462. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -1
  463. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +3 -4
  464. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -1
  465. package/.output/server/chunks/routes/api/projects/_id/selections/_key/resolve.get.mjs +75 -0
  466. package/.output/server/chunks/routes/api/projects/_id/selections/_key/resolve.get.mjs.map +1 -0
  467. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.delete.mjs +61 -0
  468. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.delete.mjs.map +1 -0
  469. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.get.mjs +59 -0
  470. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.get.mjs.map +1 -0
  471. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.patch.mjs +67 -0
  472. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.patch.mjs.map +1 -0
  473. package/.output/server/chunks/routes/api/projects/_id/selections/analytics.get.mjs +55 -0
  474. package/.output/server/chunks/routes/api/projects/_id/selections/analytics.get.mjs.map +1 -0
  475. package/.output/server/chunks/routes/api/projects/_id/selections/impact.post.mjs +64 -0
  476. package/.output/server/chunks/routes/api/projects/_id/selections/impact.post.mjs.map +1 -0
  477. package/.output/server/chunks/routes/api/projects/_id/selections/preview.post.mjs +60 -0
  478. package/.output/server/chunks/routes/api/projects/_id/selections/preview.post.mjs.map +1 -0
  479. package/.output/server/chunks/routes/api/projects/_id/selections/suggestions.get.mjs +58 -0
  480. package/.output/server/chunks/routes/api/projects/_id/selections/suggestions.get.mjs.map +1 -0
  481. package/.output/server/chunks/routes/api/projects/_id/selections.get.mjs +55 -0
  482. package/.output/server/chunks/routes/api/projects/_id/selections.get.mjs.map +1 -0
  483. package/.output/server/chunks/routes/api/projects/_id/selections.post.mjs +69 -0
  484. package/.output/server/chunks/routes/api/projects/_id/selections.post.mjs.map +1 -0
  485. package/.output/server/chunks/routes/api/projects/_id/share-links.get.mjs +55 -0
  486. package/.output/server/chunks/routes/api/projects/_id/share-links.get.mjs.map +1 -0
  487. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +4 -5
  488. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
  489. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +3 -3
  490. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
  491. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +1 -1
  492. package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs +6 -5
  493. package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs +3 -3
  495. package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs +2 -2
  497. package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs.map +1 -1
  498. package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs +3 -3
  499. package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs.map +1 -1
  500. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +4 -5
  501. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
  502. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +2 -2
  503. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
  504. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +3 -4
  505. package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
  506. package/.output/server/chunks/routes/api/projects/_id_.patch.mjs +91 -0
  507. package/.output/server/chunks/routes/api/projects/_id_.patch.mjs.map +1 -0
  508. package/.output/server/chunks/routes/api/projects/menu.get.mjs +2 -2
  509. package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
  510. package/.output/server/chunks/routes/api/projects/overview.get.mjs +2 -2
  511. package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
  512. package/.output/server/chunks/routes/api/projects.get.mjs +3 -2
  513. package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
  514. package/.output/server/chunks/routes/api/search.get.mjs +1 -1
  515. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +1 -1
  516. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +1 -1
  517. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +1 -1
  518. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +3 -2
  519. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
  520. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +2 -3
  521. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
  522. package/.output/server/chunks/routes/api/settings/ai.get.mjs +1 -1
  523. package/.output/server/chunks/routes/api/settings/ai.put.mjs +6 -6
  524. package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
  525. package/.output/server/chunks/routes/api/settings/auto-heal.get.mjs +59 -0
  526. package/.output/server/chunks/routes/api/settings/auto-heal.get.mjs.map +1 -0
  527. package/.output/server/chunks/routes/api/settings/auto-heal.put.mjs +65 -0
  528. package/.output/server/chunks/routes/api/settings/auto-heal.put.mjs.map +1 -0
  529. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +1 -1
  530. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +1 -1
  531. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +3 -3
  532. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
  533. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +15 -2
  534. package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
  535. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +1 -1
  536. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +1 -1
  537. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +1 -1
  538. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +2 -2
  539. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
  540. package/.output/server/chunks/routes/api/setup-status.get.mjs +1 -1
  541. package/.output/server/chunks/routes/api/share-links/_id_.delete.mjs +60 -0
  542. package/.output/server/chunks/routes/api/share-links/_id_.delete.mjs.map +1 -0
  543. package/.output/server/chunks/routes/api/share-links/settings.get.mjs +53 -0
  544. package/.output/server/chunks/routes/api/share-links/settings.get.mjs.map +1 -0
  545. package/.output/server/chunks/routes/api/stream.get.mjs +1 -1
  546. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +3 -4
  547. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
  548. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +11 -8
  549. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
  550. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +3 -3
  551. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
  552. package/.output/server/chunks/routes/api/tags/_id_.patch.mjs +77 -0
  553. package/.output/server/chunks/routes/api/tags/_id_.patch.mjs.map +1 -0
  554. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +3 -3
  555. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs.map +1 -1
  556. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +3 -3
  557. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs.map +1 -1
  558. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +2 -2
  559. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
  560. package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs +2 -2
  561. package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs.map +1 -1
  562. package/.output/server/chunks/routes/api/test-functions/_id_.patch.mjs +71 -0
  563. package/.output/server/chunks/routes/api/test-functions/_id_.patch.mjs.map +1 -0
  564. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +8 -7
  565. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
  566. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +4 -4
  567. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
  568. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +1 -1
  569. package/.output/server/chunks/routes/api/test-run-cases/_id/dom-snapshot.get.mjs +65 -0
  570. package/.output/server/chunks/routes/api/test-run-cases/_id/dom-snapshot.get.mjs.map +1 -0
  571. package/.output/server/chunks/routes/api/test-run-cases/_id/environment-diff.get.mjs +54 -0
  572. package/.output/server/chunks/routes/api/test-run-cases/_id/environment-diff.get.mjs.map +1 -0
  573. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +2 -2
  574. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -1
  575. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-healing.get.mjs +57 -0
  576. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-healing.get.mjs.map +1 -0
  577. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-pick.post.mjs +63 -0
  578. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-pick.post.mjs.map +1 -0
  579. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.get.mjs +54 -0
  580. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.get.mjs.map +1 -0
  581. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.post.mjs +91 -0
  582. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.post.mjs.map +1 -0
  583. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network-body.get.mjs +63 -0
  584. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network-body.get.mjs.map +1 -0
  585. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network.get.mjs +58 -0
  586. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network.get.mjs.map +1 -0
  587. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-stacks.get.mjs +61 -0
  588. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-stacks.get.mjs.map +1 -0
  589. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +3 -3
  590. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
  591. package/.output/server/chunks/routes/api/test-run-cases/_id/visual-diff.get.mjs +54 -0
  592. package/.output/server/chunks/routes/api/test-run-cases/_id/visual-diff.get.mjs.map +1 -0
  593. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +2 -2
  594. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
  595. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +8 -8
  596. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
  597. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +11 -11
  598. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
  599. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +69 -39
  600. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
  601. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +2 -2
  602. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
  603. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +10 -8
  604. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
  605. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +84 -12
  606. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -1
  607. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +3 -3
  608. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
  609. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +2 -2
  610. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
  611. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +3 -3
  612. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
  613. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +2 -2
  614. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
  615. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +9 -5
  616. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
  617. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +2 -2
  618. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
  619. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +2 -2
  620. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
  621. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +2 -2
  622. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
  623. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +3 -3
  624. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
  625. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +5 -5
  626. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -1
  627. package/.output/server/chunks/routes/api/test-runs/import.post.mjs +4 -4
  628. package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -1
  629. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +2 -2
  630. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
  631. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +18 -15
  632. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
  633. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +14 -11
  634. package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
  635. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +34 -25
  636. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
  637. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +26 -18
  638. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
  639. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +5 -2
  640. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
  641. package/.output/server/chunks/routes/api/traces/check.post.mjs +3 -3
  642. package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
  643. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +4 -4
  644. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
  645. package/.output/server/chunks/routes/api/users/_id/index.get.mjs +4 -4
  646. package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
  647. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +4 -4
  648. package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
  649. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +7 -6
  650. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
  651. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +3 -3
  652. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
  653. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +6 -6
  654. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
  655. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +6 -6
  656. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  657. package/.output/server/chunks/routes/api/users/_id_.patch.mjs +9 -12
  658. package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
  659. package/.output/server/chunks/routes/api/version.get.mjs +1 -1
  660. package/.output/server/chunks/routes/mcp.post.mjs +9 -4
  661. package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
  662. package/.output/server/chunks/routes/renderer.mjs +1 -1
  663. package/.output/server/chunks/routes/share/_token_.get.mjs +101 -0
  664. package/.output/server/chunks/routes/share/_token_.get.mjs.map +1 -0
  665. package/.output/server/chunks/tasks/sweep.mjs +7 -7
  666. package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
  667. package/.output/server/chunks/tasks/sweep2.mjs +7 -35
  668. package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
  669. package/.output/server/chunks/tasks/sweep3.mjs +95 -0
  670. package/.output/server/chunks/tasks/sweep3.mjs.map +1 -0
  671. package/.output/server/database/migrations/0046_strange_micromax.sql +1 -0
  672. package/.output/server/database/migrations/0047_lethal_white_tiger.sql +2 -0
  673. package/.output/server/database/migrations/0048_stormy_whizzer.sql +21 -0
  674. package/.output/server/database/migrations/0049_optimal_blue_blade.sql +22 -0
  675. package/.output/server/database/migrations/0050_rainy_snowbird.sql +1 -0
  676. package/.output/server/database/migrations/0051_brave_rafael_vega.sql +3 -0
  677. package/.output/server/database/migrations/0052_backfill_branch.sql +10 -0
  678. package/.output/server/database/migrations/0053_damp_dark_beast.sql +18 -0
  679. package/.output/server/database/migrations/meta/0046_snapshot.json +3786 -0
  680. package/.output/server/database/migrations/meta/0047_snapshot.json +3800 -0
  681. package/.output/server/database/migrations/meta/0048_snapshot.json +3935 -0
  682. package/.output/server/database/migrations/meta/0049_snapshot.json +4079 -0
  683. package/.output/server/database/migrations/meta/0050_snapshot.json +4086 -0
  684. package/.output/server/database/migrations/meta/0051_snapshot.json +4105 -0
  685. package/.output/server/database/migrations/meta/0052_snapshot.json +4105 -0
  686. package/.output/server/database/migrations/meta/0053_snapshot.json +4221 -0
  687. package/.output/server/database/migrations/meta/_journal.json +56 -0
  688. package/.output/server/database/migrations-pg/0047_boring_harry_osborn.sql +1 -0
  689. package/.output/server/database/migrations-pg/0048_right_gargoyle.sql +2 -0
  690. package/.output/server/database/migrations-pg/0049_plain_preak.sql +21 -0
  691. package/.output/server/database/migrations-pg/0050_shallow_mother_askani.sql +22 -0
  692. package/.output/server/database/migrations-pg/0051_military_drax.sql +1 -0
  693. package/.output/server/database/migrations-pg/0052_clean_patch.sql +3 -0
  694. package/.output/server/database/migrations-pg/0053_backfill_branch.sql +10 -0
  695. package/.output/server/database/migrations-pg/0054_smooth_malice.sql +18 -0
  696. package/.output/server/database/migrations-pg/meta/0047_snapshot.json +4492 -0
  697. package/.output/server/database/migrations-pg/meta/0048_snapshot.json +4504 -0
  698. package/.output/server/database/migrations-pg/meta/0049_snapshot.json +4667 -0
  699. package/.output/server/database/migrations-pg/meta/0050_snapshot.json +4853 -0
  700. package/.output/server/database/migrations-pg/meta/0051_snapshot.json +4859 -0
  701. package/.output/server/database/migrations-pg/meta/0052_snapshot.json +4898 -0
  702. package/.output/server/database/migrations-pg/meta/0053_snapshot.json +4898 -0
  703. package/.output/server/database/migrations-pg/meta/0054_snapshot.json +5043 -0
  704. package/.output/server/database/migrations-pg/meta/_journal.json +56 -0
  705. package/.output/server/index.mjs +1 -1
  706. package/.output/server/package.json +1 -53
  707. package/README.md +4 -4
  708. package/package.json +3 -3
  709. package/.output/public/_nuxt/5nOoVJzL.js +0 -1
  710. package/.output/public/_nuxt/6DSY_93j.js +0 -1
  711. package/.output/public/_nuxt/7vRR5W2L.js +0 -1
  712. package/.output/public/_nuxt/9Dtlg-K4.js +0 -1
  713. package/.output/public/_nuxt/9Yziijlb.js +0 -1
  714. package/.output/public/_nuxt/B-onBCAB.js +0 -1
  715. package/.output/public/_nuxt/B2bK5uNR.js +0 -1
  716. package/.output/public/_nuxt/B63B19Iv.js +0 -4
  717. package/.output/public/_nuxt/B77w1Eib.js +0 -1
  718. package/.output/public/_nuxt/BC5bqlfM.js +0 -1
  719. package/.output/public/_nuxt/BF5JDf9_.js +0 -1
  720. package/.output/public/_nuxt/BFVrl1ss.js +0 -1
  721. package/.output/public/_nuxt/BIHMeNW-.js +0 -1
  722. package/.output/public/_nuxt/BKqOGcst.js +0 -1
  723. package/.output/public/_nuxt/BLqooxh5.js +0 -1
  724. package/.output/public/_nuxt/BMfTUMYy.js +0 -1
  725. package/.output/public/_nuxt/BOrnSpTA.js +0 -1
  726. package/.output/public/_nuxt/BPQNVV4M.js +0 -1
  727. package/.output/public/_nuxt/BSKLNgre.js +0 -1
  728. package/.output/public/_nuxt/BTCWUyBX.js +0 -1
  729. package/.output/public/_nuxt/BUYmGTVP.js +0 -1
  730. package/.output/public/_nuxt/BWddBCom.js +0 -1
  731. package/.output/public/_nuxt/BYQ9lXQb.js +0 -1
  732. package/.output/public/_nuxt/BYWQ47QQ.js +0 -5
  733. package/.output/public/_nuxt/BYnqoVCE.js +0 -1
  734. package/.output/public/_nuxt/BaU2hm4B.js +0 -1
  735. package/.output/public/_nuxt/BbXvpkBp.js +0 -1
  736. package/.output/public/_nuxt/Bb_925DD.js +0 -1
  737. package/.output/public/_nuxt/BcHU1KNK.js +0 -1
  738. package/.output/public/_nuxt/BdUGUwvE.js +0 -1
  739. package/.output/public/_nuxt/BeQq85yJ.js +0 -5
  740. package/.output/public/_nuxt/Bg8yOdSf.js +0 -1
  741. package/.output/public/_nuxt/BhzfJaPC.js +0 -1
  742. package/.output/public/_nuxt/Bkb-0yS0.js +0 -7
  743. package/.output/public/_nuxt/BmweLu9g.js +0 -2
  744. package/.output/public/_nuxt/Boyv6hLW.js +0 -1
  745. package/.output/public/_nuxt/Bq4xEWLF.js +0 -5
  746. package/.output/public/_nuxt/BraJd4EA.js +0 -1
  747. package/.output/public/_nuxt/BvXrhZ8k.js +0 -1
  748. package/.output/public/_nuxt/Bw4oIhct.js +0 -1
  749. package/.output/public/_nuxt/BxSrScjV.js +0 -1
  750. package/.output/public/_nuxt/Byqt8JHG.js +0 -1
  751. package/.output/public/_nuxt/BzBaMPgu.js +0 -254
  752. package/.output/public/_nuxt/C1-8_6cB.js +0 -1
  753. package/.output/public/_nuxt/C7SG50jD.js +0 -1
  754. package/.output/public/_nuxt/C8WgBDU1.js +0 -1
  755. package/.output/public/_nuxt/C8uZoJVq.js +0 -1
  756. package/.output/public/_nuxt/CBQXv4bU.js +0 -4
  757. package/.output/public/_nuxt/CDEmotIt.js +0 -1
  758. package/.output/public/_nuxt/CIBOv3Ge.js +0 -2
  759. package/.output/public/_nuxt/CO7j4p5r.js +0 -1
  760. package/.output/public/_nuxt/COMhp7lz.js +0 -1
  761. package/.output/public/_nuxt/CPiLUjjx.js +0 -1
  762. package/.output/public/_nuxt/CTYlay1H.js +0 -1
  763. package/.output/public/_nuxt/CVEk4D8I.js +0 -1
  764. package/.output/public/_nuxt/CbuK1HIv.js +0 -167
  765. package/.output/public/_nuxt/CdLqOMvN.js +0 -1
  766. package/.output/public/_nuxt/CdM2qNYM.js +0 -2
  767. package/.output/public/_nuxt/Ch8sGLqE.js +0 -1
  768. package/.output/public/_nuxt/CkdznmkX.js +0 -1
  769. package/.output/public/_nuxt/Cmuwgbf4.js +0 -3
  770. package/.output/public/_nuxt/CnRNwiuE.js +0 -1
  771. package/.output/public/_nuxt/CnsaoeEq.js +0 -1
  772. package/.output/public/_nuxt/Cp0V2FeW.js +0 -1
  773. package/.output/public/_nuxt/Cvw4EFTy.js +0 -17
  774. package/.output/public/_nuxt/CwDej2Lz.js +0 -1
  775. package/.output/public/_nuxt/D-wlhH6J.js +0 -1
  776. package/.output/public/_nuxt/D5Mhpp98.js +0 -1
  777. package/.output/public/_nuxt/D7W_4Sqc.js +0 -1
  778. package/.output/public/_nuxt/D8ixf-ZR.js +0 -44
  779. package/.output/public/_nuxt/DBvdRbTA.js +0 -34
  780. package/.output/public/_nuxt/DDho3MJD.js +0 -1
  781. package/.output/public/_nuxt/DEGHW4pO.js +0 -1
  782. package/.output/public/_nuxt/DHSYRMJp.js +0 -1
  783. package/.output/public/_nuxt/DH_LEqhd.js +0 -2
  784. package/.output/public/_nuxt/DIqik40e.js +0 -1
  785. package/.output/public/_nuxt/DLwuL-qR.js +0 -1
  786. package/.output/public/_nuxt/DPDFGVb_.js +0 -5
  787. package/.output/public/_nuxt/DRNHuVn4.js +0 -2
  788. package/.output/public/_nuxt/DUtYU4Sb.js +0 -1
  789. package/.output/public/_nuxt/DWl73MJR.js +0 -2
  790. package/.output/public/_nuxt/DWz_bHNP.js +0 -1
  791. package/.output/public/_nuxt/D_SCB-z2.js +0 -1
  792. package/.output/public/_nuxt/D_j436ND.js +0 -1
  793. package/.output/public/_nuxt/DamzjN7l.js +0 -1
  794. package/.output/public/_nuxt/Db5xe__T.js +0 -1
  795. package/.output/public/_nuxt/DcUBmKKE.js +0 -1
  796. package/.output/public/_nuxt/DiP18sFE.js +0 -1
  797. package/.output/public/_nuxt/Die1200X.js +0 -1
  798. package/.output/public/_nuxt/DihSeDlY.js +0 -9
  799. package/.output/public/_nuxt/DkGXOZRW.js +0 -1
  800. package/.output/public/_nuxt/DnOtRv65.js +0 -1
  801. package/.output/public/_nuxt/DnV-BkUA.js +0 -1
  802. package/.output/public/_nuxt/DpeRrg68.js +0 -1
  803. package/.output/public/_nuxt/Dq6_-84R.js +0 -1
  804. package/.output/public/_nuxt/DqKFKS1b.js +0 -1
  805. package/.output/public/_nuxt/DrbO0dl5.js +0 -6
  806. package/.output/public/_nuxt/Ds8_6Fzl.js +0 -1
  807. package/.output/public/_nuxt/DvewDI9t.js +0 -1
  808. package/.output/public/_nuxt/E26Y1NWH.js +0 -1
  809. package/.output/public/_nuxt/Hp-_W7z4.js +0 -1
  810. package/.output/public/_nuxt/OanUGF_v.js +0 -1
  811. package/.output/public/_nuxt/RSS6R9Te.js +0 -79
  812. package/.output/public/_nuxt/VqLetC2g.js +0 -1
  813. package/.output/public/_nuxt/WCZdf9Ln.js +0 -1
  814. package/.output/public/_nuxt/Yl6iqHwK.js +0 -41
  815. package/.output/public/_nuxt/builds/meta/03f2d81b-8c58-4ea8-9a9d-7553c8ca4af6.json +0 -1
  816. package/.output/public/_nuxt/entry.DVKh2Fd6.css +0 -1
  817. package/.output/public/_nuxt/iUf7K_JR.js +0 -1
  818. package/.output/public/_nuxt/index.BiXg7rd-.css +0 -1
  819. package/.output/public/_nuxt/kDEwM7SQ.js +0 -1
  820. package/.output/public/_nuxt/knaDbxMJ.js +0 -1
  821. package/.output/public/_nuxt/lnpLc047.js +0 -1
  822. package/.output/public/_nuxt/mhvG7mu8.js +0 -1
  823. package/.output/public/_nuxt/qUaN2ZW8.js +0 -4
  824. package/.output/public/_nuxt/qeqzb80l.js +0 -1
  825. package/.output/public/_nuxt/uj92NYTx.js +0 -9
  826. package/.output/public/_nuxt/vOZZ2cLi.js +0 -1
  827. package/.output/public/_nuxt/zAFiz2Mg.js +0 -1
  828. package/.output/server/chunks/_/quarantine.mjs +0 -112
  829. package/.output/server/chunks/_/quarantine.mjs.map +0 -1
  830. package/.output/server/chunks/build/Alert-BhTWQzM5.mjs +0 -479
  831. package/.output/server/chunks/build/Alert-BhTWQzM5.mjs.map +0 -1
  832. package/.output/server/chunks/build/Breadcrumb-BJnPB2AW.mjs +0 -522
  833. package/.output/server/chunks/build/Breadcrumb-BJnPB2AW.mjs.map +0 -1
  834. package/.output/server/chunks/build/BreadcrumbNav-C6Cun6tF.mjs +0 -111
  835. package/.output/server/chunks/build/BreadcrumbNav-C6Cun6tF.mjs.map +0 -1
  836. package/.output/server/chunks/build/BrowserBadge-T1KRMIXA.mjs +0 -89
  837. package/.output/server/chunks/build/BrowserBadge-T1KRMIXA.mjs.map +0 -1
  838. package/.output/server/chunks/build/ChartCard-D_asI_WF.mjs +0 -77
  839. package/.output/server/chunks/build/ChartCard-D_asI_WF.mjs.map +0 -1
  840. package/.output/server/chunks/build/ChartMarkerTooltip-DscESDg7.mjs +0 -72
  841. package/.output/server/chunks/build/ChartMarkerTooltip-DscESDg7.mjs.map +0 -1
  842. package/.output/server/chunks/build/Checkbox-Y9ZiIRkJ.mjs +0 -746
  843. package/.output/server/chunks/build/Checkbox-Y9ZiIRkJ.mjs.map +0 -1
  844. package/.output/server/chunks/build/CodeBlock-Bnn_ps9O.mjs +0 -54
  845. package/.output/server/chunks/build/CodeBlock-Bnn_ps9O.mjs.map +0 -1
  846. package/.output/server/chunks/build/DashboardNavbar-D37dPEtR.mjs +0 -270
  847. package/.output/server/chunks/build/DashboardNavbar-D37dPEtR.mjs.map +0 -1
  848. package/.output/server/chunks/build/DashboardSidebarToggle-DzwsZHVx.mjs +0 -480
  849. package/.output/server/chunks/build/DashboardSidebarToggle-DzwsZHVx.mjs.map +0 -1
  850. package/.output/server/chunks/build/DataLocationCard-CUXgZQEs.mjs +0 -102
  851. package/.output/server/chunks/build/DataLocationCard-CUXgZQEs.mjs.map +0 -1
  852. package/.output/server/chunks/build/DesktopRunLocallyButton-BCmQklj6.mjs +0 -1122
  853. package/.output/server/chunks/build/DesktopRunLocallyButton-BCmQklj6.mjs.map +0 -1
  854. package/.output/server/chunks/build/DiagnosisPanel-haHS2azn.mjs +0 -1208
  855. package/.output/server/chunks/build/DiagnosisPanel-haHS2azn.mjs.map +0 -1
  856. package/.output/server/chunks/build/DiagnosisResult-DqTIOelM.mjs +0 -1524
  857. package/.output/server/chunks/build/DiagnosisResult-DqTIOelM.mjs.map +0 -1
  858. package/.output/server/chunks/build/DurationValue-D6fQEi5S.mjs +0 -43
  859. package/.output/server/chunks/build/DurationValue-D6fQEi5S.mjs.map +0 -1
  860. package/.output/server/chunks/build/EntityLinks-CRJQM9Vy.mjs +0 -325
  861. package/.output/server/chunks/build/EntityLinks-CRJQM9Vy.mjs.map +0 -1
  862. package/.output/server/chunks/build/EnvManagedBadge-hyelwXrw.mjs +0 -71
  863. package/.output/server/chunks/build/EnvManagedBadge-hyelwXrw.mjs.map +0 -1
  864. package/.output/server/chunks/build/FeatureUnavailable-CDw3__eq.mjs +0 -83
  865. package/.output/server/chunks/build/FeatureUnavailable-CDw3__eq.mjs.map +0 -1
  866. package/.output/server/chunks/build/FormField-8vSc-3mb.mjs +0 -282
  867. package/.output/server/chunks/build/FormField-8vSc-3mb.mjs.map +0 -1
  868. package/.output/server/chunks/build/GetStartedWizard-Dp_tjhry.mjs +0 -510
  869. package/.output/server/chunks/build/GetStartedWizard-Dp_tjhry.mjs.map +0 -1
  870. package/.output/server/chunks/build/HelpHint-Bfyo3ar6.mjs +0 -1048
  871. package/.output/server/chunks/build/HelpHint-Bfyo3ar6.mjs.map +0 -1
  872. package/.output/server/chunks/build/MetaStripGroup-C-cNBfC9.mjs +0 -193
  873. package/.output/server/chunks/build/MetaStripGroup-C-cNBfC9.mjs.map +0 -1
  874. package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs +0 -59
  875. package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs.map +0 -1
  876. package/.output/server/chunks/build/Modal-DcNzjvnm.mjs +0 -1472
  877. package/.output/server/chunks/build/Modal-DcNzjvnm.mjs.map +0 -1
  878. package/.output/server/chunks/build/NavigationMenu-DG6V0R9Y.mjs +0 -4155
  879. package/.output/server/chunks/build/NavigationMenu-DG6V0R9Y.mjs.map +0 -1
  880. package/.output/server/chunks/build/OpenInIdeLink-CLj2cTkc.mjs +0 -396
  881. package/.output/server/chunks/build/OpenInIdeLink-CLj2cTkc.mjs.map +0 -1
  882. package/.output/server/chunks/build/ProjectTestCasesTable-BNd5Fn_G.mjs +0 -2407
  883. package/.output/server/chunks/build/ProjectTestCasesTable-BNd5Fn_G.mjs.map +0 -1
  884. package/.output/server/chunks/build/RovingFocusItem-DkZadRuK.mjs +0 -100
  885. package/.output/server/chunks/build/RovingFocusItem-DkZadRuK.mjs.map +0 -1
  886. package/.output/server/chunks/build/RunReports-CnyGcU8K.mjs +0 -57
  887. package/.output/server/chunks/build/RunReports-CnyGcU8K.mjs.map +0 -1
  888. package/.output/server/chunks/build/RunStatusBadge-DTqX18X-.mjs +0 -59
  889. package/.output/server/chunks/build/RunStatusBadge-DTqX18X-.mjs.map +0 -1
  890. package/.output/server/chunks/build/SectionCard-taTpPtua.mjs +0 -142
  891. package/.output/server/chunks/build/SectionCard-taTpPtua.mjs.map +0 -1
  892. package/.output/server/chunks/build/Select-BChKOOsc.mjs +0 -3572
  893. package/.output/server/chunks/build/Select-BChKOOsc.mjs.map +0 -1
  894. package/.output/server/chunks/build/SelectMenu-DLkMyBsW.mjs +0 -4400
  895. package/.output/server/chunks/build/SelectMenu-DLkMyBsW.mjs.map +0 -1
  896. package/.output/server/chunks/build/Separator-Dn-4PN3P.mjs +0 -421
  897. package/.output/server/chunks/build/Separator-Dn-4PN3P.mjs.map +0 -1
  898. package/.output/server/chunks/build/SettingsField-BLO1C7uY.mjs +0 -174
  899. package/.output/server/chunks/build/SettingsField-BLO1C7uY.mjs.map +0 -1
  900. package/.output/server/chunks/build/Slideover-BiDJaQrt.mjs +0 -926
  901. package/.output/server/chunks/build/Slideover-BiDJaQrt.mjs.map +0 -1
  902. package/.output/server/chunks/build/Switch-Ca3fYrSH.mjs +0 -655
  903. package/.output/server/chunks/build/Switch-Ca3fYrSH.mjs.map +0 -1
  904. package/.output/server/chunks/build/Table-DQb34a0A.mjs +0 -949
  905. package/.output/server/chunks/build/Table-DQb34a0A.mjs.map +0 -1
  906. package/.output/server/chunks/build/Tabs-_ALhm_oG.mjs +0 -1058
  907. package/.output/server/chunks/build/Tabs-_ALhm_oG.mjs.map +0 -1
  908. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs +0 -31
  909. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs.map +0 -1
  910. package/.output/server/chunks/build/TestCaseHistoryChart-D-TEUsZ8.mjs +0 -164
  911. package/.output/server/chunks/build/TestCaseHistoryChart-D-TEUsZ8.mjs.map +0 -1
  912. package/.output/server/chunks/build/TestStatusBar-CseETAdn.mjs +0 -109
  913. package/.output/server/chunks/build/TestStatusBar-CseETAdn.mjs.map +0 -1
  914. package/.output/server/chunks/build/Textarea-CXOoRq7y.mjs +0 -605
  915. package/.output/server/chunks/build/Textarea-CXOoRq7y.mjs.map +0 -1
  916. package/.output/server/chunks/build/Tooltip-trltUr5c.mjs +0 -874
  917. package/.output/server/chunks/build/Tooltip-trltUr5c.mjs.map +0 -1
  918. package/.output/server/chunks/build/VisuallyHiddenInput-CGURvg3N.mjs +0 -142
  919. package/.output/server/chunks/build/VisuallyHiddenInput-CGURvg3N.mjs.map +0 -1
  920. package/.output/server/chunks/build/_id_-B-G4eG5U.mjs +0 -4144
  921. package/.output/server/chunks/build/_id_-B-G4eG5U.mjs.map +0 -1
  922. package/.output/server/chunks/build/_id_-Cnzg8n21.mjs +0 -1416
  923. package/.output/server/chunks/build/_id_-Cnzg8n21.mjs.map +0 -1
  924. package/.output/server/chunks/build/_id_-Dp_d6gT7.mjs +0 -8666
  925. package/.output/server/chunks/build/_id_-Dp_d6gT7.mjs.map +0 -1
  926. package/.output/server/chunks/build/_id_-t2AWaYuK.mjs +0 -8126
  927. package/.output/server/chunks/build/_id_-t2AWaYuK.mjs.map +0 -1
  928. package/.output/server/chunks/build/about-BFsHkJwE.mjs +0 -698
  929. package/.output/server/chunks/build/about-BFsHkJwE.mjs.map +0 -1
  930. package/.output/server/chunks/build/account-CZAq8kVg.mjs +0 -920
  931. package/.output/server/chunks/build/account-CZAq8kVg.mjs.map +0 -1
  932. package/.output/server/chunks/build/ai-BGP3GcCR.mjs +0 -1850
  933. package/.output/server/chunks/build/ai-BGP3GcCR.mjs.map +0 -1
  934. package/.output/server/chunks/build/analytics-CXl5OWV-.mjs +0 -3567
  935. package/.output/server/chunks/build/analytics-CXl5OWV-.mjs.map +0 -1
  936. package/.output/server/chunks/build/compare-B2OB3zdd.mjs +0 -83
  937. package/.output/server/chunks/build/compare-B2OB3zdd.mjs.map +0 -1
  938. package/.output/server/chunks/build/db.client-DijpEH6i.mjs +0 -1101
  939. package/.output/server/chunks/build/db.client-DijpEH6i.mjs.map +0 -1
  940. package/.output/server/chunks/build/default-4ixAePum.mjs +0 -6494
  941. package/.output/server/chunks/build/default-4ixAePum.mjs.map +0 -1
  942. package/.output/server/chunks/build/docs-Cgsd01H9.mjs +0 -1181
  943. package/.output/server/chunks/build/docs-Cgsd01H9.mjs.map +0 -1
  944. package/.output/server/chunks/build/edit-BEQ-ozj9.mjs +0 -1600
  945. package/.output/server/chunks/build/edit-BEQ-ozj9.mjs.map +0 -1
  946. package/.output/server/chunks/build/fetch-B5TVXZ1s.mjs +0 -148
  947. package/.output/server/chunks/build/fetch-B5TVXZ1s.mjs.map +0 -1
  948. package/.output/server/chunks/build/forgot-password-mqE1mpDI.mjs +0 -297
  949. package/.output/server/chunks/build/forgot-password-mqE1mpDI.mjs.map +0 -1
  950. package/.output/server/chunks/build/help-content-Bc99BajS.mjs +0 -643
  951. package/.output/server/chunks/build/help-content-Bc99BajS.mjs.map +0 -1
  952. package/.output/server/chunks/build/import-DqDDTcSc.mjs +0 -1023
  953. package/.output/server/chunks/build/import-DqDDTcSc.mjs.map +0 -1
  954. package/.output/server/chunks/build/index-Bpdj6TXV.mjs +0 -93
  955. package/.output/server/chunks/build/index-Bpdj6TXV.mjs.map +0 -1
  956. package/.output/server/chunks/build/index-DBFsIsjA.mjs +0 -10713
  957. package/.output/server/chunks/build/index-DBFsIsjA.mjs.map +0 -1
  958. package/.output/server/chunks/build/index-DSufXCZq.mjs +0 -1168
  959. package/.output/server/chunks/build/index-DSufXCZq.mjs.map +0 -1
  960. package/.output/server/chunks/build/index-WXE60AXk.mjs +0 -1696
  961. package/.output/server/chunks/build/index-WXE60AXk.mjs.map +0 -1
  962. package/.output/server/chunks/build/index-okKjrRhL.mjs +0 -443
  963. package/.output/server/chunks/build/index-okKjrRhL.mjs.map +0 -1
  964. package/.output/server/chunks/build/index-styles.BmH47p9x.mjs +0 -8
  965. package/.output/server/chunks/build/index-styles.BmH47p9x.mjs.map +0 -1
  966. package/.output/server/chunks/build/isValueEqualOrExist-C-9DzL4K.mjs +0 -11
  967. package/.output/server/chunks/build/isValueEqualOrExist-C-9DzL4K.mjs.map +0 -1
  968. package/.output/server/chunks/build/login-eQ88UoBW.mjs +0 -827
  969. package/.output/server/chunks/build/login-eQ88UoBW.mjs.map +0 -1
  970. package/.output/server/chunks/build/mcp-frcSP2Zg.mjs +0 -1593
  971. package/.output/server/chunks/build/mcp-frcSP2Zg.mjs.map +0 -1
  972. package/.output/server/chunks/build/notifications-DAtRd5V6.mjs +0 -1136
  973. package/.output/server/chunks/build/notifications-DAtRd5V6.mjs.map +0 -1
  974. package/.output/server/chunks/build/performance-BcQzGXE7.mjs +0 -581
  975. package/.output/server/chunks/build/performance-BcQzGXE7.mjs.map +0 -1
  976. package/.output/server/chunks/build/pr-feedback-BHtgvegy.mjs +0 -370
  977. package/.output/server/chunks/build/pr-feedback-BHtgvegy.mjs.map +0 -1
  978. package/.output/server/chunks/build/reset-password-DMHrp14-.mjs +0 -355
  979. package/.output/server/chunks/build/reset-password-DMHrp14-.mjs.map +0 -1
  980. package/.output/server/chunks/build/settings-Bo5OETop.mjs +0 -281
  981. package/.output/server/chunks/build/settings-Bo5OETop.mjs.map +0 -1
  982. package/.output/server/chunks/build/settings-metadata-BHbsWQ2g.mjs +0 -154
  983. package/.output/server/chunks/build/settings-metadata-BHbsWQ2g.mjs.map +0 -1
  984. package/.output/server/chunks/build/setup-DAXcxuNY.mjs +0 -1065
  985. package/.output/server/chunks/build/setup-DAXcxuNY.mjs.map +0 -1
  986. package/.output/server/chunks/build/storage-BPK0fVwx.mjs +0 -361
  987. package/.output/server/chunks/build/storage-BPK0fVwx.mjs.map +0 -1
  988. package/.output/server/chunks/build/tags-CoxErA5m.mjs +0 -375
  989. package/.output/server/chunks/build/tags-CoxErA5m.mjs.map +0 -1
  990. package/.output/server/chunks/build/test-cases-D8rn-0le.mjs +0 -228
  991. package/.output/server/chunks/build/test-cases-D8rn-0le.mjs.map +0 -1
  992. package/.output/server/chunks/build/test-functions-pWs9mhbJ.mjs +0 -552
  993. package/.output/server/chunks/build/test-functions-pWs9mhbJ.mjs.map +0 -1
  994. package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs +0 -9
  995. package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs.map +0 -1
  996. package/.output/server/chunks/build/useChartMarkers-C0wSO0xk.mjs +0 -156
  997. package/.output/server/chunks/build/useChartMarkers-C0wSO0xk.mjs.map +0 -1
  998. package/.output/server/chunks/build/useCopyRich-BqVfhnoH.mjs +0 -5355
  999. package/.output/server/chunks/build/useCopyRich-BqVfhnoH.mjs.map +0 -1
  1000. package/.output/server/chunks/build/useDesktopDownload-l80DQJ9e.mjs +0 -46
  1001. package/.output/server/chunks/build/useDesktopDownload-l80DQJ9e.mjs.map +0 -1
  1002. package/.output/server/chunks/build/useDesktopLocalRuns-Dil3YzyU.mjs +0 -381
  1003. package/.output/server/chunks/build/useDesktopLocalRuns-Dil3YzyU.mjs.map +0 -1
  1004. package/.output/server/chunks/build/useDesktopProjectLink-BnIONB--.mjs +0 -84
  1005. package/.output/server/chunks/build/useDesktopProjectLink-BnIONB--.mjs.map +0 -1
  1006. package/.output/server/chunks/build/useFormControl-CXKztoWk.mjs +0 -9
  1007. package/.output/server/chunks/build/useFormControl-CXKztoWk.mjs.map +0 -1
  1008. package/.output/server/chunks/build/useOpenInIde-CbbYW3pd.mjs +0 -185
  1009. package/.output/server/chunks/build/useOpenInIde-CbbYW3pd.mjs.map +0 -1
  1010. package/.output/server/chunks/build/useSettingsNav-C6NpD4Ab.mjs +0 -19
  1011. package/.output/server/chunks/build/useSettingsNav-C6NpD4Ab.mjs.map +0 -1
  1012. package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs +0 -25
  1013. package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs.map +0 -1
  1014. package/.output/server/chunks/build/users-C2MuCf5G.mjs +0 -747
  1015. package/.output/server/chunks/build/users-C2MuCf5G.mjs.map +0 -1
  1016. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +0 -76
  1017. package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +0 -1
  1018. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +0 -89
  1019. package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +0 -1
  1020. package/.output/server/chunks/routes/api/tags/_id_.put.mjs +0 -77
  1021. package/.output/server/chunks/routes/api/tags/_id_.put.mjs.map +0 -1
  1022. package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs +0 -71
  1023. package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs.map +0 -1
  1024. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +0 -66
  1025. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +0 -1
  1026. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +0 -55
  1027. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +0 -1
  1028. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +0 -56
  1029. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +0 -1
  1030. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +0 -64
  1031. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +0 -1
  1032. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +0 -64
  1033. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +0 -1
  1034. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +0 -59
  1035. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +0 -1
  1036. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +0 -62
  1037. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +0 -1
  1038. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +0 -55
  1039. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +0 -1
  1040. package/.output/server/node_modules/.nitro/d3-array@2.12.1/dist/d3-array.js +0 -1182
  1041. package/.output/server/node_modules/.nitro/d3-array@2.12.1/package.json +0 -53
  1042. package/.output/server/node_modules/.nitro/d3-array@3.2.4/package.json +0 -61
  1043. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/array.js +0 -4
  1044. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/ascending.js +0 -3
  1045. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bin.js +0 -125
  1046. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bisect.js +0 -9
  1047. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bisector.js +0 -56
  1048. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/blur.js +0 -115
  1049. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/constant.js +0 -3
  1050. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/count.js +0 -18
  1051. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/cross.js +0 -33
  1052. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/cumsum.js +0 -6
  1053. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/descending.js +0 -7
  1054. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/deviation.js +0 -6
  1055. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/difference.js +0 -11
  1056. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/disjoint.js +0 -15
  1057. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/every.js +0 -10
  1058. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/extent.js +0 -29
  1059. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/filter.js +0 -11
  1060. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/fsum.js +0 -69
  1061. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/greatest.js +0 -29
  1062. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/greatestIndex.js +0 -19
  1063. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/group.js +0 -65
  1064. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/groupSort.js +0 -10
  1065. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/identity.js +0 -3
  1066. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/index.js +0 -57
  1067. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/intersection.js +0 -19
  1068. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/least.js +0 -29
  1069. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/leastIndex.js +0 -19
  1070. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/map.js +0 -5
  1071. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/max.js +0 -20
  1072. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/maxIndex.js +0 -22
  1073. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/mean.js +0 -19
  1074. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/median.js +0 -9
  1075. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/merge.js +0 -9
  1076. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/min.js +0 -20
  1077. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/minIndex.js +0 -22
  1078. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/mode.js +0 -28
  1079. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/nice.js +0 -18
  1080. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/number.js +0 -20
  1081. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/pairs.js +0 -15
  1082. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/permute.js +0 -3
  1083. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/quantile.js +0 -47
  1084. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/quickselect.js +0 -53
  1085. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/range.js +0 -13
  1086. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/rank.js +0 -24
  1087. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/reduce.js +0 -14
  1088. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/reverse.js +0 -4
  1089. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/scan.js +0 -6
  1090. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/shuffle.js +0 -13
  1091. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/some.js +0 -10
  1092. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/sort.js +0 -39
  1093. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/subset.js +0 -5
  1094. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/sum.js +0 -18
  1095. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/superset.js +0 -19
  1096. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/freedmanDiaconis.js +0 -7
  1097. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/scott.js +0 -7
  1098. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/sturges.js +0 -5
  1099. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/ticks.js +0 -55
  1100. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/transpose.js +0 -15
  1101. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/union.js +0 -11
  1102. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/variance.js +0 -25
  1103. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/zip.js +0 -5
  1104. package/.output/server/node_modules/.nitro/d3-path@1.0.9/dist/d3-path.js +0 -141
  1105. package/.output/server/node_modules/.nitro/d3-path@1.0.9/package.json +0 -47
  1106. package/.output/server/node_modules/.nitro/d3-path@3.1.0/package.json +0 -54
  1107. package/.output/server/node_modules/.nitro/d3-path@3.1.0/src/index.js +0 -1
  1108. package/.output/server/node_modules/.nitro/d3-path@3.1.0/src/path.js +0 -156
  1109. package/.output/server/node_modules/.nitro/d3-shape@1.3.7/dist/d3-shape.js +0 -1949
  1110. package/.output/server/node_modules/.nitro/d3-shape@1.3.7/package.json +0 -48
  1111. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/package.json +0 -55
  1112. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/arc.js +0 -268
  1113. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/area.js +0 -112
  1114. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/areaRadial.js +0 -29
  1115. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/array.js +0 -7
  1116. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/constant.js +0 -5
  1117. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basis.js +0 -51
  1118. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basisClosed.js +0 -52
  1119. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basisOpen.js +0 -39
  1120. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/bump.js +0 -75
  1121. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/bundle.js +0 -56
  1122. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinal.js +0 -61
  1123. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinalClosed.js +0 -61
  1124. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinalOpen.js +0 -49
  1125. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRom.js +0 -88
  1126. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRomClosed.js +0 -74
  1127. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRomOpen.js +0 -62
  1128. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/linear.js +0 -31
  1129. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/linearClosed.js +0 -25
  1130. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/monotone.js +0 -104
  1131. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/natural.js +0 -65
  1132. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/radial.js +0 -36
  1133. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/step.js +0 -53
  1134. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/descending.js +0 -3
  1135. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/identity.js +0 -3
  1136. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/index.js +0 -53
  1137. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/line.js +0 -58
  1138. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/lineRadial.js +0 -19
  1139. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/link.js +0 -73
  1140. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/math.js +0 -20
  1141. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/noop.js +0 -1
  1142. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/diverging.js +0 -14
  1143. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/expand.js +0 -10
  1144. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/none.js +0 -9
  1145. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/silhouette.js +0 -10
  1146. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/wiggle.js +0 -24
  1147. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/appearance.js +0 -12
  1148. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/ascending.js +0 -12
  1149. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/descending.js +0 -5
  1150. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/insideOut.js +0 -27
  1151. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/none.js +0 -5
  1152. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/reverse.js +0 -5
  1153. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/path.js +0 -19
  1154. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/pie.js +0 -80
  1155. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/point.js +0 -7
  1156. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/pointRadial.js +0 -3
  1157. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/stack.js +0 -58
  1158. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/asterisk.js +0 -17
  1159. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/circle.js +0 -9
  1160. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/cross.js +0 -20
  1161. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/diamond.js +0 -16
  1162. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/diamond2.js +0 -12
  1163. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/plus.js +0 -11
  1164. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/square.js +0 -9
  1165. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/square2.js +0 -12
  1166. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/star.js +0 -24
  1167. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/times.js +0 -11
  1168. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/triangle.js +0 -13
  1169. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/triangle2.js +0 -15
  1170. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/wye.js +0 -25
  1171. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol.js +0 -66
  1172. package/.output/server/node_modules/@emotion/cache/dist/emotion-cache.cjs.js +0 -503
  1173. package/.output/server/node_modules/@emotion/cache/package.json +0 -100
  1174. package/.output/server/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.cjs.js +0 -148
  1175. package/.output/server/node_modules/@emotion/css/create-instance/package.json +0 -9
  1176. package/.output/server/node_modules/@emotion/css/dist/emotion-css.cjs.js +0 -33
  1177. package/.output/server/node_modules/@emotion/css/dist/emotion-css.cjs.mjs +0 -12
  1178. package/.output/server/node_modules/@emotion/css/package.json +0 -106
  1179. package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.dev.js +0 -59
  1180. package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.js +0 -7
  1181. package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.prod.js +0 -59
  1182. package/.output/server/node_modules/@emotion/hash/package.json +0 -29
  1183. package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.dev.js +0 -13
  1184. package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.js +0 -7
  1185. package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.prod.js +0 -13
  1186. package/.output/server/node_modules/@emotion/memoize/package.json +0 -32
  1187. package/.output/server/node_modules/@emotion/serialize/dist/emotion-serialize.cjs.js +0 -246
  1188. package/.output/server/node_modules/@emotion/serialize/package.json +0 -54
  1189. package/.output/server/node_modules/@emotion/sheet/dist/emotion-sheet.cjs.js +0 -144
  1190. package/.output/server/node_modules/@emotion/sheet/package.json +0 -47
  1191. package/.output/server/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.js +0 -56
  1192. package/.output/server/node_modules/@emotion/unitless/package.json +0 -29
  1193. package/.output/server/node_modules/@emotion/utils/dist/emotion-utils.cjs.js +0 -60
  1194. package/.output/server/node_modules/@emotion/utils/package.json +0 -65
  1195. package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.dev.js +0 -20
  1196. package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.js +0 -7
  1197. package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.prod.js +0 -20
  1198. package/.output/server/node_modules/@emotion/weak-memoize/package.json +0 -32
  1199. package/.output/server/node_modules/@juggle/resize-observer/lib/exports/resize-observer.umd.js +0 -512
  1200. package/.output/server/node_modules/@juggle/resize-observer/package.json +0 -69
  1201. package/.output/server/node_modules/@unovis/dagre-layout/dist/acyclic.js +0 -73
  1202. package/.output/server/node_modules/@unovis/dagre-layout/dist/add-border-segments.js +0 -48
  1203. package/.output/server/node_modules/@unovis/dagre-layout/dist/coordinate-system.js +0 -89
  1204. package/.output/server/node_modules/@unovis/dagre-layout/dist/data/list.js +0 -61
  1205. package/.output/server/node_modules/@unovis/dagre-layout/dist/greedy-fas.js +0 -143
  1206. package/.output/server/node_modules/@unovis/dagre-layout/dist/index.js +0 -9
  1207. package/.output/server/node_modules/@unovis/dagre-layout/dist/layout.js +0 -514
  1208. package/.output/server/node_modules/@unovis/dagre-layout/dist/nesting-graph.js +0 -149
  1209. package/.output/server/node_modules/@unovis/dagre-layout/dist/normalize.js +0 -111
  1210. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/add-subgraph-constraints.js +0 -57
  1211. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/barycenter.js +0 -35
  1212. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/build-layer-graph.js +0 -86
  1213. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/cross-count.js +0 -90
  1214. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/index.js +0 -83
  1215. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/init-order.js +0 -54
  1216. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/resolve-conflicts.js +0 -132
  1217. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/sort-subgraph.js +0 -83
  1218. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/sort.js +0 -70
  1219. package/.output/server/node_modules/@unovis/dagre-layout/dist/parent-dummy-chains.js +0 -94
  1220. package/.output/server/node_modules/@unovis/dagre-layout/dist/position/bk.js +0 -451
  1221. package/.output/server/node_modules/@unovis/dagre-layout/dist/position/index.js +0 -35
  1222. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/feasible-tree.js +0 -94
  1223. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/index.js +0 -56
  1224. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/network-simplex.js +0 -246
  1225. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/util.js +0 -56
  1226. package/.output/server/node_modules/@unovis/dagre-layout/dist/util.js +0 -291
  1227. package/.output/server/node_modules/@unovis/dagre-layout/package.json +0 -73
  1228. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/components.js +0 -32
  1229. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dfs.js +0 -53
  1230. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dijkstra-all.js +0 -11
  1231. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dijkstra.js +0 -57
  1232. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/find-cycles.js +0 -11
  1233. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/floyd-warshall.js +0 -56
  1234. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/index.js +0 -12
  1235. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/is-acyclic.js +0 -18
  1236. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/postorder.js +0 -8
  1237. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/preorder.js +0 -8
  1238. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/prim.js +0 -56
  1239. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/tarjan.js +0 -49
  1240. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/topsort.js +0 -42
  1241. package/.output/server/node_modules/@unovis/graphlibrary/dist/data/priority-queue.js +0 -179
  1242. package/.output/server/node_modules/@unovis/graphlibrary/dist/graph.js +0 -572
  1243. package/.output/server/node_modules/@unovis/graphlibrary/dist/index.js +0 -6
  1244. package/.output/server/node_modules/@unovis/graphlibrary/dist/json.js +0 -88
  1245. package/.output/server/node_modules/@unovis/graphlibrary/package.json +0 -63
  1246. package/.output/server/node_modules/@unovis/ts/components/annotations/config.js +0 -6
  1247. package/.output/server/node_modules/@unovis/ts/components/annotations/index.js +0 -125
  1248. package/.output/server/node_modules/@unovis/ts/components/annotations/style.js +0 -54
  1249. package/.output/server/node_modules/@unovis/ts/components/annotations/types.js +0 -2
  1250. package/.output/server/node_modules/@unovis/ts/components/area/config.js +0 -7
  1251. package/.output/server/node_modules/@unovis/ts/components/area/index.js +0 -197
  1252. package/.output/server/node_modules/@unovis/ts/components/area/style.js +0 -50
  1253. package/.output/server/node_modules/@unovis/ts/components/axis/config.js +0 -7
  1254. package/.output/server/node_modules/@unovis/ts/components/axis/index.js +0 -500
  1255. package/.output/server/node_modules/@unovis/ts/components/axis/style.js +0 -121
  1256. package/.output/server/node_modules/@unovis/ts/components/axis/types.js +0 -8
  1257. package/.output/server/node_modules/@unovis/ts/components/brush/config.js +0 -15
  1258. package/.output/server/node_modules/@unovis/ts/components/brush/index.js +0 -204
  1259. package/.output/server/node_modules/@unovis/ts/components/brush/style.js +0 -70
  1260. package/.output/server/node_modules/@unovis/ts/components/brush/types.js +0 -8
  1261. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/config.js +0 -17
  1262. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/index.js +0 -87
  1263. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/modules/shape.js +0 -102
  1264. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/style.js +0 -75
  1265. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/types.js +0 -12
  1266. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/config.js +0 -8
  1267. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/index.js +0 -245
  1268. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/label.js +0 -113
  1269. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/layout.js +0 -93
  1270. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/link.js +0 -69
  1271. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/node.js +0 -52
  1272. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/style.js +0 -97
  1273. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/types.js +0 -8
  1274. package/.output/server/node_modules/@unovis/ts/components/crosshair/config.js +0 -6
  1275. package/.output/server/node_modules/@unovis/ts/components/crosshair/index.js +0 -287
  1276. package/.output/server/node_modules/@unovis/ts/components/crosshair/style.js +0 -30
  1277. package/.output/server/node_modules/@unovis/ts/components/crosshair/types.js +0 -2
  1278. package/.output/server/node_modules/@unovis/ts/components/donut/config.js +0 -7
  1279. package/.output/server/node_modules/@unovis/ts/components/donut/constants.js +0 -8
  1280. package/.output/server/node_modules/@unovis/ts/components/donut/index.js +0 -138
  1281. package/.output/server/node_modules/@unovis/ts/components/donut/modules/arc.js +0 -59
  1282. package/.output/server/node_modules/@unovis/ts/components/donut/style.js +0 -70
  1283. package/.output/server/node_modules/@unovis/ts/components/flow-legend/config.js +0 -17
  1284. package/.output/server/node_modules/@unovis/ts/components/flow-legend/index.js +0 -96
  1285. package/.output/server/node_modules/@unovis/ts/components/flow-legend/style.js +0 -98
  1286. package/.output/server/node_modules/@unovis/ts/components/flow-legend/types.js +0 -8
  1287. package/.output/server/node_modules/@unovis/ts/components/free-brush/config.js +0 -15
  1288. package/.output/server/node_modules/@unovis/ts/components/free-brush/index.js +0 -193
  1289. package/.output/server/node_modules/@unovis/ts/components/free-brush/style.js +0 -51
  1290. package/.output/server/node_modules/@unovis/ts/components/free-brush/types.js +0 -10
  1291. package/.output/server/node_modules/@unovis/ts/components/graph/config.js +0 -23
  1292. package/.output/server/node_modules/@unovis/ts/components/graph/index.js +0 -914
  1293. package/.output/server/node_modules/@unovis/ts/components/graph/modules/layout-helpers.js +0 -69
  1294. package/.output/server/node_modules/@unovis/ts/components/graph/modules/layout.js +0 -429
  1295. package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/helper.js +0 -64
  1296. package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/index.js +0 -294
  1297. package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/style.js +0 -120
  1298. package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/helper.js +0 -129
  1299. package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/index.js +0 -326
  1300. package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/style.js +0 -313
  1301. package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/helper.js +0 -111
  1302. package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/index.js +0 -99
  1303. package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/style.js +0 -126
  1304. package/.output/server/node_modules/@unovis/ts/components/graph/modules/shape.js +0 -78
  1305. package/.output/server/node_modules/@unovis/ts/components/graph/modules/zoom-levels.js +0 -10
  1306. package/.output/server/node_modules/@unovis/ts/components/graph/style.js +0 -87
  1307. package/.output/server/node_modules/@unovis/ts/components/graph/types.js +0 -45
  1308. package/.output/server/node_modules/@unovis/ts/components/grouped-bar/config.js +0 -7
  1309. package/.output/server/node_modules/@unovis/ts/components/grouped-bar/index.js +0 -239
  1310. package/.output/server/node_modules/@unovis/ts/components/grouped-bar/style.js +0 -45
  1311. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/config.js +0 -7
  1312. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/index.js +0 -221
  1313. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/renderer-utils.js +0 -15
  1314. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/renderer.js +0 -117
  1315. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/shaders.js +0 -27
  1316. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/config.js +0 -28
  1317. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/index.js +0 -706
  1318. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/leaflet.css.js +0 -5
  1319. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/clusterBackground.js +0 -27
  1320. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/donut.js +0 -25
  1321. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/map.js +0 -155
  1322. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/node.js +0 -158
  1323. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/selectionRing.js +0 -41
  1324. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/utils.js +0 -214
  1325. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/leaflet-maplibre-gl.js +0 -273
  1326. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/map-style.js +0 -15
  1327. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js +0 -40
  1328. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js +0 -40
  1329. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js +0 -4981
  1330. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl-layer.js +0 -27
  1331. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl-utils.js +0 -38
  1332. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/maplibre-gl.css.js +0 -4
  1333. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/style.js +0 -183
  1334. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/types.js +0 -15
  1335. package/.output/server/node_modules/@unovis/ts/components/line/config.js +0 -7
  1336. package/.output/server/node_modules/@unovis/ts/components/line/index.js +0 -191
  1337. package/.output/server/node_modules/@unovis/ts/components/line/style.js +0 -46
  1338. package/.output/server/node_modules/@unovis/ts/components/nested-donut/config.js +0 -8
  1339. package/.output/server/node_modules/@unovis/ts/components/nested-donut/index.js +0 -218
  1340. package/.output/server/node_modules/@unovis/ts/components/nested-donut/modules/arc.js +0 -51
  1341. package/.output/server/node_modules/@unovis/ts/components/nested-donut/modules/label.js +0 -82
  1342. package/.output/server/node_modules/@unovis/ts/components/nested-donut/style.js +0 -80
  1343. package/.output/server/node_modules/@unovis/ts/components/nested-donut/types.js +0 -14
  1344. package/.output/server/node_modules/@unovis/ts/components/plotband/config.js +0 -9
  1345. package/.output/server/node_modules/@unovis/ts/components/plotband/constants.js +0 -413
  1346. package/.output/server/node_modules/@unovis/ts/components/plotband/index.js +0 -92
  1347. package/.output/server/node_modules/@unovis/ts/components/plotband/style.js +0 -39
  1348. package/.output/server/node_modules/@unovis/ts/components/plotband/types.js +0 -27
  1349. package/.output/server/node_modules/@unovis/ts/components/plotline/config.js +0 -9
  1350. package/.output/server/node_modules/@unovis/ts/components/plotline/constants.js +0 -58
  1351. package/.output/server/node_modules/@unovis/ts/components/plotline/index.js +0 -102
  1352. package/.output/server/node_modules/@unovis/ts/components/plotline/style.js +0 -43
  1353. package/.output/server/node_modules/@unovis/ts/components/plotline/types.js +0 -33
  1354. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/config.js +0 -11
  1355. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/index.js +0 -69
  1356. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/style.js +0 -39
  1357. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/types.js +0 -2
  1358. package/.output/server/node_modules/@unovis/ts/components/sankey/config.js +0 -18
  1359. package/.output/server/node_modules/@unovis/ts/components/sankey/index.js +0 -637
  1360. package/.output/server/node_modules/@unovis/ts/components/sankey/modules/label.js +0 -206
  1361. package/.output/server/node_modules/@unovis/ts/components/sankey/modules/link.js +0 -99
  1362. package/.output/server/node_modules/@unovis/ts/components/sankey/modules/node.js +0 -206
  1363. package/.output/server/node_modules/@unovis/ts/components/sankey/style.js +0 -172
  1364. package/.output/server/node_modules/@unovis/ts/components/sankey/types.js +0 -46
  1365. package/.output/server/node_modules/@unovis/ts/components/scatter/config.js +0 -10
  1366. package/.output/server/node_modules/@unovis/ts/components/scatter/index.js +0 -200
  1367. package/.output/server/node_modules/@unovis/ts/components/scatter/modules/point.js +0 -87
  1368. package/.output/server/node_modules/@unovis/ts/components/scatter/modules/utils.js +0 -112
  1369. package/.output/server/node_modules/@unovis/ts/components/scatter/style.js +0 -56
  1370. package/.output/server/node_modules/@unovis/ts/components/stacked-bar/config.js +0 -7
  1371. package/.output/server/node_modules/@unovis/ts/components/stacked-bar/index.js +0 -244
  1372. package/.output/server/node_modules/@unovis/ts/components/stacked-bar/style.js +0 -44
  1373. package/.output/server/node_modules/@unovis/ts/components/timeline/config.js +0 -20
  1374. package/.output/server/node_modules/@unovis/ts/components/timeline/constants.js +0 -6
  1375. package/.output/server/node_modules/@unovis/ts/components/timeline/index.js +0 -568
  1376. package/.output/server/node_modules/@unovis/ts/components/timeline/style.js +0 -126
  1377. package/.output/server/node_modules/@unovis/ts/components/timeline/types.js +0 -2
  1378. package/.output/server/node_modules/@unovis/ts/components/timeline/utils.js +0 -16
  1379. package/.output/server/node_modules/@unovis/ts/components/tooltip/config.js +0 -21
  1380. package/.output/server/node_modules/@unovis/ts/components/tooltip/index.js +0 -365
  1381. package/.output/server/node_modules/@unovis/ts/components/tooltip/style.js +0 -76
  1382. package/.output/server/node_modules/@unovis/ts/components/topojson-map/config.js +0 -11
  1383. package/.output/server/node_modules/@unovis/ts/components/topojson-map/index.js +0 -1294
  1384. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/background.js +0 -13
  1385. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/donut.js +0 -29
  1386. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/flow.js +0 -134
  1387. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/selectionRing.js +0 -33
  1388. package/.output/server/node_modules/@unovis/ts/components/topojson-map/style.js +0 -229
  1389. package/.output/server/node_modules/@unovis/ts/components/topojson-map/types.js +0 -87
  1390. package/.output/server/node_modules/@unovis/ts/components/topojson-map/utils.js +0 -324
  1391. package/.output/server/node_modules/@unovis/ts/components/treemap/config.js +0 -7
  1392. package/.output/server/node_modules/@unovis/ts/components/treemap/index.js +0 -296
  1393. package/.output/server/node_modules/@unovis/ts/components/treemap/style.js +0 -68
  1394. package/.output/server/node_modules/@unovis/ts/components/treemap/types.js +0 -2
  1395. package/.output/server/node_modules/@unovis/ts/components/vis-controls/config.js +0 -10
  1396. package/.output/server/node_modules/@unovis/ts/components/vis-controls/index.js +0 -55
  1397. package/.output/server/node_modules/@unovis/ts/components/vis-controls/style.js +0 -76
  1398. package/.output/server/node_modules/@unovis/ts/components/vis-controls/types.js +0 -8
  1399. package/.output/server/node_modules/@unovis/ts/components/xy-labels/config.js +0 -8
  1400. package/.output/server/node_modules/@unovis/ts/components/xy-labels/index.js +0 -88
  1401. package/.output/server/node_modules/@unovis/ts/components/xy-labels/modules/label.js +0 -107
  1402. package/.output/server/node_modules/@unovis/ts/components/xy-labels/style.js +0 -56
  1403. package/.output/server/node_modules/@unovis/ts/components/xy-labels/types.js +0 -9
  1404. package/.output/server/node_modules/@unovis/ts/components.js +0 -35
  1405. package/.output/server/node_modules/@unovis/ts/containers/single-container/config.js +0 -7
  1406. package/.output/server/node_modules/@unovis/ts/containers/single-container/index.js +0 -151
  1407. package/.output/server/node_modules/@unovis/ts/containers/xy-container/config.js +0 -7
  1408. package/.output/server/node_modules/@unovis/ts/containers/xy-container/index.js +0 -370
  1409. package/.output/server/node_modules/@unovis/ts/containers.js +0 -4
  1410. package/.output/server/node_modules/@unovis/ts/core/component/config.js +0 -8
  1411. package/.output/server/node_modules/@unovis/ts/core/component/index.js +0 -136
  1412. package/.output/server/node_modules/@unovis/ts/core/component/types.js +0 -2
  1413. package/.output/server/node_modules/@unovis/ts/core/container/config.js +0 -26
  1414. package/.output/server/node_modules/@unovis/ts/core/container/index.js +0 -135
  1415. package/.output/server/node_modules/@unovis/ts/core/xy-component/config.js +0 -7
  1416. package/.output/server/node_modules/@unovis/ts/core/xy-component/index.js +0 -78
  1417. package/.output/server/node_modules/@unovis/ts/data-models/core.js +0 -14
  1418. package/.output/server/node_modules/@unovis/ts/data-models/graph.js +0 -128
  1419. package/.output/server/node_modules/@unovis/ts/data-models/index.js +0 -5
  1420. package/.output/server/node_modules/@unovis/ts/data-models/map-graph.js +0 -59
  1421. package/.output/server/node_modules/@unovis/ts/data-models/map.js +0 -12
  1422. package/.output/server/node_modules/@unovis/ts/data-models/series.js +0 -19
  1423. package/.output/server/node_modules/@unovis/ts/index.js +0 -81
  1424. package/.output/server/node_modules/@unovis/ts/package.json +0 -127
  1425. package/.output/server/node_modules/@unovis/ts/styles/colors.js +0 -24
  1426. package/.output/server/node_modules/@unovis/ts/styles/index.js +0 -66
  1427. package/.output/server/node_modules/@unovis/ts/styles/patterns.js +0 -54
  1428. package/.output/server/node_modules/@unovis/ts/styles/sizes.js +0 -117
  1429. package/.output/server/node_modules/@unovis/ts/types/accessor.js +0 -2
  1430. package/.output/server/node_modules/@unovis/ts/types/component.js +0 -16
  1431. package/.output/server/node_modules/@unovis/ts/types/curve.js +0 -46
  1432. package/.output/server/node_modules/@unovis/ts/types/data.js +0 -9
  1433. package/.output/server/node_modules/@unovis/ts/types/direction.js +0 -10
  1434. package/.output/server/node_modules/@unovis/ts/types/graph.js +0 -2
  1435. package/.output/server/node_modules/@unovis/ts/types/map.js +0 -2
  1436. package/.output/server/node_modules/@unovis/ts/types/misc.js +0 -2
  1437. package/.output/server/node_modules/@unovis/ts/types/position.js +0 -28
  1438. package/.output/server/node_modules/@unovis/ts/types/scale.js +0 -28
  1439. package/.output/server/node_modules/@unovis/ts/types/shape.js +0 -11
  1440. package/.output/server/node_modules/@unovis/ts/types/spacing.js +0 -2
  1441. package/.output/server/node_modules/@unovis/ts/types/svg.js +0 -22
  1442. package/.output/server/node_modules/@unovis/ts/types/symbol.js +0 -24
  1443. package/.output/server/node_modules/@unovis/ts/types/text.js +0 -26
  1444. package/.output/server/node_modules/@unovis/ts/types.js +0 -37
  1445. package/.output/server/node_modules/@unovis/ts/utils/color.js +0 -66
  1446. package/.output/server/node_modules/@unovis/ts/utils/d3.js +0 -16
  1447. package/.output/server/node_modules/@unovis/ts/utils/data.js +0 -314
  1448. package/.output/server/node_modules/@unovis/ts/utils/html.js +0 -23
  1449. package/.output/server/node_modules/@unovis/ts/utils/index.js +0 -14
  1450. package/.output/server/node_modules/@unovis/ts/utils/map.js +0 -20
  1451. package/.output/server/node_modules/@unovis/ts/utils/misc.js +0 -151
  1452. package/.output/server/node_modules/@unovis/ts/utils/path.js +0 -261
  1453. package/.output/server/node_modules/@unovis/ts/utils/resize-observer.js +0 -6
  1454. package/.output/server/node_modules/@unovis/ts/utils/scale.js +0 -4
  1455. package/.output/server/node_modules/@unovis/ts/utils/style.js +0 -30
  1456. package/.output/server/node_modules/@unovis/ts/utils/svg.js +0 -61
  1457. package/.output/server/node_modules/@unovis/ts/utils/text.js +0 -506
  1458. package/.output/server/node_modules/@unovis/ts/utils/theme.js +0 -4
  1459. package/.output/server/node_modules/@unovis/ts/utils/to-px.js +0 -110
  1460. package/.output/server/node_modules/@unovis/ts/utils/type.js +0 -2
  1461. package/.output/server/node_modules/@unovis/vue/components/annotations/index.js +0 -34
  1462. package/.output/server/node_modules/@unovis/vue/components/area/index.js +0 -52
  1463. package/.output/server/node_modules/@unovis/vue/components/axis/index.js +0 -71
  1464. package/.output/server/node_modules/@unovis/vue/components/brush/index.js +0 -51
  1465. package/.output/server/node_modules/@unovis/vue/components/chord-diagram/index.js +0 -48
  1466. package/.output/server/node_modules/@unovis/vue/components/crosshair/index.js +0 -28
  1467. package/.output/server/node_modules/@unovis/vue/components/donut/index.js +0 -52
  1468. package/.output/server/node_modules/@unovis/vue/components/free-brush/index.js +0 -50
  1469. package/.output/server/node_modules/@unovis/vue/components/graph/index.js +0 -124
  1470. package/.output/server/node_modules/@unovis/vue/components/grouped-bar/index.js +0 -50
  1471. package/.output/server/node_modules/@unovis/vue/components/line/index.js +0 -48
  1472. package/.output/server/node_modules/@unovis/vue/components/nested-donut/index.js +0 -53
  1473. package/.output/server/node_modules/@unovis/vue/components/plotband/index.js +0 -49
  1474. package/.output/server/node_modules/@unovis/vue/components/plotline/index.js +0 -50
  1475. package/.output/server/node_modules/@unovis/vue/components/sankey/index.js +0 -91
  1476. package/.output/server/node_modules/@unovis/vue/components/scatter/index.js +0 -53
  1477. package/.output/server/node_modules/@unovis/vue/components/stacked-bar/index.js +0 -50
  1478. package/.output/server/node_modules/@unovis/vue/components/timeline/index.js +0 -28
  1479. package/.output/server/node_modules/@unovis/vue/components/tooltip/index.js +0 -42
  1480. package/.output/server/node_modules/@unovis/vue/components/topojson-map/index.js +0 -95
  1481. package/.output/server/node_modules/@unovis/vue/components/treemap/index.js +0 -60
  1482. package/.output/server/node_modules/@unovis/vue/components/xy-labels/index.js +0 -54
  1483. package/.output/server/node_modules/@unovis/vue/containers/single-container/index.js +0 -67
  1484. package/.output/server/node_modules/@unovis/vue/containers/xy-container/index.js +0 -98
  1485. package/.output/server/node_modules/@unovis/vue/html-components/bullet-legend/index.js +0 -44
  1486. package/.output/server/node_modules/@unovis/vue/html-components/flow-legend/index.js +0 -46
  1487. package/.output/server/node_modules/@unovis/vue/html-components/leaflet-flow-map/index.js +0 -96
  1488. package/.output/server/node_modules/@unovis/vue/html-components/leaflet-map/index.js +0 -83
  1489. package/.output/server/node_modules/@unovis/vue/html-components/rolling-pin-legend/index.js +0 -40
  1490. package/.output/server/node_modules/@unovis/vue/index.js +0 -96
  1491. package/.output/server/node_modules/@unovis/vue/package.json +0 -81
  1492. package/.output/server/node_modules/@unovis/vue/utils/context.js +0 -9
  1493. package/.output/server/node_modules/@unovis/vue/utils/props.js +0 -19
  1494. package/.output/server/node_modules/d3-axis/package.json +0 -54
  1495. package/.output/server/node_modules/d3-axis/src/axis.js +0 -174
  1496. package/.output/server/node_modules/d3-axis/src/identity.js +0 -3
  1497. package/.output/server/node_modules/d3-axis/src/index.js +0 -6
  1498. package/.output/server/node_modules/d3-brush/package.json +0 -55
  1499. package/.output/server/node_modules/d3-brush/src/brush.js +0 -621
  1500. package/.output/server/node_modules/d3-brush/src/constant.js +0 -1
  1501. package/.output/server/node_modules/d3-brush/src/event.js +0 -16
  1502. package/.output/server/node_modules/d3-brush/src/index.js +0 -6
  1503. package/.output/server/node_modules/d3-brush/src/noevent.js +0 -8
  1504. package/.output/server/node_modules/d3-chord/package.json +0 -54
  1505. package/.output/server/node_modules/d3-chord/src/array.js +0 -1
  1506. package/.output/server/node_modules/d3-chord/src/chord.js +0 -122
  1507. package/.output/server/node_modules/d3-chord/src/constant.js +0 -5
  1508. package/.output/server/node_modules/d3-chord/src/index.js +0 -2
  1509. package/.output/server/node_modules/d3-chord/src/math.js +0 -8
  1510. package/.output/server/node_modules/d3-chord/src/ribbon.js +0 -134
  1511. package/.output/server/node_modules/d3-color/package.json +0 -54
  1512. package/.output/server/node_modules/d3-color/src/color.js +0 -396
  1513. package/.output/server/node_modules/d3-color/src/cubehelix.js +0 -61
  1514. package/.output/server/node_modules/d3-color/src/define.js +0 -10
  1515. package/.output/server/node_modules/d3-color/src/index.js +0 -3
  1516. package/.output/server/node_modules/d3-color/src/lab.js +0 -123
  1517. package/.output/server/node_modules/d3-color/src/math.js +0 -2
  1518. package/.output/server/node_modules/d3-dispatch/package.json +0 -50
  1519. package/.output/server/node_modules/d3-dispatch/src/dispatch.js +0 -84
  1520. package/.output/server/node_modules/d3-dispatch/src/index.js +0 -1
  1521. package/.output/server/node_modules/d3-drag/package.json +0 -54
  1522. package/.output/server/node_modules/d3-drag/src/constant.js +0 -1
  1523. package/.output/server/node_modules/d3-drag/src/drag.js +0 -194
  1524. package/.output/server/node_modules/d3-drag/src/event.js +0 -28
  1525. package/.output/server/node_modules/d3-drag/src/index.js +0 -2
  1526. package/.output/server/node_modules/d3-drag/src/nodrag.js +0 -28
  1527. package/.output/server/node_modules/d3-drag/src/noevent.js +0 -13
  1528. package/.output/server/node_modules/d3-ease/package.json +0 -51
  1529. package/.output/server/node_modules/d3-ease/src/back.js +0 -37
  1530. package/.output/server/node_modules/d3-ease/src/bounce.js +0 -22
  1531. package/.output/server/node_modules/d3-ease/src/circle.js +0 -11
  1532. package/.output/server/node_modules/d3-ease/src/cubic.js +0 -11
  1533. package/.output/server/node_modules/d3-ease/src/elastic.js +0 -46
  1534. package/.output/server/node_modules/d3-ease/src/exp.js +0 -13
  1535. package/.output/server/node_modules/d3-ease/src/index.js +0 -66
  1536. package/.output/server/node_modules/d3-ease/src/linear.js +0 -1
  1537. package/.output/server/node_modules/d3-ease/src/math.js +0 -4
  1538. package/.output/server/node_modules/d3-ease/src/poly.js +0 -37
  1539. package/.output/server/node_modules/d3-ease/src/quad.js +0 -11
  1540. package/.output/server/node_modules/d3-ease/src/sin.js +0 -14
  1541. package/.output/server/node_modules/d3-force/package.json +0 -58
  1542. package/.output/server/node_modules/d3-force/src/center.js +0 -40
  1543. package/.output/server/node_modules/d3-force/src/collide.js +0 -100
  1544. package/.output/server/node_modules/d3-force/src/constant.js +0 -5
  1545. package/.output/server/node_modules/d3-force/src/index.js +0 -8
  1546. package/.output/server/node_modules/d3-force/src/jiggle.js +0 -3
  1547. package/.output/server/node_modules/d3-force/src/lcg.js +0 -9
  1548. package/.output/server/node_modules/d3-force/src/link.js +0 -117
  1549. package/.output/server/node_modules/d3-force/src/manyBody.js +0 -116
  1550. package/.output/server/node_modules/d3-force/src/radial.js +0 -57
  1551. package/.output/server/node_modules/d3-force/src/simulation.js +0 -156
  1552. package/.output/server/node_modules/d3-force/src/x.js +0 -41
  1553. package/.output/server/node_modules/d3-force/src/y.js +0 -41
  1554. package/.output/server/node_modules/d3-format/package.json +0 -56
  1555. package/.output/server/node_modules/d3-format/src/defaultLocale.js +0 -18
  1556. package/.output/server/node_modules/d3-format/src/exponent.js +0 -5
  1557. package/.output/server/node_modules/d3-format/src/formatDecimal.js +0 -20
  1558. package/.output/server/node_modules/d3-format/src/formatGroup.js +0 -18
  1559. package/.output/server/node_modules/d3-format/src/formatNumerals.js +0 -7
  1560. package/.output/server/node_modules/d3-format/src/formatPrefixAuto.js +0 -16
  1561. package/.output/server/node_modules/d3-format/src/formatRounded.js +0 -11
  1562. package/.output/server/node_modules/d3-format/src/formatSpecifier.js +0 -47
  1563. package/.output/server/node_modules/d3-format/src/formatTrim.js +0 -11
  1564. package/.output/server/node_modules/d3-format/src/formatTypes.js +0 -19
  1565. package/.output/server/node_modules/d3-format/src/identity.js +0 -3
  1566. package/.output/server/node_modules/d3-format/src/index.js +0 -6
  1567. package/.output/server/node_modules/d3-format/src/locale.js +0 -147
  1568. package/.output/server/node_modules/d3-format/src/precisionFixed.js +0 -5
  1569. package/.output/server/node_modules/d3-format/src/precisionPrefix.js +0 -5
  1570. package/.output/server/node_modules/d3-format/src/precisionRound.js +0 -6
  1571. package/.output/server/node_modules/d3-geo/package.json +0 -59
  1572. package/.output/server/node_modules/d3-geo/src/area.js +0 -76
  1573. package/.output/server/node_modules/d3-geo/src/bounds.js +0 -179
  1574. package/.output/server/node_modules/d3-geo/src/cartesian.js +0 -33
  1575. package/.output/server/node_modules/d3-geo/src/centroid.js +0 -143
  1576. package/.output/server/node_modules/d3-geo/src/circle.js +0 -72
  1577. package/.output/server/node_modules/d3-geo/src/clip/antimeridian.js +0 -92
  1578. package/.output/server/node_modules/d3-geo/src/clip/buffer.js +0 -24
  1579. package/.output/server/node_modules/d3-geo/src/clip/circle.js +0 -177
  1580. package/.output/server/node_modules/d3-geo/src/clip/extent.js +0 -20
  1581. package/.output/server/node_modules/d3-geo/src/clip/index.js +0 -131
  1582. package/.output/server/node_modules/d3-geo/src/clip/line.js +0 -59
  1583. package/.output/server/node_modules/d3-geo/src/clip/rectangle.js +0 -168
  1584. package/.output/server/node_modules/d3-geo/src/clip/rejoin.js +0 -103
  1585. package/.output/server/node_modules/d3-geo/src/compose.js +0 -12
  1586. package/.output/server/node_modules/d3-geo/src/constant.js +0 -5
  1587. package/.output/server/node_modules/d3-geo/src/contains.js +0 -97
  1588. package/.output/server/node_modules/d3-geo/src/distance.js +0 -10
  1589. package/.output/server/node_modules/d3-geo/src/graticule.js +0 -105
  1590. package/.output/server/node_modules/d3-geo/src/identity.js +0 -1
  1591. package/.output/server/node_modules/d3-geo/src/index.js +0 -34
  1592. package/.output/server/node_modules/d3-geo/src/interpolate.js +0 -36
  1593. package/.output/server/node_modules/d3-geo/src/length.js +0 -53
  1594. package/.output/server/node_modules/d3-geo/src/math.js +0 -36
  1595. package/.output/server/node_modules/d3-geo/src/noop.js +0 -1
  1596. package/.output/server/node_modules/d3-geo/src/path/area.js +0 -50
  1597. package/.output/server/node_modules/d3-geo/src/path/bounds.js +0 -28
  1598. package/.output/server/node_modules/d3-geo/src/path/centroid.js +0 -100
  1599. package/.output/server/node_modules/d3-geo/src/path/context.js +0 -45
  1600. package/.output/server/node_modules/d3-geo/src/path/index.js +0 -76
  1601. package/.output/server/node_modules/d3-geo/src/path/measure.js +0 -45
  1602. package/.output/server/node_modules/d3-geo/src/path/string.js +0 -86
  1603. package/.output/server/node_modules/d3-geo/src/pointEqual.js +0 -5
  1604. package/.output/server/node_modules/d3-geo/src/polygonContains.js +0 -74
  1605. package/.output/server/node_modules/d3-geo/src/projection/albers.js +0 -10
  1606. package/.output/server/node_modules/d3-geo/src/projection/albersUsa.js +0 -111
  1607. package/.output/server/node_modules/d3-geo/src/projection/azimuthal.js +0 -27
  1608. package/.output/server/node_modules/d3-geo/src/projection/azimuthalEqualArea.js +0 -17
  1609. package/.output/server/node_modules/d3-geo/src/projection/azimuthalEquidistant.js +0 -17
  1610. package/.output/server/node_modules/d3-geo/src/projection/conic.js +0 -15
  1611. package/.output/server/node_modules/d3-geo/src/projection/conicConformal.js +0 -38
  1612. package/.output/server/node_modules/d3-geo/src/projection/conicEqualArea.js +0 -33
  1613. package/.output/server/node_modules/d3-geo/src/projection/conicEquidistant.js +0 -32
  1614. package/.output/server/node_modules/d3-geo/src/projection/cylindricalEqualArea.js +0 -15
  1615. package/.output/server/node_modules/d3-geo/src/projection/equalEarth.js +0 -36
  1616. package/.output/server/node_modules/d3-geo/src/projection/equirectangular.js +0 -12
  1617. package/.output/server/node_modules/d3-geo/src/projection/fit.js +0 -47
  1618. package/.output/server/node_modules/d3-geo/src/projection/gnomonic.js +0 -16
  1619. package/.output/server/node_modules/d3-geo/src/projection/identity.js +0 -85
  1620. package/.output/server/node_modules/d3-geo/src/projection/index.js +0 -177
  1621. package/.output/server/node_modules/d3-geo/src/projection/mercator.js +0 -52
  1622. package/.output/server/node_modules/d3-geo/src/projection/naturalEarth1.js +0 -28
  1623. package/.output/server/node_modules/d3-geo/src/projection/orthographic.js +0 -15
  1624. package/.output/server/node_modules/d3-geo/src/projection/resample.js +0 -102
  1625. package/.output/server/node_modules/d3-geo/src/projection/stereographic.js +0 -18
  1626. package/.output/server/node_modules/d3-geo/src/projection/transverseMercator.js +0 -27
  1627. package/.output/server/node_modules/d3-geo/src/rotation.js +0 -79
  1628. package/.output/server/node_modules/d3-geo/src/stream.js +0 -69
  1629. package/.output/server/node_modules/d3-geo/src/transform.js +0 -26
  1630. package/.output/server/node_modules/d3-geo-projection/package.json +0 -79
  1631. package/.output/server/node_modules/d3-geo-projection/src/airy.js +0 -49
  1632. package/.output/server/node_modules/d3-geo-projection/src/aitoff.js +0 -45
  1633. package/.output/server/node_modules/d3-geo-projection/src/armadillo.js +0 -83
  1634. package/.output/server/node_modules/d3-geo-projection/src/august.js +0 -39
  1635. package/.output/server/node_modules/d3-geo-projection/src/baker.js +0 -27
  1636. package/.output/server/node_modules/d3-geo-projection/src/berghaus.js +0 -77
  1637. package/.output/server/node_modules/d3-geo-projection/src/bertin.js +0 -44
  1638. package/.output/server/node_modules/d3-geo-projection/src/boggs.js +0 -26
  1639. package/.output/server/node_modules/d3-geo-projection/src/bonne.js +0 -29
  1640. package/.output/server/node_modules/d3-geo-projection/src/bottomley.js +0 -34
  1641. package/.output/server/node_modules/d3-geo-projection/src/bromley.js +0 -10
  1642. package/.output/server/node_modules/d3-geo-projection/src/chamberlin.js +0 -120
  1643. package/.output/server/node_modules/d3-geo-projection/src/collignon.js +0 -18
  1644. package/.output/server/node_modules/d3-geo-projection/src/craig.js +0 -26
  1645. package/.output/server/node_modules/d3-geo-projection/src/craster.js +0 -18
  1646. package/.output/server/node_modules/d3-geo-projection/src/cylindricalEqualArea.js +0 -22
  1647. package/.output/server/node_modules/d3-geo-projection/src/cylindricalStereographic.js +0 -21
  1648. package/.output/server/node_modules/d3-geo-projection/src/eckert1.js +0 -24
  1649. package/.output/server/node_modules/d3-geo-projection/src/eckert2.js +0 -23
  1650. package/.output/server/node_modules/d3-geo-projection/src/eckert3.js +0 -23
  1651. package/.output/server/node_modules/d3-geo-projection/src/eckert4.js +0 -30
  1652. package/.output/server/node_modules/d3-geo-projection/src/eckert5.js +0 -23
  1653. package/.output/server/node_modules/d3-geo-projection/src/eckert6.js +0 -28
  1654. package/.output/server/node_modules/d3-geo-projection/src/eisenlohr.js +0 -70
  1655. package/.output/server/node_modules/d3-geo-projection/src/elliptic.js +0 -118
  1656. package/.output/server/node_modules/d3-geo-projection/src/fahey.js +0 -19
  1657. package/.output/server/node_modules/d3-geo-projection/src/foucaut.js +0 -17
  1658. package/.output/server/node_modules/d3-geo-projection/src/foucautSinusoidal.js +0 -49
  1659. package/.output/server/node_modules/d3-geo-projection/src/gilbert.js +0 -64
  1660. package/.output/server/node_modules/d3-geo-projection/src/gingery.js +0 -146
  1661. package/.output/server/node_modules/d3-geo-projection/src/ginzburg4.js +0 -9
  1662. package/.output/server/node_modules/d3-geo-projection/src/ginzburg5.js +0 -9
  1663. package/.output/server/node_modules/d3-geo-projection/src/ginzburg6.js +0 -10
  1664. package/.output/server/node_modules/d3-geo-projection/src/ginzburg8.js +0 -33
  1665. package/.output/server/node_modules/d3-geo-projection/src/ginzburg9.js +0 -9
  1666. package/.output/server/node_modules/d3-geo-projection/src/ginzburgPolyconic.js +0 -56
  1667. package/.output/server/node_modules/d3-geo-projection/src/gringorten.js +0 -147
  1668. package/.output/server/node_modules/d3-geo-projection/src/guyou.js +0 -53
  1669. package/.output/server/node_modules/d3-geo-projection/src/hammer.js +0 -51
  1670. package/.output/server/node_modules/d3-geo-projection/src/hammerRetroazimuthal.js +0 -109
  1671. package/.output/server/node_modules/d3-geo-projection/src/healpix.js +0 -99
  1672. package/.output/server/node_modules/d3-geo-projection/src/hill.js +0 -66
  1673. package/.output/server/node_modules/d3-geo-projection/src/homolosine.js +0 -22
  1674. package/.output/server/node_modules/d3-geo-projection/src/hufnagel.js +0 -91
  1675. package/.output/server/node_modules/d3-geo-projection/src/hyperelliptical.js +0 -73
  1676. package/.output/server/node_modules/d3-geo-projection/src/index.js +0 -95
  1677. package/.output/server/node_modules/d3-geo-projection/src/integrate.js +0 -91
  1678. package/.output/server/node_modules/d3-geo-projection/src/interrupted/boggs.js +0 -17
  1679. package/.output/server/node_modules/d3-geo-projection/src/interrupted/homolosine.js +0 -17
  1680. package/.output/server/node_modules/d3-geo-projection/src/interrupted/index.js +0 -147
  1681. package/.output/server/node_modules/d3-geo-projection/src/interrupted/mollweide.js +0 -17
  1682. package/.output/server/node_modules/d3-geo-projection/src/interrupted/mollweideHemispheres.js +0 -16
  1683. package/.output/server/node_modules/d3-geo-projection/src/interrupted/quarticAuthalic.js +0 -16
  1684. package/.output/server/node_modules/d3-geo-projection/src/interrupted/sinuMollweide.js +0 -19
  1685. package/.output/server/node_modules/d3-geo-projection/src/interrupted/sinusoidal.js +0 -18
  1686. package/.output/server/node_modules/d3-geo-projection/src/kavrayskiy7.js +0 -15
  1687. package/.output/server/node_modules/d3-geo-projection/src/lagrange.js +0 -47
  1688. package/.output/server/node_modules/d3-geo-projection/src/larrivee.js +0 -46
  1689. package/.output/server/node_modules/d3-geo-projection/src/laskowski.js +0 -37
  1690. package/.output/server/node_modules/d3-geo-projection/src/littrow.js +0 -29
  1691. package/.output/server/node_modules/d3-geo-projection/src/loximuthal.js +0 -34
  1692. package/.output/server/node_modules/d3-geo-projection/src/math.js +0 -64
  1693. package/.output/server/node_modules/d3-geo-projection/src/miller.js +0 -15
  1694. package/.output/server/node_modules/d3-geo-projection/src/modifiedStereographic.js +0 -122
  1695. package/.output/server/node_modules/d3-geo-projection/src/mollweide.js +0 -29
  1696. package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarParabolic.js +0 -26
  1697. package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarQuartic.js +0 -29
  1698. package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarSinusoidal.js +0 -31
  1699. package/.output/server/node_modules/d3-geo-projection/src/naturalEarth2.js +0 -29
  1700. package/.output/server/node_modules/d3-geo-projection/src/nellHammer.js +0 -26
  1701. package/.output/server/node_modules/d3-geo-projection/src/newton.js +0 -64
  1702. package/.output/server/node_modules/d3-geo-projection/src/nicolosi.js +0 -64
  1703. package/.output/server/node_modules/d3-geo-projection/src/noop.js +0 -1
  1704. package/.output/server/node_modules/d3-geo-projection/src/parallel1.js +0 -14
  1705. package/.output/server/node_modules/d3-geo-projection/src/patterson.js +0 -41
  1706. package/.output/server/node_modules/d3-geo-projection/src/polyconic.js +0 -35
  1707. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/butterfly.js +0 -31
  1708. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/collignon.js +0 -43
  1709. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/index.js +0 -173
  1710. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/matrix.js +0 -64
  1711. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/octahedron.js +0 -21
  1712. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/waterman.js +0 -123
  1713. package/.output/server/node_modules/d3-geo-projection/src/project/clockwise.js +0 -8
  1714. package/.output/server/node_modules/d3-geo-projection/src/project/contains.js +0 -11
  1715. package/.output/server/node_modules/d3-geo-projection/src/project/index.js +0 -136
  1716. package/.output/server/node_modules/d3-geo-projection/src/quantize.js +0 -70
  1717. package/.output/server/node_modules/d3-geo-projection/src/quincuncial/gringorten.js +0 -7
  1718. package/.output/server/node_modules/d3-geo-projection/src/quincuncial/index.js +0 -40
  1719. package/.output/server/node_modules/d3-geo-projection/src/quincuncial/peirce.js +0 -7
  1720. package/.output/server/node_modules/d3-geo-projection/src/rectangularPolyconic.js +0 -44
  1721. package/.output/server/node_modules/d3-geo-projection/src/robinson.js +0 -88
  1722. package/.output/server/node_modules/d3-geo-projection/src/satellite.js +0 -71
  1723. package/.output/server/node_modules/d3-geo-projection/src/sinuMollweide.js +0 -26
  1724. package/.output/server/node_modules/d3-geo-projection/src/sinusoidal.js +0 -15
  1725. package/.output/server/node_modules/d3-geo-projection/src/square.js +0 -24
  1726. package/.output/server/node_modules/d3-geo-projection/src/stitch.js +0 -215
  1727. package/.output/server/node_modules/d3-geo-projection/src/times.js +0 -25
  1728. package/.output/server/node_modules/d3-geo-projection/src/twoPoint.js +0 -26
  1729. package/.output/server/node_modules/d3-geo-projection/src/twoPointAzimuthal.js +0 -29
  1730. package/.output/server/node_modules/d3-geo-projection/src/twoPointEquidistant.js +0 -47
  1731. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten.js +0 -47
  1732. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten2.js +0 -34
  1733. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten3.js +0 -30
  1734. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten4.js +0 -63
  1735. package/.output/server/node_modules/d3-geo-projection/src/wagner.js +0 -98
  1736. package/.output/server/node_modules/d3-geo-projection/src/wagner4.js +0 -13
  1737. package/.output/server/node_modules/d3-geo-projection/src/wagner6.js +0 -15
  1738. package/.output/server/node_modules/d3-geo-projection/src/wiechel.js +0 -34
  1739. package/.output/server/node_modules/d3-geo-projection/src/winkel3.js +0 -45
  1740. package/.output/server/node_modules/d3-hierarchy/package.json +0 -56
  1741. package/.output/server/node_modules/d3-hierarchy/src/accessors.js +0 -8
  1742. package/.output/server/node_modules/d3-hierarchy/src/array.js +0 -20
  1743. package/.output/server/node_modules/d3-hierarchy/src/cluster.js +0 -84
  1744. package/.output/server/node_modules/d3-hierarchy/src/constant.js +0 -9
  1745. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/ancestors.js +0 -7
  1746. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/count.js +0 -12
  1747. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/descendants.js +0 -3
  1748. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/each.js +0 -7
  1749. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/eachAfter.js +0 -15
  1750. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/eachBefore.js +0 -12
  1751. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/find.js +0 -8
  1752. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/index.js +0 -91
  1753. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/iterator.js +0 -14
  1754. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/leaves.js +0 -9
  1755. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/links.js +0 -9
  1756. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/path.js +0 -30
  1757. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/sort.js +0 -7
  1758. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/sum.js +0 -9
  1759. package/.output/server/node_modules/d3-hierarchy/src/index.js +0 -15
  1760. package/.output/server/node_modules/d3-hierarchy/src/lcg.js +0 -9
  1761. package/.output/server/node_modules/d3-hierarchy/src/pack/enclose.js +0 -123
  1762. package/.output/server/node_modules/d3-hierarchy/src/pack/index.js +0 -81
  1763. package/.output/server/node_modules/d3-hierarchy/src/pack/siblings.js +0 -120
  1764. package/.output/server/node_modules/d3-hierarchy/src/partition.js +0 -52
  1765. package/.output/server/node_modules/d3-hierarchy/src/stratify.js +0 -145
  1766. package/.output/server/node_modules/d3-hierarchy/src/tree.js +0 -237
  1767. package/.output/server/node_modules/d3-hierarchy/src/treemap/binary.js +0 -46
  1768. package/.output/server/node_modules/d3-hierarchy/src/treemap/dice.js +0 -12
  1769. package/.output/server/node_modules/d3-hierarchy/src/treemap/index.js +0 -94
  1770. package/.output/server/node_modules/d3-hierarchy/src/treemap/resquarify.js +0 -36
  1771. package/.output/server/node_modules/d3-hierarchy/src/treemap/round.js +0 -6
  1772. package/.output/server/node_modules/d3-hierarchy/src/treemap/slice.js +0 -12
  1773. package/.output/server/node_modules/d3-hierarchy/src/treemap/sliceDice.js +0 -6
  1774. package/.output/server/node_modules/d3-hierarchy/src/treemap/squarify.js +0 -66
  1775. package/.output/server/node_modules/d3-interpolate/package.json +0 -53
  1776. package/.output/server/node_modules/d3-interpolate/src/array.js +0 -22
  1777. package/.output/server/node_modules/d3-interpolate/src/basis.js +0 -19
  1778. package/.output/server/node_modules/d3-interpolate/src/basisClosed.js +0 -13
  1779. package/.output/server/node_modules/d3-interpolate/src/color.js +0 -29
  1780. package/.output/server/node_modules/d3-interpolate/src/constant.js +0 -1
  1781. package/.output/server/node_modules/d3-interpolate/src/cubehelix.js +0 -29
  1782. package/.output/server/node_modules/d3-interpolate/src/date.js +0 -6
  1783. package/.output/server/node_modules/d3-interpolate/src/discrete.js +0 -6
  1784. package/.output/server/node_modules/d3-interpolate/src/hcl.js +0 -21
  1785. package/.output/server/node_modules/d3-interpolate/src/hsl.js +0 -21
  1786. package/.output/server/node_modules/d3-interpolate/src/hue.js +0 -9
  1787. package/.output/server/node_modules/d3-interpolate/src/index.js +0 -21
  1788. package/.output/server/node_modules/d3-interpolate/src/lab.js +0 -16
  1789. package/.output/server/node_modules/d3-interpolate/src/number.js +0 -5
  1790. package/.output/server/node_modules/d3-interpolate/src/numberArray.js +0 -14
  1791. package/.output/server/node_modules/d3-interpolate/src/object.js +0 -23
  1792. package/.output/server/node_modules/d3-interpolate/src/piecewise.js +0 -11
  1793. package/.output/server/node_modules/d3-interpolate/src/quantize.js +0 -5
  1794. package/.output/server/node_modules/d3-interpolate/src/rgb.js +0 -55
  1795. package/.output/server/node_modules/d3-interpolate/src/round.js +0 -5
  1796. package/.output/server/node_modules/d3-interpolate/src/string.js +0 -64
  1797. package/.output/server/node_modules/d3-interpolate/src/transform/decompose.js +0 -26
  1798. package/.output/server/node_modules/d3-interpolate/src/transform/index.js +0 -63
  1799. package/.output/server/node_modules/d3-interpolate/src/transform/parse.js +0 -18
  1800. package/.output/server/node_modules/d3-interpolate/src/value.js +0 -22
  1801. package/.output/server/node_modules/d3-interpolate/src/zoom.js +0 -71
  1802. package/.output/server/node_modules/d3-interpolate-path/build/d3-interpolate-path.js +0 -782
  1803. package/.output/server/node_modules/d3-interpolate-path/package.json +0 -52
  1804. package/.output/server/node_modules/d3-quadtree/package.json +0 -49
  1805. package/.output/server/node_modules/d3-quadtree/src/add.js +0 -84
  1806. package/.output/server/node_modules/d3-quadtree/src/cover.js +0 -43
  1807. package/.output/server/node_modules/d3-quadtree/src/data.js +0 -7
  1808. package/.output/server/node_modules/d3-quadtree/src/extent.js +0 -5
  1809. package/.output/server/node_modules/d3-quadtree/src/find.js +0 -70
  1810. package/.output/server/node_modules/d3-quadtree/src/index.js +0 -1
  1811. package/.output/server/node_modules/d3-quadtree/src/quad.js +0 -7
  1812. package/.output/server/node_modules/d3-quadtree/src/quadtree.js +0 -73
  1813. package/.output/server/node_modules/d3-quadtree/src/remove.js +0 -62
  1814. package/.output/server/node_modules/d3-quadtree/src/root.js +0 -3
  1815. package/.output/server/node_modules/d3-quadtree/src/size.js +0 -7
  1816. package/.output/server/node_modules/d3-quadtree/src/visit.js +0 -16
  1817. package/.output/server/node_modules/d3-quadtree/src/visitAfter.js +0 -21
  1818. package/.output/server/node_modules/d3-quadtree/src/x.js +0 -7
  1819. package/.output/server/node_modules/d3-quadtree/src/y.js +0 -7
  1820. package/.output/server/node_modules/d3-sankey/dist/d3-sankey.js +0 -425
  1821. package/.output/server/node_modules/d3-sankey/package.json +0 -43
  1822. package/.output/server/node_modules/d3-scale/package.json +0 -57
  1823. package/.output/server/node_modules/d3-scale/src/band.js +0 -101
  1824. package/.output/server/node_modules/d3-scale/src/constant.js +0 -5
  1825. package/.output/server/node_modules/d3-scale/src/continuous.js +0 -125
  1826. package/.output/server/node_modules/d3-scale/src/diverging.js +0 -104
  1827. package/.output/server/node_modules/d3-scale/src/identity.js +0 -28
  1828. package/.output/server/node_modules/d3-scale/src/index.js +0 -78
  1829. package/.output/server/node_modules/d3-scale/src/init.js +0 -26
  1830. package/.output/server/node_modules/d3-scale/src/linear.js +0 -70
  1831. package/.output/server/node_modules/d3-scale/src/log.js +0 -140
  1832. package/.output/server/node_modules/d3-scale/src/nice.js +0 -18
  1833. package/.output/server/node_modules/d3-scale/src/number.js +0 -3
  1834. package/.output/server/node_modules/d3-scale/src/ordinal.js +0 -46
  1835. package/.output/server/node_modules/d3-scale/src/pow.js +0 -50
  1836. package/.output/server/node_modules/d3-scale/src/quantile.js +0 -57
  1837. package/.output/server/node_modules/d3-scale/src/quantize.js +0 -56
  1838. package/.output/server/node_modules/d3-scale/src/radial.js +0 -63
  1839. package/.output/server/node_modules/d3-scale/src/sequential.js +0 -107
  1840. package/.output/server/node_modules/d3-scale/src/sequentialQuantile.js +0 -38
  1841. package/.output/server/node_modules/d3-scale/src/symlog.js +0 -35
  1842. package/.output/server/node_modules/d3-scale/src/threshold.js +0 -39
  1843. package/.output/server/node_modules/d3-scale/src/tickFormat.js +0 -29
  1844. package/.output/server/node_modules/d3-scale/src/time.js +0 -71
  1845. package/.output/server/node_modules/d3-scale/src/utcTime.js +0 -8
  1846. package/.output/server/node_modules/d3-selection/package.json +0 -51
  1847. package/.output/server/node_modules/d3-selection/src/array.js +0 -9
  1848. package/.output/server/node_modules/d3-selection/src/constant.js +0 -5
  1849. package/.output/server/node_modules/d3-selection/src/create.js +0 -6
  1850. package/.output/server/node_modules/d3-selection/src/creator.js +0 -25
  1851. package/.output/server/node_modules/d3-selection/src/index.js +0 -15
  1852. package/.output/server/node_modules/d3-selection/src/local.js +0 -27
  1853. package/.output/server/node_modules/d3-selection/src/matcher.js +0 -12
  1854. package/.output/server/node_modules/d3-selection/src/namespace.js +0 -7
  1855. package/.output/server/node_modules/d3-selection/src/namespaces.js +0 -9
  1856. package/.output/server/node_modules/d3-selection/src/pointer.js +0 -20
  1857. package/.output/server/node_modules/d3-selection/src/pointers.js +0 -11
  1858. package/.output/server/node_modules/d3-selection/src/select.js +0 -7
  1859. package/.output/server/node_modules/d3-selection/src/selectAll.js +0 -8
  1860. package/.output/server/node_modules/d3-selection/src/selection/append.js +0 -8
  1861. package/.output/server/node_modules/d3-selection/src/selection/attr.js +0 -57
  1862. package/.output/server/node_modules/d3-selection/src/selection/call.js +0 -6
  1863. package/.output/server/node_modules/d3-selection/src/selection/classed.js +0 -75
  1864. package/.output/server/node_modules/d3-selection/src/selection/clone.js +0 -13
  1865. package/.output/server/node_modules/d3-selection/src/selection/data.js +0 -128
  1866. package/.output/server/node_modules/d3-selection/src/selection/datum.js +0 -5
  1867. package/.output/server/node_modules/d3-selection/src/selection/dispatch.js +0 -34
  1868. package/.output/server/node_modules/d3-selection/src/selection/each.js +0 -10
  1869. package/.output/server/node_modules/d3-selection/src/selection/empty.js +0 -3
  1870. package/.output/server/node_modules/d3-selection/src/selection/enter.js +0 -22
  1871. package/.output/server/node_modules/d3-selection/src/selection/exit.js +0 -6
  1872. package/.output/server/node_modules/d3-selection/src/selection/filter.js +0 -16
  1873. package/.output/server/node_modules/d3-selection/src/selection/html.js +0 -25
  1874. package/.output/server/node_modules/d3-selection/src/selection/index.js +0 -90
  1875. package/.output/server/node_modules/d3-selection/src/selection/insert.js +0 -14
  1876. package/.output/server/node_modules/d3-selection/src/selection/iterator.js +0 -7
  1877. package/.output/server/node_modules/d3-selection/src/selection/join.js +0 -15
  1878. package/.output/server/node_modules/d3-selection/src/selection/lower.js +0 -7
  1879. package/.output/server/node_modules/d3-selection/src/selection/merge.js +0 -19
  1880. package/.output/server/node_modules/d3-selection/src/selection/node.js +0 -11
  1881. package/.output/server/node_modules/d3-selection/src/selection/nodes.js +0 -3
  1882. package/.output/server/node_modules/d3-selection/src/selection/on.js +0 -67
  1883. package/.output/server/node_modules/d3-selection/src/selection/order.js +0 -13
  1884. package/.output/server/node_modules/d3-selection/src/selection/property.js +0 -28
  1885. package/.output/server/node_modules/d3-selection/src/selection/raise.js +0 -7
  1886. package/.output/server/node_modules/d3-selection/src/selection/remove.js +0 -8
  1887. package/.output/server/node_modules/d3-selection/src/selection/select.js +0 -17
  1888. package/.output/server/node_modules/d3-selection/src/selection/selectAll.js +0 -25
  1889. package/.output/server/node_modules/d3-selection/src/selection/selectChild.js +0 -18
  1890. package/.output/server/node_modules/d3-selection/src/selection/selectChildren.js +0 -18
  1891. package/.output/server/node_modules/d3-selection/src/selection/size.js +0 -5
  1892. package/.output/server/node_modules/d3-selection/src/selection/sort.js +0 -24
  1893. package/.output/server/node_modules/d3-selection/src/selection/sparse.js +0 -3
  1894. package/.output/server/node_modules/d3-selection/src/selection/style.js +0 -35
  1895. package/.output/server/node_modules/d3-selection/src/selection/text.js +0 -25
  1896. package/.output/server/node_modules/d3-selection/src/selector.js +0 -7
  1897. package/.output/server/node_modules/d3-selection/src/selectorAll.js +0 -9
  1898. package/.output/server/node_modules/d3-selection/src/sourceEvent.js +0 -5
  1899. package/.output/server/node_modules/d3-selection/src/window.js +0 -5
  1900. package/.output/server/node_modules/d3-time/package.json +0 -53
  1901. package/.output/server/node_modules/d3-time/src/day.js +0 -35
  1902. package/.output/server/node_modules/d3-time/src/duration.js +0 -7
  1903. package/.output/server/node_modules/d3-time/src/hour.js +0 -26
  1904. package/.output/server/node_modules/d3-time/src/index.js +0 -96
  1905. package/.output/server/node_modules/d3-time/src/interval.js +0 -69
  1906. package/.output/server/node_modules/d3-time/src/millisecond.js +0 -25
  1907. package/.output/server/node_modules/d3-time/src/minute.js +0 -26
  1908. package/.output/server/node_modules/d3-time/src/month.js +0 -27
  1909. package/.output/server/node_modules/d3-time/src/second.js +0 -14
  1910. package/.output/server/node_modules/d3-time/src/ticks.js +0 -58
  1911. package/.output/server/node_modules/d3-time/src/week.js +0 -56
  1912. package/.output/server/node_modules/d3-time/src/year.js +0 -49
  1913. package/.output/server/node_modules/d3-time-format/package.json +0 -60
  1914. package/.output/server/node_modules/d3-time-format/src/defaultLocale.js +0 -27
  1915. package/.output/server/node_modules/d3-time-format/src/index.js +0 -4
  1916. package/.output/server/node_modules/d3-time-format/src/isoFormat.js +0 -13
  1917. package/.output/server/node_modules/d3-time-format/src/isoParse.js +0 -13
  1918. package/.output/server/node_modules/d3-time-format/src/locale.js +0 -697
  1919. package/.output/server/node_modules/d3-timer/package.json +0 -53
  1920. package/.output/server/node_modules/d3-timer/src/index.js +0 -13
  1921. package/.output/server/node_modules/d3-timer/src/interval.js +0 -17
  1922. package/.output/server/node_modules/d3-timer/src/timeout.js +0 -11
  1923. package/.output/server/node_modules/d3-timer/src/timer.js +0 -110
  1924. package/.output/server/node_modules/d3-transition/package.json +0 -65
  1925. package/.output/server/node_modules/d3-transition/src/active.js +0 -21
  1926. package/.output/server/node_modules/d3-transition/src/index.js +0 -4
  1927. package/.output/server/node_modules/d3-transition/src/interrupt.js +0 -24
  1928. package/.output/server/node_modules/d3-transition/src/selection/index.js +0 -6
  1929. package/.output/server/node_modules/d3-transition/src/selection/interrupt.js +0 -7
  1930. package/.output/server/node_modules/d3-transition/src/selection/transition.js +0 -42
  1931. package/.output/server/node_modules/d3-transition/src/transition/attr.js +0 -78
  1932. package/.output/server/node_modules/d3-transition/src/transition/attrTween.js +0 -44
  1933. package/.output/server/node_modules/d3-transition/src/transition/delay.js +0 -23
  1934. package/.output/server/node_modules/d3-transition/src/transition/duration.js +0 -23
  1935. package/.output/server/node_modules/d3-transition/src/transition/ease.js +0 -16
  1936. package/.output/server/node_modules/d3-transition/src/transition/easeVarying.js +0 -14
  1937. package/.output/server/node_modules/d3-transition/src/transition/end.js +0 -29
  1938. package/.output/server/node_modules/d3-transition/src/transition/filter.js +0 -16
  1939. package/.output/server/node_modules/d3-transition/src/transition/index.js +0 -73
  1940. package/.output/server/node_modules/d3-transition/src/transition/interpolate.js +0 -10
  1941. package/.output/server/node_modules/d3-transition/src/transition/merge.js +0 -19
  1942. package/.output/server/node_modules/d3-transition/src/transition/on.js +0 -32
  1943. package/.output/server/node_modules/d3-transition/src/transition/remove.js +0 -11
  1944. package/.output/server/node_modules/d3-transition/src/transition/schedule.js +0 -153
  1945. package/.output/server/node_modules/d3-transition/src/transition/select.js +0 -22
  1946. package/.output/server/node_modules/d3-transition/src/transition/selectAll.js +0 -26
  1947. package/.output/server/node_modules/d3-transition/src/transition/selection.js +0 -7
  1948. package/.output/server/node_modules/d3-transition/src/transition/style.js +0 -80
  1949. package/.output/server/node_modules/d3-transition/src/transition/styleTween.js +0 -24
  1950. package/.output/server/node_modules/d3-transition/src/transition/text.js +0 -20
  1951. package/.output/server/node_modules/d3-transition/src/transition/textTween.js +0 -24
  1952. package/.output/server/node_modules/d3-transition/src/transition/transition.js +0 -24
  1953. package/.output/server/node_modules/d3-transition/src/transition/tween.js +0 -81
  1954. package/.output/server/node_modules/d3-zoom/package.json +0 -57
  1955. package/.output/server/node_modules/d3-zoom/src/constant.js +0 -1
  1956. package/.output/server/node_modules/d3-zoom/src/event.js +0 -14
  1957. package/.output/server/node_modules/d3-zoom/src/index.js +0 -2
  1958. package/.output/server/node_modules/d3-zoom/src/noevent.js +0 -8
  1959. package/.output/server/node_modules/d3-zoom/src/transform.js +0 -51
  1960. package/.output/server/node_modules/d3-zoom/src/zoom.js +0 -447
  1961. package/.output/server/node_modules/elkjs/lib/elk.bundled.js +0 -6545
  1962. package/.output/server/node_modules/elkjs/package.json +0 -54
  1963. package/.output/server/node_modules/internmap/package.json +0 -43
  1964. package/.output/server/node_modules/internmap/src/index.js +0 -61
  1965. package/.output/server/node_modules/leaflet/dist/leaflet-src.js +0 -14062
  1966. package/.output/server/node_modules/leaflet/package.json +0 -109
  1967. package/.output/server/node_modules/lodash-es/_DataView.js +0 -7
  1968. package/.output/server/node_modules/lodash-es/_Hash.js +0 -32
  1969. package/.output/server/node_modules/lodash-es/_LazyWrapper.js +0 -28
  1970. package/.output/server/node_modules/lodash-es/_ListCache.js +0 -32
  1971. package/.output/server/node_modules/lodash-es/_LodashWrapper.js +0 -22
  1972. package/.output/server/node_modules/lodash-es/_Map.js +0 -7
  1973. package/.output/server/node_modules/lodash-es/_MapCache.js +0 -32
  1974. package/.output/server/node_modules/lodash-es/_Promise.js +0 -7
  1975. package/.output/server/node_modules/lodash-es/_Set.js +0 -7
  1976. package/.output/server/node_modules/lodash-es/_SetCache.js +0 -27
  1977. package/.output/server/node_modules/lodash-es/_Stack.js +0 -27
  1978. package/.output/server/node_modules/lodash-es/_Symbol.js +0 -6
  1979. package/.output/server/node_modules/lodash-es/_Uint8Array.js +0 -6
  1980. package/.output/server/node_modules/lodash-es/_WeakMap.js +0 -7
  1981. package/.output/server/node_modules/lodash-es/_apply.js +0 -21
  1982. package/.output/server/node_modules/lodash-es/_arrayEach.js +0 -22
  1983. package/.output/server/node_modules/lodash-es/_arrayFilter.js +0 -25
  1984. package/.output/server/node_modules/lodash-es/_arrayIncludes.js +0 -17
  1985. package/.output/server/node_modules/lodash-es/_arrayIncludesWith.js +0 -22
  1986. package/.output/server/node_modules/lodash-es/_arrayLikeKeys.js +0 -49
  1987. package/.output/server/node_modules/lodash-es/_arrayMap.js +0 -21
  1988. package/.output/server/node_modules/lodash-es/_arrayPush.js +0 -20
  1989. package/.output/server/node_modules/lodash-es/_arrayReduce.js +0 -26
  1990. package/.output/server/node_modules/lodash-es/_arraySome.js +0 -23
  1991. package/.output/server/node_modules/lodash-es/_asciiSize.js +0 -12
  1992. package/.output/server/node_modules/lodash-es/_assignMergeValue.js +0 -20
  1993. package/.output/server/node_modules/lodash-es/_assignValue.js +0 -28
  1994. package/.output/server/node_modules/lodash-es/_assocIndexOf.js +0 -21
  1995. package/.output/server/node_modules/lodash-es/_baseAssign.js +0 -17
  1996. package/.output/server/node_modules/lodash-es/_baseAssignIn.js +0 -17
  1997. package/.output/server/node_modules/lodash-es/_baseAssignValue.js +0 -25
  1998. package/.output/server/node_modules/lodash-es/_baseClone.js +0 -166
  1999. package/.output/server/node_modules/lodash-es/_baseCreate.js +0 -30
  2000. package/.output/server/node_modules/lodash-es/_baseEach.js +0 -14
  2001. package/.output/server/node_modules/lodash-es/_baseExtremum.js +0 -32
  2002. package/.output/server/node_modules/lodash-es/_baseFilter.js +0 -21
  2003. package/.output/server/node_modules/lodash-es/_baseFindIndex.js +0 -24
  2004. package/.output/server/node_modules/lodash-es/_baseFlatten.js +0 -38
  2005. package/.output/server/node_modules/lodash-es/_baseFor.js +0 -16
  2006. package/.output/server/node_modules/lodash-es/_baseForOwn.js +0 -16
  2007. package/.output/server/node_modules/lodash-es/_baseGet.js +0 -24
  2008. package/.output/server/node_modules/lodash-es/_baseGetAllKeys.js +0 -20
  2009. package/.output/server/node_modules/lodash-es/_baseGetTag.js +0 -28
  2010. package/.output/server/node_modules/lodash-es/_baseGt.js +0 -14
  2011. package/.output/server/node_modules/lodash-es/_baseHas.js +0 -19
  2012. package/.output/server/node_modules/lodash-es/_baseHasIn.js +0 -13
  2013. package/.output/server/node_modules/lodash-es/_baseIndexOf.js +0 -20
  2014. package/.output/server/node_modules/lodash-es/_baseIsArguments.js +0 -18
  2015. package/.output/server/node_modules/lodash-es/_baseIsEqual.js +0 -28
  2016. package/.output/server/node_modules/lodash-es/_baseIsEqualDeep.js +0 -83
  2017. package/.output/server/node_modules/lodash-es/_baseIsMap.js +0 -18
  2018. package/.output/server/node_modules/lodash-es/_baseIsMatch.js +0 -62
  2019. package/.output/server/node_modules/lodash-es/_baseIsNaN.js +0 -12
  2020. package/.output/server/node_modules/lodash-es/_baseIsNative.js +0 -47
  2021. package/.output/server/node_modules/lodash-es/_baseIsSet.js +0 -18
  2022. package/.output/server/node_modules/lodash-es/_baseIsTypedArray.js +0 -60
  2023. package/.output/server/node_modules/lodash-es/_baseIteratee.js +0 -31
  2024. package/.output/server/node_modules/lodash-es/_baseKeys.js +0 -30
  2025. package/.output/server/node_modules/lodash-es/_baseKeysIn.js +0 -33
  2026. package/.output/server/node_modules/lodash-es/_baseLodash.js +0 -10
  2027. package/.output/server/node_modules/lodash-es/_baseLt.js +0 -14
  2028. package/.output/server/node_modules/lodash-es/_baseMap.js +0 -22
  2029. package/.output/server/node_modules/lodash-es/_baseMatches.js +0 -22
  2030. package/.output/server/node_modules/lodash-es/_baseMatchesProperty.js +0 -33
  2031. package/.output/server/node_modules/lodash-es/_baseMerge.js +0 -42
  2032. package/.output/server/node_modules/lodash-es/_baseMergeDeep.js +0 -94
  2033. package/.output/server/node_modules/lodash-es/_baseOrderBy.js +0 -49
  2034. package/.output/server/node_modules/lodash-es/_basePick.js +0 -19
  2035. package/.output/server/node_modules/lodash-es/_basePickBy.js +0 -30
  2036. package/.output/server/node_modules/lodash-es/_baseProperty.js +0 -14
  2037. package/.output/server/node_modules/lodash-es/_basePropertyDeep.js +0 -16
  2038. package/.output/server/node_modules/lodash-es/_baseRange.js +0 -28
  2039. package/.output/server/node_modules/lodash-es/_baseReduce.js +0 -23
  2040. package/.output/server/node_modules/lodash-es/_baseRest.js +0 -17
  2041. package/.output/server/node_modules/lodash-es/_baseSet.js +0 -51
  2042. package/.output/server/node_modules/lodash-es/_baseSetData.js +0 -17
  2043. package/.output/server/node_modules/lodash-es/_baseSetToString.js +0 -22
  2044. package/.output/server/node_modules/lodash-es/_baseSortBy.js +0 -21
  2045. package/.output/server/node_modules/lodash-es/_baseTimes.js +0 -20
  2046. package/.output/server/node_modules/lodash-es/_baseToPairs.js +0 -18
  2047. package/.output/server/node_modules/lodash-es/_baseToString.js +0 -37
  2048. package/.output/server/node_modules/lodash-es/_baseTrim.js +0 -19
  2049. package/.output/server/node_modules/lodash-es/_baseUnary.js +0 -14
  2050. package/.output/server/node_modules/lodash-es/_baseUniq.js +0 -72
  2051. package/.output/server/node_modules/lodash-es/_baseValues.js +0 -19
  2052. package/.output/server/node_modules/lodash-es/_baseZipObject.js +0 -23
  2053. package/.output/server/node_modules/lodash-es/_cacheHas.js +0 -13
  2054. package/.output/server/node_modules/lodash-es/_castFunction.js +0 -14
  2055. package/.output/server/node_modules/lodash-es/_castPath.js +0 -21
  2056. package/.output/server/node_modules/lodash-es/_cloneArrayBuffer.js +0 -16
  2057. package/.output/server/node_modules/lodash-es/_cloneBuffer.js +0 -35
  2058. package/.output/server/node_modules/lodash-es/_cloneDataView.js +0 -16
  2059. package/.output/server/node_modules/lodash-es/_cloneRegExp.js +0 -17
  2060. package/.output/server/node_modules/lodash-es/_cloneSymbol.js +0 -18
  2061. package/.output/server/node_modules/lodash-es/_cloneTypedArray.js +0 -16
  2062. package/.output/server/node_modules/lodash-es/_compareAscending.js +0 -41
  2063. package/.output/server/node_modules/lodash-es/_compareMultiple.js +0 -44
  2064. package/.output/server/node_modules/lodash-es/_composeArgs.js +0 -39
  2065. package/.output/server/node_modules/lodash-es/_composeArgsRight.js +0 -41
  2066. package/.output/server/node_modules/lodash-es/_copyArray.js +0 -20
  2067. package/.output/server/node_modules/lodash-es/_copyObject.js +0 -40
  2068. package/.output/server/node_modules/lodash-es/_copySymbols.js +0 -16
  2069. package/.output/server/node_modules/lodash-es/_copySymbolsIn.js +0 -16
  2070. package/.output/server/node_modules/lodash-es/_coreJsData.js +0 -6
  2071. package/.output/server/node_modules/lodash-es/_countHolders.js +0 -21
  2072. package/.output/server/node_modules/lodash-es/_createAssigner.js +0 -37
  2073. package/.output/server/node_modules/lodash-es/_createBaseEach.js +0 -32
  2074. package/.output/server/node_modules/lodash-es/_createBaseFor.js +0 -25
  2075. package/.output/server/node_modules/lodash-es/_createBind.js +0 -28
  2076. package/.output/server/node_modules/lodash-es/_createCtor.js +0 -37
  2077. package/.output/server/node_modules/lodash-es/_createCurry.js +0 -46
  2078. package/.output/server/node_modules/lodash-es/_createFind.js +0 -25
  2079. package/.output/server/node_modules/lodash-es/_createHybrid.js +0 -92
  2080. package/.output/server/node_modules/lodash-es/_createPartial.js +0 -43
  2081. package/.output/server/node_modules/lodash-es/_createRange.js +0 -30
  2082. package/.output/server/node_modules/lodash-es/_createRecurry.js +0 -56
  2083. package/.output/server/node_modules/lodash-es/_createSet.js +0 -19
  2084. package/.output/server/node_modules/lodash-es/_createToPairs.js +0 -30
  2085. package/.output/server/node_modules/lodash-es/_createWrap.js +0 -106
  2086. package/.output/server/node_modules/lodash-es/_defineProperty.js +0 -11
  2087. package/.output/server/node_modules/lodash-es/_equalArrays.js +0 -84
  2088. package/.output/server/node_modules/lodash-es/_equalByTag.js +0 -112
  2089. package/.output/server/node_modules/lodash-es/_equalObjects.js +0 -90
  2090. package/.output/server/node_modules/lodash-es/_flatRest.js +0 -16
  2091. package/.output/server/node_modules/lodash-es/_freeGlobal.js +0 -4
  2092. package/.output/server/node_modules/lodash-es/_getAllKeys.js +0 -16
  2093. package/.output/server/node_modules/lodash-es/_getAllKeysIn.js +0 -17
  2094. package/.output/server/node_modules/lodash-es/_getData.js +0 -15
  2095. package/.output/server/node_modules/lodash-es/_getFuncName.js +0 -31
  2096. package/.output/server/node_modules/lodash-es/_getHolder.js +0 -13
  2097. package/.output/server/node_modules/lodash-es/_getMapData.js +0 -18
  2098. package/.output/server/node_modules/lodash-es/_getMatchData.js +0 -24
  2099. package/.output/server/node_modules/lodash-es/_getNative.js +0 -17
  2100. package/.output/server/node_modules/lodash-es/_getPrototype.js +0 -6
  2101. package/.output/server/node_modules/lodash-es/_getRawTag.js +0 -46
  2102. package/.output/server/node_modules/lodash-es/_getSymbols.js +0 -30
  2103. package/.output/server/node_modules/lodash-es/_getSymbolsIn.js +0 -25
  2104. package/.output/server/node_modules/lodash-es/_getTag.js +0 -58
  2105. package/.output/server/node_modules/lodash-es/_getValue.js +0 -13
  2106. package/.output/server/node_modules/lodash-es/_getWrapDetails.js +0 -17
  2107. package/.output/server/node_modules/lodash-es/_hasPath.js +0 -39
  2108. package/.output/server/node_modules/lodash-es/_hasUnicode.js +0 -26
  2109. package/.output/server/node_modules/lodash-es/_hashClear.js +0 -15
  2110. package/.output/server/node_modules/lodash-es/_hashDelete.js +0 -17
  2111. package/.output/server/node_modules/lodash-es/_hashGet.js +0 -30
  2112. package/.output/server/node_modules/lodash-es/_hashHas.js +0 -23
  2113. package/.output/server/node_modules/lodash-es/_hashSet.js +0 -23
  2114. package/.output/server/node_modules/lodash-es/_initCloneArray.js +0 -26
  2115. package/.output/server/node_modules/lodash-es/_initCloneByTag.js +0 -77
  2116. package/.output/server/node_modules/lodash-es/_initCloneObject.js +0 -18
  2117. package/.output/server/node_modules/lodash-es/_insertWrapDetails.js +0 -23
  2118. package/.output/server/node_modules/lodash-es/_isFlattenable.js +0 -20
  2119. package/.output/server/node_modules/lodash-es/_isIndex.js +0 -25
  2120. package/.output/server/node_modules/lodash-es/_isIterateeCall.js +0 -30
  2121. package/.output/server/node_modules/lodash-es/_isKey.js +0 -29
  2122. package/.output/server/node_modules/lodash-es/_isKeyable.js +0 -15
  2123. package/.output/server/node_modules/lodash-es/_isLaziable.js +0 -28
  2124. package/.output/server/node_modules/lodash-es/_isMasked.js +0 -20
  2125. package/.output/server/node_modules/lodash-es/_isPrototype.js +0 -18
  2126. package/.output/server/node_modules/lodash-es/_isStrictComparable.js +0 -15
  2127. package/.output/server/node_modules/lodash-es/_listCacheClear.js +0 -13
  2128. package/.output/server/node_modules/lodash-es/_listCacheDelete.js +0 -35
  2129. package/.output/server/node_modules/lodash-es/_listCacheGet.js +0 -19
  2130. package/.output/server/node_modules/lodash-es/_listCacheHas.js +0 -16
  2131. package/.output/server/node_modules/lodash-es/_listCacheSet.js +0 -26
  2132. package/.output/server/node_modules/lodash-es/_mapCacheClear.js +0 -21
  2133. package/.output/server/node_modules/lodash-es/_mapCacheDelete.js +0 -18
  2134. package/.output/server/node_modules/lodash-es/_mapCacheGet.js +0 -16
  2135. package/.output/server/node_modules/lodash-es/_mapCacheHas.js +0 -16
  2136. package/.output/server/node_modules/lodash-es/_mapCacheSet.js +0 -22
  2137. package/.output/server/node_modules/lodash-es/_mapToArray.js +0 -18
  2138. package/.output/server/node_modules/lodash-es/_matchesStrictComparable.js +0 -20
  2139. package/.output/server/node_modules/lodash-es/_memoizeCapped.js +0 -26
  2140. package/.output/server/node_modules/lodash-es/_mergeData.js +0 -90
  2141. package/.output/server/node_modules/lodash-es/_metaMap.js +0 -6
  2142. package/.output/server/node_modules/lodash-es/_nativeCreate.js +0 -6
  2143. package/.output/server/node_modules/lodash-es/_nativeKeys.js +0 -6
  2144. package/.output/server/node_modules/lodash-es/_nativeKeysIn.js +0 -20
  2145. package/.output/server/node_modules/lodash-es/_nodeUtil.js +0 -30
  2146. package/.output/server/node_modules/lodash-es/_objectToString.js +0 -22
  2147. package/.output/server/node_modules/lodash-es/_overArg.js +0 -15
  2148. package/.output/server/node_modules/lodash-es/_overRest.js +0 -36
  2149. package/.output/server/node_modules/lodash-es/_realNames.js +0 -4
  2150. package/.output/server/node_modules/lodash-es/_reorder.js +0 -29
  2151. package/.output/server/node_modules/lodash-es/_replaceHolders.js +0 -29
  2152. package/.output/server/node_modules/lodash-es/_root.js +0 -9
  2153. package/.output/server/node_modules/lodash-es/_safeGet.js +0 -21
  2154. package/.output/server/node_modules/lodash-es/_setCacheAdd.js +0 -19
  2155. package/.output/server/node_modules/lodash-es/_setCacheHas.js +0 -14
  2156. package/.output/server/node_modules/lodash-es/_setData.js +0 -20
  2157. package/.output/server/node_modules/lodash-es/_setToArray.js +0 -18
  2158. package/.output/server/node_modules/lodash-es/_setToPairs.js +0 -18
  2159. package/.output/server/node_modules/lodash-es/_setToString.js +0 -14
  2160. package/.output/server/node_modules/lodash-es/_setWrapToString.js +0 -21
  2161. package/.output/server/node_modules/lodash-es/_shortOut.js +0 -37
  2162. package/.output/server/node_modules/lodash-es/_stackClear.js +0 -15
  2163. package/.output/server/node_modules/lodash-es/_stackDelete.js +0 -18
  2164. package/.output/server/node_modules/lodash-es/_stackGet.js +0 -14
  2165. package/.output/server/node_modules/lodash-es/_stackHas.js +0 -14
  2166. package/.output/server/node_modules/lodash-es/_stackSet.js +0 -34
  2167. package/.output/server/node_modules/lodash-es/_strictIndexOf.js +0 -23
  2168. package/.output/server/node_modules/lodash-es/_stringSize.js +0 -18
  2169. package/.output/server/node_modules/lodash-es/_stringToPath.js +0 -27
  2170. package/.output/server/node_modules/lodash-es/_toKey.js +0 -21
  2171. package/.output/server/node_modules/lodash-es/_toSource.js +0 -26
  2172. package/.output/server/node_modules/lodash-es/_trimmedEndIndex.js +0 -19
  2173. package/.output/server/node_modules/lodash-es/_unicodeSize.js +0 -44
  2174. package/.output/server/node_modules/lodash-es/_updateWrapDetails.js +0 -46
  2175. package/.output/server/node_modules/lodash-es/_wrapperClone.js +0 -23
  2176. package/.output/server/node_modules/lodash-es/bind.js +0 -57
  2177. package/.output/server/node_modules/lodash-es/clone.js +0 -36
  2178. package/.output/server/node_modules/lodash-es/cloneDeep.js +0 -29
  2179. package/.output/server/node_modules/lodash-es/constant.js +0 -26
  2180. package/.output/server/node_modules/lodash-es/defaults.js +0 -64
  2181. package/.output/server/node_modules/lodash-es/each.js +0 -1
  2182. package/.output/server/node_modules/lodash-es/eq.js +0 -37
  2183. package/.output/server/node_modules/lodash-es/filter.js +0 -52
  2184. package/.output/server/node_modules/lodash-es/find.js +0 -42
  2185. package/.output/server/node_modules/lodash-es/findIndex.js +0 -55
  2186. package/.output/server/node_modules/lodash-es/flatten.js +0 -22
  2187. package/.output/server/node_modules/lodash-es/forEach.js +0 -41
  2188. package/.output/server/node_modules/lodash-es/get.js +0 -33
  2189. package/.output/server/node_modules/lodash-es/has.js +0 -35
  2190. package/.output/server/node_modules/lodash-es/hasIn.js +0 -34
  2191. package/.output/server/node_modules/lodash-es/identity.js +0 -21
  2192. package/.output/server/node_modules/lodash-es/isArguments.js +0 -36
  2193. package/.output/server/node_modules/lodash-es/isArray.js +0 -26
  2194. package/.output/server/node_modules/lodash-es/isArrayLike.js +0 -33
  2195. package/.output/server/node_modules/lodash-es/isArrayLikeObject.js +0 -33
  2196. package/.output/server/node_modules/lodash-es/isBuffer.js +0 -38
  2197. package/.output/server/node_modules/lodash-es/isEmpty.js +0 -77
  2198. package/.output/server/node_modules/lodash-es/isFunction.js +0 -37
  2199. package/.output/server/node_modules/lodash-es/isLength.js +0 -35
  2200. package/.output/server/node_modules/lodash-es/isMap.js +0 -27
  2201. package/.output/server/node_modules/lodash-es/isObject.js +0 -31
  2202. package/.output/server/node_modules/lodash-es/isObjectLike.js +0 -29
  2203. package/.output/server/node_modules/lodash-es/isPlainObject.js +0 -62
  2204. package/.output/server/node_modules/lodash-es/isSet.js +0 -27
  2205. package/.output/server/node_modules/lodash-es/isString.js +0 -30
  2206. package/.output/server/node_modules/lodash-es/isSymbol.js +0 -29
  2207. package/.output/server/node_modules/lodash-es/isTypedArray.js +0 -27
  2208. package/.output/server/node_modules/lodash-es/isUndefined.js +0 -22
  2209. package/.output/server/node_modules/lodash-es/keys.js +0 -37
  2210. package/.output/server/node_modules/lodash-es/keysIn.js +0 -32
  2211. package/.output/server/node_modules/lodash-es/last.js +0 -20
  2212. package/.output/server/node_modules/lodash-es/map.js +0 -53
  2213. package/.output/server/node_modules/lodash-es/mapValues.js +0 -43
  2214. package/.output/server/node_modules/lodash-es/max.js +0 -29
  2215. package/.output/server/node_modules/lodash-es/maxBy.js +0 -34
  2216. package/.output/server/node_modules/lodash-es/memoize.js +0 -73
  2217. package/.output/server/node_modules/lodash-es/merge.js +0 -39
  2218. package/.output/server/node_modules/lodash-es/min.js +0 -29
  2219. package/.output/server/node_modules/lodash-es/minBy.js +0 -34
  2220. package/.output/server/node_modules/lodash-es/noop.js +0 -17
  2221. package/.output/server/node_modules/lodash-es/now.js +0 -23
  2222. package/.output/server/node_modules/lodash-es/package.json +0 -23
  2223. package/.output/server/node_modules/lodash-es/pick.js +0 -25
  2224. package/.output/server/node_modules/lodash-es/property.js +0 -32
  2225. package/.output/server/node_modules/lodash-es/range.js +0 -46
  2226. package/.output/server/node_modules/lodash-es/reduce.js +0 -51
  2227. package/.output/server/node_modules/lodash-es/size.js +0 -46
  2228. package/.output/server/node_modules/lodash-es/sortBy.js +0 -48
  2229. package/.output/server/node_modules/lodash-es/stubArray.js +0 -23
  2230. package/.output/server/node_modules/lodash-es/stubFalse.js +0 -18
  2231. package/.output/server/node_modules/lodash-es/toFinite.js +0 -42
  2232. package/.output/server/node_modules/lodash-es/toInteger.js +0 -36
  2233. package/.output/server/node_modules/lodash-es/toNumber.js +0 -64
  2234. package/.output/server/node_modules/lodash-es/toPairs.js +0 -30
  2235. package/.output/server/node_modules/lodash-es/toPlainObject.js +0 -32
  2236. package/.output/server/node_modules/lodash-es/toString.js +0 -28
  2237. package/.output/server/node_modules/lodash-es/transform.js +0 -65
  2238. package/.output/server/node_modules/lodash-es/union.js +0 -26
  2239. package/.output/server/node_modules/lodash-es/uniqueId.js +0 -28
  2240. package/.output/server/node_modules/lodash-es/values.js +0 -34
  2241. package/.output/server/node_modules/lodash-es/wrapperLodash.js +0 -147
  2242. package/.output/server/node_modules/lodash-es/zipObject.js +0 -24
  2243. package/.output/server/node_modules/maplibre-gl/dist/maplibre-gl.js +0 -44
  2244. package/.output/server/node_modules/maplibre-gl/dist/package.json +0 -1
  2245. package/.output/server/node_modules/maplibre-gl/package.json +0 -182
  2246. package/.output/server/node_modules/striptags/package.json +0 -30
  2247. package/.output/server/node_modules/striptags/src/striptags.js +0 -239
  2248. package/.output/server/node_modules/stylis/dist/umd/package.json +0 -1
  2249. package/.output/server/node_modules/stylis/dist/umd/stylis.js +0 -2
  2250. package/.output/server/node_modules/stylis/package.json +0 -167
  2251. package/.output/server/node_modules/supercluster/dist/supercluster.js +0 -635
  2252. package/.output/server/node_modules/supercluster/package.json +0 -54
  2253. package/.output/server/node_modules/three/package.json +0 -136
  2254. package/.output/server/node_modules/three/src/cameras/ArrayCamera.js +0 -18
  2255. package/.output/server/node_modules/three/src/cameras/Camera.js +0 -68
  2256. package/.output/server/node_modules/three/src/cameras/CubeCamera.js +0 -107
  2257. package/.output/server/node_modules/three/src/cameras/OrthographicCamera.js +0 -136
  2258. package/.output/server/node_modules/three/src/cameras/PerspectiveCamera.js +0 -233
  2259. package/.output/server/node_modules/three/src/constants.js +0 -199
  2260. package/.output/server/node_modules/three/src/core/BufferAttribute.js +0 -528
  2261. package/.output/server/node_modules/three/src/core/BufferGeometry.js +0 -1130
  2262. package/.output/server/node_modules/three/src/core/EventDispatcher.js +0 -87
  2263. package/.output/server/node_modules/three/src/core/Layers.js +0 -60
  2264. package/.output/server/node_modules/three/src/core/Object3D.js +0 -924
  2265. package/.output/server/node_modules/three/src/extras/ImageUtils.js +0 -66
  2266. package/.output/server/node_modules/three/src/extras/PMREMGenerator.js +0 -1013
  2267. package/.output/server/node_modules/three/src/geometries/BoxGeometry.js +0 -170
  2268. package/.output/server/node_modules/three/src/geometries/PlaneGeometry.js +0 -87
  2269. package/.output/server/node_modules/three/src/materials/Material.js +0 -491
  2270. package/.output/server/node_modules/three/src/materials/MeshBasicMaterial.js +0 -106
  2271. package/.output/server/node_modules/three/src/materials/MeshDepthMaterial.js +0 -74
  2272. package/.output/server/node_modules/three/src/materials/MeshDistanceMaterial.js +0 -72
  2273. package/.output/server/node_modules/three/src/materials/PointsMaterial.js +0 -59
  2274. package/.output/server/node_modules/three/src/materials/RawShaderMaterial.js +0 -17
  2275. package/.output/server/node_modules/three/src/materials/ShaderMaterial.js +0 -200
  2276. package/.output/server/node_modules/three/src/math/Box3.js +0 -518
  2277. package/.output/server/node_modules/three/src/math/Color.js +0 -604
  2278. package/.output/server/node_modules/three/src/math/Euler.js +0 -322
  2279. package/.output/server/node_modules/three/src/math/Frustum.js +0 -162
  2280. package/.output/server/node_modules/three/src/math/MathUtils.js +0 -258
  2281. package/.output/server/node_modules/three/src/math/Matrix3.js +0 -339
  2282. package/.output/server/node_modules/three/src/math/Matrix4.js +0 -885
  2283. package/.output/server/node_modules/three/src/math/Plane.js +0 -205
  2284. package/.output/server/node_modules/three/src/math/Quaternion.js +0 -689
  2285. package/.output/server/node_modules/three/src/math/Ray.js +0 -496
  2286. package/.output/server/node_modules/three/src/math/Sphere.js +0 -219
  2287. package/.output/server/node_modules/three/src/math/Triangle.js +0 -299
  2288. package/.output/server/node_modules/three/src/math/Vector2.js +0 -484
  2289. package/.output/server/node_modules/three/src/math/Vector3.js +0 -745
  2290. package/.output/server/node_modules/three/src/math/Vector4.js +0 -664
  2291. package/.output/server/node_modules/three/src/objects/Group.js +0 -17
  2292. package/.output/server/node_modules/three/src/objects/Mesh.js +0 -419
  2293. package/.output/server/node_modules/three/src/objects/Points.js +0 -188
  2294. package/.output/server/node_modules/three/src/renderers/WebGLCubeRenderTarget.js +0 -155
  2295. package/.output/server/node_modules/three/src/renderers/WebGLMultisampleRenderTarget.js +0 -33
  2296. package/.output/server/node_modules/three/src/renderers/WebGLRenderTarget.js +0 -109
  2297. package/.output/server/node_modules/three/src/renderers/WebGLRenderer.js +0 -2217
  2298. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js +0 -7
  2299. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js +0 -7
  2300. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js +0 -7
  2301. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_pars_fragment.glsl.js +0 -5
  2302. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js +0 -18
  2303. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js +0 -8
  2304. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/begin_vertex.glsl.js +0 -3
  2305. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js +0 -9
  2306. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +0 -258
  2307. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +0 -44
  2308. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_begin.glsl.js +0 -7
  2309. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js +0 -18
  2310. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js +0 -21
  2311. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js +0 -33
  2312. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js +0 -9
  2313. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js +0 -7
  2314. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js +0 -7
  2315. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js +0 -11
  2316. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js +0 -11
  2317. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +0 -11
  2318. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +0 -23
  2319. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -116
  2320. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +0 -214
  2321. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/default_fragment.glsl.js +0 -5
  2322. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/default_vertex.glsl.js +0 -5
  2323. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js +0 -36
  2324. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl.js +0 -9
  2325. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js +0 -7
  2326. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/dithering_fragment.glsl.js +0 -7
  2327. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js +0 -20
  2328. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +0 -11
  2329. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl.js +0 -7
  2330. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/encodings_fragment.glsl.js +0 -3
  2331. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/encodings_pars_fragment.glsl.js +0 -62
  2332. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +0 -14
  2333. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +0 -68
  2334. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +0 -21
  2335. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +0 -22
  2336. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +0 -62
  2337. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js +0 -37
  2338. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js +0 -17
  2339. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js +0 -19
  2340. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js +0 -7
  2341. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js +0 -7
  2342. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +0 -26
  2343. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -16
  2344. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl.js +0 -8
  2345. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +0 -152
  2346. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js +0 -13
  2347. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +0 -38
  2348. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js +0 -122
  2349. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +0 -223
  2350. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl.js +0 -7
  2351. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +0 -34
  2352. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +0 -95
  2353. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +0 -188
  2354. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_fragment.glsl.js +0 -4
  2355. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +0 -28
  2356. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +0 -9
  2357. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +0 -9
  2358. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +0 -16
  2359. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +0 -22
  2360. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +0 -10
  2361. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl.js +0 -7
  2362. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js +0 -20
  2363. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js +0 -19
  2364. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js +0 -12
  2365. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_pars_fragment.glsl.js +0 -7
  2366. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +0 -27
  2367. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +0 -38
  2368. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +0 -44
  2369. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +0 -48
  2370. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js +0 -41
  2371. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_fragment.glsl.js +0 -14
  2372. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_vertex.glsl.js +0 -14
  2373. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_vertex.glsl.js +0 -14
  2374. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +0 -45
  2375. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +0 -12
  2376. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js +0 -54
  2377. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +0 -8
  2378. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js +0 -13
  2379. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js +0 -12
  2380. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_pars_fragment.glsl.js +0 -7
  2381. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +0 -310
  2382. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +0 -63
  2383. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +0 -60
  2384. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +0 -66
  2385. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinbase_vertex.glsl.js +0 -10
  2386. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js +0 -48
  2387. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinning_vertex.glsl.js +0 -15
  2388. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js +0 -20
  2389. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js +0 -14
  2390. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl.js +0 -7
  2391. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js +0 -7
  2392. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +0 -77
  2393. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +0 -32
  2394. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +0 -115
  2395. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js +0 -7
  2396. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js +0 -10
  2397. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js +0 -7
  2398. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js +0 -7
  2399. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js +0 -17
  2400. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js +0 -7
  2401. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +0 -15
  2402. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk.js +0 -257
  2403. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js +0 -29
  2404. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/cube.glsl.js +0 -38
  2405. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js +0 -92
  2406. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js +0 -73
  2407. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/equirect.glsl.js +0 -37
  2408. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js +0 -69
  2409. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +0 -115
  2410. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +0 -150
  2411. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +0 -107
  2412. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +0 -76
  2413. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -125
  2414. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +0 -196
  2415. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +0 -116
  2416. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js +0 -70
  2417. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js +0 -49
  2418. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js +0 -79
  2419. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/vsm.glsl.js +0 -56
  2420. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib.js +0 -325
  2421. package/.output/server/node_modules/three/src/renderers/shaders/UniformsLib.js +0 -217
  2422. package/.output/server/node_modules/three/src/renderers/shaders/UniformsUtils.js +0 -66
  2423. package/.output/server/node_modules/three/src/renderers/webgl/WebGLAnimation.js +0 -53
  2424. package/.output/server/node_modules/three/src/renderers/webgl/WebGLAttributes.js +0 -193
  2425. package/.output/server/node_modules/three/src/renderers/webgl/WebGLBackground.js +0 -225
  2426. package/.output/server/node_modules/three/src/renderers/webgl/WebGLBindingStates.js +0 -595
  2427. package/.output/server/node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js +0 -61
  2428. package/.output/server/node_modules/three/src/renderers/webgl/WebGLCapabilities.js +0 -123
  2429. package/.output/server/node_modules/three/src/renderers/webgl/WebGLClipping.js +0 -167
  2430. package/.output/server/node_modules/three/src/renderers/webgl/WebGLCubeMaps.js +0 -103
  2431. package/.output/server/node_modules/three/src/renderers/webgl/WebGLCubeUVMaps.js +0 -117
  2432. package/.output/server/node_modules/three/src/renderers/webgl/WebGLExtensions.js +0 -96
  2433. package/.output/server/node_modules/three/src/renderers/webgl/WebGLGeometries.js +0 -195
  2434. package/.output/server/node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js +0 -71
  2435. package/.output/server/node_modules/three/src/renderers/webgl/WebGLInfo.js +0 -72
  2436. package/.output/server/node_modules/three/src/renderers/webgl/WebGLLights.js +0 -551
  2437. package/.output/server/node_modules/three/src/renderers/webgl/WebGLMaterials.js +0 -792
  2438. package/.output/server/node_modules/three/src/renderers/webgl/WebGLMorphtargets.js +0 -283
  2439. package/.output/server/node_modules/three/src/renderers/webgl/WebGLObjects.js +0 -72
  2440. package/.output/server/node_modules/three/src/renderers/webgl/WebGLProgram.js +0 -897
  2441. package/.output/server/node_modules/three/src/renderers/webgl/WebGLPrograms.js +0 -432
  2442. package/.output/server/node_modules/three/src/renderers/webgl/WebGLProperties.js +0 -48
  2443. package/.output/server/node_modules/three/src/renderers/webgl/WebGLRenderLists.js +0 -247
  2444. package/.output/server/node_modules/three/src/renderers/webgl/WebGLRenderStates.js +0 -106
  2445. package/.output/server/node_modules/three/src/renderers/webgl/WebGLShader.js +0 -12
  2446. package/.output/server/node_modules/three/src/renderers/webgl/WebGLShadowMap.js +0 -381
  2447. package/.output/server/node_modules/three/src/renderers/webgl/WebGLState.js +0 -1083
  2448. package/.output/server/node_modules/three/src/renderers/webgl/WebGLTextures.js +0 -1530
  2449. package/.output/server/node_modules/three/src/renderers/webgl/WebGLUniforms.js +0 -1019
  2450. package/.output/server/node_modules/three/src/renderers/webgl/WebGLUtils.js +0 -197
  2451. package/.output/server/node_modules/three/src/renderers/webxr/WebXRController.js +0 -299
  2452. package/.output/server/node_modules/three/src/renderers/webxr/WebXRManager.js +0 -684
  2453. package/.output/server/node_modules/three/src/scenes/Scene.js +0 -58
  2454. package/.output/server/node_modules/three/src/textures/CubeTexture.js +0 -33
  2455. package/.output/server/node_modules/three/src/textures/DataTexture2DArray.js +0 -29
  2456. package/.output/server/node_modules/three/src/textures/DataTexture3D.js +0 -37
  2457. package/.output/server/node_modules/three/src/textures/DepthTexture.js +0 -36
  2458. package/.output/server/node_modules/three/src/textures/Texture.js +0 -377
  2459. package/.output/server/node_modules/three/src/utils.js +0 -93
  2460. package/.output/server/node_modules/throttle-debounce/esm/index.js +0 -162
  2461. package/.output/server/node_modules/throttle-debounce/esm/package.json +0 -1
  2462. package/.output/server/node_modules/throttle-debounce/package.json +0 -98
  2463. package/.output/server/node_modules/topojson-client/dist/topojson-client.js +0 -508
  2464. package/.output/server/node_modules/topojson-client/package.json +0 -49
  2465. package/.output/server/node_modules/tslib/modules/index.js +0 -70
  2466. package/.output/server/node_modules/tslib/modules/package.json +0 -3
  2467. package/.output/server/node_modules/tslib/package.json +0 -47
  2468. package/.output/server/node_modules/tslib/tslib.js +0 -484
@@ -0,0 +1,4161 @@
1
+ import { _ as _sfc_main$1$1, a as _sfc_main$b } from './DashboardNavbar-C3PsNVJt.mjs';
2
+ import { _ as _sfc_main$1$2 } from './Breadcrumb-DtV_L8Gt.mjs';
3
+ import { _ as __nuxt_component_3 } from './BreadcrumbNav-DBnGj5Jq.mjs';
4
+ import { u as useCopyRich, s as stripAnsi, _ as __nuxt_component_27, a as __nuxt_component_21$1, b as __nuxt_component_22, c as __nuxt_component_23, d as __nuxt_component_29, e as __nuxt_component_6$1, f as __nuxt_component_7$1, i as isImageFile, g as isVideoFile, h as __nuxt_component_1$1$1, j as __nuxt_component_2$1, k as __nuxt_component_3$1, l as __nuxt_component_4$1, m as __nuxt_component_3$2, n as __nuxt_component_4, o as __nuxt_component_26, p as __nuxt_component_1$2 } from './useCopyRich-DPKZKHvZ.mjs';
5
+ import { _ as _sfc_main$a } from './Tooltip-CK0ucuXC.mjs';
6
+ import { u as useRoute, o as useHead, m as _sfc_main$7$1, l as _sfc_main$k, k as _sfc_main$p, v as __nuxt_component_12, j as useToast, s as _sfc_main$8$1, _ as _sfc_main$d$1 } from './server.mjs';
7
+ import { c as clusterSectionLocatorKey, _ as __nuxt_component_0$1, a as __nuxt_component_28 } from './DiagnosisResult-GAjo6Lt3.mjs';
8
+ import { _ as __nuxt_component_11 } from './SectionCard-BB1O3uXd.mjs';
9
+ import { _ as __nuxt_component_2 } from './HelpHint-C96TlqxY.mjs';
10
+ import { _ as __nuxt_component_13 } from './RunStatusBadge-CWhmAmKb.mjs';
11
+ import { _ as _sfc_main$c } from './Textarea-CmjqdiIA.mjs';
12
+ import { g as renderAnsi, c as copyPreview, h as fixVerificationBadge, i as clusterErrorTypeColor, a as formatRelativeTime, j as formatLongDuration, k as clusterStatusColor, e as errorMessage, l as filterCommits, m as scmFileStatusMeta } from './index-2GmuPNF-.mjs';
13
+ import { defineComponent, withAsyncContext, computed, ref, watch, provide, withCtx, unref, createVNode, toDisplayString, createTextVNode, openBlock, createBlock, createCommentVNode, mergeProps, Fragment, renderList, isRef, withModifiers, useModel, mergeModels, nextTick, reactive, useSSRContext } from 'vue';
14
+ import { ssrRenderComponent, ssrInterpolate, ssrRenderClass, ssrRenderList, ssrRenderAttrs, ssrRenderAttr, ssrIncludeBooleanAttr } from 'vue/server-renderer';
15
+ import { _ as __nuxt_component_1$1 } from './OpenInIdeLink-Bnl-_som.mjs';
16
+ import { _ as __nuxt_component_14 } from './DesktopRunLocallyButton-BfmbZpiL.mjs';
17
+ import { _ as _sfc_main$d } from './Tabs-CC34LIUz.mjs';
18
+ import { _ as _sfc_main$f } from './SelectMenu-BUwwc3Qt.mjs';
19
+ import { _ as _sfc_main$e } from './Modal-BGBGJtVH.mjs';
20
+ import { _ as __nuxt_component_13$1 } from './LoadingState-CxfFwac9.mjs';
21
+ import { _ as __nuxt_component_5$1 } from './ErrorState-9UPssp7w.mjs';
22
+ import { p as provideClusterDiagnosis, _ as __nuxt_component_0, u as useClusterDiagnosis } from './DiagnosisPanel-C_ndadzP.mjs';
23
+ import { eM as buildRetryCommand } from '../nitro/nitro.mjs';
24
+ import { u as useFetch, a as useCopy } from './fetch-DOcN2mHf.mjs';
25
+ import './DashboardSidebarToggle-a5KYecZ0.mjs';
26
+ import './Alert-gs8RgKxH.mjs';
27
+ import './FormField-GYHKiSI6.mjs';
28
+ import './Label-DYDR1Oeh.mjs';
29
+ import './Select-COU8NARj.mjs';
30
+ import './useFormControl-8skMOTIf.mjs';
31
+ import './handleAndDispatchCustomEvent-Bk_AVSSo.mjs';
32
+ import './EmptyState-C-mCzGhO.mjs';
33
+ import './Separator-CQsq6WA9.mjs';
34
+ import './useDesktopDownload-R_RWSgUV.mjs';
35
+ import './useIsDesktop-BS13spVj.mjs';
36
+ import './useTauri-Kf3HE_42.mjs';
37
+ import './CodeBlock-CmvKHaq8.mjs';
38
+ import './Card--Ike7sYc.mjs';
39
+ import 'vue-router';
40
+ import '@iconify/vue';
41
+ import 'tailwindcss/colors';
42
+ import 'tailwind-variants';
43
+ import '@iconify/utils/lib/css/icon';
44
+ import 'perfect-debounce';
45
+ import '@floating-ui/vue';
46
+ import 'aria-hidden';
47
+ import '../routes/renderer.mjs';
48
+ import 'vue-bundle-renderer/runtime';
49
+ import 'unhead/server';
50
+ import 'devalue';
51
+ import 'unhead/plugins';
52
+ import 'unhead/utils';
53
+ import 'node:crypto';
54
+ import 'drizzle-orm';
55
+ import 'path';
56
+ import 'fs/promises';
57
+ import 'zlib';
58
+ import 'util';
59
+ import 'marked';
60
+ import 'highlight.js/lib/core';
61
+ import 'highlight.js/lib/languages/bash';
62
+ import 'highlight.js/lib/languages/css';
63
+ import 'highlight.js/lib/languages/diff';
64
+ import 'highlight.js/lib/languages/javascript';
65
+ import 'highlight.js/lib/languages/json';
66
+ import 'highlight.js/lib/languages/python';
67
+ import 'highlight.js/lib/languages/typescript';
68
+ import 'highlight.js/lib/languages/xml';
69
+ import 'highlight.js/lib/languages/yaml';
70
+ import 'fflate';
71
+ import 'zod';
72
+ import 'pixelmatch';
73
+ import 'sharp';
74
+ import '@anthropic-ai/sdk';
75
+ import 'nodemailer';
76
+ import 'node:dns/promises';
77
+ import 'node:net';
78
+ import 'node:util';
79
+ import 'rou3';
80
+ import 'fs';
81
+ import '@aws-sdk/client-s3';
82
+ import 'node:http';
83
+ import 'node:https';
84
+ import 'node:events';
85
+ import 'node:buffer';
86
+ import 'node:fs';
87
+ import 'node:path';
88
+ import 'drizzle-orm/libsql/sqlite3';
89
+ import 'drizzle-orm/sqlite-core';
90
+ import 'drizzle-orm/pg-core';
91
+ import 'url';
92
+ import 'node:async_hooks';
93
+ import 'node:zlib';
94
+ import 'consola';
95
+ import 'node:url';
96
+ import '@iconify/utils';
97
+ import './help-content-BK3jcgLw.mjs';
98
+ import 'date-fns';
99
+ import './useOpenInIde-DS4YXevu.mjs';
100
+ import './useDesktopLocalRuns-BdELBy0Y.mjs';
101
+ import './Switch-_NJhWmI9.mjs';
102
+ import './useForwardScopeId-D0ameaSU.mjs';
103
+ import './VisuallyHiddenInput-D4E5aJCQ.mjs';
104
+ import './useDesktopProjectLink-IUN7SIP2.mjs';
105
+ import './RovingFocusItem-CLjuqlIR.mjs';
106
+ import '@tanstack/vue-virtual';
107
+ import './useAiStatus-CiK1MZbH.mjs';
108
+ import '@vue/shared';
109
+
110
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
111
+ __name: "ClusterSummary",
112
+ __ssrInlineRender: true,
113
+ props: {
114
+ cluster: {},
115
+ triageStatus: {},
116
+ triageNote: {},
117
+ triageSaving: { type: Boolean },
118
+ triageChanged: { type: Boolean }
119
+ },
120
+ emits: ["update:triageStatus", "update:triageNote", "save-triage"],
121
+ setup(__props, { emit: __emit }) {
122
+ const props = __props;
123
+ const emit = __emit;
124
+ const resolution = computed(() => fixVerificationBadge(props.cluster.fixVerification));
125
+ const triageStatusOptions = [
126
+ { label: "Open", value: "open", color: "warning" },
127
+ { label: "Resolved", value: "resolved", color: "success" },
128
+ { label: "Ignored", value: "ignored", color: "neutral" }
129
+ ];
130
+ return (_ctx, _push, _parent, _attrs) => {
131
+ const _component_FoldableSummary = __nuxt_component_0$1;
132
+ const _component_UBadge = _sfc_main$7$1;
133
+ const _component_UIcon = _sfc_main$p;
134
+ const _component_SectionCard = __nuxt_component_11;
135
+ const _component_HelpHint = __nuxt_component_2;
136
+ const _component_NuxtLink = __nuxt_component_12;
137
+ const _component_RunStatusBadge = __nuxt_component_13;
138
+ const _component_UButton = _sfc_main$k;
139
+ const _component_UTextarea = _sfc_main$c;
140
+ _push(ssrRenderComponent(_component_FoldableSummary, mergeProps({ "storage-key": "failure-cluster" }, _attrs), {
141
+ folded: withCtx((_, _push2, _parent2, _scopeId) => {
142
+ if (_push2) {
143
+ _push2(`<div class="flex items-center gap-3 flex-1 min-w-0 justify-between"${_scopeId}><div class="flex items-center gap-3 min-w-0"${_scopeId}>`);
144
+ _push2(ssrRenderComponent(_component_UBadge, {
145
+ color: ("clusterStatusColor" in _ctx ? _ctx.clusterStatusColor : unref(clusterStatusColor))(__props.cluster.status),
146
+ variant: "solid",
147
+ size: "sm",
148
+ class: "shrink-0 capitalize"
149
+ }, {
150
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
151
+ if (_push3) {
152
+ _push3(`${ssrInterpolate(__props.cluster.status)}`);
153
+ } else {
154
+ return [
155
+ createTextVNode(toDisplayString(__props.cluster.status), 1)
156
+ ];
157
+ }
158
+ }),
159
+ _: 1
160
+ }, _parent2, _scopeId));
161
+ _push2(`<span class="font-mono text-sm truncate text-gray-600 dark:text-gray-400 min-w-0"${_scopeId}>${ssrInterpolate(__props.cluster.signature)}</span>`);
162
+ if (__props.cluster.errorType) {
163
+ _push2(ssrRenderComponent(_component_UBadge, {
164
+ color: ("clusterErrorTypeColor" in _ctx ? _ctx.clusterErrorTypeColor : unref(clusterErrorTypeColor))(__props.cluster.errorType),
165
+ variant: "subtle",
166
+ size: "sm"
167
+ }, {
168
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
169
+ if (_push3) {
170
+ _push3(`${ssrInterpolate(__props.cluster.errorType)}`);
171
+ } else {
172
+ return [
173
+ createTextVNode(toDisplayString(__props.cluster.errorType), 1)
174
+ ];
175
+ }
176
+ }),
177
+ _: 1
178
+ }, _parent2, _scopeId));
179
+ } else {
180
+ _push2(`<!---->`);
181
+ }
182
+ if (unref(resolution)) {
183
+ _push2(ssrRenderComponent(_component_UBadge, {
184
+ color: unref(resolution).color,
185
+ variant: "subtle",
186
+ size: "sm",
187
+ class: "gap-1 shrink-0"
188
+ }, {
189
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
190
+ if (_push3) {
191
+ _push3(ssrRenderComponent(_component_UIcon, {
192
+ name: unref(resolution).icon,
193
+ class: "size-3"
194
+ }, null, _parent3, _scopeId2));
195
+ _push3(` ${ssrInterpolate(unref(resolution).label)}`);
196
+ } else {
197
+ return [
198
+ createVNode(_component_UIcon, {
199
+ name: unref(resolution).icon,
200
+ class: "size-3"
201
+ }, null, 8, ["name"]),
202
+ createTextVNode(" " + toDisplayString(unref(resolution).label), 1)
203
+ ];
204
+ }
205
+ }),
206
+ _: 1
207
+ }, _parent2, _scopeId));
208
+ } else {
209
+ _push2(`<!---->`);
210
+ }
211
+ _push2(`</div><div class="flex items-center gap-3 shrink-0 max-sm:hidden"${_scopeId}><span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}>${ssrInterpolate(__props.cluster.occurrences)} occurrence${ssrInterpolate(__props.cluster.occurrences === 1 ? "" : "s")}</span><span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}>${ssrInterpolate(__props.cluster.affectedTests)} ${ssrInterpolate(__props.cluster.affectedTests === 1 ? "test" : "tests")}</span>`);
212
+ if (__props.cluster.diagnosis?.status === "completed" && __props.cluster.diagnosis?.category) {
213
+ _push2(ssrRenderComponent(_component_UBadge, {
214
+ color: "neutral",
215
+ variant: "outline",
216
+ size: "sm",
217
+ class: "gap-1 whitespace-nowrap"
218
+ }, {
219
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
220
+ if (_push3) {
221
+ _push3(ssrRenderComponent(_component_UIcon, {
222
+ name: "i-lucide-sparkles",
223
+ class: "size-3"
224
+ }, null, _parent3, _scopeId2));
225
+ _push3(` ${ssrInterpolate(__props.cluster.diagnosis.category)}`);
226
+ } else {
227
+ return [
228
+ createVNode(_component_UIcon, {
229
+ name: "i-lucide-sparkles",
230
+ class: "size-3"
231
+ }),
232
+ createTextVNode(" " + toDisplayString(__props.cluster.diagnosis.category), 1)
233
+ ];
234
+ }
235
+ }),
236
+ _: 1
237
+ }, _parent2, _scopeId));
238
+ } else {
239
+ _push2(`<!---->`);
240
+ }
241
+ if (__props.cluster.lastSeenAt) {
242
+ _push2(`<span class="text-xs text-gray-400 whitespace-nowrap"${_scopeId}> last seen ${ssrInterpolate(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.lastSeenAt))}</span>`);
243
+ } else {
244
+ _push2(`<!---->`);
245
+ }
246
+ _push2(`</div></div>`);
247
+ } else {
248
+ return [
249
+ createVNode("div", { class: "flex items-center gap-3 flex-1 min-w-0 justify-between" }, [
250
+ createVNode("div", { class: "flex items-center gap-3 min-w-0" }, [
251
+ createVNode(_component_UBadge, {
252
+ color: ("clusterStatusColor" in _ctx ? _ctx.clusterStatusColor : unref(clusterStatusColor))(__props.cluster.status),
253
+ variant: "solid",
254
+ size: "sm",
255
+ class: "shrink-0 capitalize"
256
+ }, {
257
+ default: withCtx(() => [
258
+ createTextVNode(toDisplayString(__props.cluster.status), 1)
259
+ ]),
260
+ _: 1
261
+ }, 8, ["color"]),
262
+ createVNode("span", { class: "font-mono text-sm truncate text-gray-600 dark:text-gray-400 min-w-0" }, toDisplayString(__props.cluster.signature), 1),
263
+ __props.cluster.errorType ? (openBlock(), createBlock(_component_UBadge, {
264
+ key: 0,
265
+ color: ("clusterErrorTypeColor" in _ctx ? _ctx.clusterErrorTypeColor : unref(clusterErrorTypeColor))(__props.cluster.errorType),
266
+ variant: "subtle",
267
+ size: "sm"
268
+ }, {
269
+ default: withCtx(() => [
270
+ createTextVNode(toDisplayString(__props.cluster.errorType), 1)
271
+ ]),
272
+ _: 1
273
+ }, 8, ["color"])) : createCommentVNode("", true),
274
+ unref(resolution) ? (openBlock(), createBlock(_component_UBadge, {
275
+ key: 1,
276
+ color: unref(resolution).color,
277
+ variant: "subtle",
278
+ size: "sm",
279
+ class: "gap-1 shrink-0"
280
+ }, {
281
+ default: withCtx(() => [
282
+ createVNode(_component_UIcon, {
283
+ name: unref(resolution).icon,
284
+ class: "size-3"
285
+ }, null, 8, ["name"]),
286
+ createTextVNode(" " + toDisplayString(unref(resolution).label), 1)
287
+ ]),
288
+ _: 1
289
+ }, 8, ["color"])) : createCommentVNode("", true)
290
+ ]),
291
+ createVNode("div", { class: "flex items-center gap-3 shrink-0 max-sm:hidden" }, [
292
+ createVNode("span", { class: "text-xs text-gray-500 tabular-nums whitespace-nowrap" }, toDisplayString(__props.cluster.occurrences) + " occurrence" + toDisplayString(__props.cluster.occurrences === 1 ? "" : "s"), 1),
293
+ createVNode("span", { class: "text-xs text-gray-500 tabular-nums whitespace-nowrap" }, toDisplayString(__props.cluster.affectedTests) + " " + toDisplayString(__props.cluster.affectedTests === 1 ? "test" : "tests"), 1),
294
+ __props.cluster.diagnosis?.status === "completed" && __props.cluster.diagnosis?.category ? (openBlock(), createBlock(_component_UBadge, {
295
+ key: 0,
296
+ color: "neutral",
297
+ variant: "outline",
298
+ size: "sm",
299
+ class: "gap-1 whitespace-nowrap"
300
+ }, {
301
+ default: withCtx(() => [
302
+ createVNode(_component_UIcon, {
303
+ name: "i-lucide-sparkles",
304
+ class: "size-3"
305
+ }),
306
+ createTextVNode(" " + toDisplayString(__props.cluster.diagnosis.category), 1)
307
+ ]),
308
+ _: 1
309
+ })) : createCommentVNode("", true),
310
+ __props.cluster.lastSeenAt ? (openBlock(), createBlock("span", {
311
+ key: 1,
312
+ class: "text-xs text-gray-400 whitespace-nowrap"
313
+ }, " last seen " + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.lastSeenAt)), 1)) : createCommentVNode("", true)
314
+ ])
315
+ ])
316
+ ];
317
+ }
318
+ }),
319
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
320
+ if (_push2) {
321
+ _push2(`<div class="grid grid-cols-1 lg:grid-cols-12 gap-4"${_scopeId}><div class="lg:col-span-9"${_scopeId}>`);
322
+ _push2(ssrRenderComponent(_component_SectionCard, {
323
+ title: __props.cluster.signature
324
+ }, {
325
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
326
+ if (_push3) {
327
+ _push3(`<div class="space-y-3"${_scopeId2}>`);
328
+ if (__props.cluster.title) {
329
+ _push3(`<p class="text-sm font-medium break-words text-gray-500 dark:text-gray-400"${_scopeId2}>${ssrInterpolate(__props.cluster.title)}</p>`);
330
+ } else {
331
+ _push3(`<!---->`);
332
+ }
333
+ _push3(`<div class="flex flex-wrap gap-2"${_scopeId2}>`);
334
+ if (__props.cluster.errorType) {
335
+ _push3(ssrRenderComponent(_component_UBadge, {
336
+ color: ("clusterErrorTypeColor" in _ctx ? _ctx.clusterErrorTypeColor : unref(clusterErrorTypeColor))(__props.cluster.errorType),
337
+ variant: "subtle"
338
+ }, {
339
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
340
+ if (_push4) {
341
+ _push4(`${ssrInterpolate(__props.cluster.errorType)}`);
342
+ } else {
343
+ return [
344
+ createTextVNode(toDisplayString(__props.cluster.errorType), 1)
345
+ ];
346
+ }
347
+ }),
348
+ _: 1
349
+ }, _parent3, _scopeId2));
350
+ } else {
351
+ _push3(`<!---->`);
352
+ }
353
+ _push3(ssrRenderComponent(_component_UBadge, {
354
+ color: "neutral",
355
+ variant: "subtle"
356
+ }, {
357
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
358
+ if (_push4) {
359
+ _push4(`${ssrInterpolate(__props.cluster.occurrences)} occurrence${ssrInterpolate(__props.cluster.occurrences === 1 ? "" : "s")}`);
360
+ } else {
361
+ return [
362
+ createTextVNode(toDisplayString(__props.cluster.occurrences) + " occurrence" + toDisplayString(__props.cluster.occurrences === 1 ? "" : "s"), 1)
363
+ ];
364
+ }
365
+ }),
366
+ _: 1
367
+ }, _parent3, _scopeId2));
368
+ _push3(ssrRenderComponent(_component_UBadge, {
369
+ color: "neutral",
370
+ variant: "subtle"
371
+ }, {
372
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
373
+ if (_push4) {
374
+ _push4(`${ssrInterpolate(__props.cluster.affectedTests)} ${ssrInterpolate(__props.cluster.affectedTests === 1 ? "test" : "tests")} affected `);
375
+ } else {
376
+ return [
377
+ createTextVNode(toDisplayString(__props.cluster.affectedTests) + " " + toDisplayString(__props.cluster.affectedTests === 1 ? "test" : "tests") + " affected ", 1)
378
+ ];
379
+ }
380
+ }),
381
+ _: 1
382
+ }, _parent3, _scopeId2));
383
+ if (__props.cluster.diagnosis?.status === "completed" && __props.cluster.diagnosis?.category) {
384
+ _push3(ssrRenderComponent(_component_UBadge, {
385
+ color: "neutral",
386
+ variant: "outline",
387
+ class: "gap-1"
388
+ }, {
389
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
390
+ if (_push4) {
391
+ _push4(ssrRenderComponent(_component_UIcon, {
392
+ name: "i-lucide-sparkles",
393
+ class: "size-3"
394
+ }, null, _parent4, _scopeId3));
395
+ _push4(` ${ssrInterpolate(__props.cluster.diagnosis.category)}`);
396
+ } else {
397
+ return [
398
+ createVNode(_component_UIcon, {
399
+ name: "i-lucide-sparkles",
400
+ class: "size-3"
401
+ }),
402
+ createTextVNode(" " + toDisplayString(__props.cluster.diagnosis.category), 1)
403
+ ];
404
+ }
405
+ }),
406
+ _: 1
407
+ }, _parent3, _scopeId2));
408
+ } else {
409
+ _push3(`<!---->`);
410
+ }
411
+ _push3(ssrRenderComponent(_component_HelpHint, { topic: "cluster.concept" }, null, _parent3, _scopeId2));
412
+ _push3(`</div><p class="text-sm text-gray-500"${_scopeId2}> First seen in `);
413
+ _push3(ssrRenderComponent(_component_NuxtLink, {
414
+ to: `/test-runs/${__props.cluster.firstSeenRunId}`,
415
+ class: "text-primary hover:underline"
416
+ }, {
417
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
418
+ if (_push4) {
419
+ _push4(` run #${ssrInterpolate(__props.cluster.firstSeenRunId)}`);
420
+ } else {
421
+ return [
422
+ createTextVNode(" run #" + toDisplayString(__props.cluster.firstSeenRunId), 1)
423
+ ];
424
+ }
425
+ }),
426
+ _: 1
427
+ }, _parent3, _scopeId2));
428
+ if (__props.cluster.firstSeenAt) {
429
+ _push3(`<!--[--> (${ssrInterpolate(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.firstSeenAt))}) <!--]-->`);
430
+ } else {
431
+ _push3(`<!---->`);
432
+ }
433
+ _push3(` · Last seen in `);
434
+ _push3(ssrRenderComponent(_component_NuxtLink, {
435
+ to: `/test-runs/${__props.cluster.lastSeenRunId}`,
436
+ class: "text-primary hover:underline"
437
+ }, {
438
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
439
+ if (_push4) {
440
+ _push4(` run #${ssrInterpolate(__props.cluster.lastSeenRunId)}`);
441
+ } else {
442
+ return [
443
+ createTextVNode(" run #" + toDisplayString(__props.cluster.lastSeenRunId), 1)
444
+ ];
445
+ }
446
+ }),
447
+ _: 1
448
+ }, _parent3, _scopeId2));
449
+ if (__props.cluster.lastSeenAt) {
450
+ _push3(`<!--[--> (${ssrInterpolate(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.lastSeenAt))}) <!--]-->`);
451
+ } else {
452
+ _push3(`<!---->`);
453
+ }
454
+ if (__props.cluster.lastSeenRunStatus) {
455
+ _push3(ssrRenderComponent(_component_RunStatusBadge, {
456
+ status: __props.cluster.lastSeenRunStatus,
457
+ size: "sm",
458
+ class: "ml-1 align-middle"
459
+ }, null, _parent3, _scopeId2));
460
+ } else {
461
+ _push3(`<!---->`);
462
+ }
463
+ _push3(`</p>`);
464
+ if (unref(resolution)) {
465
+ _push3(`<div class="rounded-md border border-default p-3 space-y-1.5"${_scopeId2}><div class="flex items-center gap-2 flex-wrap"${_scopeId2}>`);
466
+ _push3(ssrRenderComponent(_component_UBadge, {
467
+ color: unref(resolution).color,
468
+ variant: "subtle",
469
+ class: "gap-1"
470
+ }, {
471
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
472
+ if (_push4) {
473
+ _push4(ssrRenderComponent(_component_UIcon, {
474
+ name: unref(resolution).icon,
475
+ class: "size-3"
476
+ }, null, _parent4, _scopeId3));
477
+ _push4(` ${ssrInterpolate(unref(resolution).label)}`);
478
+ } else {
479
+ return [
480
+ createVNode(_component_UIcon, {
481
+ name: unref(resolution).icon,
482
+ class: "size-3"
483
+ }, null, 8, ["name"]),
484
+ createTextVNode(" " + toDisplayString(unref(resolution).label), 1)
485
+ ];
486
+ }
487
+ }),
488
+ _: 1
489
+ }, _parent3, _scopeId2));
490
+ if (__props.cluster.timeToResolutionMs != null) {
491
+ _push3(`<span class="text-xs text-gray-500"${_scopeId2}> open for ${ssrInterpolate(("formatLongDuration" in _ctx ? _ctx.formatLongDuration : unref(formatLongDuration))(__props.cluster.timeToResolutionMs))}</span>`);
492
+ } else {
493
+ _push3(`<!---->`);
494
+ }
495
+ _push3(ssrRenderComponent(_component_HelpHint, { topic: "cluster.resolution" }, null, _parent3, _scopeId2));
496
+ _push3(`</div><p class="text-xs text-gray-500"${_scopeId2}>${ssrInterpolate(unref(resolution).hint)}</p><p class="text-sm text-gray-500"${_scopeId2}>`);
497
+ if (__props.cluster.fixLandedRunId) {
498
+ _push3(`<!--[--> Fix landed in `);
499
+ _push3(ssrRenderComponent(_component_NuxtLink, {
500
+ to: `/test-runs/${__props.cluster.fixLandedRunId}`,
501
+ class: "text-primary hover:underline"
502
+ }, {
503
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
504
+ if (_push4) {
505
+ _push4(` run #${ssrInterpolate(__props.cluster.fixLandedRunId)}`);
506
+ } else {
507
+ return [
508
+ createTextVNode(" run #" + toDisplayString(__props.cluster.fixLandedRunId), 1)
509
+ ];
510
+ }
511
+ }),
512
+ _: 1
513
+ }, _parent3, _scopeId2));
514
+ _push3(`<!--]-->`);
515
+ } else {
516
+ _push3(`<!---->`);
517
+ }
518
+ if (__props.cluster.fixLandedAt) {
519
+ _push3(`<!--[--> (${ssrInterpolate(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.fixLandedAt))})<!--]-->`);
520
+ } else {
521
+ _push3(`<!---->`);
522
+ }
523
+ if (__props.cluster.fixCommit) {
524
+ _push3(`<!--[--> · commit <code class="font-mono text-xs"${_scopeId2}>${ssrInterpolate(__props.cluster.fixCommit.slice(0, 8))}</code><!--]-->`);
525
+ } else {
526
+ _push3(`<!---->`);
527
+ }
528
+ _push3(`</p></div>`);
529
+ } else {
530
+ _push3(`<!---->`);
531
+ }
532
+ _push3(`</div>`);
533
+ } else {
534
+ return [
535
+ createVNode("div", { class: "space-y-3" }, [
536
+ __props.cluster.title ? (openBlock(), createBlock("p", {
537
+ key: 0,
538
+ class: "text-sm font-medium break-words text-gray-500 dark:text-gray-400"
539
+ }, toDisplayString(__props.cluster.title), 1)) : createCommentVNode("", true),
540
+ createVNode("div", { class: "flex flex-wrap gap-2" }, [
541
+ __props.cluster.errorType ? (openBlock(), createBlock(_component_UBadge, {
542
+ key: 0,
543
+ color: ("clusterErrorTypeColor" in _ctx ? _ctx.clusterErrorTypeColor : unref(clusterErrorTypeColor))(__props.cluster.errorType),
544
+ variant: "subtle"
545
+ }, {
546
+ default: withCtx(() => [
547
+ createTextVNode(toDisplayString(__props.cluster.errorType), 1)
548
+ ]),
549
+ _: 1
550
+ }, 8, ["color"])) : createCommentVNode("", true),
551
+ createVNode(_component_UBadge, {
552
+ color: "neutral",
553
+ variant: "subtle"
554
+ }, {
555
+ default: withCtx(() => [
556
+ createTextVNode(toDisplayString(__props.cluster.occurrences) + " occurrence" + toDisplayString(__props.cluster.occurrences === 1 ? "" : "s"), 1)
557
+ ]),
558
+ _: 1
559
+ }),
560
+ createVNode(_component_UBadge, {
561
+ color: "neutral",
562
+ variant: "subtle"
563
+ }, {
564
+ default: withCtx(() => [
565
+ createTextVNode(toDisplayString(__props.cluster.affectedTests) + " " + toDisplayString(__props.cluster.affectedTests === 1 ? "test" : "tests") + " affected ", 1)
566
+ ]),
567
+ _: 1
568
+ }),
569
+ __props.cluster.diagnosis?.status === "completed" && __props.cluster.diagnosis?.category ? (openBlock(), createBlock(_component_UBadge, {
570
+ key: 1,
571
+ color: "neutral",
572
+ variant: "outline",
573
+ class: "gap-1"
574
+ }, {
575
+ default: withCtx(() => [
576
+ createVNode(_component_UIcon, {
577
+ name: "i-lucide-sparkles",
578
+ class: "size-3"
579
+ }),
580
+ createTextVNode(" " + toDisplayString(__props.cluster.diagnosis.category), 1)
581
+ ]),
582
+ _: 1
583
+ })) : createCommentVNode("", true),
584
+ createVNode(_component_HelpHint, { topic: "cluster.concept" })
585
+ ]),
586
+ createVNode("p", { class: "text-sm text-gray-500" }, [
587
+ createTextVNode(" First seen in "),
588
+ createVNode(_component_NuxtLink, {
589
+ to: `/test-runs/${__props.cluster.firstSeenRunId}`,
590
+ class: "text-primary hover:underline"
591
+ }, {
592
+ default: withCtx(() => [
593
+ createTextVNode(" run #" + toDisplayString(__props.cluster.firstSeenRunId), 1)
594
+ ]),
595
+ _: 1
596
+ }, 8, ["to"]),
597
+ __props.cluster.firstSeenAt ? (openBlock(), createBlock(Fragment, { key: 0 }, [
598
+ createTextVNode(" (" + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.firstSeenAt)) + ") ", 1)
599
+ ], 64)) : createCommentVNode("", true),
600
+ createTextVNode(" · Last seen in "),
601
+ createVNode(_component_NuxtLink, {
602
+ to: `/test-runs/${__props.cluster.lastSeenRunId}`,
603
+ class: "text-primary hover:underline"
604
+ }, {
605
+ default: withCtx(() => [
606
+ createTextVNode(" run #" + toDisplayString(__props.cluster.lastSeenRunId), 1)
607
+ ]),
608
+ _: 1
609
+ }, 8, ["to"]),
610
+ __props.cluster.lastSeenAt ? (openBlock(), createBlock(Fragment, { key: 1 }, [
611
+ createTextVNode(" (" + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.lastSeenAt)) + ") ", 1)
612
+ ], 64)) : createCommentVNode("", true),
613
+ __props.cluster.lastSeenRunStatus ? (openBlock(), createBlock(_component_RunStatusBadge, {
614
+ key: 2,
615
+ status: __props.cluster.lastSeenRunStatus,
616
+ size: "sm",
617
+ class: "ml-1 align-middle"
618
+ }, null, 8, ["status"])) : createCommentVNode("", true)
619
+ ]),
620
+ unref(resolution) ? (openBlock(), createBlock("div", {
621
+ key: 1,
622
+ class: "rounded-md border border-default p-3 space-y-1.5"
623
+ }, [
624
+ createVNode("div", { class: "flex items-center gap-2 flex-wrap" }, [
625
+ createVNode(_component_UBadge, {
626
+ color: unref(resolution).color,
627
+ variant: "subtle",
628
+ class: "gap-1"
629
+ }, {
630
+ default: withCtx(() => [
631
+ createVNode(_component_UIcon, {
632
+ name: unref(resolution).icon,
633
+ class: "size-3"
634
+ }, null, 8, ["name"]),
635
+ createTextVNode(" " + toDisplayString(unref(resolution).label), 1)
636
+ ]),
637
+ _: 1
638
+ }, 8, ["color"]),
639
+ __props.cluster.timeToResolutionMs != null ? (openBlock(), createBlock("span", {
640
+ key: 0,
641
+ class: "text-xs text-gray-500"
642
+ }, " open for " + toDisplayString(("formatLongDuration" in _ctx ? _ctx.formatLongDuration : unref(formatLongDuration))(__props.cluster.timeToResolutionMs)), 1)) : createCommentVNode("", true),
643
+ createVNode(_component_HelpHint, { topic: "cluster.resolution" })
644
+ ]),
645
+ createVNode("p", { class: "text-xs text-gray-500" }, toDisplayString(unref(resolution).hint), 1),
646
+ createVNode("p", { class: "text-sm text-gray-500" }, [
647
+ __props.cluster.fixLandedRunId ? (openBlock(), createBlock(Fragment, { key: 0 }, [
648
+ createTextVNode(" Fix landed in "),
649
+ createVNode(_component_NuxtLink, {
650
+ to: `/test-runs/${__props.cluster.fixLandedRunId}`,
651
+ class: "text-primary hover:underline"
652
+ }, {
653
+ default: withCtx(() => [
654
+ createTextVNode(" run #" + toDisplayString(__props.cluster.fixLandedRunId), 1)
655
+ ]),
656
+ _: 1
657
+ }, 8, ["to"])
658
+ ], 64)) : createCommentVNode("", true),
659
+ __props.cluster.fixLandedAt ? (openBlock(), createBlock(Fragment, { key: 1 }, [
660
+ createTextVNode(" (" + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.fixLandedAt)) + ")", 1)
661
+ ], 64)) : createCommentVNode("", true),
662
+ __props.cluster.fixCommit ? (openBlock(), createBlock(Fragment, { key: 2 }, [
663
+ createTextVNode(" · commit "),
664
+ createVNode("code", { class: "font-mono text-xs" }, toDisplayString(__props.cluster.fixCommit.slice(0, 8)), 1)
665
+ ], 64)) : createCommentVNode("", true)
666
+ ])
667
+ ])) : createCommentVNode("", true)
668
+ ])
669
+ ];
670
+ }
671
+ }),
672
+ _: 1
673
+ }, _parent2, _scopeId));
674
+ _push2(`</div>`);
675
+ _push2(ssrRenderComponent(_component_SectionCard, {
676
+ class: "lg:col-span-3",
677
+ icon: "i-lucide-triangle-alert",
678
+ "icon-class": "text-amber-500",
679
+ title: "Triage",
680
+ help: "cluster.triage"
681
+ }, {
682
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
683
+ if (_push3) {
684
+ _push3(`<div class="flex items-start gap-3"${_scopeId2}><div class="flex flex-col gap-1 shrink-0"${_scopeId2}><!--[-->`);
685
+ ssrRenderList(triageStatusOptions, (opt) => {
686
+ _push3(ssrRenderComponent(_component_UButton, {
687
+ key: opt.value,
688
+ size: "xs",
689
+ class: "justify-start",
690
+ color: __props.triageStatus === opt.value ? opt.color : "neutral",
691
+ variant: __props.triageStatus === opt.value ? "solid" : "outline",
692
+ onClick: ($event) => emit("update:triageStatus", opt.value)
693
+ }, {
694
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
695
+ if (_push4) {
696
+ _push4(`${ssrInterpolate(opt.label)}`);
697
+ } else {
698
+ return [
699
+ createTextVNode(toDisplayString(opt.label), 1)
700
+ ];
701
+ }
702
+ }),
703
+ _: 2
704
+ }, _parent3, _scopeId2));
705
+ });
706
+ _push3(`<!--]--></div><div class="flex-1 min-w-0 space-y-1.5"${_scopeId2}>`);
707
+ _push3(ssrRenderComponent(_component_UTextarea, {
708
+ "model-value": __props.triageNote,
709
+ placeholder: "Optional note…",
710
+ rows: 3,
711
+ class: "text-sm w-full",
712
+ "onUpdate:modelValue": ($event) => emit("update:triageNote", $event)
713
+ }, null, _parent3, _scopeId2));
714
+ _push3(`<div class="flex justify-end"${_scopeId2}>`);
715
+ if (__props.triageChanged) {
716
+ _push3(ssrRenderComponent(_component_UButton, {
717
+ size: "xs",
718
+ icon: "i-lucide-check",
719
+ loading: __props.triageSaving,
720
+ onClick: ($event) => emit("save-triage")
721
+ }, {
722
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
723
+ if (_push4) {
724
+ _push4(` Save `);
725
+ } else {
726
+ return [
727
+ createTextVNode(" Save ")
728
+ ];
729
+ }
730
+ }),
731
+ _: 1
732
+ }, _parent3, _scopeId2));
733
+ } else {
734
+ _push3(`<!---->`);
735
+ }
736
+ _push3(`</div></div></div>`);
737
+ } else {
738
+ return [
739
+ createVNode("div", { class: "flex items-start gap-3" }, [
740
+ createVNode("div", { class: "flex flex-col gap-1 shrink-0" }, [
741
+ (openBlock(), createBlock(Fragment, null, renderList(triageStatusOptions, (opt) => {
742
+ return createVNode(_component_UButton, {
743
+ key: opt.value,
744
+ size: "xs",
745
+ class: "justify-start",
746
+ color: __props.triageStatus === opt.value ? opt.color : "neutral",
747
+ variant: __props.triageStatus === opt.value ? "solid" : "outline",
748
+ onClick: ($event) => emit("update:triageStatus", opt.value)
749
+ }, {
750
+ default: withCtx(() => [
751
+ createTextVNode(toDisplayString(opt.label), 1)
752
+ ]),
753
+ _: 2
754
+ }, 1032, ["color", "variant", "onClick"]);
755
+ }), 64))
756
+ ]),
757
+ createVNode("div", { class: "flex-1 min-w-0 space-y-1.5" }, [
758
+ createVNode(_component_UTextarea, {
759
+ "model-value": __props.triageNote,
760
+ placeholder: "Optional note…",
761
+ rows: 3,
762
+ class: "text-sm w-full",
763
+ "onUpdate:modelValue": ($event) => emit("update:triageNote", $event)
764
+ }, null, 8, ["model-value", "onUpdate:modelValue"]),
765
+ createVNode("div", { class: "flex justify-end" }, [
766
+ __props.triageChanged ? (openBlock(), createBlock(_component_UButton, {
767
+ key: 0,
768
+ size: "xs",
769
+ icon: "i-lucide-check",
770
+ loading: __props.triageSaving,
771
+ onClick: ($event) => emit("save-triage")
772
+ }, {
773
+ default: withCtx(() => [
774
+ createTextVNode(" Save ")
775
+ ]),
776
+ _: 1
777
+ }, 8, ["loading", "onClick"])) : createCommentVNode("", true)
778
+ ])
779
+ ])
780
+ ])
781
+ ];
782
+ }
783
+ }),
784
+ _: 1
785
+ }, _parent2, _scopeId));
786
+ _push2(`</div>`);
787
+ } else {
788
+ return [
789
+ createVNode("div", { class: "grid grid-cols-1 lg:grid-cols-12 gap-4" }, [
790
+ createVNode("div", { class: "lg:col-span-9" }, [
791
+ createVNode(_component_SectionCard, {
792
+ title: __props.cluster.signature
793
+ }, {
794
+ default: withCtx(() => [
795
+ createVNode("div", { class: "space-y-3" }, [
796
+ __props.cluster.title ? (openBlock(), createBlock("p", {
797
+ key: 0,
798
+ class: "text-sm font-medium break-words text-gray-500 dark:text-gray-400"
799
+ }, toDisplayString(__props.cluster.title), 1)) : createCommentVNode("", true),
800
+ createVNode("div", { class: "flex flex-wrap gap-2" }, [
801
+ __props.cluster.errorType ? (openBlock(), createBlock(_component_UBadge, {
802
+ key: 0,
803
+ color: ("clusterErrorTypeColor" in _ctx ? _ctx.clusterErrorTypeColor : unref(clusterErrorTypeColor))(__props.cluster.errorType),
804
+ variant: "subtle"
805
+ }, {
806
+ default: withCtx(() => [
807
+ createTextVNode(toDisplayString(__props.cluster.errorType), 1)
808
+ ]),
809
+ _: 1
810
+ }, 8, ["color"])) : createCommentVNode("", true),
811
+ createVNode(_component_UBadge, {
812
+ color: "neutral",
813
+ variant: "subtle"
814
+ }, {
815
+ default: withCtx(() => [
816
+ createTextVNode(toDisplayString(__props.cluster.occurrences) + " occurrence" + toDisplayString(__props.cluster.occurrences === 1 ? "" : "s"), 1)
817
+ ]),
818
+ _: 1
819
+ }),
820
+ createVNode(_component_UBadge, {
821
+ color: "neutral",
822
+ variant: "subtle"
823
+ }, {
824
+ default: withCtx(() => [
825
+ createTextVNode(toDisplayString(__props.cluster.affectedTests) + " " + toDisplayString(__props.cluster.affectedTests === 1 ? "test" : "tests") + " affected ", 1)
826
+ ]),
827
+ _: 1
828
+ }),
829
+ __props.cluster.diagnosis?.status === "completed" && __props.cluster.diagnosis?.category ? (openBlock(), createBlock(_component_UBadge, {
830
+ key: 1,
831
+ color: "neutral",
832
+ variant: "outline",
833
+ class: "gap-1"
834
+ }, {
835
+ default: withCtx(() => [
836
+ createVNode(_component_UIcon, {
837
+ name: "i-lucide-sparkles",
838
+ class: "size-3"
839
+ }),
840
+ createTextVNode(" " + toDisplayString(__props.cluster.diagnosis.category), 1)
841
+ ]),
842
+ _: 1
843
+ })) : createCommentVNode("", true),
844
+ createVNode(_component_HelpHint, { topic: "cluster.concept" })
845
+ ]),
846
+ createVNode("p", { class: "text-sm text-gray-500" }, [
847
+ createTextVNode(" First seen in "),
848
+ createVNode(_component_NuxtLink, {
849
+ to: `/test-runs/${__props.cluster.firstSeenRunId}`,
850
+ class: "text-primary hover:underline"
851
+ }, {
852
+ default: withCtx(() => [
853
+ createTextVNode(" run #" + toDisplayString(__props.cluster.firstSeenRunId), 1)
854
+ ]),
855
+ _: 1
856
+ }, 8, ["to"]),
857
+ __props.cluster.firstSeenAt ? (openBlock(), createBlock(Fragment, { key: 0 }, [
858
+ createTextVNode(" (" + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.firstSeenAt)) + ") ", 1)
859
+ ], 64)) : createCommentVNode("", true),
860
+ createTextVNode(" · Last seen in "),
861
+ createVNode(_component_NuxtLink, {
862
+ to: `/test-runs/${__props.cluster.lastSeenRunId}`,
863
+ class: "text-primary hover:underline"
864
+ }, {
865
+ default: withCtx(() => [
866
+ createTextVNode(" run #" + toDisplayString(__props.cluster.lastSeenRunId), 1)
867
+ ]),
868
+ _: 1
869
+ }, 8, ["to"]),
870
+ __props.cluster.lastSeenAt ? (openBlock(), createBlock(Fragment, { key: 1 }, [
871
+ createTextVNode(" (" + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.lastSeenAt)) + ") ", 1)
872
+ ], 64)) : createCommentVNode("", true),
873
+ __props.cluster.lastSeenRunStatus ? (openBlock(), createBlock(_component_RunStatusBadge, {
874
+ key: 2,
875
+ status: __props.cluster.lastSeenRunStatus,
876
+ size: "sm",
877
+ class: "ml-1 align-middle"
878
+ }, null, 8, ["status"])) : createCommentVNode("", true)
879
+ ]),
880
+ unref(resolution) ? (openBlock(), createBlock("div", {
881
+ key: 1,
882
+ class: "rounded-md border border-default p-3 space-y-1.5"
883
+ }, [
884
+ createVNode("div", { class: "flex items-center gap-2 flex-wrap" }, [
885
+ createVNode(_component_UBadge, {
886
+ color: unref(resolution).color,
887
+ variant: "subtle",
888
+ class: "gap-1"
889
+ }, {
890
+ default: withCtx(() => [
891
+ createVNode(_component_UIcon, {
892
+ name: unref(resolution).icon,
893
+ class: "size-3"
894
+ }, null, 8, ["name"]),
895
+ createTextVNode(" " + toDisplayString(unref(resolution).label), 1)
896
+ ]),
897
+ _: 1
898
+ }, 8, ["color"]),
899
+ __props.cluster.timeToResolutionMs != null ? (openBlock(), createBlock("span", {
900
+ key: 0,
901
+ class: "text-xs text-gray-500"
902
+ }, " open for " + toDisplayString(("formatLongDuration" in _ctx ? _ctx.formatLongDuration : unref(formatLongDuration))(__props.cluster.timeToResolutionMs)), 1)) : createCommentVNode("", true),
903
+ createVNode(_component_HelpHint, { topic: "cluster.resolution" })
904
+ ]),
905
+ createVNode("p", { class: "text-xs text-gray-500" }, toDisplayString(unref(resolution).hint), 1),
906
+ createVNode("p", { class: "text-sm text-gray-500" }, [
907
+ __props.cluster.fixLandedRunId ? (openBlock(), createBlock(Fragment, { key: 0 }, [
908
+ createTextVNode(" Fix landed in "),
909
+ createVNode(_component_NuxtLink, {
910
+ to: `/test-runs/${__props.cluster.fixLandedRunId}`,
911
+ class: "text-primary hover:underline"
912
+ }, {
913
+ default: withCtx(() => [
914
+ createTextVNode(" run #" + toDisplayString(__props.cluster.fixLandedRunId), 1)
915
+ ]),
916
+ _: 1
917
+ }, 8, ["to"])
918
+ ], 64)) : createCommentVNode("", true),
919
+ __props.cluster.fixLandedAt ? (openBlock(), createBlock(Fragment, { key: 1 }, [
920
+ createTextVNode(" (" + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.cluster.fixLandedAt)) + ")", 1)
921
+ ], 64)) : createCommentVNode("", true),
922
+ __props.cluster.fixCommit ? (openBlock(), createBlock(Fragment, { key: 2 }, [
923
+ createTextVNode(" · commit "),
924
+ createVNode("code", { class: "font-mono text-xs" }, toDisplayString(__props.cluster.fixCommit.slice(0, 8)), 1)
925
+ ], 64)) : createCommentVNode("", true)
926
+ ])
927
+ ])) : createCommentVNode("", true)
928
+ ])
929
+ ]),
930
+ _: 1
931
+ }, 8, ["title"])
932
+ ]),
933
+ createVNode(_component_SectionCard, {
934
+ class: "lg:col-span-3",
935
+ icon: "i-lucide-triangle-alert",
936
+ "icon-class": "text-amber-500",
937
+ title: "Triage",
938
+ help: "cluster.triage"
939
+ }, {
940
+ default: withCtx(() => [
941
+ createVNode("div", { class: "flex items-start gap-3" }, [
942
+ createVNode("div", { class: "flex flex-col gap-1 shrink-0" }, [
943
+ (openBlock(), createBlock(Fragment, null, renderList(triageStatusOptions, (opt) => {
944
+ return createVNode(_component_UButton, {
945
+ key: opt.value,
946
+ size: "xs",
947
+ class: "justify-start",
948
+ color: __props.triageStatus === opt.value ? opt.color : "neutral",
949
+ variant: __props.triageStatus === opt.value ? "solid" : "outline",
950
+ onClick: ($event) => emit("update:triageStatus", opt.value)
951
+ }, {
952
+ default: withCtx(() => [
953
+ createTextVNode(toDisplayString(opt.label), 1)
954
+ ]),
955
+ _: 2
956
+ }, 1032, ["color", "variant", "onClick"]);
957
+ }), 64))
958
+ ]),
959
+ createVNode("div", { class: "flex-1 min-w-0 space-y-1.5" }, [
960
+ createVNode(_component_UTextarea, {
961
+ "model-value": __props.triageNote,
962
+ placeholder: "Optional note…",
963
+ rows: 3,
964
+ class: "text-sm w-full",
965
+ "onUpdate:modelValue": ($event) => emit("update:triageNote", $event)
966
+ }, null, 8, ["model-value", "onUpdate:modelValue"]),
967
+ createVNode("div", { class: "flex justify-end" }, [
968
+ __props.triageChanged ? (openBlock(), createBlock(_component_UButton, {
969
+ key: 0,
970
+ size: "xs",
971
+ icon: "i-lucide-check",
972
+ loading: __props.triageSaving,
973
+ onClick: ($event) => emit("save-triage")
974
+ }, {
975
+ default: withCtx(() => [
976
+ createTextVNode(" Save ")
977
+ ]),
978
+ _: 1
979
+ }, 8, ["loading", "onClick"])) : createCommentVNode("", true)
980
+ ])
981
+ ])
982
+ ])
983
+ ]),
984
+ _: 1
985
+ })
986
+ ])
987
+ ];
988
+ }
989
+ }),
990
+ _: 1
991
+ }, _parent));
992
+ };
993
+ }
994
+ });
995
+ const _sfc_setup$9 = _sfc_main$9.setup;
996
+ _sfc_main$9.setup = (props, ctx) => {
997
+ const ssrContext = useSSRContext();
998
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/cluster/ClusterSummary.vue");
999
+ return _sfc_setup$9 ? _sfc_setup$9(props, ctx) : void 0;
1000
+ };
1001
+ const __nuxt_component_8$2 = Object.assign(_sfc_main$9, { __name: "ClusterSummary" });
1002
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1003
+ __name: "TestEvidenceSignals",
1004
+ __ssrInlineRender: true,
1005
+ props: /* @__PURE__ */ mergeModels({
1006
+ consoleLogs: {},
1007
+ networkRequests: {}
1008
+ }, {
1009
+ "open": { type: Boolean, ...{ default: false } },
1010
+ "openModifiers": {}
1011
+ }),
1012
+ emits: ["update:open"],
1013
+ setup(__props) {
1014
+ const props = __props;
1015
+ const consoleErrors = computed(() => {
1016
+ if (!Array.isArray(props.consoleLogs)) return [];
1017
+ return props.consoleLogs.filter((l) => l.type === "error" || l.type === "warning");
1018
+ });
1019
+ const failedRequests = computed(() => {
1020
+ if (!Array.isArray(props.networkRequests)) return [];
1021
+ return props.networkRequests.filter((r) => r.status && r.status >= 400);
1022
+ });
1023
+ const hasSignals = computed(() => consoleErrors.value.length > 0 || failedRequests.value.length > 0);
1024
+ const label = computed(() => {
1025
+ const parts = [];
1026
+ if (consoleErrors.value.length) parts.push(`${consoleErrors.value.length} console`);
1027
+ if (failedRequests.value.length) parts.push(`${failedRequests.value.length} network`);
1028
+ return parts.join(", ");
1029
+ });
1030
+ const open = useModel(__props, "open");
1031
+ return (_ctx, _push, _parent, _attrs) => {
1032
+ const _component_TestEvidenceSection = __nuxt_component_4$1;
1033
+ const _component_UIcon = _sfc_main$p;
1034
+ const _component_UBadge = _sfc_main$7$1;
1035
+ if (unref(hasSignals)) {
1036
+ _push(ssrRenderComponent(_component_TestEvidenceSection, mergeProps({
1037
+ icon: "i-lucide-triangle-alert",
1038
+ label: `Signals (${unref(label)})`,
1039
+ open: open.value,
1040
+ "onUpdate:open": ($event) => open.value = $event
1041
+ }, _attrs), {
1042
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
1043
+ if (_push2) {
1044
+ _push2(`<div class="divide-y divide-default"${_scopeId}>`);
1045
+ if (unref(consoleErrors).length > 0) {
1046
+ _push2(`<!--[--><div class="px-3 py-1 bg-gray-50 dark:bg-gray-800/40"${_scopeId}><p class="text-[10px] font-semibold text-gray-400 uppercase tracking-wide"${_scopeId}>Console</p></div><!--[-->`);
1047
+ ssrRenderList(unref(consoleErrors), (log, idx) => {
1048
+ _push2(`<div class="px-3 py-1.5 flex items-start gap-2"${_scopeId}>`);
1049
+ _push2(ssrRenderComponent(_component_UIcon, {
1050
+ name: log.type === "error" ? "i-lucide-x-circle" : "i-lucide-alert-triangle",
1051
+ class: ["size-3.5 mt-0.5 shrink-0", log.type === "error" ? "text-red-500" : "text-yellow-500"]
1052
+ }, null, _parent2, _scopeId));
1053
+ _push2(`<p class="text-xs font-mono text-gray-700 dark:text-gray-300 break-all whitespace-pre-wrap"${_scopeId}>${ssrInterpolate(log.text)}</p></div>`);
1054
+ });
1055
+ _push2(`<!--]--><!--]-->`);
1056
+ } else {
1057
+ _push2(`<!---->`);
1058
+ }
1059
+ if (unref(failedRequests).length > 0) {
1060
+ _push2(`<!--[--><div class="px-3 py-1 bg-gray-50 dark:bg-gray-800/40"${_scopeId}><p class="text-[10px] font-semibold text-gray-400 uppercase tracking-wide"${_scopeId}>Network</p></div><!--[-->`);
1061
+ ssrRenderList(unref(failedRequests), (req, idx) => {
1062
+ _push2(`<div class="px-3 py-1.5 flex items-center gap-2"${_scopeId}>`);
1063
+ _push2(ssrRenderComponent(_component_UBadge, {
1064
+ color: req.status >= 500 ? "error" : "warning",
1065
+ variant: "subtle",
1066
+ size: "sm",
1067
+ class: "shrink-0 font-mono"
1068
+ }, {
1069
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
1070
+ if (_push3) {
1071
+ _push3(`${ssrInterpolate(req.status)}`);
1072
+ } else {
1073
+ return [
1074
+ createTextVNode(toDisplayString(req.status), 1)
1075
+ ];
1076
+ }
1077
+ }),
1078
+ _: 2
1079
+ }, _parent2, _scopeId));
1080
+ _push2(`<p class="text-xs font-mono text-gray-600 dark:text-gray-400 truncate"${_scopeId}>${ssrInterpolate(req.url)}</p></div>`);
1081
+ });
1082
+ _push2(`<!--]--><!--]-->`);
1083
+ } else {
1084
+ _push2(`<!---->`);
1085
+ }
1086
+ _push2(`</div>`);
1087
+ } else {
1088
+ return [
1089
+ createVNode("div", { class: "divide-y divide-default" }, [
1090
+ unref(consoleErrors).length > 0 ? (openBlock(), createBlock(Fragment, { key: 0 }, [
1091
+ createVNode("div", { class: "px-3 py-1 bg-gray-50 dark:bg-gray-800/40" }, [
1092
+ createVNode("p", { class: "text-[10px] font-semibold text-gray-400 uppercase tracking-wide" }, "Console")
1093
+ ]),
1094
+ (openBlock(true), createBlock(Fragment, null, renderList(unref(consoleErrors), (log, idx) => {
1095
+ return openBlock(), createBlock("div", {
1096
+ key: "log-" + idx,
1097
+ class: "px-3 py-1.5 flex items-start gap-2"
1098
+ }, [
1099
+ createVNode(_component_UIcon, {
1100
+ name: log.type === "error" ? "i-lucide-x-circle" : "i-lucide-alert-triangle",
1101
+ class: ["size-3.5 mt-0.5 shrink-0", log.type === "error" ? "text-red-500" : "text-yellow-500"]
1102
+ }, null, 8, ["name", "class"]),
1103
+ createVNode("p", { class: "text-xs font-mono text-gray-700 dark:text-gray-300 break-all whitespace-pre-wrap" }, toDisplayString(log.text), 1)
1104
+ ]);
1105
+ }), 128))
1106
+ ], 64)) : createCommentVNode("", true),
1107
+ unref(failedRequests).length > 0 ? (openBlock(), createBlock(Fragment, { key: 1 }, [
1108
+ createVNode("div", { class: "px-3 py-1 bg-gray-50 dark:bg-gray-800/40" }, [
1109
+ createVNode("p", { class: "text-[10px] font-semibold text-gray-400 uppercase tracking-wide" }, "Network")
1110
+ ]),
1111
+ (openBlock(true), createBlock(Fragment, null, renderList(unref(failedRequests), (req, idx) => {
1112
+ return openBlock(), createBlock("div", {
1113
+ key: "req-" + idx,
1114
+ class: "px-3 py-1.5 flex items-center gap-2"
1115
+ }, [
1116
+ createVNode(_component_UBadge, {
1117
+ color: req.status >= 500 ? "error" : "warning",
1118
+ variant: "subtle",
1119
+ size: "sm",
1120
+ class: "shrink-0 font-mono"
1121
+ }, {
1122
+ default: withCtx(() => [
1123
+ createTextVNode(toDisplayString(req.status), 1)
1124
+ ]),
1125
+ _: 2
1126
+ }, 1032, ["color"]),
1127
+ createVNode("p", { class: "text-xs font-mono text-gray-600 dark:text-gray-400 truncate" }, toDisplayString(req.url), 1)
1128
+ ]);
1129
+ }), 128))
1130
+ ], 64)) : createCommentVNode("", true)
1131
+ ])
1132
+ ];
1133
+ }
1134
+ }),
1135
+ _: 1
1136
+ }, _parent));
1137
+ } else {
1138
+ _push(`<!---->`);
1139
+ }
1140
+ };
1141
+ }
1142
+ });
1143
+ const _sfc_setup$8 = _sfc_main$8.setup;
1144
+ _sfc_main$8.setup = (props, ctx) => {
1145
+ const ssrContext = useSSRContext();
1146
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestEvidenceSignals.vue");
1147
+ return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0;
1148
+ };
1149
+ const __nuxt_component_8$1 = Object.assign(_sfc_main$8, { __name: "TestEvidenceSignals" });
1150
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1151
+ __name: "ClusterTestEvidence",
1152
+ __ssrInlineRender: true,
1153
+ props: {
1154
+ affectedTestCases: {},
1155
+ projectKey: {},
1156
+ projectName: {}
1157
+ },
1158
+ setup(__props) {
1159
+ const props = __props;
1160
+ const selectedId = ref(props.affectedTestCases[0]?.recentTestRunsCaseId ?? null);
1161
+ const selectedCase = computed(() => props.affectedTestCases.find((c) => c.recentTestRunsCaseId === selectedId.value));
1162
+ const caseDetail = ref(null);
1163
+ const traces = ref([]);
1164
+ const loading = ref(false);
1165
+ const tracesLoading = ref(false);
1166
+ const showSteps = ref(false);
1167
+ const showSignals = ref(false);
1168
+ const showSource = ref(false);
1169
+ const showAriaSnapshot = ref(false);
1170
+ const showPageState = ref(false);
1171
+ const caseCache = /* @__PURE__ */ new Map();
1172
+ function resetDisclosures() {
1173
+ showSteps.value = false;
1174
+ showSignals.value = false;
1175
+ showSource.value = false;
1176
+ showAriaSnapshot.value = false;
1177
+ showPageState.value = false;
1178
+ }
1179
+ async function loadCase(id) {
1180
+ resetDisclosures();
1181
+ const cached = caseCache.get(id);
1182
+ if (cached) {
1183
+ caseDetail.value = cached.detail;
1184
+ traces.value = cached.traces;
1185
+ loading.value = false;
1186
+ tracesLoading.value = false;
1187
+ return;
1188
+ }
1189
+ loading.value = true;
1190
+ tracesLoading.value = true;
1191
+ caseDetail.value = null;
1192
+ traces.value = [];
1193
+ const [detail, traceList] = await Promise.allSettled([
1194
+ $fetch(`/api/test-run-cases/${id}`),
1195
+ $fetch(`/api/test-run-cases/${id}/traces`)
1196
+ ]);
1197
+ if (detail.status === "fulfilled") caseDetail.value = detail.value;
1198
+ loading.value = false;
1199
+ if (traceList.status === "fulfilled") traces.value = traceList.value.items;
1200
+ tracesLoading.value = false;
1201
+ if (detail.status === "fulfilled" && traceList.status === "fulfilled") {
1202
+ caseCache.set(id, { detail: detail.value, traces: traceList.value.items });
1203
+ }
1204
+ }
1205
+ const traceStackCache = /* @__PURE__ */ new Map();
1206
+ const traceStack = ref(null);
1207
+ const stackView = ref("trace");
1208
+ const traceStackFrames = computed(() => traceStack.value?.frames ?? []);
1209
+ async function loadTraceStack(id) {
1210
+ traceStack.value = traceStackCache.get(id) ?? null;
1211
+ if (traceStackCache.has(id) || traces.value.length === 0) return;
1212
+ const runId = caseDetail.value?.testRun?.id;
1213
+ if (!runId) return;
1214
+ try {
1215
+ const res = await $fetch(`/api/test-run-cases/${id}/trace-stacks`);
1216
+ const value = res.status === "ok" && res.frames?.length ? res : null;
1217
+ traceStackCache.set(id, value);
1218
+ if (selectedId.value === id) traceStack.value = value;
1219
+ } catch {
1220
+ traceStackCache.set(id, null);
1221
+ }
1222
+ }
1223
+ watch([caseDetail, traces], () => {
1224
+ stackView.value = "trace";
1225
+ if (selectedId.value) loadTraceStack(selectedId.value);
1226
+ });
1227
+ watch(selectedId, (id) => {
1228
+ if (id) loadCase(id);
1229
+ });
1230
+ const failingSteps = computed(() => {
1231
+ const steps = caseDetail.value?.steps;
1232
+ if (!Array.isArray(steps)) return [];
1233
+ return steps.filter((s) => s.error);
1234
+ });
1235
+ const testSourceLines = computed(
1236
+ () => caseDetail.value?.testSource ? caseDetail.value.testSource.split("\n").length : 0
1237
+ );
1238
+ const evidenceChips = computed(() => {
1239
+ const d = caseDetail.value;
1240
+ if (!d) return [];
1241
+ const screenshots = d.attachments.filter((a) => isImageFile(a.path, a.contentType)).length;
1242
+ const videos = d.attachments.filter((a) => isVideoFile(a.path, a.contentType)).length;
1243
+ const consoleCount = Array.isArray(d.consoleLogs) ? d.consoleLogs.filter((l) => l.type === "error" || l.type === "warning").length : 0;
1244
+ const failedRequests = Array.isArray(d.networkRequests) ? d.networkRequests.filter((r) => (r.status ?? 0) >= 400).length : 0;
1245
+ return [
1246
+ { icon: "i-lucide-image", label: "screenshots", count: screenshots },
1247
+ { icon: "i-lucide-video", label: "videos", count: videos },
1248
+ { icon: "i-lucide-bug-play", label: "traces", count: traces.value.length },
1249
+ { icon: "i-lucide-list-checks", label: "failing steps", count: failingSteps.value.length },
1250
+ { icon: "i-lucide-triangle-alert", label: "signals", count: consoleCount + failedRequests },
1251
+ { icon: "i-lucide-code", label: "source", count: d.testSourceFrames?.length || (d.testSource ? 1 : 0) },
1252
+ { icon: "i-lucide-accessibility", label: "ARIA", count: d.ariaSnapshot ? 1 : 0 }
1253
+ ].filter((c) => c.count > 0);
1254
+ });
1255
+ return (_ctx, _push, _parent, _attrs) => {
1256
+ const _component_OpenInIdeLink = __nuxt_component_1$1;
1257
+ const _component_UButton = _sfc_main$k;
1258
+ const _component_UIcon = _sfc_main$p;
1259
+ const _component_UBadge = _sfc_main$7$1;
1260
+ const _component_TestEvidenceScreenshots = __nuxt_component_1$1$1;
1261
+ const _component_TestEvidenceVideos = __nuxt_component_2$1;
1262
+ const _component_TestEvidenceTraces = __nuxt_component_3$1;
1263
+ const _component_TestEvidenceSection = __nuxt_component_4$1;
1264
+ const _component_TestEvidenceSignals = __nuxt_component_8$1;
1265
+ const _component_UTabs = _sfc_main$d;
1266
+ const _component_TraceCallStack = __nuxt_component_3$2;
1267
+ const _component_TestSourceStack = __nuxt_component_4;
1268
+ const _component_MarkdownPreview = __nuxt_component_28;
1269
+ const _component_PageStateCard = __nuxt_component_26;
1270
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "space-y-3" }, _attrs))}>`);
1271
+ if (__props.affectedTestCases.length > 1) {
1272
+ _push(`<div class="flex gap-0 border-b border-default overflow-x-auto"><!--[-->`);
1273
+ ssrRenderList(__props.affectedTestCases, (tc) => {
1274
+ _push(`<button class="${ssrRenderClass([
1275
+ unref(selectedId) === tc.recentTestRunsCaseId ? "border-primary text-primary font-medium" : "border-transparent text-gray-500 hover:text-gray-700 dark:hover:text-gray-300",
1276
+ "px-3 py-1.5 text-xs whitespace-nowrap border-b-2 -mb-px transition-colors"
1277
+ ])}"${ssrRenderAttr("title", tc.title)}>${ssrInterpolate(tc.title.split(" › ").pop())} `);
1278
+ if (tc.runCount > 1) {
1279
+ _push(`<span class="opacity-60 ml-1">${ssrInterpolate(tc.runCount)}×</span>`);
1280
+ } else {
1281
+ _push(`<!---->`);
1282
+ }
1283
+ _push(`</button>`);
1284
+ });
1285
+ _push(`<!--]--></div>`);
1286
+ } else {
1287
+ _push(`<!---->`);
1288
+ }
1289
+ if (unref(selectedCase)) {
1290
+ _push(`<div class="flex items-start justify-between gap-2 flex-wrap"><div class="min-w-0"><p class="text-sm font-medium break-words">${ssrInterpolate(unref(selectedCase).title)}</p>`);
1291
+ _push(ssrRenderComponent(_component_OpenInIdeLink, {
1292
+ "file-path": unref(selectedCase).filePath,
1293
+ "project-key": __props.projectKey,
1294
+ "project-name": __props.projectName,
1295
+ class: "text-xs text-gray-400"
1296
+ }, null, _parent));
1297
+ _push(`</div>`);
1298
+ _push(ssrRenderComponent(_component_UButton, {
1299
+ to: `/test-run-cases/${unref(selectedCase).recentTestRunsCaseId}`,
1300
+ size: "xs",
1301
+ variant: "outline",
1302
+ color: "neutral",
1303
+ "trailing-icon": "i-lucide-arrow-right"
1304
+ }, {
1305
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
1306
+ if (_push2) {
1307
+ _push2(` Open execution `);
1308
+ } else {
1309
+ return [
1310
+ createTextVNode(" Open execution ")
1311
+ ];
1312
+ }
1313
+ }),
1314
+ _: 1
1315
+ }, _parent));
1316
+ _push(`</div>`);
1317
+ } else {
1318
+ _push(`<!---->`);
1319
+ }
1320
+ if (unref(loading)) {
1321
+ _push(`<div class="flex items-center justify-center py-10">`);
1322
+ _push(ssrRenderComponent(_component_UIcon, {
1323
+ name: "i-lucide-loader-circle",
1324
+ class: "size-5 animate-spin text-gray-400"
1325
+ }, null, _parent));
1326
+ _push(`</div>`);
1327
+ } else if (unref(caseDetail)) {
1328
+ _push(`<!--[-->`);
1329
+ if (unref(evidenceChips).length) {
1330
+ _push(`<div class="flex flex-wrap gap-1.5"><!--[-->`);
1331
+ ssrRenderList(unref(evidenceChips), (chip) => {
1332
+ _push(ssrRenderComponent(_component_UBadge, {
1333
+ key: chip.label,
1334
+ color: "neutral",
1335
+ variant: "subtle",
1336
+ size: "sm",
1337
+ class: "gap-1"
1338
+ }, {
1339
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
1340
+ if (_push2) {
1341
+ _push2(ssrRenderComponent(_component_UIcon, {
1342
+ name: chip.icon,
1343
+ class: "size-3"
1344
+ }, null, _parent2, _scopeId));
1345
+ _push2(` ${ssrInterpolate(chip.count)} ${ssrInterpolate(chip.label)}`);
1346
+ } else {
1347
+ return [
1348
+ createVNode(_component_UIcon, {
1349
+ name: chip.icon,
1350
+ class: "size-3"
1351
+ }, null, 8, ["name"]),
1352
+ createTextVNode(" " + toDisplayString(chip.count) + " " + toDisplayString(chip.label), 1)
1353
+ ];
1354
+ }
1355
+ }),
1356
+ _: 2
1357
+ }, _parent));
1358
+ });
1359
+ _push(`<!--]--></div>`);
1360
+ } else {
1361
+ _push(`<!---->`);
1362
+ }
1363
+ _push(ssrRenderComponent(_component_TestEvidenceScreenshots, {
1364
+ attachments: unref(caseDetail).attachments
1365
+ }, null, _parent));
1366
+ _push(ssrRenderComponent(_component_TestEvidenceVideos, {
1367
+ attachments: unref(caseDetail).attachments
1368
+ }, null, _parent));
1369
+ _push(ssrRenderComponent(_component_TestEvidenceTraces, {
1370
+ traces: unref(traces),
1371
+ loading: unref(tracesLoading)
1372
+ }, null, _parent));
1373
+ if (unref(failingSteps).length > 0) {
1374
+ _push(ssrRenderComponent(_component_TestEvidenceSection, {
1375
+ icon: "i-lucide-list-checks",
1376
+ label: "Failing steps",
1377
+ count: unref(failingSteps).length,
1378
+ open: unref(showSteps),
1379
+ "onUpdate:open": ($event) => isRef(showSteps) ? showSteps.value = $event : null
1380
+ }, {
1381
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
1382
+ if (_push2) {
1383
+ _push2(`<div class="divide-y divide-default"${_scopeId}><!--[-->`);
1384
+ ssrRenderList(unref(failingSteps), (step, idx) => {
1385
+ _push2(`<div class="px-3 py-2 space-y-0.5"${_scopeId}><p class="text-xs font-medium text-gray-700 dark:text-gray-300"${_scopeId}>${ssrInterpolate(idx + 1)}. ${ssrInterpolate(step.title)}</p>`);
1386
+ if (step.error?.message) {
1387
+ _push2(`<p class="text-xs font-mono text-red-500 whitespace-pre-wrap break-all"${_scopeId}>${ssrInterpolate(step.error.message)}</p>`);
1388
+ } else {
1389
+ _push2(`<!---->`);
1390
+ }
1391
+ _push2(`</div>`);
1392
+ });
1393
+ _push2(`<!--]--></div>`);
1394
+ } else {
1395
+ return [
1396
+ createVNode("div", { class: "divide-y divide-default" }, [
1397
+ (openBlock(true), createBlock(Fragment, null, renderList(unref(failingSteps), (step, idx) => {
1398
+ return openBlock(), createBlock("div", {
1399
+ key: idx,
1400
+ class: "px-3 py-2 space-y-0.5"
1401
+ }, [
1402
+ createVNode("p", { class: "text-xs font-medium text-gray-700 dark:text-gray-300" }, toDisplayString(idx + 1) + ". " + toDisplayString(step.title), 1),
1403
+ step.error?.message ? (openBlock(), createBlock("p", {
1404
+ key: 0,
1405
+ class: "text-xs font-mono text-red-500 whitespace-pre-wrap break-all"
1406
+ }, toDisplayString(step.error.message), 1)) : createCommentVNode("", true)
1407
+ ]);
1408
+ }), 128))
1409
+ ])
1410
+ ];
1411
+ }
1412
+ }),
1413
+ _: 1
1414
+ }, _parent));
1415
+ } else {
1416
+ _push(`<!---->`);
1417
+ }
1418
+ _push(ssrRenderComponent(_component_TestEvidenceSignals, {
1419
+ "console-logs": unref(caseDetail).consoleLogs,
1420
+ "network-requests": unref(caseDetail).networkRequests,
1421
+ open: unref(showSignals),
1422
+ "onUpdate:open": ($event) => isRef(showSignals) ? showSignals.value = $event : null
1423
+ }, null, _parent));
1424
+ if (unref(caseDetail).testSourceFrames?.length || unref(caseDetail).testSource || unref(traceStackFrames).length) {
1425
+ _push(ssrRenderComponent(_component_TestEvidenceSection, {
1426
+ icon: "i-lucide-code",
1427
+ label: "Test source",
1428
+ count: unref(traceStackFrames).length || unref(caseDetail).testSourceFrames?.length || unref(testSourceLines),
1429
+ open: unref(showSource),
1430
+ "onUpdate:open": ($event) => isRef(showSource) ? showSource.value = $event : null
1431
+ }, {
1432
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
1433
+ if (_push2) {
1434
+ if (unref(traceStackFrames).length && (unref(caseDetail).testSourceFrames?.length || unref(caseDetail).testSource)) {
1435
+ _push2(ssrRenderComponent(_component_UTabs, {
1436
+ modelValue: unref(stackView),
1437
+ "onUpdate:modelValue": ($event) => isRef(stackView) ? stackView.value = $event : null,
1438
+ items: [
1439
+ { label: `Full stack (${unref(traceStackFrames).length})`, value: "trace" },
1440
+ { label: `Captured (${unref(caseDetail).testSourceFrames?.length || 1})`, value: "captured" }
1441
+ ],
1442
+ size: "xs",
1443
+ variant: "link",
1444
+ class: "mb-1.5",
1445
+ ui: { list: "gap-2", trigger: "px-1.5" }
1446
+ }, null, _parent2, _scopeId));
1447
+ } else {
1448
+ _push2(`<!---->`);
1449
+ }
1450
+ _push2(`<div class="overflow-x-auto max-h-72"${_scopeId}>`);
1451
+ if (unref(stackView) === "trace" && unref(traceStackFrames).length) {
1452
+ _push2(ssrRenderComponent(_component_TraceCallStack, {
1453
+ frames: unref(traceStackFrames),
1454
+ "project-key": __props.projectKey,
1455
+ "project-name": __props.projectName
1456
+ }, null, _parent2, _scopeId));
1457
+ } else if (unref(caseDetail).testSourceFrames?.length) {
1458
+ _push2(ssrRenderComponent(_component_TestSourceStack, {
1459
+ frames: unref(caseDetail).testSourceFrames,
1460
+ "project-key": __props.projectKey,
1461
+ "project-name": __props.projectName
1462
+ }, null, _parent2, _scopeId));
1463
+ } else if (unref(caseDetail).testSource) {
1464
+ _push2(ssrRenderComponent(_component_MarkdownPreview, {
1465
+ text: "```typescript\n" + unref(caseDetail).testSource + "\n```"
1466
+ }, null, _parent2, _scopeId));
1467
+ } else {
1468
+ _push2(`<!---->`);
1469
+ }
1470
+ _push2(`</div>`);
1471
+ } else {
1472
+ return [
1473
+ unref(traceStackFrames).length && (unref(caseDetail).testSourceFrames?.length || unref(caseDetail).testSource) ? (openBlock(), createBlock(_component_UTabs, {
1474
+ key: 0,
1475
+ modelValue: unref(stackView),
1476
+ "onUpdate:modelValue": ($event) => isRef(stackView) ? stackView.value = $event : null,
1477
+ items: [
1478
+ { label: `Full stack (${unref(traceStackFrames).length})`, value: "trace" },
1479
+ { label: `Captured (${unref(caseDetail).testSourceFrames?.length || 1})`, value: "captured" }
1480
+ ],
1481
+ size: "xs",
1482
+ variant: "link",
1483
+ class: "mb-1.5",
1484
+ ui: { list: "gap-2", trigger: "px-1.5" }
1485
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "items"])) : createCommentVNode("", true),
1486
+ createVNode("div", { class: "overflow-x-auto max-h-72" }, [
1487
+ unref(stackView) === "trace" && unref(traceStackFrames).length ? (openBlock(), createBlock(_component_TraceCallStack, {
1488
+ key: 0,
1489
+ frames: unref(traceStackFrames),
1490
+ "project-key": __props.projectKey,
1491
+ "project-name": __props.projectName
1492
+ }, null, 8, ["frames", "project-key", "project-name"])) : unref(caseDetail).testSourceFrames?.length ? (openBlock(), createBlock(_component_TestSourceStack, {
1493
+ key: 1,
1494
+ frames: unref(caseDetail).testSourceFrames,
1495
+ "project-key": __props.projectKey,
1496
+ "project-name": __props.projectName
1497
+ }, null, 8, ["frames", "project-key", "project-name"])) : unref(caseDetail).testSource ? (openBlock(), createBlock(_component_MarkdownPreview, {
1498
+ key: 2,
1499
+ text: "```typescript\n" + unref(caseDetail).testSource + "\n```"
1500
+ }, null, 8, ["text"])) : createCommentVNode("", true)
1501
+ ])
1502
+ ];
1503
+ }
1504
+ }),
1505
+ _: 1
1506
+ }, _parent));
1507
+ } else {
1508
+ _push(`<!---->`);
1509
+ }
1510
+ if (unref(caseDetail).ariaSnapshot) {
1511
+ _push(ssrRenderComponent(_component_TestEvidenceSection, {
1512
+ icon: "i-lucide-accessibility",
1513
+ label: "ARIA snapshot",
1514
+ open: unref(showAriaSnapshot),
1515
+ "onUpdate:open": ($event) => isRef(showAriaSnapshot) ? showAriaSnapshot.value = $event : null
1516
+ }, {
1517
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
1518
+ if (_push2) {
1519
+ _push2(`<div class="max-h-64 overflow-auto"${_scopeId}>`);
1520
+ _push2(ssrRenderComponent(_component_MarkdownPreview, {
1521
+ text: "```yaml\n" + unref(caseDetail).ariaSnapshot + "\n```"
1522
+ }, null, _parent2, _scopeId));
1523
+ _push2(`</div>`);
1524
+ } else {
1525
+ return [
1526
+ createVNode("div", { class: "max-h-64 overflow-auto" }, [
1527
+ createVNode(_component_MarkdownPreview, {
1528
+ text: "```yaml\n" + unref(caseDetail).ariaSnapshot + "\n```"
1529
+ }, null, 8, ["text"])
1530
+ ])
1531
+ ];
1532
+ }
1533
+ }),
1534
+ _: 1
1535
+ }, _parent));
1536
+ } else {
1537
+ _push(`<!---->`);
1538
+ }
1539
+ if (unref(caseDetail).pageState) {
1540
+ _push(ssrRenderComponent(_component_TestEvidenceSection, {
1541
+ icon: "i-lucide-database",
1542
+ label: "App state",
1543
+ open: unref(showPageState),
1544
+ "onUpdate:open": ($event) => isRef(showPageState) ? showPageState.value = $event : null
1545
+ }, {
1546
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
1547
+ if (_push2) {
1548
+ _push2(ssrRenderComponent(_component_PageStateCard, {
1549
+ "page-state": unref(caseDetail).pageState,
1550
+ plain: ""
1551
+ }, null, _parent2, _scopeId));
1552
+ } else {
1553
+ return [
1554
+ createVNode(_component_PageStateCard, {
1555
+ "page-state": unref(caseDetail).pageState,
1556
+ plain: ""
1557
+ }, null, 8, ["page-state"])
1558
+ ];
1559
+ }
1560
+ }),
1561
+ _: 1
1562
+ }, _parent));
1563
+ } else {
1564
+ _push(`<!---->`);
1565
+ }
1566
+ _push(`<!--]-->`);
1567
+ } else {
1568
+ _push(`<!---->`);
1569
+ }
1570
+ _push(`</div>`);
1571
+ };
1572
+ }
1573
+ });
1574
+ const _sfc_setup$7 = _sfc_main$7.setup;
1575
+ _sfc_main$7.setup = (props, ctx) => {
1576
+ const ssrContext = useSSRContext();
1577
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/cluster/ClusterTestEvidence.vue");
1578
+ return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0;
1579
+ };
1580
+ const __nuxt_component_17 = Object.assign(_sfc_main$7, { __name: "ClusterTestEvidence" });
1581
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1582
+ __name: "CommitPicker",
1583
+ __ssrInlineRender: true,
1584
+ props: {
1585
+ modelValue: {},
1586
+ clusterId: {}
1587
+ },
1588
+ emits: ["update:modelValue"],
1589
+ setup(__props, { emit: __emit }) {
1590
+ const props = __props;
1591
+ const emit = __emit;
1592
+ const open = ref(false);
1593
+ const search = ref("");
1594
+ const commits = ref([]);
1595
+ const apiError = ref(null);
1596
+ const aggregateStats = ref(null);
1597
+ const loading = ref(false);
1598
+ const fetchError = ref(false);
1599
+ const searchInputRef = ref(null);
1600
+ const loadedForBaseline = ref(null);
1601
+ const branches = ref([]);
1602
+ const branchesLoading = ref(false);
1603
+ const selectedBranch = ref(void 0);
1604
+ const selected = computed(() => {
1605
+ if (!props.modelValue) return null;
1606
+ const sha = props.modelValue.trim();
1607
+ const found = commits.value.find((c) => c.sha === sha || c.sha.startsWith(sha));
1608
+ return found ?? { sha, shortSha: sha.slice(0, 7), message: "", author: "", date: "" };
1609
+ });
1610
+ async function loadBranches() {
1611
+ if (branches.value.length) return;
1612
+ branchesLoading.value = true;
1613
+ try {
1614
+ const res = await $fetch(`/api/failure-clusters/${props.clusterId}/branches`);
1615
+ branches.value = res.items;
1616
+ } catch {
1617
+ } finally {
1618
+ branchesLoading.value = false;
1619
+ }
1620
+ }
1621
+ async function loadCommits() {
1622
+ const baseline = props.modelValue || "";
1623
+ loading.value = true;
1624
+ fetchError.value = false;
1625
+ loadedForBaseline.value = null;
1626
+ try {
1627
+ const params = {};
1628
+ if (baseline) params.baseline = baseline;
1629
+ if (selectedBranch.value) params.branch = selectedBranch.value;
1630
+ const res = await $fetch(`/api/failure-clusters/${props.clusterId}/commits`, { query: params });
1631
+ commits.value = res.items;
1632
+ aggregateStats.value = res.aggregate;
1633
+ apiError.value = res.error ?? null;
1634
+ loadedForBaseline.value = baseline;
1635
+ } catch {
1636
+ fetchError.value = true;
1637
+ } finally {
1638
+ loading.value = false;
1639
+ }
1640
+ }
1641
+ watch(selectedBranch, () => {
1642
+ commits.value = [];
1643
+ loadedForBaseline.value = null;
1644
+ loadCommits();
1645
+ });
1646
+ watch(open, async (val) => {
1647
+ if (val) {
1648
+ await Promise.all([loadBranches(), loadCommits()]);
1649
+ await nextTick();
1650
+ const input = searchInputRef.value?.$el?.querySelector("input") ?? searchInputRef.value?.$el;
1651
+ if (input instanceof HTMLElement) input.focus();
1652
+ } else {
1653
+ search.value = "";
1654
+ }
1655
+ });
1656
+ const filtered = computed(() => filterCommits(commits.value, search.value));
1657
+ const manualSha = computed(() => {
1658
+ const q = search.value.trim();
1659
+ if (!/^[0-9a-f]{7,40}$/i.test(q)) return null;
1660
+ if (filtered.value.some((c) => c.sha.startsWith(q.toLowerCase()))) return null;
1661
+ return q;
1662
+ });
1663
+ function select(sha) {
1664
+ emit("update:modelValue", sha);
1665
+ open.value = false;
1666
+ }
1667
+ function clear(e) {
1668
+ e.stopPropagation();
1669
+ apiError.value = null;
1670
+ aggregateStats.value = null;
1671
+ emit("update:modelValue", "");
1672
+ open.value = false;
1673
+ }
1674
+ return (_ctx, _push, _parent, _attrs) => {
1675
+ const _component_UPopover = _sfc_main$8$1;
1676
+ const _component_UButton = _sfc_main$k;
1677
+ const _component_UIcon = _sfc_main$p;
1678
+ const _component_USelectMenu = _sfc_main$f;
1679
+ const _component_UInput = _sfc_main$d$1;
1680
+ _push(ssrRenderComponent(_component_UPopover, mergeProps({
1681
+ open: unref(open),
1682
+ "onUpdate:open": ($event) => isRef(open) ? open.value = $event : null
1683
+ }, _attrs), {
1684
+ content: withCtx((_, _push2, _parent2, _scopeId) => {
1685
+ if (_push2) {
1686
+ _push2(`<div class="w-96 p-2 space-y-2"${_scopeId}><div class="flex items-center gap-1"${_scopeId}>`);
1687
+ _push2(ssrRenderComponent(_component_UIcon, {
1688
+ name: "i-lucide-git-branch",
1689
+ class: "size-3.5 text-gray-400 shrink-0"
1690
+ }, null, _parent2, _scopeId));
1691
+ _push2(ssrRenderComponent(_component_USelectMenu, {
1692
+ modelValue: unref(selectedBranch),
1693
+ "onUpdate:modelValue": ($event) => isRef(selectedBranch) ? selectedBranch.value = $event : null,
1694
+ items: unref(branches),
1695
+ placeholder: "Default branch",
1696
+ size: "xs",
1697
+ class: "flex-1",
1698
+ loading: unref(branchesLoading),
1699
+ disabled: unref(branchesLoading)
1700
+ }, null, _parent2, _scopeId));
1701
+ _push2(`</div><div class="flex items-center gap-1"${_scopeId}>`);
1702
+ _push2(ssrRenderComponent(_component_UInput, {
1703
+ ref_key: "searchInputRef",
1704
+ ref: searchInputRef,
1705
+ modelValue: unref(search),
1706
+ "onUpdate:modelValue": ($event) => isRef(search) ? search.value = $event : null,
1707
+ placeholder: "Search message, author, SHA…",
1708
+ size: "xs",
1709
+ icon: "i-lucide-search",
1710
+ class: "flex-1"
1711
+ }, null, _parent2, _scopeId));
1712
+ if (__props.modelValue) {
1713
+ _push2(ssrRenderComponent(_component_UButton, {
1714
+ size: "xs",
1715
+ color: "neutral",
1716
+ variant: "ghost",
1717
+ icon: "i-lucide-x",
1718
+ title: "Clear baseline",
1719
+ onClick: ($event) => clear($event)
1720
+ }, null, _parent2, _scopeId));
1721
+ } else {
1722
+ _push2(`<!---->`);
1723
+ }
1724
+ _push2(`</div>`);
1725
+ if (unref(aggregateStats) && __props.modelValue && !unref(loading)) {
1726
+ _push2(`<div class="flex items-center gap-2 px-2 py-1.5 text-xs rounded-md bg-primary/5 text-gray-600 dark:text-gray-300"${_scopeId}>`);
1727
+ _push2(ssrRenderComponent(_component_UIcon, {
1728
+ name: "i-lucide-git-compare-arrows",
1729
+ class: "size-3.5 shrink-0 text-primary"
1730
+ }, null, _parent2, _scopeId));
1731
+ _push2(`<span${_scopeId}>Since baseline:</span><span class="font-medium text-green-600 dark:text-green-400"${_scopeId}>+${ssrInterpolate(unref(aggregateStats).linesAdded)}</span><span class="font-medium text-red-600 dark:text-red-400"${_scopeId}>-${ssrInterpolate(unref(aggregateStats).linesRemoved)}</span><span class="text-gray-400"${_scopeId}>across ${ssrInterpolate(unref(aggregateStats).filesChanged)} file${ssrInterpolate(unref(aggregateStats).filesChanged === 1 ? "" : "s")}</span></div>`);
1732
+ } else {
1733
+ _push2(`<!---->`);
1734
+ }
1735
+ if (unref(loading)) {
1736
+ _push2(`<div class="flex items-center justify-center gap-2 py-6 text-gray-400"${_scopeId}>`);
1737
+ _push2(ssrRenderComponent(_component_UIcon, {
1738
+ name: "i-lucide-loader-2",
1739
+ class: "size-4 animate-spin"
1740
+ }, null, _parent2, _scopeId));
1741
+ _push2(`<span class="text-sm"${_scopeId}>Loading commits…</span></div>`);
1742
+ } else if (unref(fetchError)) {
1743
+ _push2(`<div class="py-4 text-center text-sm text-red-500"${_scopeId}> Failed to load commits — check your SCM token in Settings → AI </div>`);
1744
+ } else if (unref(apiError) && !unref(loading) && unref(commits).length === 0) {
1745
+ _push2(`<div class="flex items-start gap-2 px-2 py-2 text-xs text-amber-700 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20 rounded-md"${_scopeId}>`);
1746
+ _push2(ssrRenderComponent(_component_UIcon, {
1747
+ name: "i-lucide-triangle-alert",
1748
+ class: "size-3.5 shrink-0 mt-0.5"
1749
+ }, null, _parent2, _scopeId));
1750
+ _push2(`<span${_scopeId}>${ssrInterpolate(unref(apiError))}</span></div>`);
1751
+ } else {
1752
+ _push2(`<div class="max-h-80 overflow-y-auto space-y-px"${_scopeId}>`);
1753
+ if (unref(manualSha)) {
1754
+ _push2(`<button class="w-full text-left px-2 py-1.5 rounded flex items-center gap-2 hover:bg-elevated transition-colors border border-dashed border-default"${_scopeId}>`);
1755
+ _push2(ssrRenderComponent(_component_UIcon, {
1756
+ name: "i-lucide-git-commit-horizontal",
1757
+ class: "size-3.5 text-gray-400 shrink-0"
1758
+ }, null, _parent2, _scopeId));
1759
+ _push2(`<span class="text-xs text-gray-500"${_scopeId}>Use commit</span><code class="text-xs text-primary"${_scopeId}>${ssrInterpolate(unref(manualSha).slice(0, 7))}</code></button>`);
1760
+ } else {
1761
+ _push2(`<!---->`);
1762
+ }
1763
+ if (unref(filtered).length === 0 && !unref(manualSha)) {
1764
+ _push2(`<div class="py-4 text-center text-sm text-gray-400"${_scopeId}>${ssrInterpolate(unref(search) ? "No commits match" : "No commits available")}</div>`);
1765
+ } else {
1766
+ _push2(`<!---->`);
1767
+ }
1768
+ _push2(`<!--[-->`);
1769
+ ssrRenderList(unref(filtered), (c) => {
1770
+ _push2(`<button class="${ssrRenderClass([__props.modelValue === c.sha ? "bg-primary/10 ring-1 ring-inset ring-primary/30" : "", "w-full text-left px-2 py-1.5 rounded flex items-start gap-2 hover:bg-elevated transition-colors"])}"${_scopeId}><code class="text-xs text-primary shrink-0 w-14 pt-px"${_scopeId}>${ssrInterpolate(c.shortSha)}</code><div class="flex-1 min-w-0"${_scopeId}><p class="text-xs font-medium leading-snug truncate"${_scopeId}>${ssrInterpolate(c.message)}</p><p class="text-xs text-gray-400 leading-snug truncate"${_scopeId}>${ssrInterpolate(c.author)}`);
1771
+ if (c.date) {
1772
+ _push2(`<!--[--> · ${ssrInterpolate(unref(formatRelativeTime)(c.date))}<!--]-->`);
1773
+ } else {
1774
+ _push2(`<!---->`);
1775
+ }
1776
+ _push2(`</p></div>`);
1777
+ if (__props.modelValue === c.sha) {
1778
+ _push2(ssrRenderComponent(_component_UIcon, {
1779
+ name: "i-lucide-check",
1780
+ class: "size-3.5 text-primary shrink-0 mt-0.5"
1781
+ }, null, _parent2, _scopeId));
1782
+ } else {
1783
+ _push2(`<!---->`);
1784
+ }
1785
+ _push2(`</button>`);
1786
+ });
1787
+ _push2(`<!--]--></div>`);
1788
+ }
1789
+ _push2(`</div>`);
1790
+ } else {
1791
+ return [
1792
+ createVNode("div", { class: "w-96 p-2 space-y-2" }, [
1793
+ createVNode("div", { class: "flex items-center gap-1" }, [
1794
+ createVNode(_component_UIcon, {
1795
+ name: "i-lucide-git-branch",
1796
+ class: "size-3.5 text-gray-400 shrink-0"
1797
+ }),
1798
+ createVNode(_component_USelectMenu, {
1799
+ modelValue: unref(selectedBranch),
1800
+ "onUpdate:modelValue": ($event) => isRef(selectedBranch) ? selectedBranch.value = $event : null,
1801
+ items: unref(branches),
1802
+ placeholder: "Default branch",
1803
+ size: "xs",
1804
+ class: "flex-1",
1805
+ loading: unref(branchesLoading),
1806
+ disabled: unref(branchesLoading)
1807
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "items", "loading", "disabled"])
1808
+ ]),
1809
+ createVNode("div", { class: "flex items-center gap-1" }, [
1810
+ createVNode(_component_UInput, {
1811
+ ref_key: "searchInputRef",
1812
+ ref: searchInputRef,
1813
+ modelValue: unref(search),
1814
+ "onUpdate:modelValue": ($event) => isRef(search) ? search.value = $event : null,
1815
+ placeholder: "Search message, author, SHA…",
1816
+ size: "xs",
1817
+ icon: "i-lucide-search",
1818
+ class: "flex-1"
1819
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
1820
+ __props.modelValue ? (openBlock(), createBlock(_component_UButton, {
1821
+ key: 0,
1822
+ size: "xs",
1823
+ color: "neutral",
1824
+ variant: "ghost",
1825
+ icon: "i-lucide-x",
1826
+ title: "Clear baseline",
1827
+ onClick: ($event) => clear($event)
1828
+ }, null, 8, ["onClick"])) : createCommentVNode("", true)
1829
+ ]),
1830
+ unref(aggregateStats) && __props.modelValue && !unref(loading) ? (openBlock(), createBlock("div", {
1831
+ key: 0,
1832
+ class: "flex items-center gap-2 px-2 py-1.5 text-xs rounded-md bg-primary/5 text-gray-600 dark:text-gray-300"
1833
+ }, [
1834
+ createVNode(_component_UIcon, {
1835
+ name: "i-lucide-git-compare-arrows",
1836
+ class: "size-3.5 shrink-0 text-primary"
1837
+ }),
1838
+ createVNode("span", null, "Since baseline:"),
1839
+ createVNode("span", { class: "font-medium text-green-600 dark:text-green-400" }, "+" + toDisplayString(unref(aggregateStats).linesAdded), 1),
1840
+ createVNode("span", { class: "font-medium text-red-600 dark:text-red-400" }, "-" + toDisplayString(unref(aggregateStats).linesRemoved), 1),
1841
+ createVNode("span", { class: "text-gray-400" }, "across " + toDisplayString(unref(aggregateStats).filesChanged) + " file" + toDisplayString(unref(aggregateStats).filesChanged === 1 ? "" : "s"), 1)
1842
+ ])) : createCommentVNode("", true),
1843
+ unref(loading) ? (openBlock(), createBlock("div", {
1844
+ key: 1,
1845
+ class: "flex items-center justify-center gap-2 py-6 text-gray-400"
1846
+ }, [
1847
+ createVNode(_component_UIcon, {
1848
+ name: "i-lucide-loader-2",
1849
+ class: "size-4 animate-spin"
1850
+ }),
1851
+ createVNode("span", { class: "text-sm" }, "Loading commits…")
1852
+ ])) : unref(fetchError) ? (openBlock(), createBlock("div", {
1853
+ key: 2,
1854
+ class: "py-4 text-center text-sm text-red-500"
1855
+ }, " Failed to load commits — check your SCM token in Settings → AI ")) : unref(apiError) && !unref(loading) && unref(commits).length === 0 ? (openBlock(), createBlock("div", {
1856
+ key: 3,
1857
+ class: "flex items-start gap-2 px-2 py-2 text-xs text-amber-700 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20 rounded-md"
1858
+ }, [
1859
+ createVNode(_component_UIcon, {
1860
+ name: "i-lucide-triangle-alert",
1861
+ class: "size-3.5 shrink-0 mt-0.5"
1862
+ }),
1863
+ createVNode("span", null, toDisplayString(unref(apiError)), 1)
1864
+ ])) : (openBlock(), createBlock("div", {
1865
+ key: 4,
1866
+ class: "max-h-80 overflow-y-auto space-y-px"
1867
+ }, [
1868
+ unref(manualSha) ? (openBlock(), createBlock("button", {
1869
+ key: 0,
1870
+ class: "w-full text-left px-2 py-1.5 rounded flex items-center gap-2 hover:bg-elevated transition-colors border border-dashed border-default",
1871
+ onClick: ($event) => select(unref(manualSha))
1872
+ }, [
1873
+ createVNode(_component_UIcon, {
1874
+ name: "i-lucide-git-commit-horizontal",
1875
+ class: "size-3.5 text-gray-400 shrink-0"
1876
+ }),
1877
+ createVNode("span", { class: "text-xs text-gray-500" }, "Use commit"),
1878
+ createVNode("code", { class: "text-xs text-primary" }, toDisplayString(unref(manualSha).slice(0, 7)), 1)
1879
+ ], 8, ["onClick"])) : createCommentVNode("", true),
1880
+ unref(filtered).length === 0 && !unref(manualSha) ? (openBlock(), createBlock("div", {
1881
+ key: 1,
1882
+ class: "py-4 text-center text-sm text-gray-400"
1883
+ }, toDisplayString(unref(search) ? "No commits match" : "No commits available"), 1)) : createCommentVNode("", true),
1884
+ (openBlock(true), createBlock(Fragment, null, renderList(unref(filtered), (c) => {
1885
+ return openBlock(), createBlock("button", {
1886
+ key: c.sha,
1887
+ class: ["w-full text-left px-2 py-1.5 rounded flex items-start gap-2 hover:bg-elevated transition-colors", __props.modelValue === c.sha ? "bg-primary/10 ring-1 ring-inset ring-primary/30" : ""],
1888
+ onClick: ($event) => select(c.sha)
1889
+ }, [
1890
+ createVNode("code", { class: "text-xs text-primary shrink-0 w-14 pt-px" }, toDisplayString(c.shortSha), 1),
1891
+ createVNode("div", { class: "flex-1 min-w-0" }, [
1892
+ createVNode("p", { class: "text-xs font-medium leading-snug truncate" }, toDisplayString(c.message), 1),
1893
+ createVNode("p", { class: "text-xs text-gray-400 leading-snug truncate" }, [
1894
+ createTextVNode(toDisplayString(c.author), 1),
1895
+ c.date ? (openBlock(), createBlock(Fragment, { key: 0 }, [
1896
+ createTextVNode(" · " + toDisplayString(unref(formatRelativeTime)(c.date)), 1)
1897
+ ], 64)) : createCommentVNode("", true)
1898
+ ])
1899
+ ]),
1900
+ __props.modelValue === c.sha ? (openBlock(), createBlock(_component_UIcon, {
1901
+ key: 0,
1902
+ name: "i-lucide-check",
1903
+ class: "size-3.5 text-primary shrink-0 mt-0.5"
1904
+ })) : createCommentVNode("", true)
1905
+ ], 10, ["onClick"]);
1906
+ }), 128))
1907
+ ]))
1908
+ ])
1909
+ ];
1910
+ }
1911
+ }),
1912
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
1913
+ if (_push2) {
1914
+ _push2(ssrRenderComponent(_component_UButton, {
1915
+ size: "xs",
1916
+ color: "neutral",
1917
+ variant: "outline",
1918
+ icon: __props.modelValue ? "i-lucide-git-branch-plus" : "i-lucide-git-branch",
1919
+ "trailing-icon": "i-lucide-chevron-down",
1920
+ class: "min-w-36 max-w-48 font-mono"
1921
+ }, {
1922
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
1923
+ if (_push3) {
1924
+ if (unref(selected)?.message) {
1925
+ _push3(`<span class="flex items-center gap-1.5 overflow-hidden min-w-0"${_scopeId2}><code class="text-primary shrink-0"${_scopeId2}>${ssrInterpolate(unref(selected).shortSha)}</code><span class="text-gray-500 truncate text-xs font-sans"${_scopeId2}>${ssrInterpolate(unref(selected).message)}</span></span>`);
1926
+ } else if (__props.modelValue) {
1927
+ _push3(`<span class="text-primary text-xs"${_scopeId2}>${ssrInterpolate(__props.modelValue.slice(0, 7))}…</span>`);
1928
+ } else {
1929
+ _push3(`<span class="text-gray-400 font-sans text-xs"${_scopeId2}>baseline commit…</span>`);
1930
+ }
1931
+ } else {
1932
+ return [
1933
+ unref(selected)?.message ? (openBlock(), createBlock("span", {
1934
+ key: 0,
1935
+ class: "flex items-center gap-1.5 overflow-hidden min-w-0"
1936
+ }, [
1937
+ createVNode("code", { class: "text-primary shrink-0" }, toDisplayString(unref(selected).shortSha), 1),
1938
+ createVNode("span", { class: "text-gray-500 truncate text-xs font-sans" }, toDisplayString(unref(selected).message), 1)
1939
+ ])) : __props.modelValue ? (openBlock(), createBlock("span", {
1940
+ key: 1,
1941
+ class: "text-primary text-xs"
1942
+ }, toDisplayString(__props.modelValue.slice(0, 7)) + "…", 1)) : (openBlock(), createBlock("span", {
1943
+ key: 2,
1944
+ class: "text-gray-400 font-sans text-xs"
1945
+ }, "baseline commit…"))
1946
+ ];
1947
+ }
1948
+ }),
1949
+ _: 1
1950
+ }, _parent2, _scopeId));
1951
+ } else {
1952
+ return [
1953
+ createVNode(_component_UButton, {
1954
+ size: "xs",
1955
+ color: "neutral",
1956
+ variant: "outline",
1957
+ icon: __props.modelValue ? "i-lucide-git-branch-plus" : "i-lucide-git-branch",
1958
+ "trailing-icon": "i-lucide-chevron-down",
1959
+ class: "min-w-36 max-w-48 font-mono"
1960
+ }, {
1961
+ default: withCtx(() => [
1962
+ unref(selected)?.message ? (openBlock(), createBlock("span", {
1963
+ key: 0,
1964
+ class: "flex items-center gap-1.5 overflow-hidden min-w-0"
1965
+ }, [
1966
+ createVNode("code", { class: "text-primary shrink-0" }, toDisplayString(unref(selected).shortSha), 1),
1967
+ createVNode("span", { class: "text-gray-500 truncate text-xs font-sans" }, toDisplayString(unref(selected).message), 1)
1968
+ ])) : __props.modelValue ? (openBlock(), createBlock("span", {
1969
+ key: 1,
1970
+ class: "text-primary text-xs"
1971
+ }, toDisplayString(__props.modelValue.slice(0, 7)) + "…", 1)) : (openBlock(), createBlock("span", {
1972
+ key: 2,
1973
+ class: "text-gray-400 font-sans text-xs"
1974
+ }, "baseline commit…"))
1975
+ ]),
1976
+ _: 1
1977
+ }, 8, ["icon"])
1978
+ ];
1979
+ }
1980
+ }),
1981
+ _: 1
1982
+ }, _parent));
1983
+ };
1984
+ }
1985
+ });
1986
+ const _sfc_setup$6 = _sfc_main$6.setup;
1987
+ _sfc_main$6.setup = (props, ctx) => {
1988
+ const ssrContext = useSSRContext();
1989
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/cluster/CommitPicker.vue");
1990
+ return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
1991
+ };
1992
+ const __nuxt_component_1 = Object.assign(_sfc_main$6, { __name: "CommitPicker" });
1993
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1994
+ __name: "ScmChangesView",
1995
+ __ssrInlineRender: true,
1996
+ props: {
1997
+ changes: {}
1998
+ },
1999
+ setup(__props) {
2000
+ const expandedFiles = ref(/* @__PURE__ */ new Set());
2001
+ return (_ctx, _push, _parent, _attrs) => {
2002
+ const _component_UIcon = _sfc_main$p;
2003
+ const _component_DiffPatch = __nuxt_component_1$2;
2004
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "space-y-3" }, _attrs))}>`);
2005
+ if (__props.changes.commits.length > 0) {
2006
+ _push(`<div class="space-y-1"><p class="text-xs font-semibold text-gray-500 uppercase tracking-wide px-1">${ssrInterpolate(__props.changes.commits.length)} commit${ssrInterpolate(__props.changes.commits.length === 1 ? "" : "s")}</p><div class="rounded-md border border-default overflow-hidden divide-y divide-default"><!--[-->`);
2007
+ ssrRenderList(__props.changes.commits, (commit) => {
2008
+ _push(`<div class="flex items-center gap-2 px-3 py-1.5">`);
2009
+ _push(ssrRenderComponent(_component_UIcon, {
2010
+ name: "i-lucide-git-commit-horizontal",
2011
+ class: "size-3.5 text-gray-400 shrink-0"
2012
+ }, null, _parent));
2013
+ _push(`<code class="text-xs text-gray-400 shrink-0">${ssrInterpolate(commit.sha.slice(0, 7))}</code><span class="text-xs text-gray-700 dark:text-gray-300 truncate">${ssrInterpolate(commit.message)}</span></div>`);
2014
+ });
2015
+ _push(`<!--]--></div></div>`);
2016
+ } else {
2017
+ _push(`<!---->`);
2018
+ }
2019
+ _push(`<div class="space-y-1"><p class="text-xs font-semibold text-gray-500 uppercase tracking-wide px-1">${ssrInterpolate(__props.changes.files.length)} file${ssrInterpolate(__props.changes.files.length === 1 ? "" : "s")} changed `);
2020
+ if (__props.changes.patchesOmitted) {
2021
+ _push(`<span class="text-yellow-500 font-normal normal-case"> — diff too large, file names only </span>`);
2022
+ } else {
2023
+ _push(`<!---->`);
2024
+ }
2025
+ _push(`</p><div class="rounded-md border border-default overflow-hidden divide-y divide-default"><!--[-->`);
2026
+ ssrRenderList(__props.changes.files, (file) => {
2027
+ _push(`<div><button class="${ssrRenderClass([file.patch ? "cursor-pointer" : "cursor-default", "w-full flex items-center gap-2 px-3 py-1.5 text-left hover:bg-gray-50 dark:hover:bg-gray-800/50 transition-colors"])}">`);
2028
+ _push(ssrRenderComponent(_component_UIcon, {
2029
+ name: ("scmFileStatusMeta" in _ctx ? _ctx.scmFileStatusMeta : unref(scmFileStatusMeta))(file.status).icon,
2030
+ class: ["size-3.5 shrink-0", ("scmFileStatusMeta" in _ctx ? _ctx.scmFileStatusMeta : unref(scmFileStatusMeta))(file.status).color]
2031
+ }, null, _parent));
2032
+ _push(`<span class="text-xs font-mono flex-1 truncate text-gray-700 dark:text-gray-300">${ssrInterpolate(file.filename)}</span><span class="text-xs text-gray-400 shrink-0 tabular-nums">`);
2033
+ if (file.additions) {
2034
+ _push(`<span class="text-green-500">+${ssrInterpolate(file.additions)}</span>`);
2035
+ } else {
2036
+ _push(`<!---->`);
2037
+ }
2038
+ if (file.additions && file.deletions) {
2039
+ _push(`<span class="text-gray-300 mx-0.5">/</span>`);
2040
+ } else {
2041
+ _push(`<!---->`);
2042
+ }
2043
+ if (file.deletions) {
2044
+ _push(`<span class="text-red-500">-${ssrInterpolate(file.deletions)}</span>`);
2045
+ } else {
2046
+ _push(`<!---->`);
2047
+ }
2048
+ _push(`</span>`);
2049
+ if (file.patch) {
2050
+ _push(ssrRenderComponent(_component_UIcon, {
2051
+ name: unref(expandedFiles).has(file.filename) ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
2052
+ class: "size-3.5 text-gray-400 shrink-0"
2053
+ }, null, _parent));
2054
+ } else {
2055
+ _push(`<!---->`);
2056
+ }
2057
+ _push(`</button>`);
2058
+ if (file.patch && unref(expandedFiles).has(file.filename)) {
2059
+ _push(`<div class="border-t border-default overflow-x-auto max-h-96">`);
2060
+ _push(ssrRenderComponent(_component_DiffPatch, {
2061
+ patch: file.patch
2062
+ }, null, _parent));
2063
+ _push(`</div>`);
2064
+ } else {
2065
+ _push(`<!---->`);
2066
+ }
2067
+ _push(`</div>`);
2068
+ });
2069
+ _push(`<!--]--></div></div></div>`);
2070
+ };
2071
+ }
2072
+ });
2073
+ const _sfc_setup$5 = _sfc_main$5.setup;
2074
+ _sfc_main$5.setup = (props, ctx) => {
2075
+ const ssrContext = useSSRContext();
2076
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/project/ScmChangesView.vue");
2077
+ return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
2078
+ };
2079
+ const __nuxt_component_5 = Object.assign(_sfc_main$5, { __name: "ScmChangesView" });
2080
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2081
+ __name: "DiffFile",
2082
+ __ssrInlineRender: true,
2083
+ props: {
2084
+ file: {}
2085
+ },
2086
+ setup(__props) {
2087
+ return (_ctx, _push, _parent, _attrs) => {
2088
+ const _component_UBadge = _sfc_main$7$1;
2089
+ const _component_DiffPatch = __nuxt_component_1$2;
2090
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "border border-default rounded-lg overflow-clip text-xs font-mono" }, _attrs))}><div class="sticky top-0 z-10 flex items-center justify-between px-3 py-1.5 bg-elevated border-b border-default text-gray-600 dark:text-gray-300"><span class="font-medium truncate">${ssrInterpolate(__props.file.filename)}</span><span class="shrink-0 flex items-center gap-1.5 ml-2 text-[11px]">`);
2091
+ if (__props.file.additions) {
2092
+ _push(`<span class="text-green-600 dark:text-green-400">+${ssrInterpolate(__props.file.additions)}</span>`);
2093
+ } else {
2094
+ _push(`<!---->`);
2095
+ }
2096
+ if (__props.file.deletions) {
2097
+ _push(`<span class="text-red-600 dark:text-red-400">-${ssrInterpolate(__props.file.deletions)}</span>`);
2098
+ } else {
2099
+ _push(`<!---->`);
2100
+ }
2101
+ _push(ssrRenderComponent(_component_UBadge, {
2102
+ label: __props.file.status,
2103
+ size: "xs",
2104
+ variant: "subtle",
2105
+ color: ("scmFileStatusMeta" in _ctx ? _ctx.scmFileStatusMeta : unref(scmFileStatusMeta))(__props.file.status).badgeColor
2106
+ }, null, _parent));
2107
+ _push(`</span></div>`);
2108
+ if (__props.file.patch) {
2109
+ _push(ssrRenderComponent(_component_DiffPatch, {
2110
+ patch: __props.file.patch
2111
+ }, null, _parent));
2112
+ } else {
2113
+ _push(`<div class="px-3 py-2 text-gray-400 text-[11px]">No patch available</div>`);
2114
+ }
2115
+ _push(`</div>`);
2116
+ };
2117
+ }
2118
+ });
2119
+ const _sfc_setup$4 = _sfc_main$4.setup;
2120
+ _sfc_main$4.setup = (props, ctx) => {
2121
+ const ssrContext = useSSRContext();
2122
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/shared/DiffFile.vue");
2123
+ return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
2124
+ };
2125
+ const __nuxt_component_8 = Object.assign(_sfc_main$4, { __name: "DiffFile" });
2126
+ const COMMIT_PAGE_SIZE = 50;
2127
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2128
+ __name: "CommitBrowserModal",
2129
+ __ssrInlineRender: true,
2130
+ props: {
2131
+ open: { type: Boolean },
2132
+ clusterId: {},
2133
+ initialSelected: {},
2134
+ autoSelectedShas: {}
2135
+ },
2136
+ emits: ["update:open", "confirm"],
2137
+ setup(__props, { emit: __emit }) {
2138
+ const props = __props;
2139
+ const autoSelectedSet = computed(() => new Set(props.autoSelectedShas ?? []));
2140
+ const emit = __emit;
2141
+ const search = ref("");
2142
+ const commits = ref([]);
2143
+ const commitLimit = ref(COMMIT_PAGE_SIZE);
2144
+ const hasMore = ref(false);
2145
+ const loadingCommits = ref(false);
2146
+ const loadingMore = ref(false);
2147
+ const commitsError = ref(null);
2148
+ const loadMoreError = ref(null);
2149
+ const selectedShas = ref(/* @__PURE__ */ new Set());
2150
+ const focusedSha = ref(null);
2151
+ const diffCache = reactive({});
2152
+ const diff = ref(null);
2153
+ const loadingDiff = ref(false);
2154
+ const diffError = ref(null);
2155
+ const focusedCommit = computed(() => commits.value.find((c) => c.sha === focusedSha.value) ?? null);
2156
+ const filteredCommits = computed(() => filterCommits(commits.value, search.value));
2157
+ const selectedStats = computed(() => {
2158
+ let files = 0, linesAdded = 0, linesRemoved = 0, unreviewed = 0;
2159
+ for (const sha of selectedShas.value) {
2160
+ if (!(sha in diffCache)) {
2161
+ unreviewed++;
2162
+ continue;
2163
+ }
2164
+ const d = diffCache[sha];
2165
+ if (d) {
2166
+ files += d.files.length;
2167
+ linesAdded += d.files.reduce((s, f) => s + f.additions, 0);
2168
+ linesRemoved += d.files.reduce((s, f) => s + f.deletions, 0);
2169
+ }
2170
+ }
2171
+ return { files, linesAdded, linesRemoved, unreviewed };
2172
+ });
2173
+ async function loadCommits(initial) {
2174
+ if (initial) {
2175
+ loadingCommits.value = true;
2176
+ commitsError.value = null;
2177
+ } else {
2178
+ loadingMore.value = true;
2179
+ loadMoreError.value = null;
2180
+ }
2181
+ try {
2182
+ const res = await $fetch(
2183
+ `/api/failure-clusters/${props.clusterId}/commits`,
2184
+ { query: { limit: commitLimit.value } }
2185
+ );
2186
+ commits.value = res.items;
2187
+ hasMore.value = res.hasMore ?? false;
2188
+ if (res.error && !res.items.length) {
2189
+ if (initial) commitsError.value = res.error;
2190
+ else loadMoreError.value = res.error;
2191
+ }
2192
+ if (initial && res.items[0]) focusCommit(res.items[0].sha);
2193
+ } catch (err) {
2194
+ if (initial) commitsError.value = errorMessage(err);
2195
+ else loadMoreError.value = errorMessage(err);
2196
+ } finally {
2197
+ loadingCommits.value = false;
2198
+ loadingMore.value = false;
2199
+ }
2200
+ }
2201
+ async function loadMore() {
2202
+ commitLimit.value += COMMIT_PAGE_SIZE;
2203
+ await loadCommits(false);
2204
+ }
2205
+ watch(
2206
+ () => props.open,
2207
+ async (val) => {
2208
+ if (!val) return;
2209
+ selectedShas.value = new Set(props.initialSelected ?? []);
2210
+ if (commits.value.length) {
2211
+ if (!focusedSha.value && commits.value[0]) focusCommit(commits.value[0].sha);
2212
+ return;
2213
+ }
2214
+ commitLimit.value = COMMIT_PAGE_SIZE;
2215
+ await loadCommits(true);
2216
+ }
2217
+ );
2218
+ async function focusCommit(sha) {
2219
+ if (focusedSha.value === sha) return;
2220
+ focusedSha.value = sha;
2221
+ diffError.value = null;
2222
+ if (sha in diffCache) {
2223
+ diff.value = diffCache[sha];
2224
+ loadingDiff.value = false;
2225
+ return;
2226
+ }
2227
+ diff.value = null;
2228
+ loadingDiff.value = true;
2229
+ try {
2230
+ const result = await $fetch(
2231
+ `/api/failure-clusters/${props.clusterId}/commit-diff`,
2232
+ { query: { sha } }
2233
+ );
2234
+ diffCache[sha] = result;
2235
+ if (focusedSha.value === sha) diff.value = result;
2236
+ } catch (err) {
2237
+ if (focusedSha.value === sha) diffError.value = errorMessage(err);
2238
+ } finally {
2239
+ if (focusedSha.value === sha) loadingDiff.value = false;
2240
+ }
2241
+ }
2242
+ function toggleSha(sha) {
2243
+ const s = new Set(selectedShas.value);
2244
+ if (s.has(sha)) s.delete(sha);
2245
+ else s.add(sha);
2246
+ selectedShas.value = s;
2247
+ }
2248
+ function selectAll() {
2249
+ selectedShas.value = new Set(filteredCommits.value.map((c) => c.sha));
2250
+ }
2251
+ function clearAll() {
2252
+ selectedShas.value = /* @__PURE__ */ new Set();
2253
+ }
2254
+ function confirm() {
2255
+ emit("confirm", [...selectedShas.value]);
2256
+ emit("update:open", false);
2257
+ }
2258
+ return (_ctx, _push, _parent, _attrs) => {
2259
+ const _component_UModal = _sfc_main$e;
2260
+ const _component_HelpHint = __nuxt_component_2;
2261
+ const _component_UInput = _sfc_main$d$1;
2262
+ const _component_LoadingState = __nuxt_component_13$1;
2263
+ const _component_ErrorState = __nuxt_component_5$1;
2264
+ const _component_UButton = _sfc_main$k;
2265
+ const _component_UBadge = _sfc_main$7$1;
2266
+ const _component_UIcon = _sfc_main$p;
2267
+ const _component_DiffFile = __nuxt_component_8;
2268
+ _push(ssrRenderComponent(_component_UModal, mergeProps({
2269
+ open: __props.open,
2270
+ title: "Browse commits",
2271
+ ui: { content: "max-w-6xl", body: "p-0 overflow-hidden" },
2272
+ "onUpdate:open": ($event) => emit("update:open", $event)
2273
+ }, _attrs), {
2274
+ title: withCtx((_, _push2, _parent2, _scopeId) => {
2275
+ if (_push2) {
2276
+ _push2(`<span class="inline-flex items-center gap-1"${_scopeId}>Browse commits `);
2277
+ _push2(ssrRenderComponent(_component_HelpHint, { topic: "cluster.commit-browser" }, null, _parent2, _scopeId));
2278
+ _push2(`</span>`);
2279
+ } else {
2280
+ return [
2281
+ createVNode("span", { class: "inline-flex items-center gap-1" }, [
2282
+ createTextVNode("Browse commits "),
2283
+ createVNode(_component_HelpHint, { topic: "cluster.commit-browser" })
2284
+ ])
2285
+ ];
2286
+ }
2287
+ }),
2288
+ body: withCtx((_, _push2, _parent2, _scopeId) => {
2289
+ if (_push2) {
2290
+ _push2(`<div class="flex h-[72vh] overflow-hidden"${_scopeId}><div class="w-72 shrink-0 border-r border-default flex flex-col"${_scopeId}><div class="p-2 border-b border-default space-y-2 shrink-0"${_scopeId}>`);
2291
+ _push2(ssrRenderComponent(_component_UInput, {
2292
+ modelValue: unref(search),
2293
+ "onUpdate:modelValue": ($event) => isRef(search) ? search.value = $event : null,
2294
+ placeholder: "Search commits…",
2295
+ size: "xs",
2296
+ icon: "i-lucide-search"
2297
+ }, null, _parent2, _scopeId));
2298
+ _push2(`<div class="flex items-center gap-2 text-xs text-gray-500"${_scopeId}><button class="hover:text-primary transition-colors"${_scopeId}>All</button><span${_scopeId}>·</span><button class="hover:text-primary transition-colors"${_scopeId}>None</button><span class="ml-auto"${_scopeId}>${ssrInterpolate(unref(selectedShas).size > 0 ? `${unref(selectedShas).size} selected` : "none selected")}</span></div></div>`);
2299
+ if (unref(loadingCommits)) {
2300
+ _push2(ssrRenderComponent(_component_LoadingState, {
2301
+ text: "Loading…",
2302
+ padded: false,
2303
+ class: "flex-1"
2304
+ }, null, _parent2, _scopeId));
2305
+ } else if (unref(commitsError)) {
2306
+ _push2(ssrRenderComponent(_component_ErrorState, {
2307
+ text: unref(commitsError),
2308
+ padded: false,
2309
+ class: "flex-1 p-4"
2310
+ }, {
2311
+ action: withCtx((_2, _push3, _parent3, _scopeId2) => {
2312
+ if (_push3) {
2313
+ _push3(ssrRenderComponent(_component_UButton, {
2314
+ size: "xs",
2315
+ color: "neutral",
2316
+ variant: "outline",
2317
+ onClick: ($event) => loadCommits(true)
2318
+ }, {
2319
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
2320
+ if (_push4) {
2321
+ _push4(` Retry `);
2322
+ } else {
2323
+ return [
2324
+ createTextVNode(" Retry ")
2325
+ ];
2326
+ }
2327
+ }),
2328
+ _: 1
2329
+ }, _parent3, _scopeId2));
2330
+ } else {
2331
+ return [
2332
+ createVNode(_component_UButton, {
2333
+ size: "xs",
2334
+ color: "neutral",
2335
+ variant: "outline",
2336
+ onClick: ($event) => loadCommits(true)
2337
+ }, {
2338
+ default: withCtx(() => [
2339
+ createTextVNode(" Retry ")
2340
+ ]),
2341
+ _: 1
2342
+ }, 8, ["onClick"])
2343
+ ];
2344
+ }
2345
+ }),
2346
+ _: 1
2347
+ }, _parent2, _scopeId));
2348
+ } else {
2349
+ _push2(`<div class="flex-1 overflow-y-auto flex flex-col"${_scopeId}>`);
2350
+ if (unref(filteredCommits).length === 0) {
2351
+ _push2(`<div class="py-6 text-center text-sm text-gray-400 flex-1"${_scopeId}>${ssrInterpolate(unref(search) ? "No commits match" : "No commits")}</div>`);
2352
+ } else {
2353
+ _push2(`<!---->`);
2354
+ }
2355
+ _push2(`<!--[-->`);
2356
+ ssrRenderList(unref(filteredCommits), (c) => {
2357
+ _push2(`<button class="${ssrRenderClass([unref(focusedSha) === c.sha ? "bg-elevated" : "", "w-full text-left px-2.5 py-2 flex items-start gap-2.5 hover:bg-elevated transition-colors border-b border-default/50 last:border-0 shrink-0"])}"${_scopeId}><input type="checkbox"${ssrIncludeBooleanAttr(unref(selectedShas).has(c.sha)) ? " checked" : ""} class="mt-0.5 shrink-0 cursor-pointer accent-primary"${_scopeId}><div class="flex-1 min-w-0"${_scopeId}><p class="text-xs font-medium leading-snug truncate"${_scopeId}>${ssrInterpolate(c.message || "(no message)")}</p><p class="text-[10px] text-gray-400 leading-snug mt-0.5 flex items-center gap-1 min-w-0"${_scopeId}><code class="text-primary shrink-0"${_scopeId}>${ssrInterpolate(c.shortSha)}</code><span class="truncate"${_scopeId}>${ssrInterpolate(c.author)}</span>`);
2358
+ if (c.date) {
2359
+ _push2(`<span class="shrink-0"${_scopeId}>· ${ssrInterpolate(unref(formatRelativeTime)(c.date))}</span>`);
2360
+ } else {
2361
+ _push2(`<!---->`);
2362
+ }
2363
+ if (unref(autoSelectedSet).has(c.sha)) {
2364
+ _push2(ssrRenderComponent(_component_UBadge, {
2365
+ size: "xs",
2366
+ color: "info",
2367
+ variant: "soft",
2368
+ class: "shrink-0"
2369
+ }, {
2370
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
2371
+ if (_push3) {
2372
+ _push3(` auto `);
2373
+ } else {
2374
+ return [
2375
+ createTextVNode(" auto ")
2376
+ ];
2377
+ }
2378
+ }),
2379
+ _: 2
2380
+ }, _parent2, _scopeId));
2381
+ } else {
2382
+ _push2(`<!---->`);
2383
+ }
2384
+ _push2(`</p></div></button>`);
2385
+ });
2386
+ _push2(`<!--]-->`);
2387
+ if (unref(hasMore) && !unref(search)) {
2388
+ _push2(`<div class="p-2 shrink-0 space-y-1.5"${_scopeId}>`);
2389
+ if (unref(loadMoreError)) {
2390
+ _push2(`<p class="flex items-center gap-1.5 text-xs text-red-500 px-1"${_scopeId}>`);
2391
+ _push2(ssrRenderComponent(_component_UIcon, {
2392
+ name: "i-lucide-circle-alert",
2393
+ class: "size-3.5 shrink-0"
2394
+ }, null, _parent2, _scopeId));
2395
+ _push2(` ${ssrInterpolate(unref(loadMoreError))}</p>`);
2396
+ } else {
2397
+ _push2(`<!---->`);
2398
+ }
2399
+ _push2(ssrRenderComponent(_component_UButton, {
2400
+ size: "xs",
2401
+ color: "neutral",
2402
+ variant: "outline",
2403
+ block: "",
2404
+ loading: unref(loadingMore),
2405
+ onClick: loadMore
2406
+ }, {
2407
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
2408
+ if (_push3) {
2409
+ _push3(` Load more `);
2410
+ } else {
2411
+ return [
2412
+ createTextVNode(" Load more ")
2413
+ ];
2414
+ }
2415
+ }),
2416
+ _: 1
2417
+ }, _parent2, _scopeId));
2418
+ _push2(`</div>`);
2419
+ } else {
2420
+ _push2(`<!---->`);
2421
+ }
2422
+ _push2(`</div>`);
2423
+ }
2424
+ _push2(`</div><div class="flex-1 overflow-y-auto flex flex-col min-w-0"${_scopeId}>`);
2425
+ if (!unref(focusedSha)) {
2426
+ _push2(`<div class="flex-1 flex items-center justify-center text-gray-400 text-sm"${_scopeId}> Select a commit to view its diff </div>`);
2427
+ } else if (unref(loadingDiff)) {
2428
+ _push2(ssrRenderComponent(_component_LoadingState, {
2429
+ text: "Loading diff…",
2430
+ padded: false,
2431
+ class: "flex-1"
2432
+ }, null, _parent2, _scopeId));
2433
+ } else if (unref(diff)) {
2434
+ _push2(`<div class="flex-1 p-4 space-y-3"${_scopeId}>`);
2435
+ if (unref(focusedCommit)) {
2436
+ _push2(`<div class="space-y-0.5 pb-3 border-b border-default"${_scopeId}><div class="flex items-center gap-2"${_scopeId}><code class="text-xs font-mono text-primary"${_scopeId}>${ssrInterpolate(unref(focusedCommit).shortSha)}</code><span class="text-xs text-gray-400"${_scopeId}>${ssrInterpolate(unref(focusedCommit).author)}`);
2437
+ if (unref(focusedCommit).date) {
2438
+ _push2(`<!--[--> · ${ssrInterpolate(unref(formatRelativeTime)(unref(focusedCommit).date))}<!--]-->`);
2439
+ } else {
2440
+ _push2(`<!---->`);
2441
+ }
2442
+ _push2(`</span></div><p class="text-sm font-semibold"${_scopeId}>${ssrInterpolate(unref(focusedCommit).message)}</p></div>`);
2443
+ } else {
2444
+ _push2(`<!---->`);
2445
+ }
2446
+ if (unref(diff).files.length === 0) {
2447
+ _push2(`<div class="text-sm text-gray-400 pt-2"${_scopeId}>No file changes in this commit</div>`);
2448
+ } else {
2449
+ _push2(`<!---->`);
2450
+ }
2451
+ _push2(`<!--[-->`);
2452
+ ssrRenderList(unref(diff).files, (file) => {
2453
+ _push2(ssrRenderComponent(_component_DiffFile, {
2454
+ key: file.filename,
2455
+ file
2456
+ }, null, _parent2, _scopeId));
2457
+ });
2458
+ _push2(`<!--]--></div>`);
2459
+ } else if (unref(diffError)) {
2460
+ _push2(ssrRenderComponent(_component_ErrorState, {
2461
+ text: unref(diffError),
2462
+ padded: false,
2463
+ class: "flex-1 p-6"
2464
+ }, {
2465
+ action: withCtx((_2, _push3, _parent3, _scopeId2) => {
2466
+ if (_push3) {
2467
+ _push3(`<p class="text-xs text-gray-400"${_scopeId2}>Click the commit again to retry</p>`);
2468
+ } else {
2469
+ return [
2470
+ createVNode("p", { class: "text-xs text-gray-400" }, "Click the commit again to retry")
2471
+ ];
2472
+ }
2473
+ }),
2474
+ _: 1
2475
+ }, _parent2, _scopeId));
2476
+ } else {
2477
+ _push2(`<div class="flex-1 flex items-center justify-center text-sm text-gray-400"${_scopeId}> Diff not available for this commit </div>`);
2478
+ }
2479
+ _push2(`</div></div>`);
2480
+ } else {
2481
+ return [
2482
+ createVNode("div", { class: "flex h-[72vh] overflow-hidden" }, [
2483
+ createVNode("div", { class: "w-72 shrink-0 border-r border-default flex flex-col" }, [
2484
+ createVNode("div", { class: "p-2 border-b border-default space-y-2 shrink-0" }, [
2485
+ createVNode(_component_UInput, {
2486
+ modelValue: unref(search),
2487
+ "onUpdate:modelValue": ($event) => isRef(search) ? search.value = $event : null,
2488
+ placeholder: "Search commits…",
2489
+ size: "xs",
2490
+ icon: "i-lucide-search"
2491
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
2492
+ createVNode("div", { class: "flex items-center gap-2 text-xs text-gray-500" }, [
2493
+ createVNode("button", {
2494
+ class: "hover:text-primary transition-colors",
2495
+ onClick: selectAll
2496
+ }, "All"),
2497
+ createVNode("span", null, "·"),
2498
+ createVNode("button", {
2499
+ class: "hover:text-primary transition-colors",
2500
+ onClick: clearAll
2501
+ }, "None"),
2502
+ createVNode("span", { class: "ml-auto" }, toDisplayString(unref(selectedShas).size > 0 ? `${unref(selectedShas).size} selected` : "none selected"), 1)
2503
+ ])
2504
+ ]),
2505
+ unref(loadingCommits) ? (openBlock(), createBlock(_component_LoadingState, {
2506
+ key: 0,
2507
+ text: "Loading…",
2508
+ padded: false,
2509
+ class: "flex-1"
2510
+ })) : unref(commitsError) ? (openBlock(), createBlock(_component_ErrorState, {
2511
+ key: 1,
2512
+ text: unref(commitsError),
2513
+ padded: false,
2514
+ class: "flex-1 p-4"
2515
+ }, {
2516
+ action: withCtx(() => [
2517
+ createVNode(_component_UButton, {
2518
+ size: "xs",
2519
+ color: "neutral",
2520
+ variant: "outline",
2521
+ onClick: ($event) => loadCommits(true)
2522
+ }, {
2523
+ default: withCtx(() => [
2524
+ createTextVNode(" Retry ")
2525
+ ]),
2526
+ _: 1
2527
+ }, 8, ["onClick"])
2528
+ ]),
2529
+ _: 1
2530
+ }, 8, ["text"])) : (openBlock(), createBlock("div", {
2531
+ key: 2,
2532
+ class: "flex-1 overflow-y-auto flex flex-col"
2533
+ }, [
2534
+ unref(filteredCommits).length === 0 ? (openBlock(), createBlock("div", {
2535
+ key: 0,
2536
+ class: "py-6 text-center text-sm text-gray-400 flex-1"
2537
+ }, toDisplayString(unref(search) ? "No commits match" : "No commits"), 1)) : createCommentVNode("", true),
2538
+ (openBlock(true), createBlock(Fragment, null, renderList(unref(filteredCommits), (c) => {
2539
+ return openBlock(), createBlock("button", {
2540
+ key: c.sha,
2541
+ class: ["w-full text-left px-2.5 py-2 flex items-start gap-2.5 hover:bg-elevated transition-colors border-b border-default/50 last:border-0 shrink-0", unref(focusedSha) === c.sha ? "bg-elevated" : ""],
2542
+ onClick: ($event) => focusCommit(c.sha)
2543
+ }, [
2544
+ createVNode("input", {
2545
+ type: "checkbox",
2546
+ checked: unref(selectedShas).has(c.sha),
2547
+ class: "mt-0.5 shrink-0 cursor-pointer accent-primary",
2548
+ onClick: withModifiers(() => {
2549
+ }, ["stop"]),
2550
+ onChange: ($event) => toggleSha(c.sha)
2551
+ }, null, 40, ["checked", "onClick", "onChange"]),
2552
+ createVNode("div", { class: "flex-1 min-w-0" }, [
2553
+ createVNode("p", { class: "text-xs font-medium leading-snug truncate" }, toDisplayString(c.message || "(no message)"), 1),
2554
+ createVNode("p", { class: "text-[10px] text-gray-400 leading-snug mt-0.5 flex items-center gap-1 min-w-0" }, [
2555
+ createVNode("code", { class: "text-primary shrink-0" }, toDisplayString(c.shortSha), 1),
2556
+ createVNode("span", { class: "truncate" }, toDisplayString(c.author), 1),
2557
+ c.date ? (openBlock(), createBlock("span", {
2558
+ key: 0,
2559
+ class: "shrink-0"
2560
+ }, "· " + toDisplayString(unref(formatRelativeTime)(c.date)), 1)) : createCommentVNode("", true),
2561
+ unref(autoSelectedSet).has(c.sha) ? (openBlock(), createBlock(_component_UBadge, {
2562
+ key: 1,
2563
+ size: "xs",
2564
+ color: "info",
2565
+ variant: "soft",
2566
+ class: "shrink-0"
2567
+ }, {
2568
+ default: withCtx(() => [
2569
+ createTextVNode(" auto ")
2570
+ ]),
2571
+ _: 1
2572
+ })) : createCommentVNode("", true)
2573
+ ])
2574
+ ])
2575
+ ], 10, ["onClick"]);
2576
+ }), 128)),
2577
+ unref(hasMore) && !unref(search) ? (openBlock(), createBlock("div", {
2578
+ key: 1,
2579
+ class: "p-2 shrink-0 space-y-1.5"
2580
+ }, [
2581
+ unref(loadMoreError) ? (openBlock(), createBlock("p", {
2582
+ key: 0,
2583
+ class: "flex items-center gap-1.5 text-xs text-red-500 px-1"
2584
+ }, [
2585
+ createVNode(_component_UIcon, {
2586
+ name: "i-lucide-circle-alert",
2587
+ class: "size-3.5 shrink-0"
2588
+ }),
2589
+ createTextVNode(" " + toDisplayString(unref(loadMoreError)), 1)
2590
+ ])) : createCommentVNode("", true),
2591
+ createVNode(_component_UButton, {
2592
+ size: "xs",
2593
+ color: "neutral",
2594
+ variant: "outline",
2595
+ block: "",
2596
+ loading: unref(loadingMore),
2597
+ onClick: loadMore
2598
+ }, {
2599
+ default: withCtx(() => [
2600
+ createTextVNode(" Load more ")
2601
+ ]),
2602
+ _: 1
2603
+ }, 8, ["loading"])
2604
+ ])) : createCommentVNode("", true)
2605
+ ]))
2606
+ ]),
2607
+ createVNode("div", { class: "flex-1 overflow-y-auto flex flex-col min-w-0" }, [
2608
+ !unref(focusedSha) ? (openBlock(), createBlock("div", {
2609
+ key: 0,
2610
+ class: "flex-1 flex items-center justify-center text-gray-400 text-sm"
2611
+ }, " Select a commit to view its diff ")) : unref(loadingDiff) ? (openBlock(), createBlock(_component_LoadingState, {
2612
+ key: 1,
2613
+ text: "Loading diff…",
2614
+ padded: false,
2615
+ class: "flex-1"
2616
+ })) : unref(diff) ? (openBlock(), createBlock("div", {
2617
+ key: 2,
2618
+ class: "flex-1 p-4 space-y-3"
2619
+ }, [
2620
+ unref(focusedCommit) ? (openBlock(), createBlock("div", {
2621
+ key: 0,
2622
+ class: "space-y-0.5 pb-3 border-b border-default"
2623
+ }, [
2624
+ createVNode("div", { class: "flex items-center gap-2" }, [
2625
+ createVNode("code", { class: "text-xs font-mono text-primary" }, toDisplayString(unref(focusedCommit).shortSha), 1),
2626
+ createVNode("span", { class: "text-xs text-gray-400" }, [
2627
+ createTextVNode(toDisplayString(unref(focusedCommit).author), 1),
2628
+ unref(focusedCommit).date ? (openBlock(), createBlock(Fragment, { key: 0 }, [
2629
+ createTextVNode(" · " + toDisplayString(unref(formatRelativeTime)(unref(focusedCommit).date)), 1)
2630
+ ], 64)) : createCommentVNode("", true)
2631
+ ])
2632
+ ]),
2633
+ createVNode("p", { class: "text-sm font-semibold" }, toDisplayString(unref(focusedCommit).message), 1)
2634
+ ])) : createCommentVNode("", true),
2635
+ unref(diff).files.length === 0 ? (openBlock(), createBlock("div", {
2636
+ key: 1,
2637
+ class: "text-sm text-gray-400 pt-2"
2638
+ }, "No file changes in this commit")) : createCommentVNode("", true),
2639
+ (openBlock(true), createBlock(Fragment, null, renderList(unref(diff).files, (file) => {
2640
+ return openBlock(), createBlock(_component_DiffFile, {
2641
+ key: file.filename,
2642
+ file
2643
+ }, null, 8, ["file"]);
2644
+ }), 128))
2645
+ ])) : unref(diffError) ? (openBlock(), createBlock(_component_ErrorState, {
2646
+ key: 3,
2647
+ text: unref(diffError),
2648
+ padded: false,
2649
+ class: "flex-1 p-6"
2650
+ }, {
2651
+ action: withCtx(() => [
2652
+ createVNode("p", { class: "text-xs text-gray-400" }, "Click the commit again to retry")
2653
+ ]),
2654
+ _: 1
2655
+ }, 8, ["text"])) : (openBlock(), createBlock("div", {
2656
+ key: 4,
2657
+ class: "flex-1 flex items-center justify-center text-sm text-gray-400"
2658
+ }, " Diff not available for this commit "))
2659
+ ])
2660
+ ])
2661
+ ];
2662
+ }
2663
+ }),
2664
+ footer: withCtx((_, _push2, _parent2, _scopeId) => {
2665
+ if (_push2) {
2666
+ _push2(`<div class="flex items-center gap-3 w-full"${_scopeId}><div class="flex-1 flex items-center gap-2 text-sm text-gray-500 min-w-0"${_scopeId}>`);
2667
+ if (unref(selectedShas).size > 0) {
2668
+ _push2(`<!--[--><span class="font-medium text-gray-700 dark:text-gray-200 shrink-0"${_scopeId}>${ssrInterpolate(unref(selectedShas).size)} commit${ssrInterpolate(unref(selectedShas).size === 1 ? "" : "s")}</span>`);
2669
+ if (unref(selectedStats).files > 0 || unref(selectedStats).linesAdded > 0 || unref(selectedStats).linesRemoved > 0) {
2670
+ _push2(`<!--[--><span class="text-gray-300 dark:text-gray-600"${_scopeId}>·</span><span class="shrink-0"${_scopeId}>${ssrInterpolate(unref(selectedStats).files)} file${ssrInterpolate(unref(selectedStats).files === 1 ? "" : "s")}</span><span class="text-green-600 dark:text-green-400 shrink-0 font-medium"${_scopeId}>+${ssrInterpolate(unref(selectedStats).linesAdded)}</span><span class="text-red-600 dark:text-red-400 shrink-0 font-medium"${_scopeId}>-${ssrInterpolate(unref(selectedStats).linesRemoved)}</span><!--]-->`);
2671
+ } else {
2672
+ _push2(`<!---->`);
2673
+ }
2674
+ if (unref(selectedStats).unreviewed > 0) {
2675
+ _push2(`<span class="text-gray-400 text-xs shrink-0"${_scopeId}> (${ssrInterpolate(unref(selectedStats).unreviewed)} unreviewed) </span>`);
2676
+ } else {
2677
+ _push2(`<!---->`);
2678
+ }
2679
+ _push2(`<!--]-->`);
2680
+ } else {
2681
+ _push2(`<span${_scopeId}>No commits selected</span>`);
2682
+ }
2683
+ _push2(`</div>`);
2684
+ _push2(ssrRenderComponent(_component_UButton, {
2685
+ color: "neutral",
2686
+ variant: "ghost",
2687
+ onClick: ($event) => emit("update:open", false)
2688
+ }, {
2689
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
2690
+ if (_push3) {
2691
+ _push3(` Cancel `);
2692
+ } else {
2693
+ return [
2694
+ createTextVNode(" Cancel ")
2695
+ ];
2696
+ }
2697
+ }),
2698
+ _: 1
2699
+ }, _parent2, _scopeId));
2700
+ _push2(ssrRenderComponent(_component_UButton, {
2701
+ color: "primary",
2702
+ disabled: unref(selectedShas).size === 0,
2703
+ onClick: confirm
2704
+ }, {
2705
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
2706
+ if (_push3) {
2707
+ _push3(` Add to context `);
2708
+ } else {
2709
+ return [
2710
+ createTextVNode(" Add to context ")
2711
+ ];
2712
+ }
2713
+ }),
2714
+ _: 1
2715
+ }, _parent2, _scopeId));
2716
+ _push2(`</div>`);
2717
+ } else {
2718
+ return [
2719
+ createVNode("div", { class: "flex items-center gap-3 w-full" }, [
2720
+ createVNode("div", { class: "flex-1 flex items-center gap-2 text-sm text-gray-500 min-w-0" }, [
2721
+ unref(selectedShas).size > 0 ? (openBlock(), createBlock(Fragment, { key: 0 }, [
2722
+ createVNode("span", { class: "font-medium text-gray-700 dark:text-gray-200 shrink-0" }, toDisplayString(unref(selectedShas).size) + " commit" + toDisplayString(unref(selectedShas).size === 1 ? "" : "s"), 1),
2723
+ unref(selectedStats).files > 0 || unref(selectedStats).linesAdded > 0 || unref(selectedStats).linesRemoved > 0 ? (openBlock(), createBlock(Fragment, { key: 0 }, [
2724
+ createVNode("span", { class: "text-gray-300 dark:text-gray-600" }, "·"),
2725
+ createVNode("span", { class: "shrink-0" }, toDisplayString(unref(selectedStats).files) + " file" + toDisplayString(unref(selectedStats).files === 1 ? "" : "s"), 1),
2726
+ createVNode("span", { class: "text-green-600 dark:text-green-400 shrink-0 font-medium" }, "+" + toDisplayString(unref(selectedStats).linesAdded), 1),
2727
+ createVNode("span", { class: "text-red-600 dark:text-red-400 shrink-0 font-medium" }, "-" + toDisplayString(unref(selectedStats).linesRemoved), 1)
2728
+ ], 64)) : createCommentVNode("", true),
2729
+ unref(selectedStats).unreviewed > 0 ? (openBlock(), createBlock("span", {
2730
+ key: 1,
2731
+ class: "text-gray-400 text-xs shrink-0"
2732
+ }, " (" + toDisplayString(unref(selectedStats).unreviewed) + " unreviewed) ", 1)) : createCommentVNode("", true)
2733
+ ], 64)) : (openBlock(), createBlock("span", { key: 1 }, "No commits selected"))
2734
+ ]),
2735
+ createVNode(_component_UButton, {
2736
+ color: "neutral",
2737
+ variant: "ghost",
2738
+ onClick: ($event) => emit("update:open", false)
2739
+ }, {
2740
+ default: withCtx(() => [
2741
+ createTextVNode(" Cancel ")
2742
+ ]),
2743
+ _: 1
2744
+ }, 8, ["onClick"]),
2745
+ createVNode(_component_UButton, {
2746
+ color: "primary",
2747
+ disabled: unref(selectedShas).size === 0,
2748
+ onClick: confirm
2749
+ }, {
2750
+ default: withCtx(() => [
2751
+ createTextVNode(" Add to context ")
2752
+ ]),
2753
+ _: 1
2754
+ }, 8, ["disabled"])
2755
+ ])
2756
+ ];
2757
+ }
2758
+ }),
2759
+ _: 1
2760
+ }, _parent));
2761
+ };
2762
+ }
2763
+ });
2764
+ const _sfc_setup$3 = _sfc_main$3.setup;
2765
+ _sfc_main$3.setup = (props, ctx) => {
2766
+ const ssrContext = useSSRContext();
2767
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/cluster/CommitBrowserModal.vue");
2768
+ return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
2769
+ };
2770
+ const __nuxt_component_6 = Object.assign(_sfc_main$3, { __name: "CommitBrowserModal" });
2771
+ function useScmStatusSummary(coverage) {
2772
+ const scmStatus = computed(() => {
2773
+ const scm = coverage.value?.scm;
2774
+ if (!scm)
2775
+ return { color: "text-gray-400", icon: "i-lucide-git-branch", text: "Git context unavailable", detail: "" };
2776
+ if (scm.baseCommitUsed) {
2777
+ if (scm.filesCount === 0) {
2778
+ return {
2779
+ color: "text-yellow-500",
2780
+ icon: "i-lucide-git-branch-plus",
2781
+ text: `Manual baseline ${scm.baseCommitUsed.slice(0, 7)} · fetch failed`,
2782
+ detail: "network error or missing SCM token (check AI settings)"
2783
+ };
2784
+ }
2785
+ const patchNote2 = scm.patchesOmitted ? ", no patches (diff too large)" : scm.patchesTruncated ? `, ${scm.patchedFilesCount} with patches (some cut)` : `, ${scm.patchedFilesCount} with patches`;
2786
+ return {
2787
+ color: "text-blue-500",
2788
+ icon: "i-lucide-git-branch-plus",
2789
+ text: `Manual baseline ${scm.baseCommitUsed.slice(0, 7)} · ${scm.filesCount} files${patchNote2}`,
2790
+ detail: scm.hasLastGreen ? "overrides last passing run baseline" : "no last passing run"
2791
+ };
2792
+ }
2793
+ if (!scm.hasLastGreen)
2794
+ return {
2795
+ color: "text-gray-400",
2796
+ icon: "i-lucide-git-branch",
2797
+ text: "No last passing run",
2798
+ detail: "enter a baseline commit below to enable diff"
2799
+ };
2800
+ if (!scm.hasCommitRange)
2801
+ return {
2802
+ color: "text-gray-400",
2803
+ icon: "i-lucide-git-branch",
2804
+ text: "No commit range",
2805
+ detail: "reporter did not send SCM metadata"
2806
+ };
2807
+ if (!scm.provider)
2808
+ return {
2809
+ color: "text-yellow-500",
2810
+ icon: "i-lucide-git-branch",
2811
+ text: "Unsupported SCM host",
2812
+ detail: "only GitHub, GitLab and Bitbucket are supported"
2813
+ };
2814
+ if (scm.filesCount === 0)
2815
+ return {
2816
+ color: "text-yellow-500",
2817
+ icon: "i-lucide-git-branch",
2818
+ text: `${scm.provider} · fetch failed`,
2819
+ detail: "network error or missing SCM token (check AI settings)"
2820
+ };
2821
+ if (scm.patchesOmitted) {
2822
+ return {
2823
+ color: "text-yellow-500",
2824
+ icon: "i-lucide-git-branch",
2825
+ text: `${scm.provider} · ${scm.filesCount} files`,
2826
+ detail: "diff too large — file list only, no patches"
2827
+ };
2828
+ }
2829
+ const patchNote = scm.patchesTruncated ? ", some patches cut (budget)" : "";
2830
+ const commitNote = scm.commitsCount > 0 ? ` · ${scm.commitsCount} commit${scm.commitsCount > 1 ? "s" : ""}` : "";
2831
+ return {
2832
+ color: "text-green-500",
2833
+ icon: "i-lucide-git-branch",
2834
+ text: `${scm.provider} · ${scm.filesCount} files · ${scm.patchedFilesCount} with patches${patchNote}${commitNote}`,
2835
+ detail: ""
2836
+ };
2837
+ });
2838
+ return { scmStatus };
2839
+ }
2840
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2841
+ __name: "ClusterInvestigation",
2842
+ __ssrInlineRender: true,
2843
+ setup(__props) {
2844
+ const {
2845
+ clusterId,
2846
+ baseCommit,
2847
+ selectedCommitShas,
2848
+ autoSelectedCommits,
2849
+ baseCommitIsPinned,
2850
+ coverage,
2851
+ scmChanges,
2852
+ contextLoading,
2853
+ refreshContext
2854
+ } = useClusterDiagnosis();
2855
+ const commitBrowserOpen = ref(false);
2856
+ const { scmStatus } = useScmStatusSummary(coverage);
2857
+ return (_ctx, _push, _parent, _attrs) => {
2858
+ const _component_HelpHint = __nuxt_component_2;
2859
+ const _component_CommitPicker = __nuxt_component_1;
2860
+ const _component_UTooltip = _sfc_main$a;
2861
+ const _component_UIcon = _sfc_main$p;
2862
+ const _component_UButton = _sfc_main$k;
2863
+ const _component_ScmChangesView = __nuxt_component_5;
2864
+ const _component_CommitBrowserModal = __nuxt_component_6;
2865
+ _push(`<!--[--><div class="space-y-3"><div class="pb-2 border-b border-default"><div class="flex items-center gap-2 flex-wrap"><span class="text-xs text-gray-500 font-medium shrink-0 inline-flex items-center gap-1"> Baseline `);
2866
+ _push(ssrRenderComponent(_component_HelpHint, { topic: "cluster.baseline" }, null, _parent));
2867
+ _push(`</span>`);
2868
+ _push(ssrRenderComponent(_component_CommitPicker, {
2869
+ modelValue: unref(baseCommit),
2870
+ "onUpdate:modelValue": ($event) => isRef(baseCommit) ? baseCommit.value = $event : null,
2871
+ "cluster-id": unref(clusterId)
2872
+ }, null, _parent));
2873
+ if (unref(baseCommitIsPinned)) {
2874
+ _push(ssrRenderComponent(_component_UTooltip, { text: "Baseline commit pinned for this cluster" }, {
2875
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
2876
+ if (_push2) {
2877
+ _push2(ssrRenderComponent(_component_UIcon, {
2878
+ name: "i-lucide-pin",
2879
+ class: "size-3.5 text-primary shrink-0"
2880
+ }, null, _parent2, _scopeId));
2881
+ } else {
2882
+ return [
2883
+ createVNode(_component_UIcon, {
2884
+ name: "i-lucide-pin",
2885
+ class: "size-3.5 text-primary shrink-0"
2886
+ })
2887
+ ];
2888
+ }
2889
+ }),
2890
+ _: 1
2891
+ }, _parent));
2892
+ } else {
2893
+ _push(`<!---->`);
2894
+ }
2895
+ _push(`<div class="flex items-center gap-1.5 ml-auto">`);
2896
+ if (unref(selectedCommitShas).length) {
2897
+ _push(`<div class="flex items-center gap-1 px-2 py-0.5 rounded-full bg-primary/10 text-primary text-xs font-medium">`);
2898
+ _push(ssrRenderComponent(_component_UIcon, {
2899
+ name: "i-lucide-git-commit-horizontal",
2900
+ class: "size-3"
2901
+ }, null, _parent));
2902
+ _push(`<span>${ssrInterpolate(unref(selectedCommitShas).length)} commit${ssrInterpolate(unref(selectedCommitShas).length === 1 ? "" : "s")}</span><button class="ml-0.5 hover:opacity-70 transition-opacity">`);
2903
+ _push(ssrRenderComponent(_component_UIcon, {
2904
+ name: "i-lucide-x",
2905
+ class: "size-3"
2906
+ }, null, _parent));
2907
+ _push(`</button></div>`);
2908
+ } else {
2909
+ _push(`<!---->`);
2910
+ }
2911
+ _push(ssrRenderComponent(_component_UButton, {
2912
+ size: "xs",
2913
+ color: "neutral",
2914
+ variant: "ghost",
2915
+ icon: "i-lucide-list",
2916
+ onClick: ($event) => commitBrowserOpen.value = true
2917
+ }, {
2918
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
2919
+ if (_push2) {
2920
+ _push2(` Browse `);
2921
+ } else {
2922
+ return [
2923
+ createTextVNode(" Browse ")
2924
+ ];
2925
+ }
2926
+ }),
2927
+ _: 1
2928
+ }, _parent));
2929
+ _push(ssrRenderComponent(_component_UButton, {
2930
+ icon: "i-lucide-refresh-cw",
2931
+ size: "xs",
2932
+ color: "neutral",
2933
+ variant: "outline",
2934
+ loading: unref(contextLoading),
2935
+ onClick: unref(refreshContext)
2936
+ }, null, _parent));
2937
+ _push(`</div></div></div>`);
2938
+ if (unref(coverage)) {
2939
+ _push(`<div class="flex items-start gap-1.5 text-xs px-2 py-1.5 rounded-md bg-elevated border border-default">`);
2940
+ _push(ssrRenderComponent(_component_UIcon, {
2941
+ name: unref(scmStatus).icon,
2942
+ class: ["size-3.5 mt-0.5 shrink-0", unref(scmStatus).color]
2943
+ }, null, _parent));
2944
+ _push(`<div><span class="${ssrRenderClass(unref(scmStatus).color)}">${ssrInterpolate(unref(scmStatus).text)}</span>`);
2945
+ if (unref(scmStatus).detail) {
2946
+ _push(`<span class="text-gray-400 ml-1">— ${ssrInterpolate(unref(scmStatus).detail)}</span>`);
2947
+ } else {
2948
+ _push(`<!---->`);
2949
+ }
2950
+ _push(`</div></div>`);
2951
+ } else {
2952
+ _push(`<!---->`);
2953
+ }
2954
+ if (unref(contextLoading) && !unref(scmChanges)) {
2955
+ _push(`<div class="flex items-center justify-center py-6">`);
2956
+ _push(ssrRenderComponent(_component_UIcon, {
2957
+ name: "i-lucide-loader-circle",
2958
+ class: "size-4 animate-spin text-gray-400"
2959
+ }, null, _parent));
2960
+ _push(`</div>`);
2961
+ } else if (unref(scmChanges)) {
2962
+ _push(ssrRenderComponent(_component_ScmChangesView, { changes: unref(scmChanges) }, null, _parent));
2963
+ } else if (unref(coverage) && !unref(contextLoading) && !unref(scmChanges)) {
2964
+ _push(`<p class="text-xs text-gray-400 text-center py-4"> No changes found in this range. </p>`);
2965
+ } else {
2966
+ _push(`<!---->`);
2967
+ }
2968
+ _push(`</div>`);
2969
+ _push(ssrRenderComponent(_component_CommitBrowserModal, {
2970
+ open: unref(commitBrowserOpen),
2971
+ "onUpdate:open": ($event) => isRef(commitBrowserOpen) ? commitBrowserOpen.value = $event : null,
2972
+ "cluster-id": unref(clusterId),
2973
+ "initial-selected": unref(selectedCommitShas),
2974
+ "auto-selected-shas": unref(autoSelectedCommits),
2975
+ onConfirm: ($event) => selectedCommitShas.value = $event
2976
+ }, null, _parent));
2977
+ _push(`<!--]-->`);
2978
+ };
2979
+ }
2980
+ });
2981
+ const _sfc_setup$2 = _sfc_main$2.setup;
2982
+ _sfc_main$2.setup = (props, ctx) => {
2983
+ const ssrContext = useSSRContext();
2984
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/cluster/ClusterInvestigation.vue");
2985
+ return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
2986
+ };
2987
+ const __nuxt_component_19 = Object.assign(_sfc_main$2, { __name: "ClusterInvestigation" });
2988
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2989
+ __name: "ClusterExtractCasesModal",
2990
+ __ssrInlineRender: true,
2991
+ props: {
2992
+ open: { type: Boolean },
2993
+ clusterId: {},
2994
+ affectedTestCases: {},
2995
+ projectKey: {},
2996
+ projectName: {}
2997
+ },
2998
+ emits: ["update:open", "extracted"],
2999
+ setup(__props, { emit: __emit }) {
3000
+ const props = __props;
3001
+ const emit = __emit;
3002
+ const toast = useToast();
3003
+ const selectedIds = ref(/* @__PURE__ */ new Set());
3004
+ const triageNote = ref("");
3005
+ const extracting = ref(false);
3006
+ const error = ref(null);
3007
+ function selectAll() {
3008
+ selectedIds.value = new Set(props.affectedTestCases.map((t) => t.testCaseId));
3009
+ }
3010
+ function deselectAll() {
3011
+ selectedIds.value = /* @__PURE__ */ new Set();
3012
+ }
3013
+ function toggle(id) {
3014
+ const s = new Set(selectedIds.value);
3015
+ if (s.has(id)) s.delete(id);
3016
+ else s.add(id);
3017
+ selectedIds.value = s;
3018
+ }
3019
+ watch(
3020
+ () => props.open,
3021
+ (val) => {
3022
+ if (val) {
3023
+ deselectAll();
3024
+ triageNote.value = "";
3025
+ error.value = null;
3026
+ }
3027
+ }
3028
+ );
3029
+ const selectedCount = computed(() => selectedIds.value.size);
3030
+ async function extract() {
3031
+ if (selectedCount.value === 0) return;
3032
+ extracting.value = true;
3033
+ error.value = null;
3034
+ try {
3035
+ await $fetch(`/api/failure-clusters/${props.clusterId}/extract-cases`, {
3036
+ method: "POST",
3037
+ body: {
3038
+ testCaseIds: [...selectedIds.value],
3039
+ triageNote: triageNote.value.trim() || void 0
3040
+ }
3041
+ });
3042
+ toast.add({
3043
+ title: `Extracted ${selectedCount.value} test ${selectedCount.value === 1 ? "case" : "cases"}`,
3044
+ color: "success"
3045
+ });
3046
+ emit("extracted");
3047
+ emit("update:open", false);
3048
+ } catch (err) {
3049
+ error.value = errorMessage(err);
3050
+ } finally {
3051
+ extracting.value = false;
3052
+ }
3053
+ }
3054
+ return (_ctx, _push, _parent, _attrs) => {
3055
+ const _component_UModal = _sfc_main$e;
3056
+ const _component_NuxtLink = __nuxt_component_12;
3057
+ const _component_OpenInIdeLink = __nuxt_component_1$1;
3058
+ const _component_UTextarea = _sfc_main$c;
3059
+ const _component_UIcon = _sfc_main$p;
3060
+ const _component_UButton = _sfc_main$k;
3061
+ _push(ssrRenderComponent(_component_UModal, mergeProps({
3062
+ open: __props.open,
3063
+ title: "Extract test cases",
3064
+ ui: { content: "max-w-4xl", body: "p-0 flex flex-col overflow-hidden" },
3065
+ "onUpdate:open": ($event) => emit("update:open", $event)
3066
+ }, _attrs), {
3067
+ body: withCtx((_, _push2, _parent2, _scopeId) => {
3068
+ if (_push2) {
3069
+ _push2(`<div class="flex flex-col h-[60vh]"${_scopeId}><div class="flex items-center gap-3 px-4 py-2.5 border-b border-default text-sm shrink-0"${_scopeId}><button class="text-xs font-medium text-primary hover:underline"${_scopeId}>Select all</button><span class="text-gray-300 dark:text-gray-600"${_scopeId}>·</span><button class="text-xs font-medium text-primary hover:underline"${_scopeId}>Deselect all</button>`);
3070
+ if (unref(selectedCount) > 0) {
3071
+ _push2(`<span class="ml-auto text-xs text-gray-500"${_scopeId}>${ssrInterpolate(unref(selectedCount))} selected </span>`);
3072
+ } else {
3073
+ _push2(`<!---->`);
3074
+ }
3075
+ _push2(`</div><div class="flex-1 overflow-y-auto"${_scopeId}><table class="w-full text-sm"${_scopeId}><thead class="sticky top-0 bg-gray-50 dark:bg-gray-800 border-b border-default"${_scopeId}><tr${_scopeId}><th class="w-10 px-4 py-2.5"${_scopeId}></th><th class="text-left px-2 py-2.5 font-medium text-gray-500 text-xs uppercase tracking-wide"${_scopeId}>Test</th><th class="text-left px-2 py-2.5 font-medium text-gray-500 text-xs uppercase tracking-wide hidden sm:table-cell"${_scopeId}> File </th><th class="text-right px-2 py-2.5 font-medium text-gray-500 text-xs uppercase tracking-wide w-20"${_scopeId}> Occurrences </th></tr></thead><tbody${_scopeId}><!--[-->`);
3076
+ ssrRenderList(__props.affectedTestCases, (tc) => {
3077
+ _push2(`<tr class="border-b border-default/50 hover:bg-elevated transition-colors cursor-pointer"${_scopeId}><td class="px-4 py-2.5"${_scopeId}><input type="checkbox"${ssrIncludeBooleanAttr(unref(selectedIds).has(tc.testCaseId)) ? " checked" : ""} class="shrink-0 cursor-pointer accent-primary"${_scopeId}></td><td class="px-2 py-2.5 min-w-0"${_scopeId}><p class="truncate font-medium text-gray-800 dark:text-gray-200 max-w-[24rem]"${_scopeId}>${ssrInterpolate(tc.title)}</p>`);
3078
+ _push2(ssrRenderComponent(_component_NuxtLink, {
3079
+ to: `/test-cases/${tc.testCaseId}`,
3080
+ class: "text-[10px] text-primary hover:underline mt-0.5 inline-block",
3081
+ onClick: () => {
3082
+ }
3083
+ }, {
3084
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
3085
+ if (_push3) {
3086
+ _push3(` View details `);
3087
+ } else {
3088
+ return [
3089
+ createTextVNode(" View details ")
3090
+ ];
3091
+ }
3092
+ }),
3093
+ _: 2
3094
+ }, _parent2, _scopeId));
3095
+ _push2(`</td><td class="px-2 py-2.5 text-gray-500 text-xs max-w-[16rem] hidden sm:table-cell"${_scopeId}>`);
3096
+ _push2(ssrRenderComponent(_component_OpenInIdeLink, {
3097
+ "file-path": tc.filePath,
3098
+ "project-key": __props.projectKey,
3099
+ "project-name": __props.projectName,
3100
+ class: "max-w-full"
3101
+ }, null, _parent2, _scopeId));
3102
+ _push2(`</td><td class="px-2 py-2.5 text-right text-gray-500 text-xs"${_scopeId}>${ssrInterpolate(tc.runCount)}</td></tr>`);
3103
+ });
3104
+ _push2(`<!--]-->`);
3105
+ if (__props.affectedTestCases.length === 0) {
3106
+ _push2(`<tr${_scopeId}><td colspan="4" class="px-4 py-8 text-center text-gray-400 text-sm"${_scopeId}>No test cases in this cluster.</td></tr>`);
3107
+ } else {
3108
+ _push2(`<!---->`);
3109
+ }
3110
+ _push2(`</tbody></table></div><div class="shrink-0 border-t border-default px-4 py-3 space-y-1.5"${_scopeId}><label class="text-xs font-medium text-gray-500 uppercase tracking-wide"${_scopeId}>Triage note (optional)</label>`);
3111
+ _push2(ssrRenderComponent(_component_UTextarea, {
3112
+ modelValue: unref(triageNote),
3113
+ "onUpdate:modelValue": ($event) => isRef(triageNote) ? triageNote.value = $event : null,
3114
+ placeholder: "Add a note explaining why these tests were extracted…",
3115
+ rows: 2,
3116
+ class: "text-sm w-full"
3117
+ }, null, _parent2, _scopeId));
3118
+ _push2(`</div>`);
3119
+ if (unref(error)) {
3120
+ _push2(`<p class="shrink-0 px-4 pb-3 flex items-center gap-1.5 text-xs text-red-500"${_scopeId}>`);
3121
+ _push2(ssrRenderComponent(_component_UIcon, {
3122
+ name: "i-lucide-circle-alert",
3123
+ class: "size-3.5 shrink-0"
3124
+ }, null, _parent2, _scopeId));
3125
+ _push2(` ${ssrInterpolate(unref(error))}</p>`);
3126
+ } else {
3127
+ _push2(`<!---->`);
3128
+ }
3129
+ _push2(`</div>`);
3130
+ } else {
3131
+ return [
3132
+ createVNode("div", { class: "flex flex-col h-[60vh]" }, [
3133
+ createVNode("div", { class: "flex items-center gap-3 px-4 py-2.5 border-b border-default text-sm shrink-0" }, [
3134
+ createVNode("button", {
3135
+ class: "text-xs font-medium text-primary hover:underline",
3136
+ onClick: selectAll
3137
+ }, "Select all"),
3138
+ createVNode("span", { class: "text-gray-300 dark:text-gray-600" }, "·"),
3139
+ createVNode("button", {
3140
+ class: "text-xs font-medium text-primary hover:underline",
3141
+ onClick: deselectAll
3142
+ }, "Deselect all"),
3143
+ unref(selectedCount) > 0 ? (openBlock(), createBlock("span", {
3144
+ key: 0,
3145
+ class: "ml-auto text-xs text-gray-500"
3146
+ }, toDisplayString(unref(selectedCount)) + " selected ", 1)) : createCommentVNode("", true)
3147
+ ]),
3148
+ createVNode("div", { class: "flex-1 overflow-y-auto" }, [
3149
+ createVNode("table", { class: "w-full text-sm" }, [
3150
+ createVNode("thead", { class: "sticky top-0 bg-gray-50 dark:bg-gray-800 border-b border-default" }, [
3151
+ createVNode("tr", null, [
3152
+ createVNode("th", { class: "w-10 px-4 py-2.5" }),
3153
+ createVNode("th", { class: "text-left px-2 py-2.5 font-medium text-gray-500 text-xs uppercase tracking-wide" }, "Test"),
3154
+ createVNode("th", { class: "text-left px-2 py-2.5 font-medium text-gray-500 text-xs uppercase tracking-wide hidden sm:table-cell" }, " File "),
3155
+ createVNode("th", { class: "text-right px-2 py-2.5 font-medium text-gray-500 text-xs uppercase tracking-wide w-20" }, " Occurrences ")
3156
+ ])
3157
+ ]),
3158
+ createVNode("tbody", null, [
3159
+ (openBlock(true), createBlock(Fragment, null, renderList(__props.affectedTestCases, (tc) => {
3160
+ return openBlock(), createBlock("tr", {
3161
+ key: tc.testCaseId,
3162
+ class: "border-b border-default/50 hover:bg-elevated transition-colors cursor-pointer",
3163
+ onClick: ($event) => toggle(tc.testCaseId)
3164
+ }, [
3165
+ createVNode("td", { class: "px-4 py-2.5" }, [
3166
+ createVNode("input", {
3167
+ type: "checkbox",
3168
+ checked: unref(selectedIds).has(tc.testCaseId),
3169
+ class: "shrink-0 cursor-pointer accent-primary",
3170
+ onClick: withModifiers(() => {
3171
+ }, ["stop"]),
3172
+ onChange: ($event) => toggle(tc.testCaseId)
3173
+ }, null, 40, ["checked", "onClick", "onChange"])
3174
+ ]),
3175
+ createVNode("td", { class: "px-2 py-2.5 min-w-0" }, [
3176
+ createVNode("p", { class: "truncate font-medium text-gray-800 dark:text-gray-200 max-w-[24rem]" }, toDisplayString(tc.title), 1),
3177
+ createVNode(_component_NuxtLink, {
3178
+ to: `/test-cases/${tc.testCaseId}`,
3179
+ class: "text-[10px] text-primary hover:underline mt-0.5 inline-block",
3180
+ onClick: withModifiers(() => {
3181
+ }, ["stop"])
3182
+ }, {
3183
+ default: withCtx(() => [
3184
+ createTextVNode(" View details ")
3185
+ ]),
3186
+ _: 1
3187
+ }, 8, ["to", "onClick"])
3188
+ ]),
3189
+ createVNode("td", { class: "px-2 py-2.5 text-gray-500 text-xs max-w-[16rem] hidden sm:table-cell" }, [
3190
+ createVNode(_component_OpenInIdeLink, {
3191
+ "file-path": tc.filePath,
3192
+ "project-key": __props.projectKey,
3193
+ "project-name": __props.projectName,
3194
+ class: "max-w-full"
3195
+ }, null, 8, ["file-path", "project-key", "project-name"])
3196
+ ]),
3197
+ createVNode("td", { class: "px-2 py-2.5 text-right text-gray-500 text-xs" }, toDisplayString(tc.runCount), 1)
3198
+ ], 8, ["onClick"]);
3199
+ }), 128)),
3200
+ __props.affectedTestCases.length === 0 ? (openBlock(), createBlock("tr", { key: 0 }, [
3201
+ createVNode("td", {
3202
+ colspan: "4",
3203
+ class: "px-4 py-8 text-center text-gray-400 text-sm"
3204
+ }, "No test cases in this cluster.")
3205
+ ])) : createCommentVNode("", true)
3206
+ ])
3207
+ ])
3208
+ ]),
3209
+ createVNode("div", { class: "shrink-0 border-t border-default px-4 py-3 space-y-1.5" }, [
3210
+ createVNode("label", { class: "text-xs font-medium text-gray-500 uppercase tracking-wide" }, "Triage note (optional)"),
3211
+ createVNode(_component_UTextarea, {
3212
+ modelValue: unref(triageNote),
3213
+ "onUpdate:modelValue": ($event) => isRef(triageNote) ? triageNote.value = $event : null,
3214
+ placeholder: "Add a note explaining why these tests were extracted…",
3215
+ rows: 2,
3216
+ class: "text-sm w-full"
3217
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
3218
+ ]),
3219
+ unref(error) ? (openBlock(), createBlock("p", {
3220
+ key: 0,
3221
+ class: "shrink-0 px-4 pb-3 flex items-center gap-1.5 text-xs text-red-500"
3222
+ }, [
3223
+ createVNode(_component_UIcon, {
3224
+ name: "i-lucide-circle-alert",
3225
+ class: "size-3.5 shrink-0"
3226
+ }),
3227
+ createTextVNode(" " + toDisplayString(unref(error)), 1)
3228
+ ])) : createCommentVNode("", true)
3229
+ ])
3230
+ ];
3231
+ }
3232
+ }),
3233
+ footer: withCtx((_, _push2, _parent2, _scopeId) => {
3234
+ if (_push2) {
3235
+ _push2(`<div class="flex items-center gap-3 w-full"${_scopeId}><div class="flex-1"${_scopeId}></div>`);
3236
+ _push2(ssrRenderComponent(_component_UButton, {
3237
+ color: "neutral",
3238
+ variant: "ghost",
3239
+ disabled: unref(extracting),
3240
+ onClick: ($event) => emit("update:open", false)
3241
+ }, {
3242
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
3243
+ if (_push3) {
3244
+ _push3(` Cancel `);
3245
+ } else {
3246
+ return [
3247
+ createTextVNode(" Cancel ")
3248
+ ];
3249
+ }
3250
+ }),
3251
+ _: 1
3252
+ }, _parent2, _scopeId));
3253
+ _push2(ssrRenderComponent(_component_UButton, {
3254
+ color: "warning",
3255
+ disabled: unref(selectedCount) === 0,
3256
+ loading: unref(extracting),
3257
+ onClick: extract
3258
+ }, {
3259
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
3260
+ if (_push3) {
3261
+ _push3(` Extract${ssrInterpolate(unref(selectedCount) > 0 ? ` ${unref(selectedCount)}` : "")}`);
3262
+ } else {
3263
+ return [
3264
+ createTextVNode(" Extract" + toDisplayString(unref(selectedCount) > 0 ? ` ${unref(selectedCount)}` : ""), 1)
3265
+ ];
3266
+ }
3267
+ }),
3268
+ _: 1
3269
+ }, _parent2, _scopeId));
3270
+ _push2(`</div>`);
3271
+ } else {
3272
+ return [
3273
+ createVNode("div", { class: "flex items-center gap-3 w-full" }, [
3274
+ createVNode("div", { class: "flex-1" }),
3275
+ createVNode(_component_UButton, {
3276
+ color: "neutral",
3277
+ variant: "ghost",
3278
+ disabled: unref(extracting),
3279
+ onClick: ($event) => emit("update:open", false)
3280
+ }, {
3281
+ default: withCtx(() => [
3282
+ createTextVNode(" Cancel ")
3283
+ ]),
3284
+ _: 1
3285
+ }, 8, ["disabled", "onClick"]),
3286
+ createVNode(_component_UButton, {
3287
+ color: "warning",
3288
+ disabled: unref(selectedCount) === 0,
3289
+ loading: unref(extracting),
3290
+ onClick: extract
3291
+ }, {
3292
+ default: withCtx(() => [
3293
+ createTextVNode(" Extract" + toDisplayString(unref(selectedCount) > 0 ? ` ${unref(selectedCount)}` : ""), 1)
3294
+ ]),
3295
+ _: 1
3296
+ }, 8, ["disabled", "loading"])
3297
+ ])
3298
+ ];
3299
+ }
3300
+ }),
3301
+ _: 1
3302
+ }, _parent));
3303
+ };
3304
+ }
3305
+ });
3306
+ const _sfc_setup$1 = _sfc_main$1.setup;
3307
+ _sfc_main$1.setup = (props, ctx) => {
3308
+ const ssrContext = useSSRContext();
3309
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/cluster/ClusterExtractCasesModal.vue");
3310
+ return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
3311
+ };
3312
+ const __nuxt_component_21 = Object.assign(_sfc_main$1, { __name: "ClusterExtractCasesModal" });
3313
+ const _sfc_main = /* @__PURE__ */ defineComponent({
3314
+ __name: "[id]",
3315
+ __ssrInlineRender: true,
3316
+ async setup(__props) {
3317
+ let __temp, __restore;
3318
+ const route = useRoute();
3319
+ const clusterId = parseInt(String(route.params.id));
3320
+ const clusterDiagnosis = provideClusterDiagnosis(clusterId);
3321
+ const { data: cluster, refresh } = ([__temp, __restore] = withAsyncContext(() => useFetch(
3322
+ `/api/failure-clusters/${clusterId}`,
3323
+ "$Io0yQjh0TH"
3324
+ /* nuxt-injected */
3325
+ )), __temp = await __temp, __restore(), __temp);
3326
+ useHead(computed(() => ({ title: `${cluster.value?.signature ?? "Failure cluster"} — Piwi Dashboard` })));
3327
+ const triageStatus = ref(cluster.value?.status ?? "open");
3328
+ const triageNote = ref(cluster.value?.triageNote ?? "");
3329
+ const triageSaving = ref(false);
3330
+ watch(
3331
+ () => cluster.value?.status,
3332
+ (v) => {
3333
+ if (v) triageStatus.value = v;
3334
+ }
3335
+ );
3336
+ watch(
3337
+ () => cluster.value?.triageNote,
3338
+ (v) => {
3339
+ triageNote.value = v ?? "";
3340
+ }
3341
+ );
3342
+ const triageChanged = computed(
3343
+ () => triageStatus.value !== (cluster.value?.status ?? "open") || triageNote.value.trim() !== (cluster.value?.triageNote ?? "")
3344
+ );
3345
+ async function saveTriage() {
3346
+ triageSaving.value = true;
3347
+ try {
3348
+ await $fetch(`/api/failure-clusters/${clusterId}/status`, {
3349
+ method: "PATCH",
3350
+ body: { status: triageStatus.value, triageNote: triageNote.value.trim() || null }
3351
+ });
3352
+ refresh();
3353
+ } finally {
3354
+ triageSaving.value = false;
3355
+ }
3356
+ }
3357
+ const extractModalOpen = ref(false);
3358
+ function onExtracted() {
3359
+ extractModalOpen.value = false;
3360
+ refresh();
3361
+ }
3362
+ const { copyRich, copied: clusterCopied } = useCopyRich();
3363
+ function copyCluster() {
3364
+ const c = cluster.value;
3365
+ if (!c) return;
3366
+ const url = (void 0).location.href;
3367
+ const esc = (s) => s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
3368
+ const meta = [
3369
+ c.errorType,
3370
+ `${c.occurrences} occurrence${c.occurrences === 1 ? "" : "s"}`,
3371
+ `${c.affectedTests} test${c.affectedTests === 1 ? "" : "s"} affected`,
3372
+ c.status !== "open" ? c.status : null
3373
+ ].filter(Boolean).join(" · ");
3374
+ const aiSummary = c.diagnosis?.status === "completed" && c.diagnosis.summary ? `AI diagnosis (${c.diagnosis.category ?? "unknown"}, ${c.diagnosis.confidence ?? "?"} confidence): ${c.diagnosis.summary}` : null;
3375
+ const plain = [
3376
+ `❌ Failure cluster: ${c.signature}`,
3377
+ meta,
3378
+ "",
3379
+ ...c.sampleError ? ["Sample error:", stripAnsi(c.sampleError), ""] : [],
3380
+ ...aiSummary ? [aiSummary, ""] : [],
3381
+ `Cluster: ${url}`
3382
+ ].join("\n");
3383
+ const html = [
3384
+ `<p><strong>❌ Failure cluster</strong>: <code>${esc(c.signature)}</code></p>`,
3385
+ `<p><em>${esc(meta)}</em></p>`,
3386
+ c.sampleError ? `<p><strong>Sample error:</strong></p><pre>${renderAnsi(c.sampleError)}</pre>` : "",
3387
+ aiSummary ? `<p><strong>AI diagnosis</strong> (${esc(c.diagnosis?.category ?? "unknown")}, ${esc(c.diagnosis?.confidence ?? "?")} confidence):<br>${esc(c.diagnosis.summary)}</p>` : "",
3388
+ `<p>🔗 <a href="${url}">View failure cluster</a></p>`
3389
+ ].join("");
3390
+ copyRich(plain, html, { toast: "Failure cluster copied" });
3391
+ }
3392
+ const errorPeek = computed(() => {
3393
+ const raw = cluster.value?.sampleError;
3394
+ if (!raw) return "";
3395
+ return stripAnsi(raw).split("\n").find((l) => l.trim()) ?? "";
3396
+ });
3397
+ const { scmStatus } = useScmStatusSummary(clusterDiagnosis.coverage);
3398
+ const affectedRetryCases = computed(
3399
+ () => (cluster.value?.affectedTestCases ?? []).map((tc) => ({
3400
+ filePath: tc.filePath,
3401
+ title: tc.title,
3402
+ line: null,
3403
+ projectName: null
3404
+ }))
3405
+ );
3406
+ const retryCommand = computed(() => buildRetryCommand(affectedRetryCases.value));
3407
+ const { copy: copyRetry, copied: retryCopied } = useCopy();
3408
+ const errorSection = ref(null);
3409
+ const evidenceSection = ref(null);
3410
+ const scmSection = ref(null);
3411
+ const envDiffSection = ref(null);
3412
+ const visualDiffSection = ref(null);
3413
+ const domSnapshotSection = ref(null);
3414
+ const sectionToCard = {
3415
+ sampleError: () => errorSection.value,
3416
+ executionError: () => errorSection.value,
3417
+ environmentDiff: () => envDiffSection.value,
3418
+ visualDiff: () => visualDiffSection.value,
3419
+ domSnapshot: () => domSnapshotSection.value,
3420
+ scmInvestigation: () => scmSection.value,
3421
+ selectedCommits: () => scmSection.value,
3422
+ topSuspectedCommit: () => scmSection.value,
3423
+ failingAction: () => scmSection.value,
3424
+ affectedTests: () => evidenceSection.value,
3425
+ testSource: () => evidenceSection.value,
3426
+ sourceFiles: () => evidenceSection.value,
3427
+ steps: () => evidenceSection.value,
3428
+ failingSteps: () => evidenceSection.value,
3429
+ console: () => evidenceSection.value,
3430
+ networkRequests: () => evidenceSection.value,
3431
+ serverTraces: () => evidenceSection.value,
3432
+ ariaSnapshot: () => evidenceSection.value,
3433
+ screenshots: () => evidenceSection.value,
3434
+ tracePointers: () => evidenceSection.value,
3435
+ artifacts: () => evidenceSection.value
3436
+ };
3437
+ provide(clusterSectionLocatorKey, {
3438
+ canLocate: (id) => id in sectionToCard,
3439
+ open: (id) => sectionToCard[id]?.()?.reveal()
3440
+ });
3441
+ const breadcrumbItems = computed(() => [
3442
+ { label: "Home", icon: "i-lucide-house", to: "/" },
3443
+ { label: "Projects", to: "/projects" },
3444
+ ...cluster.value?.project ? [
3445
+ {
3446
+ label: cluster.value.project.label || cluster.value.project.name || "Project",
3447
+ to: `/projects/${cluster.value.project.id}?tab=failure-clusters`
3448
+ }
3449
+ ] : [{ label: "Project" }],
3450
+ { label: `Failure cluster #${clusterId}` }
3451
+ ]);
3452
+ return (_ctx, _push, _parent, _attrs) => {
3453
+ const _component_UDashboardPanel = _sfc_main$1$1;
3454
+ const _component_UDashboardNavbar = _sfc_main$b;
3455
+ const _component_UDashboardSidebarCollapse = _sfc_main$1$2;
3456
+ const _component_BreadcrumbNav = __nuxt_component_3;
3457
+ const _component_ShareLinksModal = __nuxt_component_6$1;
3458
+ const _component_ExportMenu = __nuxt_component_7$1;
3459
+ const _component_UTooltip = _sfc_main$a;
3460
+ const _component_UButton = _sfc_main$k;
3461
+ const _component_ClusterSummary = __nuxt_component_8$2;
3462
+ const _component_CollapsibleSectionCard = __nuxt_component_27;
3463
+ const _component_LocatorHealingPanel = __nuxt_component_21$1;
3464
+ const _component_EnvironmentDiffCard = __nuxt_component_22;
3465
+ const _component_VisualDiffCard = __nuxt_component_23;
3466
+ const _component_DomSnapshotCard = __nuxt_component_29;
3467
+ const _component_OpenInIdeLink = __nuxt_component_1$1;
3468
+ const _component_UBadge = _sfc_main$7$1;
3469
+ const _component_DesktopRunLocallyButton = __nuxt_component_14;
3470
+ const _component_ClusterTestEvidence = __nuxt_component_17;
3471
+ const _component_UIcon = _sfc_main$p;
3472
+ const _component_ClusterInvestigation = __nuxt_component_19;
3473
+ const _component_DiagnosisPanel = __nuxt_component_0;
3474
+ const _component_ClusterExtractCasesModal = __nuxt_component_21;
3475
+ _push(`<!--[-->`);
3476
+ _push(ssrRenderComponent(_component_UDashboardPanel, { id: "failure-cluster-detail" }, {
3477
+ header: withCtx((_, _push2, _parent2, _scopeId) => {
3478
+ if (_push2) {
3479
+ _push2(ssrRenderComponent(_component_UDashboardNavbar, null, {
3480
+ leading: withCtx((_2, _push3, _parent3, _scopeId2) => {
3481
+ if (_push3) {
3482
+ _push3(ssrRenderComponent(_component_UDashboardSidebarCollapse, null, null, _parent3, _scopeId2));
3483
+ _push3(ssrRenderComponent(_component_BreadcrumbNav, { items: unref(breadcrumbItems) }, null, _parent3, _scopeId2));
3484
+ } else {
3485
+ return [
3486
+ createVNode(_component_UDashboardSidebarCollapse),
3487
+ createVNode(_component_BreadcrumbNav, { items: unref(breadcrumbItems) }, null, 8, ["items"])
3488
+ ];
3489
+ }
3490
+ }),
3491
+ right: withCtx((_2, _push3, _parent3, _scopeId2) => {
3492
+ if (_push3) {
3493
+ if (unref(cluster)) {
3494
+ _push3(ssrRenderComponent(_component_ShareLinksModal, {
3495
+ endpoint: `/api/failure-clusters/${unref(cluster).id}/share-links`
3496
+ }, null, _parent3, _scopeId2));
3497
+ } else {
3498
+ _push3(`<!---->`);
3499
+ }
3500
+ if (unref(cluster)) {
3501
+ _push3(ssrRenderComponent(_component_ExportMenu, {
3502
+ endpoint: `/api/failure-clusters/${unref(cluster).id}/export`,
3503
+ "base-name": `piwi-cluster-${unref(cluster).id}`
3504
+ }, null, _parent3, _scopeId2));
3505
+ } else {
3506
+ _push3(`<!---->`);
3507
+ }
3508
+ if (unref(cluster)) {
3509
+ _push3(ssrRenderComponent(_component_UTooltip, {
3510
+ text: unref(clusterCopied) ? "Copied!" : "Copy failure cluster"
3511
+ }, {
3512
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
3513
+ if (_push4) {
3514
+ _push4(ssrRenderComponent(_component_UButton, {
3515
+ size: "sm",
3516
+ variant: "ghost",
3517
+ color: "neutral",
3518
+ icon: unref(clusterCopied) ? "i-lucide-check" : "i-lucide-clipboard",
3519
+ onClick: copyCluster
3520
+ }, null, _parent4, _scopeId3));
3521
+ } else {
3522
+ return [
3523
+ createVNode(_component_UButton, {
3524
+ size: "sm",
3525
+ variant: "ghost",
3526
+ color: "neutral",
3527
+ icon: unref(clusterCopied) ? "i-lucide-check" : "i-lucide-clipboard",
3528
+ onClick: copyCluster
3529
+ }, null, 8, ["icon"])
3530
+ ];
3531
+ }
3532
+ }),
3533
+ _: 1
3534
+ }, _parent3, _scopeId2));
3535
+ } else {
3536
+ _push3(`<!---->`);
3537
+ }
3538
+ } else {
3539
+ return [
3540
+ unref(cluster) ? (openBlock(), createBlock(_component_ShareLinksModal, {
3541
+ key: 0,
3542
+ endpoint: `/api/failure-clusters/${unref(cluster).id}/share-links`
3543
+ }, null, 8, ["endpoint"])) : createCommentVNode("", true),
3544
+ unref(cluster) ? (openBlock(), createBlock(_component_ExportMenu, {
3545
+ key: 1,
3546
+ endpoint: `/api/failure-clusters/${unref(cluster).id}/export`,
3547
+ "base-name": `piwi-cluster-${unref(cluster).id}`
3548
+ }, null, 8, ["endpoint", "base-name"])) : createCommentVNode("", true),
3549
+ unref(cluster) ? (openBlock(), createBlock(_component_UTooltip, {
3550
+ key: 2,
3551
+ text: unref(clusterCopied) ? "Copied!" : "Copy failure cluster"
3552
+ }, {
3553
+ default: withCtx(() => [
3554
+ createVNode(_component_UButton, {
3555
+ size: "sm",
3556
+ variant: "ghost",
3557
+ color: "neutral",
3558
+ icon: unref(clusterCopied) ? "i-lucide-check" : "i-lucide-clipboard",
3559
+ onClick: copyCluster
3560
+ }, null, 8, ["icon"])
3561
+ ]),
3562
+ _: 1
3563
+ }, 8, ["text"])) : createCommentVNode("", true)
3564
+ ];
3565
+ }
3566
+ }),
3567
+ _: 1
3568
+ }, _parent2, _scopeId));
3569
+ } else {
3570
+ return [
3571
+ createVNode(_component_UDashboardNavbar, null, {
3572
+ leading: withCtx(() => [
3573
+ createVNode(_component_UDashboardSidebarCollapse),
3574
+ createVNode(_component_BreadcrumbNav, { items: unref(breadcrumbItems) }, null, 8, ["items"])
3575
+ ]),
3576
+ right: withCtx(() => [
3577
+ unref(cluster) ? (openBlock(), createBlock(_component_ShareLinksModal, {
3578
+ key: 0,
3579
+ endpoint: `/api/failure-clusters/${unref(cluster).id}/share-links`
3580
+ }, null, 8, ["endpoint"])) : createCommentVNode("", true),
3581
+ unref(cluster) ? (openBlock(), createBlock(_component_ExportMenu, {
3582
+ key: 1,
3583
+ endpoint: `/api/failure-clusters/${unref(cluster).id}/export`,
3584
+ "base-name": `piwi-cluster-${unref(cluster).id}`
3585
+ }, null, 8, ["endpoint", "base-name"])) : createCommentVNode("", true),
3586
+ unref(cluster) ? (openBlock(), createBlock(_component_UTooltip, {
3587
+ key: 2,
3588
+ text: unref(clusterCopied) ? "Copied!" : "Copy failure cluster"
3589
+ }, {
3590
+ default: withCtx(() => [
3591
+ createVNode(_component_UButton, {
3592
+ size: "sm",
3593
+ variant: "ghost",
3594
+ color: "neutral",
3595
+ icon: unref(clusterCopied) ? "i-lucide-check" : "i-lucide-clipboard",
3596
+ onClick: copyCluster
3597
+ }, null, 8, ["icon"])
3598
+ ]),
3599
+ _: 1
3600
+ }, 8, ["text"])) : createCommentVNode("", true)
3601
+ ]),
3602
+ _: 1
3603
+ })
3604
+ ];
3605
+ }
3606
+ }),
3607
+ body: withCtx((_, _push2, _parent2, _scopeId) => {
3608
+ if (_push2) {
3609
+ if (unref(cluster)) {
3610
+ _push2(`<div class="flex flex-col h-full min-h-0 max-xl:overflow-y-auto xl:overflow-hidden"${_scopeId}><div class="border-b border-default shrink-0"${_scopeId}>`);
3611
+ _push2(ssrRenderComponent(_component_ClusterSummary, {
3612
+ cluster: unref(cluster),
3613
+ "triage-status": unref(triageStatus),
3614
+ "triage-note": unref(triageNote),
3615
+ "triage-saving": unref(triageSaving),
3616
+ "triage-changed": unref(triageChanged),
3617
+ "onUpdate:triageStatus": ($event) => triageStatus.value = $event,
3618
+ "onUpdate:triageNote": ($event) => triageNote.value = $event,
3619
+ onSaveTriage: saveTriage
3620
+ }, null, _parent2, _scopeId));
3621
+ _push2(`</div><div class="grid grid-cols-1 xl:grid-cols-[3fr_2fr] gap-4 p-1 xl:flex-1 xl:min-h-0 xl:overflow-hidden"${_scopeId}><div class="space-y-4 xl:overflow-y-auto"${_scopeId}>`);
3622
+ if (unref(cluster).sampleError) {
3623
+ _push2(ssrRenderComponent(_component_CollapsibleSectionCard, {
3624
+ ref_key: "errorSection",
3625
+ ref: errorSection,
3626
+ "storage-key": "cluster-error",
3627
+ icon: "i-lucide-circle-x",
3628
+ "icon-class": "text-red-500",
3629
+ title: "Error message"
3630
+ }, {
3631
+ folded: withCtx((_2, _push3, _parent3, _scopeId2) => {
3632
+ if (_push3) {
3633
+ _push3(`<span class="font-mono text-xs"${_scopeId2}>${ssrInterpolate(unref(errorPeek))}</span>`);
3634
+ } else {
3635
+ return [
3636
+ createVNode("span", { class: "font-mono text-xs" }, toDisplayString(unref(errorPeek)), 1)
3637
+ ];
3638
+ }
3639
+ }),
3640
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
3641
+ if (_push3) {
3642
+ _push3(`<div class="text-xs font-mono overflow-x-auto whitespace-pre-wrap"${_scopeId2}>${unref(renderAnsi)(unref(cluster).sampleError) ?? ""}</div>`);
3643
+ } else {
3644
+ return [
3645
+ createVNode("div", {
3646
+ class: "text-xs font-mono overflow-x-auto whitespace-pre-wrap",
3647
+ innerHTML: unref(renderAnsi)(unref(cluster).sampleError)
3648
+ }, null, 8, ["innerHTML"])
3649
+ ];
3650
+ }
3651
+ }),
3652
+ _: 1
3653
+ }, _parent2, _scopeId));
3654
+ } else {
3655
+ _push2(`<!---->`);
3656
+ }
3657
+ if (unref(cluster).affectedTestCases?.length && unref(cluster).affectedTestCases[0]?.recentTestRunsCaseId) {
3658
+ _push2(ssrRenderComponent(_component_LocatorHealingPanel, {
3659
+ ref: "locatorSection",
3660
+ "storage-key": "cluster-locators",
3661
+ "run-id": unref(cluster).lastSeenRunId,
3662
+ "test-runs-case-id": unref(cluster).affectedTestCases[0].recentTestRunsCaseId,
3663
+ "affected-count": unref(cluster).affectedTestCases.length
3664
+ }, null, _parent2, _scopeId));
3665
+ } else {
3666
+ _push2(`<!---->`);
3667
+ }
3668
+ if (unref(cluster).affectedTestCases?.length && unref(cluster).affectedTestCases[0]?.recentTestRunsCaseId) {
3669
+ _push2(ssrRenderComponent(_component_EnvironmentDiffCard, {
3670
+ ref_key: "envDiffSection",
3671
+ ref: envDiffSection,
3672
+ "storage-key": "cluster-env-diff",
3673
+ "run-id": unref(cluster).lastSeenRunId,
3674
+ "test-runs-case-id": unref(cluster).affectedTestCases[0].recentTestRunsCaseId
3675
+ }, null, _parent2, _scopeId));
3676
+ } else {
3677
+ _push2(`<!---->`);
3678
+ }
3679
+ if (unref(cluster).affectedTestCases?.length && unref(cluster).affectedTestCases[0]?.recentTestRunsCaseId) {
3680
+ _push2(ssrRenderComponent(_component_VisualDiffCard, {
3681
+ ref_key: "visualDiffSection",
3682
+ ref: visualDiffSection,
3683
+ "storage-key": "cluster-visual-diff",
3684
+ "run-id": unref(cluster).lastSeenRunId,
3685
+ "test-runs-case-id": unref(cluster).affectedTestCases[0].recentTestRunsCaseId
3686
+ }, null, _parent2, _scopeId));
3687
+ } else {
3688
+ _push2(`<!---->`);
3689
+ }
3690
+ if (unref(cluster).affectedTestCases?.length && unref(cluster).affectedTestCases[0]?.recentTestRunsCaseId) {
3691
+ _push2(ssrRenderComponent(_component_DomSnapshotCard, {
3692
+ ref_key: "domSnapshotSection",
3693
+ ref: domSnapshotSection,
3694
+ "storage-key": "cluster-dom-snapshot",
3695
+ "run-id": unref(cluster).lastSeenRunId,
3696
+ "test-runs-case-id": unref(cluster).affectedTestCases[0].recentTestRunsCaseId
3697
+ }, null, _parent2, _scopeId));
3698
+ } else {
3699
+ _push2(`<!---->`);
3700
+ }
3701
+ if (unref(cluster).affectedTestCases?.length) {
3702
+ _push2(ssrRenderComponent(_component_CollapsibleSectionCard, {
3703
+ ref_key: "evidenceSection",
3704
+ ref: evidenceSection,
3705
+ "storage-key": "cluster-evidence",
3706
+ icon: "i-lucide-flask-conical",
3707
+ title: "Test evidence",
3708
+ help: "cluster.evidence"
3709
+ }, {
3710
+ folded: withCtx((_2, _push3, _parent3, _scopeId2) => {
3711
+ if (_push3) {
3712
+ _push3(`${ssrInterpolate(unref(cluster).affectedTests)} ${ssrInterpolate(unref(cluster).affectedTests === 1 ? "test" : "tests")} · ${ssrInterpolate(unref(cluster).occurrences)} occurrence${ssrInterpolate(unref(cluster).occurrences === 1 ? "" : "s")} · `);
3713
+ if (unref(cluster).affectedTestCases[0]?.filePath) {
3714
+ _push3(ssrRenderComponent(_component_OpenInIdeLink, {
3715
+ "file-path": unref(cluster).affectedTestCases[0].filePath,
3716
+ "project-key": unref(cluster).project?.id,
3717
+ "project-name": unref(cluster).project?.name,
3718
+ class: "text-xs"
3719
+ }, null, _parent3, _scopeId2));
3720
+ } else {
3721
+ _push3(`<!---->`);
3722
+ }
3723
+ } else {
3724
+ return [
3725
+ createTextVNode(toDisplayString(unref(cluster).affectedTests) + " " + toDisplayString(unref(cluster).affectedTests === 1 ? "test" : "tests") + " · " + toDisplayString(unref(cluster).occurrences) + " occurrence" + toDisplayString(unref(cluster).occurrences === 1 ? "" : "s") + " · ", 1),
3726
+ unref(cluster).affectedTestCases[0]?.filePath ? (openBlock(), createBlock(_component_OpenInIdeLink, {
3727
+ key: 0,
3728
+ "file-path": unref(cluster).affectedTestCases[0].filePath,
3729
+ "project-key": unref(cluster).project?.id,
3730
+ "project-name": unref(cluster).project?.name,
3731
+ class: "text-xs"
3732
+ }, null, 8, ["file-path", "project-key", "project-name"])) : createCommentVNode("", true)
3733
+ ];
3734
+ }
3735
+ }),
3736
+ actions: withCtx((_2, _push3, _parent3, _scopeId2) => {
3737
+ if (_push3) {
3738
+ _push3(ssrRenderComponent(_component_UBadge, {
3739
+ color: "neutral",
3740
+ variant: "subtle",
3741
+ size: "sm"
3742
+ }, {
3743
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
3744
+ if (_push4) {
3745
+ _push4(`${ssrInterpolate(unref(cluster).affectedTestCases.length)} ${ssrInterpolate(unref(cluster).affectedTestCases.length === 1 ? "test" : "tests")}`);
3746
+ } else {
3747
+ return [
3748
+ createTextVNode(toDisplayString(unref(cluster).affectedTestCases.length) + " " + toDisplayString(unref(cluster).affectedTestCases.length === 1 ? "test" : "tests"), 1)
3749
+ ];
3750
+ }
3751
+ }),
3752
+ _: 1
3753
+ }, _parent3, _scopeId2));
3754
+ _push3(ssrRenderComponent(_component_UButton, {
3755
+ size: "xs",
3756
+ variant: "outline",
3757
+ color: "neutral",
3758
+ icon: unref(retryCopied) ? "i-lucide-check" : "i-lucide-play",
3759
+ title: unref(retryCopied) ? "Copied!" : ("copyPreview" in _ctx ? _ctx.copyPreview : unref(copyPreview))(unref(retryCommand)),
3760
+ onClick: ($event) => unref(copyRetry)(unref(retryCommand), { toast: "Retry command copied" })
3761
+ }, {
3762
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
3763
+ if (_push4) {
3764
+ _push4(` Copy retry command `);
3765
+ } else {
3766
+ return [
3767
+ createTextVNode(" Copy retry command ")
3768
+ ];
3769
+ }
3770
+ }),
3771
+ _: 1
3772
+ }, _parent3, _scopeId2));
3773
+ _push3(ssrRenderComponent(_component_DesktopRunLocallyButton, {
3774
+ "project-id": unref(cluster).project?.id,
3775
+ "project-label": unref(cluster).project?.name,
3776
+ cases: unref(affectedRetryCases),
3777
+ label: "Run affected locally",
3778
+ "preset-options": { mode: "grep" }
3779
+ }, null, _parent3, _scopeId2));
3780
+ _push3(ssrRenderComponent(_component_UTooltip, { text: "Unlink incorrectly clustered test cases from this group" }, {
3781
+ default: withCtx((_3, _push4, _parent4, _scopeId3) => {
3782
+ if (_push4) {
3783
+ _push4(ssrRenderComponent(_component_UButton, {
3784
+ size: "xs",
3785
+ color: "warning",
3786
+ variant: "outline",
3787
+ icon: "i-lucide-arrow-up-from-line",
3788
+ onClick: ($event) => extractModalOpen.value = true
3789
+ }, {
3790
+ default: withCtx((_4, _push5, _parent5, _scopeId4) => {
3791
+ if (_push5) {
3792
+ _push5(` Extract `);
3793
+ } else {
3794
+ return [
3795
+ createTextVNode(" Extract ")
3796
+ ];
3797
+ }
3798
+ }),
3799
+ _: 1
3800
+ }, _parent4, _scopeId3));
3801
+ } else {
3802
+ return [
3803
+ createVNode(_component_UButton, {
3804
+ size: "xs",
3805
+ color: "warning",
3806
+ variant: "outline",
3807
+ icon: "i-lucide-arrow-up-from-line",
3808
+ onClick: ($event) => extractModalOpen.value = true
3809
+ }, {
3810
+ default: withCtx(() => [
3811
+ createTextVNode(" Extract ")
3812
+ ]),
3813
+ _: 1
3814
+ }, 8, ["onClick"])
3815
+ ];
3816
+ }
3817
+ }),
3818
+ _: 1
3819
+ }, _parent3, _scopeId2));
3820
+ } else {
3821
+ return [
3822
+ createVNode(_component_UBadge, {
3823
+ color: "neutral",
3824
+ variant: "subtle",
3825
+ size: "sm"
3826
+ }, {
3827
+ default: withCtx(() => [
3828
+ createTextVNode(toDisplayString(unref(cluster).affectedTestCases.length) + " " + toDisplayString(unref(cluster).affectedTestCases.length === 1 ? "test" : "tests"), 1)
3829
+ ]),
3830
+ _: 1
3831
+ }),
3832
+ createVNode(_component_UButton, {
3833
+ size: "xs",
3834
+ variant: "outline",
3835
+ color: "neutral",
3836
+ icon: unref(retryCopied) ? "i-lucide-check" : "i-lucide-play",
3837
+ title: unref(retryCopied) ? "Copied!" : ("copyPreview" in _ctx ? _ctx.copyPreview : unref(copyPreview))(unref(retryCommand)),
3838
+ onClick: ($event) => unref(copyRetry)(unref(retryCommand), { toast: "Retry command copied" })
3839
+ }, {
3840
+ default: withCtx(() => [
3841
+ createTextVNode(" Copy retry command ")
3842
+ ]),
3843
+ _: 1
3844
+ }, 8, ["icon", "title", "onClick"]),
3845
+ createVNode(_component_DesktopRunLocallyButton, {
3846
+ "project-id": unref(cluster).project?.id,
3847
+ "project-label": unref(cluster).project?.name,
3848
+ cases: unref(affectedRetryCases),
3849
+ label: "Run affected locally",
3850
+ "preset-options": { mode: "grep" }
3851
+ }, null, 8, ["project-id", "project-label", "cases"]),
3852
+ createVNode(_component_UTooltip, { text: "Unlink incorrectly clustered test cases from this group" }, {
3853
+ default: withCtx(() => [
3854
+ createVNode(_component_UButton, {
3855
+ size: "xs",
3856
+ color: "warning",
3857
+ variant: "outline",
3858
+ icon: "i-lucide-arrow-up-from-line",
3859
+ onClick: ($event) => extractModalOpen.value = true
3860
+ }, {
3861
+ default: withCtx(() => [
3862
+ createTextVNode(" Extract ")
3863
+ ]),
3864
+ _: 1
3865
+ }, 8, ["onClick"])
3866
+ ]),
3867
+ _: 1
3868
+ })
3869
+ ];
3870
+ }
3871
+ }),
3872
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
3873
+ if (_push3) {
3874
+ _push3(ssrRenderComponent(_component_ClusterTestEvidence, {
3875
+ "affected-test-cases": unref(cluster).affectedTestCases,
3876
+ "project-key": unref(cluster).project?.id,
3877
+ "project-name": unref(cluster).project?.name
3878
+ }, null, _parent3, _scopeId2));
3879
+ } else {
3880
+ return [
3881
+ createVNode(_component_ClusterTestEvidence, {
3882
+ "affected-test-cases": unref(cluster).affectedTestCases,
3883
+ "project-key": unref(cluster).project?.id,
3884
+ "project-name": unref(cluster).project?.name
3885
+ }, null, 8, ["affected-test-cases", "project-key", "project-name"])
3886
+ ];
3887
+ }
3888
+ }),
3889
+ _: 1
3890
+ }, _parent2, _scopeId));
3891
+ } else {
3892
+ _push2(`<!---->`);
3893
+ }
3894
+ _push2(ssrRenderComponent(_component_CollapsibleSectionCard, {
3895
+ ref_key: "scmSection",
3896
+ ref: scmSection,
3897
+ "storage-key": "cluster-scm",
3898
+ icon: "i-lucide-git-compare-arrows",
3899
+ title: "What changed",
3900
+ help: "cluster.scm"
3901
+ }, {
3902
+ folded: withCtx((_2, _push3, _parent3, _scopeId2) => {
3903
+ if (_push3) {
3904
+ _push3(`<span class="inline-flex items-center gap-1.5"${_scopeId2}>`);
3905
+ _push3(ssrRenderComponent(_component_UIcon, {
3906
+ name: unref(scmStatus).icon,
3907
+ class: ["size-3.5 shrink-0", unref(scmStatus).color]
3908
+ }, null, _parent3, _scopeId2));
3909
+ _push3(`<span class="${ssrRenderClass(unref(scmStatus).color)}"${_scopeId2}>${ssrInterpolate(unref(scmStatus).text)}</span></span>`);
3910
+ } else {
3911
+ return [
3912
+ createVNode("span", { class: "inline-flex items-center gap-1.5" }, [
3913
+ createVNode(_component_UIcon, {
3914
+ name: unref(scmStatus).icon,
3915
+ class: ["size-3.5 shrink-0", unref(scmStatus).color]
3916
+ }, null, 8, ["name", "class"]),
3917
+ createVNode("span", {
3918
+ class: unref(scmStatus).color
3919
+ }, toDisplayString(unref(scmStatus).text), 3)
3920
+ ])
3921
+ ];
3922
+ }
3923
+ }),
3924
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
3925
+ if (_push3) {
3926
+ _push3(ssrRenderComponent(_component_ClusterInvestigation, null, null, _parent3, _scopeId2));
3927
+ } else {
3928
+ return [
3929
+ createVNode(_component_ClusterInvestigation)
3930
+ ];
3931
+ }
3932
+ }),
3933
+ _: 1
3934
+ }, _parent2, _scopeId));
3935
+ _push2(`</div><div class="xl:overflow-y-auto"${_scopeId}>`);
3936
+ _push2(ssrRenderComponent(_component_DiagnosisPanel, {
3937
+ "cluster-id": unref(clusterId),
3938
+ "last-seen-run-id": unref(cluster)?.lastSeenRunId,
3939
+ "affected-test-cases": unref(cluster)?.affectedTestCases ?? []
3940
+ }, null, _parent2, _scopeId));
3941
+ _push2(`</div></div></div>`);
3942
+ } else {
3943
+ _push2(`<div class="flex items-center justify-center h-64 text-gray-500"${_scopeId}>Cluster not found.</div>`);
3944
+ }
3945
+ } else {
3946
+ return [
3947
+ unref(cluster) ? (openBlock(), createBlock("div", {
3948
+ key: 0,
3949
+ class: "flex flex-col h-full min-h-0 max-xl:overflow-y-auto xl:overflow-hidden"
3950
+ }, [
3951
+ createVNode("div", { class: "border-b border-default shrink-0" }, [
3952
+ createVNode(_component_ClusterSummary, {
3953
+ cluster: unref(cluster),
3954
+ "triage-status": unref(triageStatus),
3955
+ "triage-note": unref(triageNote),
3956
+ "triage-saving": unref(triageSaving),
3957
+ "triage-changed": unref(triageChanged),
3958
+ "onUpdate:triageStatus": ($event) => triageStatus.value = $event,
3959
+ "onUpdate:triageNote": ($event) => triageNote.value = $event,
3960
+ onSaveTriage: saveTriage
3961
+ }, null, 8, ["cluster", "triage-status", "triage-note", "triage-saving", "triage-changed", "onUpdate:triageStatus", "onUpdate:triageNote"])
3962
+ ]),
3963
+ createVNode("div", { class: "grid grid-cols-1 xl:grid-cols-[3fr_2fr] gap-4 p-1 xl:flex-1 xl:min-h-0 xl:overflow-hidden" }, [
3964
+ createVNode("div", { class: "space-y-4 xl:overflow-y-auto" }, [
3965
+ unref(cluster).sampleError ? (openBlock(), createBlock(_component_CollapsibleSectionCard, {
3966
+ key: 0,
3967
+ ref_key: "errorSection",
3968
+ ref: errorSection,
3969
+ "storage-key": "cluster-error",
3970
+ icon: "i-lucide-circle-x",
3971
+ "icon-class": "text-red-500",
3972
+ title: "Error message"
3973
+ }, {
3974
+ folded: withCtx(() => [
3975
+ createVNode("span", { class: "font-mono text-xs" }, toDisplayString(unref(errorPeek)), 1)
3976
+ ]),
3977
+ default: withCtx(() => [
3978
+ createVNode("div", {
3979
+ class: "text-xs font-mono overflow-x-auto whitespace-pre-wrap",
3980
+ innerHTML: unref(renderAnsi)(unref(cluster).sampleError)
3981
+ }, null, 8, ["innerHTML"])
3982
+ ]),
3983
+ _: 1
3984
+ }, 512)) : createCommentVNode("", true),
3985
+ unref(cluster).affectedTestCases?.length && unref(cluster).affectedTestCases[0]?.recentTestRunsCaseId ? (openBlock(), createBlock(_component_LocatorHealingPanel, {
3986
+ key: 1,
3987
+ ref: "locatorSection",
3988
+ "storage-key": "cluster-locators",
3989
+ "run-id": unref(cluster).lastSeenRunId,
3990
+ "test-runs-case-id": unref(cluster).affectedTestCases[0].recentTestRunsCaseId,
3991
+ "affected-count": unref(cluster).affectedTestCases.length
3992
+ }, null, 8, ["run-id", "test-runs-case-id", "affected-count"])) : createCommentVNode("", true),
3993
+ unref(cluster).affectedTestCases?.length && unref(cluster).affectedTestCases[0]?.recentTestRunsCaseId ? (openBlock(), createBlock(_component_EnvironmentDiffCard, {
3994
+ key: 2,
3995
+ ref_key: "envDiffSection",
3996
+ ref: envDiffSection,
3997
+ "storage-key": "cluster-env-diff",
3998
+ "run-id": unref(cluster).lastSeenRunId,
3999
+ "test-runs-case-id": unref(cluster).affectedTestCases[0].recentTestRunsCaseId
4000
+ }, null, 8, ["run-id", "test-runs-case-id"])) : createCommentVNode("", true),
4001
+ unref(cluster).affectedTestCases?.length && unref(cluster).affectedTestCases[0]?.recentTestRunsCaseId ? (openBlock(), createBlock(_component_VisualDiffCard, {
4002
+ key: 3,
4003
+ ref_key: "visualDiffSection",
4004
+ ref: visualDiffSection,
4005
+ "storage-key": "cluster-visual-diff",
4006
+ "run-id": unref(cluster).lastSeenRunId,
4007
+ "test-runs-case-id": unref(cluster).affectedTestCases[0].recentTestRunsCaseId
4008
+ }, null, 8, ["run-id", "test-runs-case-id"])) : createCommentVNode("", true),
4009
+ unref(cluster).affectedTestCases?.length && unref(cluster).affectedTestCases[0]?.recentTestRunsCaseId ? (openBlock(), createBlock(_component_DomSnapshotCard, {
4010
+ key: 4,
4011
+ ref_key: "domSnapshotSection",
4012
+ ref: domSnapshotSection,
4013
+ "storage-key": "cluster-dom-snapshot",
4014
+ "run-id": unref(cluster).lastSeenRunId,
4015
+ "test-runs-case-id": unref(cluster).affectedTestCases[0].recentTestRunsCaseId
4016
+ }, null, 8, ["run-id", "test-runs-case-id"])) : createCommentVNode("", true),
4017
+ unref(cluster).affectedTestCases?.length ? (openBlock(), createBlock(_component_CollapsibleSectionCard, {
4018
+ key: 5,
4019
+ ref_key: "evidenceSection",
4020
+ ref: evidenceSection,
4021
+ "storage-key": "cluster-evidence",
4022
+ icon: "i-lucide-flask-conical",
4023
+ title: "Test evidence",
4024
+ help: "cluster.evidence"
4025
+ }, {
4026
+ folded: withCtx(() => [
4027
+ createTextVNode(toDisplayString(unref(cluster).affectedTests) + " " + toDisplayString(unref(cluster).affectedTests === 1 ? "test" : "tests") + " · " + toDisplayString(unref(cluster).occurrences) + " occurrence" + toDisplayString(unref(cluster).occurrences === 1 ? "" : "s") + " · ", 1),
4028
+ unref(cluster).affectedTestCases[0]?.filePath ? (openBlock(), createBlock(_component_OpenInIdeLink, {
4029
+ key: 0,
4030
+ "file-path": unref(cluster).affectedTestCases[0].filePath,
4031
+ "project-key": unref(cluster).project?.id,
4032
+ "project-name": unref(cluster).project?.name,
4033
+ class: "text-xs"
4034
+ }, null, 8, ["file-path", "project-key", "project-name"])) : createCommentVNode("", true)
4035
+ ]),
4036
+ actions: withCtx(() => [
4037
+ createVNode(_component_UBadge, {
4038
+ color: "neutral",
4039
+ variant: "subtle",
4040
+ size: "sm"
4041
+ }, {
4042
+ default: withCtx(() => [
4043
+ createTextVNode(toDisplayString(unref(cluster).affectedTestCases.length) + " " + toDisplayString(unref(cluster).affectedTestCases.length === 1 ? "test" : "tests"), 1)
4044
+ ]),
4045
+ _: 1
4046
+ }),
4047
+ createVNode(_component_UButton, {
4048
+ size: "xs",
4049
+ variant: "outline",
4050
+ color: "neutral",
4051
+ icon: unref(retryCopied) ? "i-lucide-check" : "i-lucide-play",
4052
+ title: unref(retryCopied) ? "Copied!" : ("copyPreview" in _ctx ? _ctx.copyPreview : unref(copyPreview))(unref(retryCommand)),
4053
+ onClick: ($event) => unref(copyRetry)(unref(retryCommand), { toast: "Retry command copied" })
4054
+ }, {
4055
+ default: withCtx(() => [
4056
+ createTextVNode(" Copy retry command ")
4057
+ ]),
4058
+ _: 1
4059
+ }, 8, ["icon", "title", "onClick"]),
4060
+ createVNode(_component_DesktopRunLocallyButton, {
4061
+ "project-id": unref(cluster).project?.id,
4062
+ "project-label": unref(cluster).project?.name,
4063
+ cases: unref(affectedRetryCases),
4064
+ label: "Run affected locally",
4065
+ "preset-options": { mode: "grep" }
4066
+ }, null, 8, ["project-id", "project-label", "cases"]),
4067
+ createVNode(_component_UTooltip, { text: "Unlink incorrectly clustered test cases from this group" }, {
4068
+ default: withCtx(() => [
4069
+ createVNode(_component_UButton, {
4070
+ size: "xs",
4071
+ color: "warning",
4072
+ variant: "outline",
4073
+ icon: "i-lucide-arrow-up-from-line",
4074
+ onClick: ($event) => extractModalOpen.value = true
4075
+ }, {
4076
+ default: withCtx(() => [
4077
+ createTextVNode(" Extract ")
4078
+ ]),
4079
+ _: 1
4080
+ }, 8, ["onClick"])
4081
+ ]),
4082
+ _: 1
4083
+ })
4084
+ ]),
4085
+ default: withCtx(() => [
4086
+ createVNode(_component_ClusterTestEvidence, {
4087
+ "affected-test-cases": unref(cluster).affectedTestCases,
4088
+ "project-key": unref(cluster).project?.id,
4089
+ "project-name": unref(cluster).project?.name
4090
+ }, null, 8, ["affected-test-cases", "project-key", "project-name"])
4091
+ ]),
4092
+ _: 1
4093
+ }, 512)) : createCommentVNode("", true),
4094
+ createVNode(_component_CollapsibleSectionCard, {
4095
+ ref_key: "scmSection",
4096
+ ref: scmSection,
4097
+ "storage-key": "cluster-scm",
4098
+ icon: "i-lucide-git-compare-arrows",
4099
+ title: "What changed",
4100
+ help: "cluster.scm"
4101
+ }, {
4102
+ folded: withCtx(() => [
4103
+ createVNode("span", { class: "inline-flex items-center gap-1.5" }, [
4104
+ createVNode(_component_UIcon, {
4105
+ name: unref(scmStatus).icon,
4106
+ class: ["size-3.5 shrink-0", unref(scmStatus).color]
4107
+ }, null, 8, ["name", "class"]),
4108
+ createVNode("span", {
4109
+ class: unref(scmStatus).color
4110
+ }, toDisplayString(unref(scmStatus).text), 3)
4111
+ ])
4112
+ ]),
4113
+ default: withCtx(() => [
4114
+ createVNode(_component_ClusterInvestigation)
4115
+ ]),
4116
+ _: 1
4117
+ }, 512)
4118
+ ]),
4119
+ createVNode("div", { class: "xl:overflow-y-auto" }, [
4120
+ createVNode(_component_DiagnosisPanel, {
4121
+ "cluster-id": unref(clusterId),
4122
+ "last-seen-run-id": unref(cluster)?.lastSeenRunId,
4123
+ "affected-test-cases": unref(cluster)?.affectedTestCases ?? []
4124
+ }, null, 8, ["cluster-id", "last-seen-run-id", "affected-test-cases"])
4125
+ ])
4126
+ ])
4127
+ ])) : (openBlock(), createBlock("div", {
4128
+ key: 1,
4129
+ class: "flex items-center justify-center h-64 text-gray-500"
4130
+ }, "Cluster not found."))
4131
+ ];
4132
+ }
4133
+ }),
4134
+ _: 1
4135
+ }, _parent));
4136
+ if (unref(cluster)) {
4137
+ _push(ssrRenderComponent(_component_ClusterExtractCasesModal, {
4138
+ open: unref(extractModalOpen),
4139
+ "cluster-id": unref(clusterId),
4140
+ "affected-test-cases": unref(cluster).affectedTestCases ?? [],
4141
+ "project-key": unref(cluster).project?.id,
4142
+ "project-name": unref(cluster).project?.name,
4143
+ "onUpdate:open": ($event) => extractModalOpen.value = $event,
4144
+ onExtracted
4145
+ }, null, _parent));
4146
+ } else {
4147
+ _push(`<!---->`);
4148
+ }
4149
+ _push(`<!--]-->`);
4150
+ };
4151
+ }
4152
+ });
4153
+ const _sfc_setup = _sfc_main.setup;
4154
+ _sfc_main.setup = (props, ctx) => {
4155
+ const ssrContext = useSSRContext();
4156
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/failure-clusters/[id].vue");
4157
+ return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
4158
+ };
4159
+
4160
+ export { _sfc_main as default };
4161
+ //# sourceMappingURL=_id_-rQhFY0fN.mjs.map