@piwitests/server 0.22.1 → 0.23.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 (342) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{B_mN5eMV.js → 2yLW7WU0.js} +1 -1
  3. package/.output/public/_nuxt/{DK7xciFW.js → 499RbBSX.js} +1 -1
  4. package/.output/public/_nuxt/{CJEp4i0N.js → 5QBnDbs_.js} +1 -1
  5. package/.output/public/_nuxt/{cSeAgciy.js → 5SkLJHl8.js} +1 -1
  6. package/.output/public/_nuxt/{CrOA9onF.js → 6sA-GK37.js} +1 -1
  7. package/.output/public/_nuxt/{C0v6l4pr.js → 6vX5JdHr.js} +1 -1
  8. package/.output/public/_nuxt/{DOBSrxzY.js → 7_9fts7T.js} +1 -1
  9. package/.output/public/_nuxt/{DBhdObsO.js → 9_aJhhcm.js} +1 -1
  10. package/.output/public/_nuxt/{BtaTvcz6.js → AQ86C4c2.js} +1 -1
  11. package/.output/public/_nuxt/{HwFFbACq.js → B070fjS-.js} +1 -1
  12. package/.output/public/_nuxt/B0tmRAhY.js +1 -0
  13. package/.output/public/_nuxt/{CkKCKAYp.js → B2L0-Lzp.js} +2 -2
  14. package/.output/public/_nuxt/{BNAHBHbY.js → B3AG2m76.js} +1 -1
  15. package/.output/public/_nuxt/{BTvE9qca.js → B3G-TIoP.js} +1 -1
  16. package/.output/public/_nuxt/{B2a-Phk3.js → B4mZElvM.js} +1 -1
  17. package/.output/public/_nuxt/{2VtBYkNh.js → B7tiBVLW.js} +1 -1
  18. package/.output/public/_nuxt/{4yvOL9PC.js → BAbrtVp3.js} +1 -1
  19. package/.output/public/_nuxt/{_VzR8bwc.js → BDUfBn3i.js} +1 -1
  20. package/.output/public/_nuxt/{CZ9ThISn.js → BFYkWpPx.js} +1 -1
  21. package/.output/public/_nuxt/{BH-ym1CI.js → BM5BPKlc.js} +1 -1
  22. package/.output/public/_nuxt/{CI_q0F1O.js → BNyTWIad.js} +3 -3
  23. package/.output/public/_nuxt/{BqCiYSVY.js → BOvtXn3m.js} +1 -1
  24. package/.output/public/_nuxt/BVyjw9Bi.js +1 -0
  25. package/.output/public/_nuxt/{BhH0TNTi.js → BZFiz2UB.js} +1 -1
  26. package/.output/public/_nuxt/BZOykMLD.js +1 -0
  27. package/.output/public/_nuxt/{CWoSSKhQ.js → B_JSV0yG.js} +1 -1
  28. package/.output/public/_nuxt/{CWw9WGlv.js → B_MVJP17.js} +1 -1
  29. package/.output/public/_nuxt/{Cwwe5bRS.js → Bag08cIY.js} +1 -1
  30. package/.output/public/_nuxt/{BQzG26t0.js → Bb2mDqKr.js} +1 -1
  31. package/.output/public/_nuxt/{CobveFaj.js → BfcMJBTf.js} +1 -1
  32. package/.output/public/_nuxt/{BmJUhCIO.js → BjMo2tKC.js} +1 -1
  33. package/.output/public/_nuxt/{DOLeth7M.js → BjOFxi54.js} +1 -1
  34. package/.output/public/_nuxt/{DXXnDejN.js → Bj_v57Zu.js} +1 -1
  35. package/.output/public/_nuxt/{Hot1UcKY.js → Bq4_kqIp.js} +1 -1
  36. package/.output/public/_nuxt/{CNcu4khZ.js → Bsc11YIJ.js} +1 -1
  37. package/.output/public/_nuxt/{BlRWlfdD.js → BtZNYmZO.js} +1 -1
  38. package/.output/public/_nuxt/{x8w_1_rn.js → BuGAn4f7.js} +1 -1
  39. package/.output/public/_nuxt/{COP3KBCA.js → BwwfasRt.js} +1 -1
  40. package/.output/public/_nuxt/{BQOWm9mQ.js → C2_7XZo0.js} +1 -1
  41. package/.output/public/_nuxt/{DSvBQHzW.js → C6t4kxaa.js} +1 -1
  42. package/.output/public/_nuxt/{SBmMTKQb.js → C77tM5Hz.js} +1 -1
  43. package/.output/public/_nuxt/{DDN2tt0a.js → C9I1Dp3S.js} +1 -1
  44. package/.output/public/_nuxt/{t-juTK3X.js → CAoQUDI4.js} +1 -1
  45. package/.output/public/_nuxt/{DQnsFoJn.js → CBJFORiZ.js} +1 -1
  46. package/.output/public/_nuxt/{b_yFgp5S.js → CC8wk-N0.js} +1 -1
  47. package/.output/public/_nuxt/{D0ROfwV0.js → CEai-PWF.js} +1 -1
  48. package/.output/public/_nuxt/{BKJetfRH.js → CF_eDZHu.js} +1 -1
  49. package/.output/public/_nuxt/{Sgis3xif.js → CGDPUNcO.js} +1 -1
  50. package/.output/public/_nuxt/{6-ivqM_I.js → CIQeRUSy.js} +1 -1
  51. package/.output/public/_nuxt/{Cf52zHyB.js → CLWMETf9.js} +1 -1
  52. package/.output/public/_nuxt/{h49q_GXF.js → CNu3kken.js} +42 -42
  53. package/.output/public/_nuxt/{Bt4FLbe0.js → CPQRQqXU.js} +1 -1
  54. package/.output/public/_nuxt/{DwyFnMoY.js → CTTmX4gy.js} +1 -1
  55. package/.output/public/_nuxt/{D6Mo5HeX.js → CUOS6S13.js} +1 -1
  56. package/.output/public/_nuxt/{Bb7Uckln.js → CYhm2FBS.js} +1 -1
  57. package/.output/public/_nuxt/{DWEkQ7bl.js → CdEzDaDI.js} +1 -1
  58. package/.output/public/_nuxt/{DLNNAYfu.js → Ce47NgZw.js} +1 -1
  59. package/.output/public/_nuxt/{BFcdtAzg.js → Ce89VyHE.js} +1 -1
  60. package/.output/public/_nuxt/{PdEEuEsg.js → Ce_j5NtN.js} +1 -1
  61. package/.output/public/_nuxt/{BtSJxOdh.js → CfhOanaF.js} +1 -1
  62. package/.output/public/_nuxt/Ck_fTH5z.js +4 -0
  63. package/.output/public/_nuxt/{By5qkOq8.js → Clg2Qx0r.js} +1 -1
  64. package/.output/public/_nuxt/{B6s20NbT.js → CmTzxoQt.js} +1 -1
  65. package/.output/public/_nuxt/{9P8iHISX.js → CvVbKrcH.js} +1 -1
  66. package/.output/public/_nuxt/Cz7SCzdW.js +1 -0
  67. package/.output/public/_nuxt/{B9kt7ySS.js → D1Ucra3E.js} +1 -1
  68. package/.output/public/_nuxt/{DGyGmFem.js → D3SJGdl4.js} +1 -1
  69. package/.output/public/_nuxt/D7fxV-UA.js +1 -0
  70. package/.output/public/_nuxt/{BZnfiR67.js → D7t0Dn3h.js} +1 -1
  71. package/.output/public/_nuxt/{DtSn2Q9-.js → DAhv9aNg.js} +1 -1
  72. package/.output/public/_nuxt/{CMhK1PvI.js → DBWM_xs-.js} +1 -1
  73. package/.output/public/_nuxt/DCE2_MKD.js +2 -0
  74. package/.output/public/_nuxt/DFfqRQxk.js +1 -0
  75. package/.output/public/_nuxt/{Dj-TetcW.js → DJzFYrBt.js} +1 -1
  76. package/.output/public/_nuxt/{x8YSyy4c.js → DNKZmhbX.js} +1 -1
  77. package/.output/public/_nuxt/{CDh_Qt7h.js → DNqm5cWU.js} +1 -1
  78. package/.output/public/_nuxt/{C9p0YCAi.js → DTrPCv7R.js} +1 -1
  79. package/.output/public/_nuxt/{nANaAHCd.js → DXkFgrsT.js} +1 -1
  80. package/.output/public/_nuxt/{B0hK-xDF.js → DYjxDsYC.js} +1 -1
  81. package/.output/public/_nuxt/{D4UlSVir.js → DZ-KbUZi.js} +1 -1
  82. package/.output/public/_nuxt/{DzM9oeLa.js → DZECGgZm.js} +1 -1
  83. package/.output/public/_nuxt/{iubpj2qv.js → Dbf8eT28.js} +1 -1
  84. package/.output/public/_nuxt/{CD3R-ggS.js → DeewM3Wg.js} +1 -1
  85. package/.output/public/_nuxt/{CAZpjzvB.js → DgEa6_av.js} +1 -1
  86. package/.output/public/_nuxt/DiWxW-w3.js +2 -0
  87. package/.output/public/_nuxt/{DpalT0nH.js → DmqCquDx.js} +1 -1
  88. package/.output/public/_nuxt/{CoPntblj.js → DnxrNGE_.js} +1 -1
  89. package/.output/public/_nuxt/{Cd8r0xk5.js → DprkT7rM.js} +1 -1
  90. package/.output/public/_nuxt/{BjU3HZuS.js → DuBtaw3j.js} +1 -1
  91. package/.output/public/_nuxt/DylyATWU.js +2 -0
  92. package/.output/public/_nuxt/{CRPt9SfB.js → FJTsZ5Aa.js} +1 -1
  93. package/.output/public/_nuxt/{DHUT-BKj.js → HIGGZ_c-.js} +1 -1
  94. package/.output/public/_nuxt/{DLn-VPtK.js → HbnAkiyK.js} +1 -1
  95. package/.output/public/_nuxt/{czXrP7NB.js → LTMoFvEY.js} +1 -1
  96. package/.output/public/_nuxt/{DsX5CCb5.js → PDSNX4Te.js} +1 -1
  97. package/.output/public/_nuxt/{BfS8BZTO.js → QZYo3ErV.js} +1 -1
  98. package/.output/public/_nuxt/{kfFeu9tK.js → RkNtgoTD.js} +1 -1
  99. package/.output/public/_nuxt/Wk7ZKG4B.js +1 -0
  100. package/.output/public/_nuxt/{9N6hSApy.js → Ya8ZzWuY.js} +1 -1
  101. package/.output/public/_nuxt/{B09ddw9C.js → ZLfZolDM.js} +1 -1
  102. package/.output/public/_nuxt/{3xlGO1qT.js → a8Z6VC7V.js} +1 -1
  103. package/.output/public/_nuxt/{CCP6Tyle.js → axj2iIDK.js} +1 -1
  104. package/.output/public/_nuxt/builds/latest.json +1 -1
  105. package/.output/public/_nuxt/builds/meta/6d1766a0-0aba-46b8-9d97-7dd174130359.json +1 -0
  106. package/.output/public/_nuxt/dUPMBJ4f.js +1 -0
  107. package/.output/public/_nuxt/{DS2ANCQh.js → eT2oObCh.js} +1 -1
  108. package/.output/public/_nuxt/entry.D_eWXrnD.css +1 -0
  109. package/.output/public/_nuxt/{CkyMZI-0.js → jR2xm3_t.js} +1 -1
  110. package/.output/public/_nuxt/{BDQCwxpX.js → jxc14CqP.js} +1 -1
  111. package/.output/public/_nuxt/{Gik813Ek.js → kWnH8yJq.js} +1 -1
  112. package/.output/public/_nuxt/{BYB8NVJZ.js → mi22nGUC.js} +1 -1
  113. package/.output/public/_nuxt/{BVN50jIb.js → oSLbl-p0.js} +1 -1
  114. package/.output/public/_nuxt/{CBZD8ym8.js → pZbe82l5.js} +1 -1
  115. package/.output/public/_nuxt/roaTZkYi.js +1 -0
  116. package/.output/public/_nuxt/{BUMoU50-.js → sqqg4oXL.js} +1 -1
  117. package/.output/public/_nuxt/xZQGtnVA.js +1 -0
  118. package/.output/server/chunks/build/{Alert-DAb8nKVs.mjs → Alert-He-UxEt6.mjs} +2 -2
  119. package/.output/server/chunks/build/Alert-He-UxEt6.mjs.map +1 -0
  120. package/.output/server/chunks/build/{Breadcrumb-DJp5WvUM.mjs → Breadcrumb-DEP2dVCZ.mjs} +3 -3
  121. package/.output/server/chunks/build/Breadcrumb-DEP2dVCZ.mjs.map +1 -0
  122. package/.output/server/chunks/build/{BreadcrumbNav-BrQwfL8G.mjs → BreadcrumbNav-y6nMDYcR.mjs} +3 -3
  123. package/.output/server/chunks/build/BreadcrumbNav-y6nMDYcR.mjs.map +1 -0
  124. package/.output/server/chunks/build/{BrowserBadge-Djw_e_I9.mjs → BrowserBadge-DIASU8Gf.mjs} +6 -66
  125. package/.output/server/chunks/build/BrowserBadge-DIASU8Gf.mjs.map +1 -0
  126. package/.output/server/chunks/build/{ChartCard-B2gd_8HP.mjs → ChartCard-ZTsCvItQ.mjs} +2 -2
  127. package/.output/server/chunks/build/ChartCard-ZTsCvItQ.mjs.map +1 -0
  128. package/.output/server/chunks/build/{Checkbox-C1khEdTh.mjs → Checkbox-BisdHf8n.mjs} +6 -6
  129. package/.output/server/chunks/build/Checkbox-BisdHf8n.mjs.map +1 -0
  130. package/.output/server/chunks/build/{CodeBlock-CjnDrO3Y.mjs → CodeBlock-B8BNtZAe.mjs} +2 -2
  131. package/.output/server/chunks/build/CodeBlock-B8BNtZAe.mjs.map +1 -0
  132. package/.output/server/chunks/build/{DashboardNavbar-DYtmVlhy.mjs → DashboardNavbar-D7-3zBUU.mjs} +3 -3
  133. package/.output/server/chunks/build/DashboardNavbar-D7-3zBUU.mjs.map +1 -0
  134. package/.output/server/chunks/build/{DashboardSidebarToggle-BPNxODwj.mjs → DashboardSidebarToggle-C3HdHvlE.mjs} +2 -2
  135. package/.output/server/chunks/build/DashboardSidebarToggle-C3HdHvlE.mjs.map +1 -0
  136. package/.output/server/chunks/build/{DataLocationCard-2B-sVSMr.mjs → DataLocationCard-CC2-lHiP.mjs} +3 -3
  137. package/.output/server/chunks/build/DataLocationCard-CC2-lHiP.mjs.map +1 -0
  138. package/.output/server/chunks/build/{MetaStripGroup-BBByVvpR.mjs → DesktopRunLocallyButton-iNzrDsEs.mjs} +601 -623
  139. package/.output/server/chunks/build/DesktopRunLocallyButton-iNzrDsEs.mjs.map +1 -0
  140. package/.output/server/chunks/build/{DiagnosisPanel-D6QO30FQ.mjs → DiagnosisPanel-BVb2LgHu.mjs} +5 -5
  141. package/.output/server/chunks/build/DiagnosisPanel-BVb2LgHu.mjs.map +1 -0
  142. package/.output/server/chunks/build/{DiagnosisResult-ujB5Lt2A.mjs → DiagnosisResult-xVgZlfKK.mjs} +8 -8
  143. package/.output/server/chunks/build/DiagnosisResult-xVgZlfKK.mjs.map +1 -0
  144. package/.output/server/chunks/build/{EntityLinks-F8_kC-IH.mjs → EntityLinks-Dzn73fbq.mjs} +2 -2
  145. package/.output/server/chunks/build/EntityLinks-Dzn73fbq.mjs.map +1 -0
  146. package/.output/server/chunks/build/{EnvManagedBadge-D6e-10M9.mjs → EnvManagedBadge-C-agmABK.mjs} +3 -3
  147. package/.output/server/chunks/build/EnvManagedBadge-C-agmABK.mjs.map +1 -0
  148. package/.output/server/chunks/build/{FeatureUnavailable-BMw4euTk.mjs → FeatureUnavailable-DHFkwI7t.mjs} +2 -2
  149. package/.output/server/chunks/build/FeatureUnavailable-DHFkwI7t.mjs.map +1 -0
  150. package/.output/server/chunks/build/{FormField-QptK0rPg.mjs → FormField-GYHKiSI6.mjs} +2 -2
  151. package/.output/server/chunks/build/FormField-GYHKiSI6.mjs.map +1 -0
  152. package/.output/server/chunks/build/{GetStartedWizard-DxT8T14Y.mjs → GetStartedWizard-BpcGYsm2.mjs} +3 -3
  153. package/.output/server/chunks/build/GetStartedWizard-BpcGYsm2.mjs.map +1 -0
  154. package/.output/server/chunks/build/{HelpHint-C5Ru8BCc.mjs → HelpHint-plioHKA0.mjs} +2 -2
  155. package/.output/server/chunks/build/HelpHint-plioHKA0.mjs.map +1 -0
  156. package/.output/server/chunks/build/MetaStripGroup-A0a72vt5.mjs +193 -0
  157. package/.output/server/chunks/build/MetaStripGroup-A0a72vt5.mjs.map +1 -0
  158. package/.output/server/chunks/build/{Modal-BacZmQCX.mjs → Modal-hKLvVFNp.mjs} +2 -2
  159. package/.output/server/chunks/build/Modal-hKLvVFNp.mjs.map +1 -0
  160. package/.output/server/chunks/build/{NavigationMenu-sTiKSWDm.mjs → NavigationMenu-RfBOyS32.mjs} +4 -4
  161. package/.output/server/chunks/build/NavigationMenu-RfBOyS32.mjs.map +1 -0
  162. package/.output/server/chunks/build/{OpenInIdeLink-Crc8y0Yx.mjs → OpenInIdeLink-Jp6SzEtD.mjs} +4 -4
  163. package/.output/server/chunks/build/{OpenInIdeLink-Crc8y0Yx.mjs.map → OpenInIdeLink-Jp6SzEtD.mjs.map} +1 -1
  164. package/.output/server/chunks/build/{ProjectTestCasesTable-DwjqZ2i5.mjs → ProjectTestCasesTable-DxOTfhi4.mjs} +8 -8
  165. package/.output/server/chunks/build/{ProjectTestCasesTable-DwjqZ2i5.mjs.map → ProjectTestCasesTable-DxOTfhi4.mjs.map} +1 -1
  166. package/.output/server/chunks/build/{RovingFocusItem--OEHI2P3.mjs → RovingFocusItem-BOSx1Z9Z.mjs} +2 -2
  167. package/.output/server/chunks/build/RovingFocusItem-BOSx1Z9Z.mjs.map +1 -0
  168. package/.output/server/chunks/build/{SectionCard-C753B3Yo.mjs → SectionCard-DHAFvJxm.mjs} +2 -2
  169. package/.output/server/chunks/build/SectionCard-DHAFvJxm.mjs.map +1 -0
  170. package/.output/server/chunks/build/{Select-BAyYwPuo.mjs → Select-CEyw7HGK.mjs} +3 -3
  171. package/.output/server/chunks/build/Select-CEyw7HGK.mjs.map +1 -0
  172. package/.output/server/chunks/build/{SelectMenu-zE_AhMX8.mjs → SelectMenu-C02Hs2_F.mjs} +4 -4
  173. package/.output/server/chunks/build/{SelectMenu-zE_AhMX8.mjs.map → SelectMenu-C02Hs2_F.mjs.map} +1 -1
  174. package/.output/server/chunks/build/{Separator-BbgCfKKJ.mjs → Separator-lrN70ODV.mjs} +2 -2
  175. package/.output/server/chunks/build/Separator-lrN70ODV.mjs.map +1 -0
  176. package/.output/server/chunks/build/{SettingsField-D-VriK9X.mjs → SettingsField-tRmytcEJ.mjs} +5 -5
  177. package/.output/server/chunks/build/SettingsField-tRmytcEJ.mjs.map +1 -0
  178. package/.output/server/chunks/build/{Slideover-CNbGvbUF.mjs → Slideover-D6cRIqch.mjs} +3 -3
  179. package/.output/server/chunks/build/Slideover-D6cRIqch.mjs.map +1 -0
  180. package/.output/server/chunks/build/{Switch-DdkA3Fii.mjs → Switch-R2n82ncQ.mjs} +4 -4
  181. package/.output/server/chunks/build/Switch-R2n82ncQ.mjs.map +1 -0
  182. package/.output/server/chunks/build/{Table-CfDVAuUJ.mjs → Table-qZdnm9t2.mjs} +2 -2
  183. package/.output/server/chunks/build/Table-qZdnm9t2.mjs.map +1 -0
  184. package/.output/server/chunks/build/{Tabs-BCOhHEB9.mjs → Tabs-BDP7MWl4.mjs} +3 -3
  185. package/.output/server/chunks/build/Tabs-BDP7MWl4.mjs.map +1 -0
  186. package/.output/server/chunks/build/{TestStatusBar-wquHQqtp.mjs → TestStatusBar-CvsmKJ4D.mjs} +2 -2
  187. package/.output/server/chunks/build/TestStatusBar-CvsmKJ4D.mjs.map +1 -0
  188. package/.output/server/chunks/build/{Textarea-Ohs6QTXf.mjs → Textarea-DpmpM-lN.mjs} +2 -2
  189. package/.output/server/chunks/build/Textarea-DpmpM-lN.mjs.map +1 -0
  190. package/.output/server/chunks/build/{Tooltip-BRBnl4pE.mjs → Tooltip-BI3WQErw.mjs} +2 -2
  191. package/.output/server/chunks/build/Tooltip-BI3WQErw.mjs.map +1 -0
  192. package/.output/server/chunks/build/{VisuallyHiddenInput-BHvzNumK.mjs → VisuallyHiddenInput-D4E5aJCQ.mjs} +2 -2
  193. package/.output/server/chunks/build/VisuallyHiddenInput-D4E5aJCQ.mjs.map +1 -0
  194. package/.output/server/chunks/build/{_id_-CGs0u8Fr.mjs → _id_-CrGTZymJ.mjs} +70 -41
  195. package/.output/server/chunks/build/{_id_-CGs0u8Fr.mjs.map → _id_-CrGTZymJ.mjs.map} +1 -1
  196. package/.output/server/chunks/build/{_id_-BesWjK_d.mjs → _id_-D7UtAIPR.mjs} +34 -31
  197. package/.output/server/chunks/build/{_id_-BesWjK_d.mjs.map → _id_-D7UtAIPR.mjs.map} +1 -1
  198. package/.output/server/chunks/build/{_id_-CQ0lolEK.mjs → _id_-T965GKYC.mjs} +58 -15
  199. package/.output/server/chunks/build/_id_-T965GKYC.mjs.map +1 -0
  200. package/.output/server/chunks/build/{_id_-D1-06Fcl.mjs → _id_-wiULjAVc.mjs} +43 -39
  201. package/.output/server/chunks/build/{_id_-D1-06Fcl.mjs.map → _id_-wiULjAVc.mjs.map} +1 -1
  202. package/.output/server/chunks/build/{about-DdyOj-dj.mjs → about-B3V_OEiu.mjs} +5 -5
  203. package/.output/server/chunks/build/about-B3V_OEiu.mjs.map +1 -0
  204. package/.output/server/chunks/build/{account-7aVMKekZ.mjs → account-DpBdYE46.mjs} +6 -6
  205. package/.output/server/chunks/build/account-DpBdYE46.mjs.map +1 -0
  206. package/.output/server/chunks/build/{ai-zw3T9b5u.mjs → ai-DYhpzbqp.mjs} +15 -15
  207. package/.output/server/chunks/build/{ai-zw3T9b5u.mjs.map → ai-DYhpzbqp.mjs.map} +1 -1
  208. package/.output/server/chunks/build/{analytics-CeCzKwEX.mjs → analytics-CZJEU0an.mjs} +17 -17
  209. package/.output/server/chunks/build/{analytics-CeCzKwEX.mjs.map → analytics-CZJEU0an.mjs.map} +1 -1
  210. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  211. package/.output/server/chunks/build/{default-CkyAx_Mu.mjs → default-DO1izI2V.mjs} +504 -88
  212. package/.output/server/chunks/build/default-DO1izI2V.mjs.map +1 -0
  213. package/.output/server/chunks/build/{docs-Dhj-wEks.mjs → docs-C8bndVXg.mjs} +11 -11
  214. package/.output/server/chunks/build/{docs-Dhj-wEks.mjs.map → docs-C8bndVXg.mjs.map} +1 -1
  215. package/.output/server/chunks/build/{edit-CVz_gdoe.mjs → edit-BdfF9er2.mjs} +12 -12
  216. package/.output/server/chunks/build/edit-BdfF9er2.mjs.map +1 -0
  217. package/.output/server/chunks/build/{fetch-Be-j7hF1.mjs → fetch-tkz5_OA-.mjs} +2 -2
  218. package/.output/server/chunks/build/fetch-tkz5_OA-.mjs.map +1 -0
  219. package/.output/server/chunks/build/{forgot-password-CwdjL7BO.mjs → forgot-password-swZRcvXE.mjs} +3 -3
  220. package/.output/server/chunks/build/forgot-password-swZRcvXE.mjs.map +1 -0
  221. package/.output/server/chunks/build/{import-DyQEw4V3.mjs → import-B27Sv7h5.mjs} +10 -10
  222. package/.output/server/chunks/build/import-B27Sv7h5.mjs.map +1 -0
  223. package/.output/server/chunks/build/{index-DcnICCZU.mjs → index-BdZmxLtC.mjs} +17 -17
  224. package/.output/server/chunks/build/{index-DcnICCZU.mjs.map → index-BdZmxLtC.mjs.map} +1 -1
  225. package/.output/server/chunks/build/{index-D7Bmj6bq.mjs → index-C7m32bRI.mjs} +9 -9
  226. package/.output/server/chunks/build/index-C7m32bRI.mjs.map +1 -0
  227. package/.output/server/chunks/build/{index-DghAFpNR.mjs → index-vRwzDXLs.mjs} +30 -29
  228. package/.output/server/chunks/build/{index-DghAFpNR.mjs.map → index-vRwzDXLs.mjs.map} +1 -1
  229. package/.output/server/chunks/build/{isValueEqualOrExist-D2qw9YEr.mjs → isValueEqualOrExist-D4lZ8uRY.mjs} +2 -2
  230. package/.output/server/chunks/build/isValueEqualOrExist-D4lZ8uRY.mjs.map +1 -0
  231. package/.output/server/chunks/build/{login-rXKF63j6.mjs → login-hxCF06JT.mjs} +4 -4
  232. package/.output/server/chunks/build/login-hxCF06JT.mjs.map +1 -0
  233. package/.output/server/chunks/build/{mcp-ByNvFy4o.mjs → mcp-BVW1llyW.mjs} +11 -11
  234. package/.output/server/chunks/build/mcp-BVW1llyW.mjs.map +1 -0
  235. package/.output/server/chunks/build/{notifications-CbLAZnKJ.mjs → notifications-Dn-evqXM.mjs} +11 -11
  236. package/.output/server/chunks/build/notifications-Dn-evqXM.mjs.map +1 -0
  237. package/.output/server/chunks/build/{performance-C93MEPaZ.mjs → performance-CV8qm94u.mjs} +10 -10
  238. package/.output/server/chunks/build/performance-CV8qm94u.mjs.map +1 -0
  239. package/.output/server/chunks/build/{pr-feedback-DKCB0bDE.mjs → pr-feedback-gKDz8LyA.mjs} +9 -9
  240. package/.output/server/chunks/build/pr-feedback-gKDz8LyA.mjs.map +1 -0
  241. package/.output/server/chunks/build/{reset-password-BBoHKMqD.mjs → reset-password-DtEISa1I.mjs} +3 -3
  242. package/.output/server/chunks/build/reset-password-DtEISa1I.mjs.map +1 -0
  243. package/.output/server/chunks/build/server.mjs +85 -31
  244. package/.output/server/chunks/build/{settings-DiG0JjzC.mjs → settings-BJDnuLpc.mjs} +8 -8
  245. package/.output/server/chunks/build/settings-BJDnuLpc.mjs.map +1 -0
  246. package/.output/server/chunks/build/{setup-0-1O6Hjz.mjs → setup-BO9tXa_G.mjs} +14 -14
  247. package/.output/server/chunks/build/{setup-0-1O6Hjz.mjs.map → setup-BO9tXa_G.mjs.map} +1 -1
  248. package/.output/server/chunks/build/{storage-3JiFJ843.mjs → storage-zN92cA9q.mjs} +10 -10
  249. package/.output/server/chunks/build/storage-zN92cA9q.mjs.map +1 -0
  250. package/.output/server/chunks/build/{tags-CqYcp7js.mjs → tags-CJFnoyQc.mjs} +5 -5
  251. package/.output/server/chunks/build/tags-CJFnoyQc.mjs.map +1 -0
  252. package/.output/server/chunks/build/{test-cases-y1HSgPX2.mjs → test-cases-0Q6rT73d.mjs} +18 -18
  253. package/.output/server/chunks/build/test-cases-0Q6rT73d.mjs.map +1 -0
  254. package/.output/server/chunks/build/{test-functions-D2ju95Ly.mjs → test-functions-DVRJgiWo.mjs} +8 -8
  255. package/.output/server/chunks/build/test-functions-DVRJgiWo.mjs.map +1 -0
  256. package/.output/server/chunks/build/{useCopyRich-CVFeYfkG.mjs → useCopyRich-CZxJ7IY_.mjs} +12 -12
  257. package/.output/server/chunks/build/{useCopyRich-CVFeYfkG.mjs.map → useCopyRich-CZxJ7IY_.mjs.map} +1 -1
  258. package/.output/server/chunks/build/useDesktopLocalRuns-k7Gw3Fv3.mjs +319 -0
  259. package/.output/server/chunks/build/useDesktopLocalRuns-k7Gw3Fv3.mjs.map +1 -0
  260. package/.output/server/chunks/build/useDesktopProjectLink-WwLte59P.mjs +67 -0
  261. package/.output/server/chunks/build/useDesktopProjectLink-WwLte59P.mjs.map +1 -0
  262. package/.output/server/chunks/build/{useFormControl-CZ9So7iX.mjs → useFormControl-8skMOTIf.mjs} +2 -2
  263. package/.output/server/chunks/build/useFormControl-8skMOTIf.mjs.map +1 -0
  264. package/.output/server/chunks/build/{useOpenInIde--6Me0WlL.mjs → useOpenInIde-D74FmDNg.mjs} +2 -2
  265. package/.output/server/chunks/build/useOpenInIde-D74FmDNg.mjs.map +1 -0
  266. package/.output/server/chunks/build/{users-IdmY9JZV.mjs → users-C9bjOBde.mjs} +6 -6
  267. package/.output/server/chunks/build/users-C9bjOBde.mjs.map +1 -0
  268. package/.output/server/chunks/nitro/nitro.mjs +734 -720
  269. package/.output/server/package.json +1 -1
  270. package/package.json +1 -1
  271. package/.output/public/_nuxt/B-6GGrhr.js +0 -1
  272. package/.output/public/_nuxt/B9FSuKdA.js +0 -1
  273. package/.output/public/_nuxt/BaDhDBCV.js +0 -1
  274. package/.output/public/_nuxt/Be4c943G.js +0 -2
  275. package/.output/public/_nuxt/BpUXqOVj.js +0 -2
  276. package/.output/public/_nuxt/CScusXhF.js +0 -1
  277. package/.output/public/_nuxt/Cot8fIp5.js +0 -2
  278. package/.output/public/_nuxt/D4oheDIm.js +0 -4
  279. package/.output/public/_nuxt/DslnXfcH.js +0 -1
  280. package/.output/public/_nuxt/builds/meta/28bca36d-5571-4157-b1b8-7f62c934eed6.json +0 -1
  281. package/.output/public/_nuxt/entry.BAvBQY-h.css +0 -1
  282. package/.output/public/_nuxt/hzsG6cAc.js +0 -1
  283. package/.output/public/_nuxt/jjOqY9Tv.js +0 -1
  284. package/.output/public/_nuxt/xbO0VmDX.js +0 -1
  285. package/.output/server/chunks/build/Alert-DAb8nKVs.mjs.map +0 -1
  286. package/.output/server/chunks/build/Breadcrumb-DJp5WvUM.mjs.map +0 -1
  287. package/.output/server/chunks/build/BreadcrumbNav-BrQwfL8G.mjs.map +0 -1
  288. package/.output/server/chunks/build/BrowserBadge-Djw_e_I9.mjs.map +0 -1
  289. package/.output/server/chunks/build/ChartCard-B2gd_8HP.mjs.map +0 -1
  290. package/.output/server/chunks/build/Checkbox-C1khEdTh.mjs.map +0 -1
  291. package/.output/server/chunks/build/CodeBlock-CjnDrO3Y.mjs.map +0 -1
  292. package/.output/server/chunks/build/DashboardNavbar-DYtmVlhy.mjs.map +0 -1
  293. package/.output/server/chunks/build/DashboardSidebarToggle-BPNxODwj.mjs.map +0 -1
  294. package/.output/server/chunks/build/DataLocationCard-2B-sVSMr.mjs.map +0 -1
  295. package/.output/server/chunks/build/DiagnosisPanel-D6QO30FQ.mjs.map +0 -1
  296. package/.output/server/chunks/build/DiagnosisResult-ujB5Lt2A.mjs.map +0 -1
  297. package/.output/server/chunks/build/EntityLinks-F8_kC-IH.mjs.map +0 -1
  298. package/.output/server/chunks/build/EnvManagedBadge-D6e-10M9.mjs.map +0 -1
  299. package/.output/server/chunks/build/FeatureUnavailable-BMw4euTk.mjs.map +0 -1
  300. package/.output/server/chunks/build/FormField-QptK0rPg.mjs.map +0 -1
  301. package/.output/server/chunks/build/GetStartedWizard-DxT8T14Y.mjs.map +0 -1
  302. package/.output/server/chunks/build/HelpHint-C5Ru8BCc.mjs.map +0 -1
  303. package/.output/server/chunks/build/MetaStripGroup-BBByVvpR.mjs.map +0 -1
  304. package/.output/server/chunks/build/Modal-BacZmQCX.mjs.map +0 -1
  305. package/.output/server/chunks/build/NavigationMenu-sTiKSWDm.mjs.map +0 -1
  306. package/.output/server/chunks/build/RovingFocusItem--OEHI2P3.mjs.map +0 -1
  307. package/.output/server/chunks/build/SectionCard-C753B3Yo.mjs.map +0 -1
  308. package/.output/server/chunks/build/Select-BAyYwPuo.mjs.map +0 -1
  309. package/.output/server/chunks/build/Separator-BbgCfKKJ.mjs.map +0 -1
  310. package/.output/server/chunks/build/SettingsField-D-VriK9X.mjs.map +0 -1
  311. package/.output/server/chunks/build/Slideover-CNbGvbUF.mjs.map +0 -1
  312. package/.output/server/chunks/build/Switch-DdkA3Fii.mjs.map +0 -1
  313. package/.output/server/chunks/build/Table-CfDVAuUJ.mjs.map +0 -1
  314. package/.output/server/chunks/build/Tabs-BCOhHEB9.mjs.map +0 -1
  315. package/.output/server/chunks/build/TestStatusBar-wquHQqtp.mjs.map +0 -1
  316. package/.output/server/chunks/build/Textarea-Ohs6QTXf.mjs.map +0 -1
  317. package/.output/server/chunks/build/Tooltip-BRBnl4pE.mjs.map +0 -1
  318. package/.output/server/chunks/build/VisuallyHiddenInput-BHvzNumK.mjs.map +0 -1
  319. package/.output/server/chunks/build/_id_-CQ0lolEK.mjs.map +0 -1
  320. package/.output/server/chunks/build/about-DdyOj-dj.mjs.map +0 -1
  321. package/.output/server/chunks/build/account-7aVMKekZ.mjs.map +0 -1
  322. package/.output/server/chunks/build/default-CkyAx_Mu.mjs.map +0 -1
  323. package/.output/server/chunks/build/edit-CVz_gdoe.mjs.map +0 -1
  324. package/.output/server/chunks/build/fetch-Be-j7hF1.mjs.map +0 -1
  325. package/.output/server/chunks/build/forgot-password-CwdjL7BO.mjs.map +0 -1
  326. package/.output/server/chunks/build/import-DyQEw4V3.mjs.map +0 -1
  327. package/.output/server/chunks/build/index-D7Bmj6bq.mjs.map +0 -1
  328. package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs.map +0 -1
  329. package/.output/server/chunks/build/login-rXKF63j6.mjs.map +0 -1
  330. package/.output/server/chunks/build/mcp-ByNvFy4o.mjs.map +0 -1
  331. package/.output/server/chunks/build/notifications-CbLAZnKJ.mjs.map +0 -1
  332. package/.output/server/chunks/build/performance-C93MEPaZ.mjs.map +0 -1
  333. package/.output/server/chunks/build/pr-feedback-DKCB0bDE.mjs.map +0 -1
  334. package/.output/server/chunks/build/reset-password-BBoHKMqD.mjs.map +0 -1
  335. package/.output/server/chunks/build/settings-DiG0JjzC.mjs.map +0 -1
  336. package/.output/server/chunks/build/storage-3JiFJ843.mjs.map +0 -1
  337. package/.output/server/chunks/build/tags-CqYcp7js.mjs.map +0 -1
  338. package/.output/server/chunks/build/test-cases-y1HSgPX2.mjs.map +0 -1
  339. package/.output/server/chunks/build/test-functions-D2ju95Ly.mjs.map +0 -1
  340. package/.output/server/chunks/build/useFormControl-CZ9So7iX.mjs.map +0 -1
  341. package/.output/server/chunks/build/useOpenInIde--6Me0WlL.mjs.map +0 -1
  342. package/.output/server/chunks/build/users-IdmY9JZV.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import{b as ie,J as H,B as ye,am as he,r as x,h as K,an as be,N as Ve,d as _e,k as e,o as m,c as h,j as u,p as ke,m as C,i as a,t as $,g as B,_ as Ce,F as J,y as oe,q as Q,v as T,A as qe,f as X,l as He,G as We,L as Ye}from"./h49q_GXF.js";import{_ as Ge}from"./BtSJxOdh.js";import{i as Xe,g as Je,f as Ke,d as Qe,e as Ze,h as et}from"./DBhdObsO.js";import{_ as tt}from"./CScusXhF.js";import{f as we,n as st}from"./CD3R-ggS.js";import{_ as nt}from"./9N6hSApy.js";import{f as at}from"./D-c8ZSws.js";import{u as ot}from"./Cf52zHyB.js";import{u as it}from"./t-juTK3X.js";const rt=globalThis.setInterval,re=Symbol("cluster-diagnosis");function lt(g){const b=ie(),o=x(""),r=x(""),k=x([]),S=x([]),_=K(()=>!!r.value),R=x(null),P=x([]),E=x(0),U=x(0),O=x(null),l=x(null),p=x(!1),s=x(null),i=x(!1);let c=null,f=null,d=!0;function z(){const n={};return o.value.trim()&&(n.baseCommit=o.value.trim()),k.value.length&&(n.selectedCommitShas=k.value),n}async function D(){p.value=!0;try{const n=await $fetch(`/api/failure-clusters/${g}/context`,{query:{...z(),format:"json"}});R.value=n.text,P.value=n.sections,E.value=n.tokenEstimate,U.value=n.imageTokenEstimate??0,O.value=n.coverage,l.value=n.scmChanges??null}catch{R.value="(failed to load context)",P.value=[],E.value=0,U.value=0,O.value=null,l.value=null}finally{p.value=!1}}async function I(n){try{await $fetch(`/api/failure-clusters/${g}/base-commit`,{method:"PATCH",body:{commit:n||null}}),r.value=n}catch{}}function L(){c&&(clearInterval(c),c=null)}function j(){if(c)return;let n=0;c=rt(async()=>{n+=3e3,await q(),(!s.value||s.value.status!=="running"||n>=12e4)&&L()},3e3)}async function q(){try{const n=await $fetch(`/api/failure-clusters/${g}/diagnosis`);s.value=n.diagnosis}catch{}}async function W(n={}){i.value=!0;try{const w=n.force?`/api/failure-clusters/${g}/diagnose?force=true`:`/api/failure-clusters/${g}/diagnose`,F={};n.additionalContext&&(F.additionalContext=n.additionalContext),o.value.trim()&&(F.baseCommit=o.value.trim()),k.value.length&&(F.selectedCommitShas=k.value),n.images?.length&&(F.images=n.images),s.value=await $fetch(w,{method:"POST",body:Object.keys(F).length?F:void 0}),s.value?.status==="running"&&j()}catch(w){w?.statusCode===409?j():b.add({title:"Diagnosis failed",description:String(w?.message??w),color:"error"})}finally{i.value=!1}}return H(o,n=>{d||(f&&clearTimeout(f),f=setTimeout(()=>D(),900),n!==r.value&&I(n))}),H(k,()=>{d||D()},{deep:!0}),H(s,n=>{n?.status==="running"?j():L()}),ye(async()=>{try{const n=await $fetch(`/api/failure-clusters/${g}/diagnosis`);s.value=n.diagnosis,n.manualBaseCommit&&(r.value=n.manualBaseCommit,o.value=n.manualBaseCommit);const w=n.diagnosis?.details;w?.selectedCommitShas&&Array.isArray(w.selectedCommitShas)&&(k.value=w.selectedCommitShas),w?.autoSelectedCommits&&Array.isArray(w.autoSelectedCommits)&&(S.value=w.autoSelectedCommits)}catch{}d=!1,D(),s.value?.status==="running"&&j()}),he(()=>{L(),f&&clearTimeout(f)}),{clusterId:g,baseCommit:o,savedBaseCommit:r,selectedCommitShas:k,autoSelectedCommits:S,baseCommitIsPinned:_,contextText:R,contextSections:P,tokenEstimate:E,imageTokenEstimate:U,coverage:O,scmChanges:l,contextLoading:p,refreshContext:D,diagnosis:s,posting:i,runDiagnosis:W}}function ct(g){const b=lt(g);return Ve(re,b),b}function zs(){const g=be(re);if(!g)throw new Error("useClusterDiagnosis() must be used under a page that called provideClusterDiagnosis()");return g}function ut(g){const b=be(re,null);if(b)return b;if(g==null)throw new Error("useOrProvideClusterDiagnosis() requires a clusterId when used outside provideClusterDiagnosis()");return ct(g)}const dt={key:0,class:"flex items-center gap-1.5 text-xs text-gray-400 py-1"},ft={key:1,class:"space-y-1.5"},mt={class:"flex items-center justify-between"},gt={class:"text-xs font-medium text-gray-500"},pt={class:"text-gray-400 font-normal"},vt={class:"flex gap-0.5"},xt={class:"grid grid-cols-4 gap-1.5"},yt=["onClick"],ht={class:"relative"},bt=["src","alt"],_t={class:"absolute top-0.5 right-0.5"},kt={class:"px-1 py-0.5 bg-elevated space-y-0.5"},Ct=["title"],wt={class:"flex items-center gap-1 flex-wrap"},St={key:0,class:"text-[8px] text-gray-400 leading-tight"},Tt={key:1,class:"text-[8px] text-gray-400 leading-tight truncate"},$t={key:2,class:"text-[8px] text-gray-400 leading-tight ml-auto"},xe=8,Dt=_e({__name:"DiagnosisScreenshots",props:{affectedTestCases:{}},emits:["update:images"],setup(g,{emit:b}){const o=g,r=b,k=qe();async function S(s){const i=(s.type||"image/webp").split(";")[0].trim();return new Promise((c,f)=>{const d=new FileReader;d.onload=()=>{const z=d.result.split(",")[1];z!=null?c({data:z,mediaType:i}):f(new Error("Failed to read blob"))},d.onerror=f,d.readAsDataURL(s)})}const _=x([]),R=x(!1);async function P(){if(!o.affectedTestCases.length)return;R.value=!0,_.value=[];const s=[];for(const i of o.affectedTestCases){if(s.length>=xe)break;try{const c=await $fetch(`/api/test-run-cases/${i.recentTestRunsCaseId}`);for(const f of c.attachments??[]){if(!Xe(f.path,f.contentType))continue;if(s.length>=xe)break;const d=f.name||f.path.split("/").pop()||"screenshot",z=st(f.path,f.contentType,k.app?.baseURL,!0);try{const D=await fetch(z);if(!D.ok)continue;const I=await D.blob(),{data:L,mediaType:j}=await S(I);s.push({src:`data:${j};base64,${L}`,data:L,mediaType:j,name:d,selected:!0,caseTitle:i.title,status:c.status,retries:c.retries,browser:c.browser,startTime:c.testRun?.startTime??null})}catch{}}}catch{}}_.value=s,R.value=!1,E()}function E(){r("update:images",_.value.filter(s=>s.selected).map(({name:s,mediaType:i,data:c})=>({name:s,mediaType:i,data:c})))}function U(s){_.value[s].selected=!_.value[s].selected,E()}function O(){_.value.forEach(s=>s.selected=!0),E()}function l(){_.value.forEach(s=>s.selected=!1),E()}const p=K(()=>_.value.filter(s=>s.selected).length);return ye(P),(s,i)=>{const c=ke,f=Ce;return e(R)?(m(),h("div",dt,[u(c,{name:"i-lucide-loader-2",class:"size-3 animate-spin"}),i[0]||(i[0]=C(" Loading screenshots from test evidence… ",-1))])):e(_).length?(m(),h("div",ft,[a("div",mt,[a("span",gt,[i[1]||(i[1]=C(" Test screenshots ",-1)),a("span",pt,"("+$(e(p))+"/"+$(e(_).length)+" will be sent to AI)",1)]),a("div",vt,[u(f,{size:"xs",color:"neutral",variant:"ghost",onClick:O},{default:B(()=>[...i[2]||(i[2]=[C("All",-1)])]),_:1}),u(f,{size:"xs",color:"neutral",variant:"ghost",onClick:l},{default:B(()=>[...i[3]||(i[3]=[C("None",-1)])]),_:1})])]),a("div",xt,[(m(!0),h(J,null,oe(e(_),(d,z)=>(m(),h("div",{key:z,class:Q(["cursor-pointer rounded overflow-hidden border-2 transition-all",d.selected?"border-primary":"border-default opacity-50"]),onClick:D=>U(z)},[a("div",ht,[a("img",{src:d.src,alt:d.name,class:"w-full h-14 object-cover object-top"},null,8,bt),a("div",_t,[u(c,{name:d.selected?"i-lucide-check-circle-2":"i-lucide-circle",class:Q(["size-3.5 drop-shadow",d.selected?"text-primary":"text-gray-300"])},null,8,["name","class"])])]),a("div",kt,[a("p",{class:"text-[9px] text-gray-700 dark:text-gray-300 truncate font-medium leading-tight",title:d.caseTitle},$(d.caseTitle),9,Ct),a("div",wt,[a("span",{class:Q(["text-[8px] px-1 rounded leading-tight font-medium",d.status==="passed"?"bg-success/15 text-success":d.status==="failed"?"bg-error/15 text-error":"bg-neutral/15 text-gray-500"])},$(d.status),3),d.retries>0?(m(),h("span",St,"retry "+$(d.retries),1)):T("",!0),d.browser?(m(),h("span",Tt,$(d.browser),1)):T("",!0),d.startTime?(m(),h("span",$t,$(e(we)(d.startTime)),1)):T("",!0)])])],10,yt))),128))])])):T("",!0)}}}),At=Object.assign(Dt,{__name:"DiagnosisScreenshots"});function zt(g){const b=x(""),o=x(null),r=x("idle"),k=x(null),S=x(null);let _=null;function R(){_&&(_.abort(),_=null),r.value==="streaming"&&(r.value="cancelled")}function P(){R(),b.value="",o.value=null,r.value="idle",k.value=null,S.value=null}async function E(l={}){b.value="",o.value=null,S.value=null,k.value=null,r.value="streaming";const p=e(g);_=new AbortController;const s=new URLSearchParams;l.force&&s.set("force","true");const i=`/api/failure-clusters/${p}/diagnose/stream${s.toString()?"?"+s.toString():""}`;try{const c=await $fetch.raw(i,{method:"POST",body:{additionalContext:l.additionalContext,images:l.images,baseCommit:l.baseCommit,selectedCommitShas:l.selectedCommitShas,scope:l.scope,testRunsCaseId:l.testRunsCaseId},responseType:"stream",signal:_.signal,ignoreResponseError:!0}),f=c._data??c.body;if(!f)throw new Error("No response body from streaming endpoint");let d;if(f instanceof ReadableStream)d=f.getReader();else if(f instanceof Uint8Array||f instanceof ArrayBuffer){const L=new TextDecoder().decode(f instanceof ArrayBuffer?new Uint8Array(f):f);O(L),r.value==="streaming"&&(r.value="error",S.value="Stream ended without a result event");return}else if(typeof f?.getReader=="function")d=f.getReader();else if(f?.pipeThrough)d=f.getReader();else throw new Error("Unsupported stream response format");const z=new TextDecoder;let D="";for(;;){const{done:I,value:L}=await d.read();if(I)break;D+=z.decode(L,{stream:!0});const j=D.split(`
1
+ import{b as ie,J as H,B as ye,an as he,r as x,h as K,ao as be,N as Ve,d as _e,k as e,o as m,c as h,j as u,p as ke,m as C,i as a,t as $,g as B,_ as Ce,F as J,y as oe,q as Q,v as T,A as qe,f as X,l as He,G as We,L as Ye}from"./CNu3kken.js";import{_ as Ge}from"./CfhOanaF.js";import{i as Xe,g as Je,f as Ke,d as Qe,e as Ze,h as et}from"./9_aJhhcm.js";import{_ as tt}from"./B0tmRAhY.js";import{f as we,n as st}from"./DeewM3Wg.js";import{_ as nt}from"./Ya8ZzWuY.js";import{f as at}from"./D-c8ZSws.js";import{u as ot}from"./CLWMETf9.js";import{u as it}from"./CAoQUDI4.js";const rt=globalThis.setInterval,re=Symbol("cluster-diagnosis");function lt(g){const b=ie(),o=x(""),r=x(""),k=x([]),S=x([]),_=K(()=>!!r.value),R=x(null),P=x([]),E=x(0),U=x(0),O=x(null),l=x(null),p=x(!1),s=x(null),i=x(!1);let c=null,f=null,d=!0;function z(){const n={};return o.value.trim()&&(n.baseCommit=o.value.trim()),k.value.length&&(n.selectedCommitShas=k.value),n}async function D(){p.value=!0;try{const n=await $fetch(`/api/failure-clusters/${g}/context`,{query:{...z(),format:"json"}});R.value=n.text,P.value=n.sections,E.value=n.tokenEstimate,U.value=n.imageTokenEstimate??0,O.value=n.coverage,l.value=n.scmChanges??null}catch{R.value="(failed to load context)",P.value=[],E.value=0,U.value=0,O.value=null,l.value=null}finally{p.value=!1}}async function I(n){try{await $fetch(`/api/failure-clusters/${g}/base-commit`,{method:"PATCH",body:{commit:n||null}}),r.value=n}catch{}}function L(){c&&(clearInterval(c),c=null)}function j(){if(c)return;let n=0;c=rt(async()=>{n+=3e3,await q(),(!s.value||s.value.status!=="running"||n>=12e4)&&L()},3e3)}async function q(){try{const n=await $fetch(`/api/failure-clusters/${g}/diagnosis`);s.value=n.diagnosis}catch{}}async function W(n={}){i.value=!0;try{const w=n.force?`/api/failure-clusters/${g}/diagnose?force=true`:`/api/failure-clusters/${g}/diagnose`,F={};n.additionalContext&&(F.additionalContext=n.additionalContext),o.value.trim()&&(F.baseCommit=o.value.trim()),k.value.length&&(F.selectedCommitShas=k.value),n.images?.length&&(F.images=n.images),s.value=await $fetch(w,{method:"POST",body:Object.keys(F).length?F:void 0}),s.value?.status==="running"&&j()}catch(w){w?.statusCode===409?j():b.add({title:"Diagnosis failed",description:String(w?.message??w),color:"error"})}finally{i.value=!1}}return H(o,n=>{d||(f&&clearTimeout(f),f=setTimeout(()=>D(),900),n!==r.value&&I(n))}),H(k,()=>{d||D()},{deep:!0}),H(s,n=>{n?.status==="running"?j():L()}),ye(async()=>{try{const n=await $fetch(`/api/failure-clusters/${g}/diagnosis`);s.value=n.diagnosis,n.manualBaseCommit&&(r.value=n.manualBaseCommit,o.value=n.manualBaseCommit);const w=n.diagnosis?.details;w?.selectedCommitShas&&Array.isArray(w.selectedCommitShas)&&(k.value=w.selectedCommitShas),w?.autoSelectedCommits&&Array.isArray(w.autoSelectedCommits)&&(S.value=w.autoSelectedCommits)}catch{}d=!1,D(),s.value?.status==="running"&&j()}),he(()=>{L(),f&&clearTimeout(f)}),{clusterId:g,baseCommit:o,savedBaseCommit:r,selectedCommitShas:k,autoSelectedCommits:S,baseCommitIsPinned:_,contextText:R,contextSections:P,tokenEstimate:E,imageTokenEstimate:U,coverage:O,scmChanges:l,contextLoading:p,refreshContext:D,diagnosis:s,posting:i,runDiagnosis:W}}function ct(g){const b=lt(g);return Ve(re,b),b}function zs(){const g=be(re);if(!g)throw new Error("useClusterDiagnosis() must be used under a page that called provideClusterDiagnosis()");return g}function ut(g){const b=be(re,null);if(b)return b;if(g==null)throw new Error("useOrProvideClusterDiagnosis() requires a clusterId when used outside provideClusterDiagnosis()");return ct(g)}const dt={key:0,class:"flex items-center gap-1.5 text-xs text-gray-400 py-1"},ft={key:1,class:"space-y-1.5"},mt={class:"flex items-center justify-between"},gt={class:"text-xs font-medium text-gray-500"},pt={class:"text-gray-400 font-normal"},vt={class:"flex gap-0.5"},xt={class:"grid grid-cols-4 gap-1.5"},yt=["onClick"],ht={class:"relative"},bt=["src","alt"],_t={class:"absolute top-0.5 right-0.5"},kt={class:"px-1 py-0.5 bg-elevated space-y-0.5"},Ct=["title"],wt={class:"flex items-center gap-1 flex-wrap"},St={key:0,class:"text-[8px] text-gray-400 leading-tight"},Tt={key:1,class:"text-[8px] text-gray-400 leading-tight truncate"},$t={key:2,class:"text-[8px] text-gray-400 leading-tight ml-auto"},xe=8,Dt=_e({__name:"DiagnosisScreenshots",props:{affectedTestCases:{}},emits:["update:images"],setup(g,{emit:b}){const o=g,r=b,k=qe();async function S(s){const i=(s.type||"image/webp").split(";")[0].trim();return new Promise((c,f)=>{const d=new FileReader;d.onload=()=>{const z=d.result.split(",")[1];z!=null?c({data:z,mediaType:i}):f(new Error("Failed to read blob"))},d.onerror=f,d.readAsDataURL(s)})}const _=x([]),R=x(!1);async function P(){if(!o.affectedTestCases.length)return;R.value=!0,_.value=[];const s=[];for(const i of o.affectedTestCases){if(s.length>=xe)break;try{const c=await $fetch(`/api/test-run-cases/${i.recentTestRunsCaseId}`);for(const f of c.attachments??[]){if(!Xe(f.path,f.contentType))continue;if(s.length>=xe)break;const d=f.name||f.path.split("/").pop()||"screenshot",z=st(f.path,f.contentType,k.app?.baseURL,!0);try{const D=await fetch(z);if(!D.ok)continue;const I=await D.blob(),{data:L,mediaType:j}=await S(I);s.push({src:`data:${j};base64,${L}`,data:L,mediaType:j,name:d,selected:!0,caseTitle:i.title,status:c.status,retries:c.retries,browser:c.browser,startTime:c.testRun?.startTime??null})}catch{}}}catch{}}_.value=s,R.value=!1,E()}function E(){r("update:images",_.value.filter(s=>s.selected).map(({name:s,mediaType:i,data:c})=>({name:s,mediaType:i,data:c})))}function U(s){_.value[s].selected=!_.value[s].selected,E()}function O(){_.value.forEach(s=>s.selected=!0),E()}function l(){_.value.forEach(s=>s.selected=!1),E()}const p=K(()=>_.value.filter(s=>s.selected).length);return ye(P),(s,i)=>{const c=ke,f=Ce;return e(R)?(m(),h("div",dt,[u(c,{name:"i-lucide-loader-2",class:"size-3 animate-spin"}),i[0]||(i[0]=C(" Loading screenshots from test evidence… ",-1))])):e(_).length?(m(),h("div",ft,[a("div",mt,[a("span",gt,[i[1]||(i[1]=C(" Test screenshots ",-1)),a("span",pt,"("+$(e(p))+"/"+$(e(_).length)+" will be sent to AI)",1)]),a("div",vt,[u(f,{size:"xs",color:"neutral",variant:"ghost",onClick:O},{default:B(()=>[...i[2]||(i[2]=[C("All",-1)])]),_:1}),u(f,{size:"xs",color:"neutral",variant:"ghost",onClick:l},{default:B(()=>[...i[3]||(i[3]=[C("None",-1)])]),_:1})])]),a("div",xt,[(m(!0),h(J,null,oe(e(_),(d,z)=>(m(),h("div",{key:z,class:Q(["cursor-pointer rounded overflow-hidden border-2 transition-all",d.selected?"border-primary":"border-default opacity-50"]),onClick:D=>U(z)},[a("div",ht,[a("img",{src:d.src,alt:d.name,class:"w-full h-14 object-cover object-top"},null,8,bt),a("div",_t,[u(c,{name:d.selected?"i-lucide-check-circle-2":"i-lucide-circle",class:Q(["size-3.5 drop-shadow",d.selected?"text-primary":"text-gray-300"])},null,8,["name","class"])])]),a("div",kt,[a("p",{class:"text-[9px] text-gray-700 dark:text-gray-300 truncate font-medium leading-tight",title:d.caseTitle},$(d.caseTitle),9,Ct),a("div",wt,[a("span",{class:Q(["text-[8px] px-1 rounded leading-tight font-medium",d.status==="passed"?"bg-success/15 text-success":d.status==="failed"?"bg-error/15 text-error":"bg-neutral/15 text-gray-500"])},$(d.status),3),d.retries>0?(m(),h("span",St,"retry "+$(d.retries),1)):T("",!0),d.browser?(m(),h("span",Tt,$(d.browser),1)):T("",!0),d.startTime?(m(),h("span",$t,$(e(we)(d.startTime)),1)):T("",!0)])])],10,yt))),128))])])):T("",!0)}}}),At=Object.assign(Dt,{__name:"DiagnosisScreenshots"});function zt(g){const b=x(""),o=x(null),r=x("idle"),k=x(null),S=x(null);let _=null;function R(){_&&(_.abort(),_=null),r.value==="streaming"&&(r.value="cancelled")}function P(){R(),b.value="",o.value=null,r.value="idle",k.value=null,S.value=null}async function E(l={}){b.value="",o.value=null,S.value=null,k.value=null,r.value="streaming";const p=e(g);_=new AbortController;const s=new URLSearchParams;l.force&&s.set("force","true");const i=`/api/failure-clusters/${p}/diagnose/stream${s.toString()?"?"+s.toString():""}`;try{const c=await $fetch.raw(i,{method:"POST",body:{additionalContext:l.additionalContext,images:l.images,baseCommit:l.baseCommit,selectedCommitShas:l.selectedCommitShas,scope:l.scope,testRunsCaseId:l.testRunsCaseId},responseType:"stream",signal:_.signal,ignoreResponseError:!0}),f=c._data??c.body;if(!f)throw new Error("No response body from streaming endpoint");let d;if(f instanceof ReadableStream)d=f.getReader();else if(f instanceof Uint8Array||f instanceof ArrayBuffer){const L=new TextDecoder().decode(f instanceof ArrayBuffer?new Uint8Array(f):f);O(L),r.value==="streaming"&&(r.value="error",S.value="Stream ended without a result event");return}else if(typeof f?.getReader=="function")d=f.getReader();else if(f?.pipeThrough)d=f.getReader();else throw new Error("Unsupported stream response format");const z=new TextDecoder;let D="";for(;;){const{done:I,value:L}=await d.read();if(I)break;D+=z.decode(L,{stream:!0});const j=D.split(`
2
2
 
3
3
  `);D=j.pop()||"";let q=!1;for(const W of j){const n=U(W);if(n){if(n.event==="result")k.value=n.data,r.value="complete",q=!0;else if(n.event==="thinking"){const w=n.data;b.value+=w.text}else if(n.event==="stage")o.value=n.data.stage;else if(n.event==="error"){const w=n.data;S.value=w.message,r.value="error"}}}if(q)break}if(D.trim()){const I=U(D.trim());I&&(I.event==="result"?(k.value=I.data,r.value="complete"):I.event==="error"&&(S.value=I.data.message,r.value="error"))}r.value==="streaming"&&(S.value||(r.value="complete"))}catch(c){if(c?.name==="AbortError"){r.value="cancelled";return}S.value=String(c?.message??c),r.value="error"}finally{_=null}}function U(l){if(!l.trim())return null;const p=l.split(`
4
4
  `);let s="message",i="";for(const c of p)c.startsWith("event: ")?s=c.slice(7).trim():c.startsWith("data: ")?i+=c.slice(6):c.startsWith(":");if(!i)return null;try{return{event:s,data:JSON.parse(i)}}catch{return{event:s,data:i}}}function O(l){const p=l.split(`
@@ -1 +1 @@
1
- import{aq as s}from"./h49q_GXF.js";let a=null;function i(){const t=s("ai-status",()=>null);async function u(){t.value===null&&(a||(a=$fetch("/api/ai/status").catch(()=>({configured:!1}))),t.value=await a)}return u(),{aiStatus:t}}export{i as u};
1
+ import{ap as s}from"./CNu3kken.js";let a=null;function i(){const t=s("ai-status",()=>null);async function u(){t.value===null&&(a||(a=$fetch("/api/ai/status").catch(()=>({configured:!1}))),t.value=await a)}return u(),{aiStatus:t}}export{i as u};