@piwitests/server 0.21.0 → 0.22.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 (739) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{C9sdHaXd.js → 2VtBYkNh.js} +1 -1
  3. package/.output/public/_nuxt/{CES2i5Pl.js → 3xlGO1qT.js} +1 -1
  4. package/.output/public/_nuxt/{lGC893pn.js → 4yvOL9PC.js} +1 -1
  5. package/.output/public/_nuxt/{ZcAfCxWE.js → 6-ivqM_I.js} +1 -1
  6. package/.output/public/_nuxt/{DkT2nCqn.js → 9N6hSApy.js} +1 -1
  7. package/.output/public/_nuxt/{wkz5-1SO.js → 9P8iHISX.js} +1 -1
  8. package/.output/public/_nuxt/B-6GGrhr.js +1 -0
  9. package/.output/public/_nuxt/{Bo_dxehb.js → B09ddw9C.js} +1 -1
  10. package/.output/public/_nuxt/{BGusFAvZ.js → B0hK-xDF.js} +1 -1
  11. package/.output/public/_nuxt/{DfnKh3dZ.js → B2a-Phk3.js} +1 -1
  12. package/.output/public/_nuxt/{DqEOMteW.js → B6s20NbT.js} +1 -1
  13. package/.output/public/_nuxt/B9FSuKdA.js +1 -0
  14. package/.output/public/_nuxt/{DJMCXRuW.js → B9kt7ySS.js} +2 -2
  15. package/.output/public/_nuxt/{BnbSEpXX.js → BDQCwxpX.js} +1 -1
  16. package/.output/public/_nuxt/{B-zdP-D4.js → BFcdtAzg.js} +1 -1
  17. package/.output/public/_nuxt/{RAdNGxcF.js → BH-ym1CI.js} +1 -1
  18. package/.output/public/_nuxt/{zv8WdMx0.js → BKJetfRH.js} +1 -1
  19. package/.output/public/_nuxt/{CTD_pJ_v.js → BNAHBHbY.js} +1 -1
  20. package/.output/public/_nuxt/{DX4tAP78.js → BQOWm9mQ.js} +1 -1
  21. package/.output/public/_nuxt/{CvMzDKvu.js → BQzG26t0.js} +1 -1
  22. package/.output/public/_nuxt/{B_13C0GF.js → BTvE9qca.js} +1 -1
  23. package/.output/public/_nuxt/{BpBHls4-.js → BUMoU50-.js} +1 -1
  24. package/.output/public/_nuxt/{D_eDAIsT.js → BVN50jIb.js} +1 -1
  25. package/.output/public/_nuxt/{DSe8DxMl.js → BYB8NVJZ.js} +1 -1
  26. package/.output/public/_nuxt/{BfTNbVc_.js → BZnfiR67.js} +1 -1
  27. package/.output/public/_nuxt/{DQM62mxB.js → B_mN5eMV.js} +1 -1
  28. package/.output/public/_nuxt/BaDhDBCV.js +1 -0
  29. package/.output/public/_nuxt/{Ctb2CqUf.js → Bb7Uckln.js} +3 -3
  30. package/.output/public/_nuxt/{DvhCDBrR.js → Be4c943G.js} +2 -2
  31. package/.output/public/_nuxt/{YmT5WiN5.js → BfS8BZTO.js} +1 -1
  32. package/.output/public/_nuxt/{C2hNxjjz.js → BhH0TNTi.js} +1 -1
  33. package/.output/public/_nuxt/{CIBS7ye6.js → BjU3HZuS.js} +1 -1
  34. package/.output/public/_nuxt/{Ckgsh9AT.js → BlRWlfdD.js} +1 -1
  35. package/.output/public/_nuxt/BmJUhCIO.js +6 -0
  36. package/.output/public/_nuxt/{C5PSqfKi.js → BpUXqOVj.js} +1 -1
  37. package/.output/public/_nuxt/{DnNio-ut.js → BqCiYSVY.js} +1 -1
  38. package/.output/public/_nuxt/{Ci9d8YVV.js → Bt4FLbe0.js} +1 -1
  39. package/.output/public/_nuxt/{BpM6ZPIG.js → BtSJxOdh.js} +1 -1
  40. package/.output/public/_nuxt/{CAxgBYIt.js → BtaTvcz6.js} +2 -2
  41. package/.output/public/_nuxt/{DHzij16p.js → By5qkOq8.js} +1 -1
  42. package/.output/public/_nuxt/{DL24AjfW.js → C0v6l4pr.js} +1 -1
  43. package/.output/public/_nuxt/{9ti9eNH9.js → C9p0YCAi.js} +1 -1
  44. package/.output/public/_nuxt/{tQoyVPCE.js → CAZpjzvB.js} +1 -1
  45. package/.output/public/_nuxt/{COhdybDy.js → CBZD8ym8.js} +1 -1
  46. package/.output/public/_nuxt/CCP6Tyle.js +1 -0
  47. package/.output/public/_nuxt/{BAKUqW95.js → CD3R-ggS.js} +1 -1
  48. package/.output/public/_nuxt/{_rglcvXN.js → CDh_Qt7h.js} +1 -1
  49. package/.output/public/_nuxt/{C_NfGMTd.js → CI_q0F1O.js} +2 -2
  50. package/.output/public/_nuxt/{CtstIQSh.js → CJEp4i0N.js} +1 -1
  51. package/.output/public/_nuxt/{BNurUTla.js → CMhK1PvI.js} +1 -1
  52. package/.output/public/_nuxt/{CWKmbYlT.js → CNcu4khZ.js} +1 -1
  53. package/.output/public/_nuxt/COP3KBCA.js +9 -0
  54. package/.output/public/_nuxt/{Ebw5l7n8.js → CRPt9SfB.js} +1 -1
  55. package/.output/public/_nuxt/{B1RmmOsM.js → CScusXhF.js} +1 -1
  56. package/.output/public/_nuxt/{Cpsq-kYE.js → CWoSSKhQ.js} +1 -1
  57. package/.output/public/_nuxt/{Dk9nD32g.js → CWw9WGlv.js} +1 -1
  58. package/.output/public/_nuxt/{DnQv_hst.js → CZ9ThISn.js} +1 -1
  59. package/.output/public/_nuxt/{E-_n_6vi.js → Cd8r0xk5.js} +1 -1
  60. package/.output/public/_nuxt/{BGL_V7Y4.js → Cf52zHyB.js} +1 -1
  61. package/.output/public/_nuxt/{BqGumsDo.js → CkKCKAYp.js} +2 -2
  62. package/.output/public/_nuxt/{BR5cR2Ot.js → CkyMZI-0.js} +1 -1
  63. package/.output/public/_nuxt/{B3zmIJYb.js → CoPntblj.js} +1 -1
  64. package/.output/public/_nuxt/CobveFaj.js +1 -0
  65. package/.output/public/_nuxt/{DJXcGkJP.js → Cot8fIp5.js} +2 -2
  66. package/.output/public/_nuxt/{BerCW7Ug.js → CrOA9onF.js} +1 -1
  67. package/.output/public/_nuxt/{Chpah_7l.js → Cwwe5bRS.js} +1 -1
  68. package/.output/public/_nuxt/{C5vsaU4G.js → D0ROfwV0.js} +1 -1
  69. package/.output/public/_nuxt/{NERLHpOL.js → D4UlSVir.js} +1 -1
  70. package/.output/public/_nuxt/{DlW85lQq.js → D4oheDIm.js} +3 -3
  71. package/.output/public/_nuxt/{CsHulb12.js → D6Mo5HeX.js} +1 -1
  72. package/.output/public/_nuxt/{B3rirOqU.js → DBhdObsO.js} +1 -1
  73. package/.output/public/_nuxt/{BrxtP_cN.js → DDN2tt0a.js} +1 -1
  74. package/.output/public/_nuxt/{CTP8Pw0-.js → DGyGmFem.js} +2 -2
  75. package/.output/public/_nuxt/{DdH3op4b.js → DHUT-BKj.js} +1 -1
  76. package/.output/public/_nuxt/DK7xciFW.js +7 -0
  77. package/.output/public/_nuxt/{B3Fsod9X.js → DLNNAYfu.js} +1 -1
  78. package/.output/public/_nuxt/{yYlVYKCz.js → DLn-VPtK.js} +3 -3
  79. package/.output/public/_nuxt/{IPePdbzl.js → DOBSrxzY.js} +1 -1
  80. package/.output/public/_nuxt/{CFTZwazK.js → DOLeth7M.js} +1 -1
  81. package/.output/public/_nuxt/{CFEdRqaj.js → DQnsFoJn.js} +1 -1
  82. package/.output/public/_nuxt/{bfecIH89.js → DS2ANCQh.js} +1 -1
  83. package/.output/public/_nuxt/{CJBhojV6.js → DSvBQHzW.js} +1 -1
  84. package/.output/public/_nuxt/{DfSBKzrC.js → DWEkQ7bl.js} +1 -1
  85. package/.output/public/_nuxt/{Cqc-DSTF.js → DXXnDejN.js} +1 -1
  86. package/.output/public/_nuxt/{D8gX1Jde.js → Dj-TetcW.js} +1 -1
  87. package/.output/public/_nuxt/DpalT0nH.js +1 -0
  88. package/.output/public/_nuxt/{DhpTfeip.js → DsX5CCb5.js} +1 -1
  89. package/.output/public/_nuxt/{DAPTVdvA.js → DslnXfcH.js} +1 -1
  90. package/.output/public/_nuxt/{D9knOn6D.js → DtSn2Q9-.js} +1 -1
  91. package/.output/public/_nuxt/{BeDIjhoR.js → DwyFnMoY.js} +1 -1
  92. package/.output/public/_nuxt/{gV2U_Gqd.js → DzM9oeLa.js} +1 -1
  93. package/.output/public/_nuxt/{CLVWiCds.js → Gik813Ek.js} +1 -1
  94. package/.output/public/_nuxt/{YE1kAkU9.js → Hot1UcKY.js} +1 -1
  95. package/.output/public/_nuxt/{DKFXZdWZ.js → HwFFbACq.js} +1 -1
  96. package/.output/public/_nuxt/{LHoUGrfi.js → PdEEuEsg.js} +1 -1
  97. package/.output/public/_nuxt/{nOfj-ar8.js → SBmMTKQb.js} +1 -1
  98. package/.output/public/_nuxt/{BTVqMsA3.js → Sgis3xif.js} +1 -1
  99. package/.output/public/_nuxt/{D2pBhsH8.js → _VzR8bwc.js} +1 -1
  100. package/.output/public/_nuxt/{CV8iF2kG.js → b_yFgp5S.js} +1 -1
  101. package/.output/public/_nuxt/builds/latest.json +1 -1
  102. package/.output/public/_nuxt/builds/meta/5f1ebc7c-d690-4f02-847f-a3249653f75f.json +1 -0
  103. package/.output/public/_nuxt/{CKYddHa6.js → cSeAgciy.js} +1 -1
  104. package/.output/public/_nuxt/{CMYAryzi.js → czXrP7NB.js} +1 -1
  105. package/.output/public/_nuxt/{DCFbQvIN.js → h49q_GXF.js} +9 -9
  106. package/.output/public/_nuxt/{DON74Yh6.js → hzsG6cAc.js} +1 -1
  107. package/.output/public/_nuxt/{DwQaVMZR.js → iubpj2qv.js} +1 -1
  108. package/.output/public/_nuxt/{oKrbs1XK.js → jjOqY9Tv.js} +1 -1
  109. package/.output/public/_nuxt/{BTCh_0zN.js → kfFeu9tK.js} +1 -1
  110. package/.output/public/_nuxt/nANaAHCd.js +5 -0
  111. package/.output/public/_nuxt/{CifRHVaR.js → t-juTK3X.js} +1 -1
  112. package/.output/public/_nuxt/{Dsvu7YJT.js → x8YSyy4c.js} +1 -1
  113. package/.output/public/_nuxt/{uSPCvASp.js → x8w_1_rn.js} +1 -1
  114. package/.output/public/_nuxt/xbO0VmDX.js +1 -0
  115. package/.output/server/chunks/_/collect.mjs +1 -1
  116. package/.output/server/chunks/_/error-500.mjs.map +1 -1
  117. package/.output/server/chunks/_/markers.mjs +1 -1
  118. package/.output/server/chunks/_/quarantine.mjs +1 -1
  119. package/.output/server/chunks/_/users.mjs +1 -1
  120. package/.output/server/chunks/build/{Alert-C4xq8lao.mjs → Alert-DAb8nKVs.mjs} +2 -2
  121. package/.output/server/chunks/build/Alert-DAb8nKVs.mjs.map +1 -0
  122. package/.output/server/chunks/build/{Breadcrumb-3itRZ1uz.mjs → Breadcrumb-DJp5WvUM.mjs} +5 -5
  123. package/.output/server/chunks/build/Breadcrumb-DJp5WvUM.mjs.map +1 -0
  124. package/.output/server/chunks/build/{BreadcrumbNav-GnjBvXuT.mjs → BreadcrumbNav-BrQwfL8G.mjs} +2 -2
  125. package/.output/server/chunks/build/BreadcrumbNav-BrQwfL8G.mjs.map +1 -0
  126. package/.output/server/chunks/build/{BrowserBadge-DQqJS9CV.mjs → BrowserBadge-Djw_e_I9.mjs} +3 -3
  127. package/.output/server/chunks/build/BrowserBadge-Djw_e_I9.mjs.map +1 -0
  128. package/.output/server/chunks/build/{Card-BQP_oZkQ.mjs → Card--Ike7sYc.mjs} +2 -2
  129. package/.output/server/chunks/build/Card--Ike7sYc.mjs.map +1 -0
  130. package/.output/server/chunks/build/{ChartCard-D0rzMf-N.mjs → ChartCard-B2gd_8HP.mjs} +2 -2
  131. package/.output/server/chunks/build/ChartCard-B2gd_8HP.mjs.map +1 -0
  132. package/.output/server/chunks/build/{ChartMarkerTooltip-0DcMfD_6.mjs → ChartMarkerTooltip-u_1DUHh-.mjs} +2 -2
  133. package/.output/server/chunks/build/ChartMarkerTooltip-u_1DUHh-.mjs.map +1 -0
  134. package/.output/server/chunks/build/{Checkbox-DmRKG-0s.mjs → Checkbox-C1khEdTh.mjs} +4 -4
  135. package/.output/server/chunks/build/Checkbox-C1khEdTh.mjs.map +1 -0
  136. package/.output/server/chunks/build/{CodeBlock-DGhKVFad.mjs → CodeBlock-CjnDrO3Y.mjs} +4 -4
  137. package/.output/server/chunks/build/CodeBlock-CjnDrO3Y.mjs.map +1 -0
  138. package/.output/server/chunks/build/{DashboardNavbar-DCr10nxL.mjs → DashboardNavbar-DYtmVlhy.mjs} +5 -5
  139. package/.output/server/chunks/build/DashboardNavbar-DYtmVlhy.mjs.map +1 -0
  140. package/.output/server/chunks/build/{DashboardSidebarToggle-8EpBhX0R.mjs → DashboardSidebarToggle-BPNxODwj.mjs} +5 -5
  141. package/.output/server/chunks/build/DashboardSidebarToggle-BPNxODwj.mjs.map +1 -0
  142. package/.output/server/chunks/build/{DataLocationCard-rzS-pgCP.mjs → DataLocationCard-2B-sVSMr.mjs} +5 -5
  143. package/.output/server/chunks/build/DataLocationCard-2B-sVSMr.mjs.map +1 -0
  144. package/.output/server/chunks/build/{DiagnosisPanel-BWTpoCKy.mjs → DiagnosisPanel-D6QO30FQ.mjs} +7 -7
  145. package/.output/server/chunks/build/DiagnosisPanel-D6QO30FQ.mjs.map +1 -0
  146. package/.output/server/chunks/build/{DiagnosisResult-Br3qBLXe.mjs → DiagnosisResult-ujB5Lt2A.mjs} +10 -10
  147. package/.output/server/chunks/build/DiagnosisResult-ujB5Lt2A.mjs.map +1 -0
  148. package/.output/server/chunks/build/{DurationValue-CWKfjIF2.mjs → DurationValue-UX9uajQJ.mjs} +2 -2
  149. package/.output/server/chunks/build/DurationValue-UX9uajQJ.mjs.map +1 -0
  150. package/.output/server/chunks/build/{EntityLinks-CF0xG3Y8.mjs → EntityLinks-F8_kC-IH.mjs} +3 -3
  151. package/.output/server/chunks/build/EntityLinks-F8_kC-IH.mjs.map +1 -0
  152. package/.output/server/chunks/build/{EnvManagedBadge-UwD2b9v2.mjs → EnvManagedBadge-D6e-10M9.mjs} +3 -3
  153. package/.output/server/chunks/build/EnvManagedBadge-D6e-10M9.mjs.map +1 -0
  154. package/.output/server/chunks/build/{FeatureUnavailable-CwPms6X_.mjs → FeatureUnavailable-BMw4euTk.mjs} +2 -2
  155. package/.output/server/chunks/build/FeatureUnavailable-BMw4euTk.mjs.map +1 -0
  156. package/.output/server/chunks/build/{FormField-e7OnSKPM.mjs → FormField-QptK0rPg.mjs} +3 -3
  157. package/.output/server/chunks/build/FormField-QptK0rPg.mjs.map +1 -0
  158. package/.output/server/chunks/build/{GetStartedWizard-CB5v1Xzu.mjs → GetStartedWizard-DxT8T14Y.mjs} +4 -4
  159. package/.output/server/chunks/build/GetStartedWizard-DxT8T14Y.mjs.map +1 -0
  160. package/.output/server/chunks/build/{HelpHint-DjGrGFA7.mjs → HelpHint-C5Ru8BCc.mjs} +2 -2
  161. package/.output/server/chunks/build/HelpHint-C5Ru8BCc.mjs.map +1 -0
  162. package/.output/server/chunks/build/{LoadingState-B8v1nWJt.mjs → LoadingState-CwpfmI0W.mjs} +3 -3
  163. package/.output/server/chunks/build/LoadingState-CwpfmI0W.mjs.map +1 -0
  164. package/.output/server/chunks/build/{MarkerBadge-D7meXy4u.mjs → MarkerBadge-Biz5--h2.mjs} +1 -1
  165. package/.output/server/chunks/build/MarkerBadge-Biz5--h2.mjs.map +1 -0
  166. package/.output/server/chunks/build/{MetaStripGroup-dXXa_MzF.mjs → MetaStripGroup-BBByVvpR.mjs} +13 -13
  167. package/.output/server/chunks/build/{MetaStripGroup-dXXa_MzF.mjs.map → MetaStripGroup-BBByVvpR.mjs.map} +1 -1
  168. package/.output/server/chunks/build/{Modal-pSDlXzT3.mjs → Modal-BacZmQCX.mjs} +3 -3
  169. package/.output/server/chunks/build/Modal-BacZmQCX.mjs.map +1 -0
  170. package/.output/server/chunks/build/{NavigationMenu-cqpt11Ce.mjs → NavigationMenu-sTiKSWDm.mjs} +5 -5
  171. package/.output/server/chunks/build/NavigationMenu-sTiKSWDm.mjs.map +1 -0
  172. package/.output/server/chunks/build/{OpenInIdeLink-B9wvQkhy.mjs → OpenInIdeLink-Crc8y0Yx.mjs} +5 -5
  173. package/.output/server/chunks/build/{OpenInIdeLink-B9wvQkhy.mjs.map → OpenInIdeLink-Crc8y0Yx.mjs.map} +1 -1
  174. package/.output/server/chunks/build/{ProjectTestCasesTable-BwHEtZTz.mjs → ProjectTestCasesTable-DwjqZ2i5.mjs} +17 -17
  175. package/.output/server/chunks/build/ProjectTestCasesTable-DwjqZ2i5.mjs.map +1 -0
  176. package/.output/server/chunks/build/{RunReports-BDRIWn3o.mjs → RunReports-nuLb-Nm3.mjs} +3 -3
  177. package/.output/server/chunks/build/RunReports-nuLb-Nm3.mjs.map +1 -0
  178. package/.output/server/chunks/build/{RunStatusBadge-CuTDknRJ.mjs → RunStatusBadge-CvWmcFYM.mjs} +2 -2
  179. package/.output/server/chunks/build/RunStatusBadge-CvWmcFYM.mjs.map +1 -0
  180. package/.output/server/chunks/build/{SectionCard-BW5Lynrr.mjs → SectionCard-C753B3Yo.mjs} +3 -3
  181. package/.output/server/chunks/build/SectionCard-C753B3Yo.mjs.map +1 -0
  182. package/.output/server/chunks/build/{Select-CVctwpib.mjs → Select-BAyYwPuo.mjs} +4 -4
  183. package/.output/server/chunks/build/Select-BAyYwPuo.mjs.map +1 -0
  184. package/.output/server/chunks/build/{SelectMenu-XLVBEa11.mjs → SelectMenu-zE_AhMX8.mjs} +4 -4
  185. package/.output/server/chunks/build/{SelectMenu-XLVBEa11.mjs.map → SelectMenu-zE_AhMX8.mjs.map} +1 -1
  186. package/.output/server/chunks/build/{Separator-CR4WcEKD.mjs → Separator-BbgCfKKJ.mjs} +3 -3
  187. package/.output/server/chunks/build/Separator-BbgCfKKJ.mjs.map +1 -0
  188. package/.output/server/chunks/build/{SettingsField-DvtRvI6O.mjs → SettingsField-D-VriK9X.mjs} +5 -5
  189. package/.output/server/chunks/build/SettingsField-D-VriK9X.mjs.map +1 -0
  190. package/.output/server/chunks/build/{Skeleton-CEHuuKVh.mjs → Skeleton-DAp_WMEe.mjs} +2 -2
  191. package/.output/server/chunks/build/Skeleton-DAp_WMEe.mjs.map +1 -0
  192. package/.output/server/chunks/build/{Slideover-D270EZZD.mjs → Slideover-CNbGvbUF.mjs} +3 -3
  193. package/.output/server/chunks/build/Slideover-CNbGvbUF.mjs.map +1 -0
  194. package/.output/server/chunks/build/{Switch-8zWfwI5B.mjs → Switch-DdkA3Fii.mjs} +3 -3
  195. package/.output/server/chunks/build/Switch-DdkA3Fii.mjs.map +1 -0
  196. package/.output/server/chunks/build/{Table-BRk04Hd2.mjs → Table-CfDVAuUJ.mjs} +4 -4
  197. package/.output/server/chunks/build/Table-CfDVAuUJ.mjs.map +1 -0
  198. package/.output/server/chunks/build/{Tabs-BkSOnbaB.mjs → Tabs-BCOhHEB9.mjs} +2 -2
  199. package/.output/server/chunks/build/Tabs-BCOhHEB9.mjs.map +1 -0
  200. package/.output/server/chunks/build/{TestCaseHistoryChart-C6t5RrCG.mjs → TestCaseHistoryChart-CKDXQ2GI.mjs} +3 -3
  201. package/.output/server/chunks/build/TestCaseHistoryChart-CKDXQ2GI.mjs.map +1 -0
  202. package/.output/server/chunks/build/{TestStatusBar-DhbrM_rQ.mjs → TestStatusBar-wquHQqtp.mjs} +2 -2
  203. package/.output/server/chunks/build/TestStatusBar-wquHQqtp.mjs.map +1 -0
  204. package/.output/server/chunks/build/{Textarea-vkMKVQTJ.mjs → Textarea-Ohs6QTXf.mjs} +3 -3
  205. package/.output/server/chunks/build/Textarea-Ohs6QTXf.mjs.map +1 -0
  206. package/.output/server/chunks/build/{Tooltip-Dv4htNP6.mjs → Tooltip-BRBnl4pE.mjs} +3 -3
  207. package/.output/server/chunks/build/Tooltip-BRBnl4pE.mjs.map +1 -0
  208. package/.output/server/chunks/build/{_id_-DMkgWSLZ.mjs → _id_-BesWjK_d.mjs} +45 -43
  209. package/.output/server/chunks/build/{_id_-DMkgWSLZ.mjs.map → _id_-BesWjK_d.mjs.map} +1 -1
  210. package/.output/server/chunks/build/{_id_-CUZ5S6y5.mjs → _id_-CGs0u8Fr.mjs} +30 -28
  211. package/.output/server/chunks/build/{_id_-CUZ5S6y5.mjs.map → _id_-CGs0u8Fr.mjs.map} +1 -1
  212. package/.output/server/chunks/build/{_id_-2PMH6rl8.mjs → _id_-CQ0lolEK.mjs} +26 -24
  213. package/.output/server/chunks/build/_id_-CQ0lolEK.mjs.map +1 -0
  214. package/.output/server/chunks/build/{_id_-8cGIgeg6.mjs → _id_-D1-06Fcl.mjs} +46 -44
  215. package/.output/server/chunks/build/_id_-D1-06Fcl.mjs.map +1 -0
  216. package/.output/server/chunks/build/{about-D3WXTDro.mjs → about-DdyOj-dj.mjs} +10 -8
  217. package/.output/server/chunks/build/about-DdyOj-dj.mjs.map +1 -0
  218. package/.output/server/chunks/build/{account-BslDNCoo.mjs → account-7aVMKekZ.mjs} +10 -8
  219. package/.output/server/chunks/build/account-7aVMKekZ.mjs.map +1 -0
  220. package/.output/server/chunks/build/{ai-C23R9l94.mjs → ai-zw3T9b5u.mjs} +23 -21
  221. package/.output/server/chunks/build/{ai-C23R9l94.mjs.map → ai-zw3T9b5u.mjs.map} +1 -1
  222. package/.output/server/chunks/build/{analytics-DQHeToK0.mjs → analytics-CeCzKwEX.mjs} +43 -41
  223. package/.output/server/chunks/build/{analytics-DQHeToK0.mjs.map → analytics-CeCzKwEX.mjs.map} +1 -1
  224. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  225. package/.output/server/chunks/build/{compare-RxHSOdsO.mjs → compare-B2OB3zdd.mjs} +3 -1
  226. package/.output/server/chunks/build/compare-B2OB3zdd.mjs.map +1 -0
  227. package/.output/server/chunks/build/{db.client-D74DghqX.mjs → db.client-Bdqk_eYQ.mjs} +3 -1
  228. package/.output/server/chunks/build/db.client-Bdqk_eYQ.mjs.map +1 -0
  229. package/.output/server/chunks/build/{default-CeyePZ5I.mjs → default-CkyAx_Mu.mjs} +31 -29
  230. package/.output/server/chunks/build/{default-CeyePZ5I.mjs.map → default-CkyAx_Mu.mjs.map} +1 -1
  231. package/.output/server/chunks/build/{docs-f_bnC75q.mjs → docs-Dhj-wEks.mjs} +16 -14
  232. package/.output/server/chunks/build/{docs-f_bnC75q.mjs.map → docs-Dhj-wEks.mjs.map} +1 -1
  233. package/.output/server/chunks/build/{edit-BOC4zWuH.mjs → edit-CVz_gdoe.mjs} +17 -15
  234. package/.output/server/chunks/build/edit-CVz_gdoe.mjs.map +1 -0
  235. package/.output/server/chunks/build/{fetch-BQg_fhX0.mjs → fetch-Be-j7hF1.mjs} +3 -3
  236. package/.output/server/chunks/build/fetch-Be-j7hF1.mjs.map +1 -0
  237. package/.output/server/chunks/build/{forgot-password-CxuVbGWy.mjs → forgot-password-CwdjL7BO.mjs} +6 -4
  238. package/.output/server/chunks/build/forgot-password-CwdjL7BO.mjs.map +1 -0
  239. package/.output/server/chunks/build/{import-CC27wEIu.mjs → import-DyQEw4V3.mjs} +16 -14
  240. package/.output/server/chunks/build/import-DyQEw4V3.mjs.map +1 -0
  241. package/.output/server/chunks/build/{index-BOK1aJk9.mjs → index-ByWTzqF6.mjs} +1 -1
  242. package/.output/server/chunks/build/index-ByWTzqF6.mjs.map +1 -0
  243. package/.output/server/chunks/build/{index-DUmjP3Gr.mjs → index-D7Bmj6bq.mjs} +18 -16
  244. package/.output/server/chunks/build/index-D7Bmj6bq.mjs.map +1 -0
  245. package/.output/server/chunks/build/{index-B6PjfyTY.mjs → index-DcnICCZU.mjs} +22 -20
  246. package/.output/server/chunks/build/{index-B6PjfyTY.mjs.map → index-DcnICCZU.mjs.map} +1 -1
  247. package/.output/server/chunks/build/{index-BhS1DuCr.mjs → index-DghAFpNR.mjs} +58 -56
  248. package/.output/server/chunks/build/index-DghAFpNR.mjs.map +1 -0
  249. package/.output/server/chunks/build/{index-jvF53f7_.mjs → index-ID913tUa.mjs} +7 -5
  250. package/.output/server/chunks/build/index-ID913tUa.mjs.map +1 -0
  251. package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs +1 -1
  252. package/.output/server/chunks/build/{login-CdpOhiP8.mjs → login-rXKF63j6.mjs} +12 -10
  253. package/.output/server/chunks/build/login-rXKF63j6.mjs.map +1 -0
  254. package/.output/server/chunks/build/{mcp-WTeO5WRo.mjs → mcp-ByNvFy4o.mjs} +70 -21
  255. package/.output/server/chunks/build/mcp-ByNvFy4o.mjs.map +1 -0
  256. package/.output/server/chunks/build/{notifications-yY6ik-fi.mjs → notifications-CbLAZnKJ.mjs} +17 -15
  257. package/.output/server/chunks/build/notifications-CbLAZnKJ.mjs.map +1 -0
  258. package/.output/server/chunks/build/performance-C93MEPaZ.mjs +581 -0
  259. package/.output/server/chunks/build/performance-C93MEPaZ.mjs.map +1 -0
  260. package/.output/server/chunks/build/{pr-feedback-Hv2Ydh_6.mjs → pr-feedback-DKCB0bDE.mjs} +11 -9
  261. package/.output/server/chunks/build/pr-feedback-DKCB0bDE.mjs.map +1 -0
  262. package/.output/server/chunks/build/{reset-password-CFtO8A6n.mjs → reset-password-BBoHKMqD.mjs} +6 -4
  263. package/.output/server/chunks/build/reset-password-BBoHKMqD.mjs.map +1 -0
  264. package/.output/server/chunks/build/server.mjs +70 -73
  265. package/.output/server/chunks/build/server.mjs.map +1 -1
  266. package/.output/server/chunks/build/{settings-DIpvnY8_.mjs → settings-DiG0JjzC.mjs} +17 -27
  267. package/.output/server/chunks/build/settings-DiG0JjzC.mjs.map +1 -0
  268. package/.output/server/chunks/build/{settings-metadata-DRv9VveS.mjs → settings-metadata-DnAK4Rzg.mjs} +10 -18
  269. package/.output/server/chunks/build/settings-metadata-DnAK4Rzg.mjs.map +1 -0
  270. package/.output/server/chunks/build/{setup-Di0UMyWx.mjs → setup-0-1O6Hjz.mjs} +110 -161
  271. package/.output/server/chunks/build/setup-0-1O6Hjz.mjs.map +1 -0
  272. package/.output/server/chunks/build/{storage-gAbY1KbQ.mjs → storage-3JiFJ843.mjs} +17 -15
  273. package/.output/server/chunks/build/storage-3JiFJ843.mjs.map +1 -0
  274. package/.output/server/chunks/build/{tags-DJ80wCqt.mjs → tags-CqYcp7js.mjs} +10 -8
  275. package/.output/server/chunks/build/tags-CqYcp7js.mjs.map +1 -0
  276. package/.output/server/chunks/build/{test-cases-YP83YlnL.mjs → test-cases-y1HSgPX2.mjs} +24 -22
  277. package/.output/server/chunks/build/test-cases-y1HSgPX2.mjs.map +1 -0
  278. package/.output/server/chunks/build/{test-functions-BwLTxGmM.mjs → test-functions-D2ju95Ly.mjs} +16 -14
  279. package/.output/server/chunks/build/test-functions-D2ju95Ly.mjs.map +1 -0
  280. package/.output/server/chunks/build/{useChartMarkers-C89e_VLV.mjs → useChartMarkers-C0wSO0xk.mjs} +1 -1
  281. package/.output/server/chunks/build/useChartMarkers-C0wSO0xk.mjs.map +1 -0
  282. package/.output/server/chunks/build/{useCopyRich-Cd5Yj_Wy.mjs → useCopyRich-CVFeYfkG.mjs} +21 -21
  283. package/.output/server/chunks/build/useCopyRich-CVFeYfkG.mjs.map +1 -0
  284. package/.output/server/chunks/build/{useDesktopDownload-BmR6ouz2.mjs → useDesktopDownload-Dyf0fR47.mjs} +2 -2
  285. package/.output/server/chunks/build/useDesktopDownload-Dyf0fR47.mjs.map +1 -0
  286. package/.output/server/chunks/build/{useOpenInIde-DolN3bZ5.mjs → useOpenInIde--6Me0WlL.mjs} +1 -1
  287. package/.output/server/chunks/build/useOpenInIde--6Me0WlL.mjs.map +1 -0
  288. package/.output/server/chunks/build/{useSettingsNav-DfnOFlR_.mjs → useSettingsNav-BLTHducV.mjs} +2 -2
  289. package/.output/server/chunks/build/useSettingsNav-BLTHducV.mjs.map +1 -0
  290. package/.output/server/chunks/build/{users-I2K7HXS2.mjs → users-IdmY9JZV.mjs} +11 -9
  291. package/.output/server/chunks/build/users-IdmY9JZV.mjs.map +1 -0
  292. package/.output/server/chunks/nitro/nitro.mjs +1688 -1606
  293. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  294. package/.output/server/chunks/routes/__piwi/session.get.mjs +3 -1
  295. package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
  296. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +2 -0
  297. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
  298. package/.output/server/chunks/routes/api/admin/stats.get.mjs +2 -0
  299. package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
  300. package/.output/server/chunks/routes/api/ai/status.get.mjs +2 -0
  301. package/.output/server/chunks/routes/api/ai/status.get.mjs.map +1 -1
  302. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +2 -0
  303. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
  304. package/.output/server/chunks/routes/api/auth/change-password.post.mjs +10 -1
  305. package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
  306. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +3 -1
  307. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
  308. package/.output/server/chunks/routes/api/auth/login.post.mjs +16 -2
  309. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/auth/logout.post.mjs +3 -1
  311. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
  312. package/.output/server/chunks/routes/api/auth/me.get.mjs +3 -1
  313. package/.output/server/chunks/routes/api/auth/me.get.mjs.map +1 -1
  314. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +3 -1
  315. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs.map +1 -1
  316. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +3 -1
  317. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
  318. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +10 -1
  319. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
  320. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +9 -1
  321. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
  322. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +6 -1
  323. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
  324. package/.output/server/chunks/routes/api/auth/setup.get.mjs +3 -1
  325. package/.output/server/chunks/routes/api/auth/setup.get.mjs.map +1 -1
  326. package/.output/server/chunks/routes/api/auth/setup.post.mjs +30 -12
  327. package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
  328. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +3 -1
  329. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
  330. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +5 -3
  331. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
  332. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +3 -1
  333. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
  334. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +3 -1
  335. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
  336. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +3 -1
  337. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
  338. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs +3 -1
  339. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -1
  340. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +2 -0
  341. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -1
  342. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +3 -1
  343. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
  344. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +3 -1
  345. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
  346. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +3 -1
  347. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
  348. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +3 -1
  349. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
  350. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +3 -1
  351. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
  352. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +3 -1
  353. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
  354. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +3 -1
  355. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
  356. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +3 -1
  357. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
  358. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +3 -1
  359. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs.map +1 -1
  360. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +3 -1
  361. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -1
  362. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +3 -1
  363. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
  364. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +3 -1
  365. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -1
  366. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +3 -1
  367. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +3 -1
  369. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +3 -1
  371. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
  372. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +22 -4
  373. package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
  374. package/.output/server/chunks/routes/api/health.get.mjs +3 -1
  375. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  376. package/.output/server/chunks/routes/api/index.get.mjs +11 -5
  377. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  378. package/.output/server/chunks/routes/api/index.get2.mjs +8 -3
  379. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
  380. package/.output/server/chunks/routes/api/index.get3.mjs +3 -1
  381. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  382. package/.output/server/chunks/routes/api/index.get4.mjs +3 -1
  383. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
  384. package/.output/server/chunks/routes/api/index.get5.mjs +3 -1
  385. package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
  386. package/.output/server/chunks/routes/api/index.post.mjs +3 -1
  387. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  388. package/.output/server/chunks/routes/api/index.post2.mjs +6 -2
  389. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  390. package/.output/server/chunks/routes/api/index.post3.mjs +3 -1
  391. package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
  392. package/.output/server/chunks/routes/api/index.post4.mjs +14 -1
  393. package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
  394. package/.output/server/chunks/routes/api/index.post5.mjs +3 -1
  395. package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
  396. package/.output/server/chunks/routes/api/index.post6.mjs +3 -1
  397. package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
  398. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +4 -3
  399. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
  400. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +4 -3
  401. package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
  402. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +4 -3
  403. package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +3 -1
  405. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +3 -1
  407. package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +1 -1
  408. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +32 -16
  409. package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
  410. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +3 -1
  411. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
  412. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +3 -1
  413. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
  414. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +3 -1
  415. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
  416. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +3 -1
  417. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
  418. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +3 -1
  419. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs.map +1 -1
  420. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +3 -1
  421. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
  422. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +3 -1
  423. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
  424. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +3 -1
  425. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
  426. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +3 -1
  427. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
  428. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +3 -1
  429. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
  430. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +3 -1
  431. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -1
  432. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +3 -1
  433. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -1
  434. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +3 -1
  435. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -1
  436. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +3 -1
  437. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
  438. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +3 -1
  439. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
  440. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +3 -1
  441. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
  442. package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs +3 -1
  443. package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs.map +1 -1
  444. package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs +3 -1
  445. package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs.map +1 -1
  446. package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs +3 -1
  447. package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs.map +1 -1
  448. package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs +3 -1
  449. package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs.map +1 -1
  450. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +3 -1
  451. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
  452. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +3 -1
  453. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
  454. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +3 -1
  455. package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
  456. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +3 -1
  457. package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +1 -1
  458. package/.output/server/chunks/routes/api/projects/menu.get.mjs +3 -1
  459. package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
  460. package/.output/server/chunks/routes/api/projects/overview.get.mjs +3 -1
  461. package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
  462. package/.output/server/chunks/routes/api/projects.get.mjs +3 -1
  463. package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
  464. package/.output/server/chunks/routes/api/search.get.mjs +3 -1
  465. package/.output/server/chunks/routes/api/search.get.mjs.map +1 -1
  466. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +3 -1
  467. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs.map +1 -1
  468. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +3 -1
  469. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs.map +1 -1
  470. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +2 -0
  471. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs.map +1 -1
  472. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +3 -1
  473. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
  474. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +3 -1
  475. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
  476. package/.output/server/chunks/routes/api/settings/ai.get.mjs +3 -1
  477. package/.output/server/chunks/routes/api/settings/ai.get.mjs.map +1 -1
  478. package/.output/server/chunks/routes/api/settings/ai.put.mjs +3 -1
  479. package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
  480. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +3 -1
  481. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs.map +1 -1
  482. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +3 -1
  483. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs.map +1 -1
  484. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +3 -1
  485. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
  486. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +3 -1
  487. package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
  488. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +3 -1
  489. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -1
  490. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +3 -1
  491. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -1
  492. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +3 -1
  493. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +3 -1
  495. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/setup-status.get.mjs +3 -1
  497. package/.output/server/chunks/routes/api/setup-status.get.mjs.map +1 -1
  498. package/.output/server/chunks/routes/api/stream.get.mjs +7 -2
  499. package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
  500. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +3 -1
  501. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
  502. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +3 -1
  503. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
  504. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +3 -1
  505. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
  506. package/.output/server/chunks/routes/api/tags/_id_.put.mjs +3 -1
  507. package/.output/server/chunks/routes/api/tags/_id_.put.mjs.map +1 -1
  508. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +3 -1
  509. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs.map +1 -1
  510. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +3 -1
  511. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs.map +1 -1
  512. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +3 -1
  513. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
  514. package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs +3 -1
  515. package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs.map +1 -1
  516. package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs +3 -1
  517. package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs.map +1 -1
  518. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +3 -1
  519. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
  520. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +3 -1
  521. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
  522. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +3 -1
  523. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs.map +1 -1
  524. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +3 -1
  525. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -1
  526. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +3 -1
  527. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
  528. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +3 -1
  529. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
  530. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +6 -4
  531. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
  532. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +3 -1
  533. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
  534. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +3 -1
  535. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
  536. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +3 -1
  537. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +1 -1
  538. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +3 -1
  539. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +1 -1
  540. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +3 -1
  541. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +1 -1
  542. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +3 -1
  543. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +1 -1
  544. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +3 -1
  545. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +1 -1
  546. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +3 -1
  547. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +1 -1
  548. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +3 -1
  549. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +1 -1
  550. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +3 -1
  551. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
  552. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +3 -1
  553. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
  554. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +3 -1
  555. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
  556. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +3 -1
  557. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -1
  558. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +3 -1
  559. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
  560. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +3 -1
  561. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
  562. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +3 -1
  563. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
  564. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +3 -1
  565. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
  566. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +3 -1
  567. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
  568. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +3 -1
  569. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
  570. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +3 -1
  571. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
  572. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +3 -1
  573. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
  574. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +3 -1
  575. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
  576. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +3 -1
  577. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -1
  578. package/.output/server/chunks/routes/api/test-runs/import.post.mjs +3 -1
  579. package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -1
  580. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +3 -1
  581. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
  582. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +3 -1
  583. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
  584. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +3 -1
  585. package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
  586. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +3 -1
  587. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
  588. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +3 -1
  589. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
  590. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +3 -1
  591. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
  592. package/.output/server/chunks/routes/api/traces/check.post.mjs +5 -3
  593. package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
  594. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +3 -1
  595. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
  596. package/.output/server/chunks/routes/api/users/_id/index.get.mjs +3 -1
  597. package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
  598. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +3 -1
  599. package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
  600. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +3 -1
  601. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
  602. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +3 -1
  603. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
  604. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +3 -1
  605. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
  606. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +3 -1
  607. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  608. package/.output/server/chunks/routes/api/users/_id_.patch.mjs +7 -2
  609. package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
  610. package/.output/server/chunks/routes/api/version.get.mjs +3 -1
  611. package/.output/server/chunks/routes/api/version.get.mjs.map +1 -1
  612. package/.output/server/chunks/routes/mcp.post.mjs +3 -1
  613. package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
  614. package/.output/server/chunks/routes/renderer.mjs +1 -1
  615. package/.output/server/chunks/routes/renderer.mjs.map +1 -1
  616. package/.output/server/chunks/tasks/sweep.mjs +2 -0
  617. package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
  618. package/.output/server/chunks/tasks/sweep2.mjs +2 -0
  619. package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
  620. package/.output/server/database/migrations/0044_panoramic_eddie_brock.sql +1 -0
  621. package/.output/server/database/migrations/meta/0044_snapshot.json +3772 -0
  622. package/.output/server/database/migrations/meta/_journal.json +7 -0
  623. package/.output/server/database/migrations-pg/0045_loose_runaways.sql +1 -0
  624. package/.output/server/database/migrations-pg/meta/0045_snapshot.json +4480 -0
  625. package/.output/server/database/migrations-pg/meta/_journal.json +7 -0
  626. package/.output/server/index.mjs +3 -1
  627. package/.output/server/index.mjs.map +1 -1
  628. package/.output/server/package.json +1 -1
  629. package/bin/piwi-server.mjs +10 -0
  630. package/package.json +1 -1
  631. package/.output/public/_nuxt/BG0KKQiT.js +0 -7
  632. package/.output/public/_nuxt/CIEceDOw.js +0 -1
  633. package/.output/public/_nuxt/CRBXM2d6.js +0 -5
  634. package/.output/public/_nuxt/Cejoebel.js +0 -6
  635. package/.output/public/_nuxt/DCoJlz_q.js +0 -1
  636. package/.output/public/_nuxt/Da8A92cF.js +0 -1
  637. package/.output/public/_nuxt/DepFDZO3.js +0 -1
  638. package/.output/public/_nuxt/Vxyo_mU9.js +0 -1
  639. package/.output/public/_nuxt/bFU9Y1Vw.js +0 -10
  640. package/.output/public/_nuxt/builds/meta/31ca2be4-a949-4df6-9818-773fc085557a.json +0 -1
  641. package/.output/public/_nuxt/four-S1Y.js +0 -1
  642. package/.output/public/_nuxt/oSJFAC38.js +0 -1
  643. package/.output/public/_nuxt/rL4C0HV5.js +0 -1
  644. package/.output/public/trace-viewer/assets/codeMirrorModule-LEHpjmcn.js +0 -32
  645. package/.output/public/trace-viewer/assets/defaultSettingsView-BNmKHKpQ.js +0 -264
  646. package/.output/public/trace-viewer/assets/urlMatch-BYQrIQwR.js +0 -1
  647. package/.output/public/trace-viewer/assets/xtermModule-CsJ4vdCR.js +0 -9
  648. package/.output/public/trace-viewer/codeMirrorModule.DYBRYzYX.css +0 -1
  649. package/.output/public/trace-viewer/codicon.DCmgc-ay.ttf +0 -0
  650. package/.output/public/trace-viewer/defaultSettingsView.CjdS-WJx.css +0 -1
  651. package/.output/public/trace-viewer/index.CzXZzn5A.css +0 -1
  652. package/.output/public/trace-viewer/index.DMMX1gXU.js +0 -2
  653. package/.output/public/trace-viewer/index.html +0 -44
  654. package/.output/public/trace-viewer/manifest.webmanifest +0 -16
  655. package/.output/public/trace-viewer/playwright-logo.svg +0 -9
  656. package/.output/public/trace-viewer/snapshot.html +0 -10
  657. package/.output/public/trace-viewer/snapshot.v8KI4P3m.js +0 -2
  658. package/.output/public/trace-viewer/sw.bundle.js +0 -5
  659. package/.output/public/trace-viewer/uiMode.BZQ54Kgt.css +0 -1
  660. package/.output/public/trace-viewer/uiMode.Ut8wwJNp.js +0 -6
  661. package/.output/public/trace-viewer/uiMode.html +0 -18
  662. package/.output/public/trace-viewer/xtermModule.DYP7pi_n.css +0 -32
  663. package/.output/server/chunks/build/Alert-C4xq8lao.mjs.map +0 -1
  664. package/.output/server/chunks/build/Breadcrumb-3itRZ1uz.mjs.map +0 -1
  665. package/.output/server/chunks/build/BreadcrumbNav-GnjBvXuT.mjs.map +0 -1
  666. package/.output/server/chunks/build/BrowserBadge-DQqJS9CV.mjs.map +0 -1
  667. package/.output/server/chunks/build/Card-BQP_oZkQ.mjs.map +0 -1
  668. package/.output/server/chunks/build/ChartCard-D0rzMf-N.mjs.map +0 -1
  669. package/.output/server/chunks/build/ChartMarkerTooltip-0DcMfD_6.mjs.map +0 -1
  670. package/.output/server/chunks/build/Checkbox-DmRKG-0s.mjs.map +0 -1
  671. package/.output/server/chunks/build/CodeBlock-DGhKVFad.mjs.map +0 -1
  672. package/.output/server/chunks/build/DashboardNavbar-DCr10nxL.mjs.map +0 -1
  673. package/.output/server/chunks/build/DashboardSidebarToggle-8EpBhX0R.mjs.map +0 -1
  674. package/.output/server/chunks/build/DataLocationCard-rzS-pgCP.mjs.map +0 -1
  675. package/.output/server/chunks/build/DiagnosisPanel-BWTpoCKy.mjs.map +0 -1
  676. package/.output/server/chunks/build/DiagnosisResult-Br3qBLXe.mjs.map +0 -1
  677. package/.output/server/chunks/build/DurationValue-CWKfjIF2.mjs.map +0 -1
  678. package/.output/server/chunks/build/EntityLinks-CF0xG3Y8.mjs.map +0 -1
  679. package/.output/server/chunks/build/EnvManagedBadge-UwD2b9v2.mjs.map +0 -1
  680. package/.output/server/chunks/build/FeatureUnavailable-CwPms6X_.mjs.map +0 -1
  681. package/.output/server/chunks/build/FormField-e7OnSKPM.mjs.map +0 -1
  682. package/.output/server/chunks/build/GetStartedWizard-CB5v1Xzu.mjs.map +0 -1
  683. package/.output/server/chunks/build/HelpHint-DjGrGFA7.mjs.map +0 -1
  684. package/.output/server/chunks/build/LoadingState-B8v1nWJt.mjs.map +0 -1
  685. package/.output/server/chunks/build/MarkerBadge-D7meXy4u.mjs.map +0 -1
  686. package/.output/server/chunks/build/Modal-pSDlXzT3.mjs.map +0 -1
  687. package/.output/server/chunks/build/NavigationMenu-cqpt11Ce.mjs.map +0 -1
  688. package/.output/server/chunks/build/ProjectTestCasesTable-BwHEtZTz.mjs.map +0 -1
  689. package/.output/server/chunks/build/RunReports-BDRIWn3o.mjs.map +0 -1
  690. package/.output/server/chunks/build/RunStatusBadge-CuTDknRJ.mjs.map +0 -1
  691. package/.output/server/chunks/build/SectionCard-BW5Lynrr.mjs.map +0 -1
  692. package/.output/server/chunks/build/Select-CVctwpib.mjs.map +0 -1
  693. package/.output/server/chunks/build/Separator-CR4WcEKD.mjs.map +0 -1
  694. package/.output/server/chunks/build/SettingsField-DvtRvI6O.mjs.map +0 -1
  695. package/.output/server/chunks/build/Skeleton-CEHuuKVh.mjs.map +0 -1
  696. package/.output/server/chunks/build/Slideover-D270EZZD.mjs.map +0 -1
  697. package/.output/server/chunks/build/Switch-8zWfwI5B.mjs.map +0 -1
  698. package/.output/server/chunks/build/Table-BRk04Hd2.mjs.map +0 -1
  699. package/.output/server/chunks/build/Tabs-BkSOnbaB.mjs.map +0 -1
  700. package/.output/server/chunks/build/TestCaseHistoryChart-C6t5RrCG.mjs.map +0 -1
  701. package/.output/server/chunks/build/TestStatusBar-DhbrM_rQ.mjs.map +0 -1
  702. package/.output/server/chunks/build/Textarea-vkMKVQTJ.mjs.map +0 -1
  703. package/.output/server/chunks/build/Tooltip-Dv4htNP6.mjs.map +0 -1
  704. package/.output/server/chunks/build/_id_-2PMH6rl8.mjs.map +0 -1
  705. package/.output/server/chunks/build/_id_-8cGIgeg6.mjs.map +0 -1
  706. package/.output/server/chunks/build/about-D3WXTDro.mjs.map +0 -1
  707. package/.output/server/chunks/build/account-BslDNCoo.mjs.map +0 -1
  708. package/.output/server/chunks/build/compare-RxHSOdsO.mjs.map +0 -1
  709. package/.output/server/chunks/build/db.client-D74DghqX.mjs.map +0 -1
  710. package/.output/server/chunks/build/edit-BOC4zWuH.mjs.map +0 -1
  711. package/.output/server/chunks/build/fetch-BQg_fhX0.mjs.map +0 -1
  712. package/.output/server/chunks/build/forgot-password-CxuVbGWy.mjs.map +0 -1
  713. package/.output/server/chunks/build/import-CC27wEIu.mjs.map +0 -1
  714. package/.output/server/chunks/build/index-BOK1aJk9.mjs.map +0 -1
  715. package/.output/server/chunks/build/index-BhS1DuCr.mjs.map +0 -1
  716. package/.output/server/chunks/build/index-DUmjP3Gr.mjs.map +0 -1
  717. package/.output/server/chunks/build/index-jvF53f7_.mjs.map +0 -1
  718. package/.output/server/chunks/build/login-CdpOhiP8.mjs.map +0 -1
  719. package/.output/server/chunks/build/mcp-WTeO5WRo.mjs.map +0 -1
  720. package/.output/server/chunks/build/notifications-yY6ik-fi.mjs.map +0 -1
  721. package/.output/server/chunks/build/pr-feedback-Hv2Ydh_6.mjs.map +0 -1
  722. package/.output/server/chunks/build/reset-password-CFtO8A6n.mjs.map +0 -1
  723. package/.output/server/chunks/build/settings-DIpvnY8_.mjs.map +0 -1
  724. package/.output/server/chunks/build/settings-metadata-DRv9VveS.mjs.map +0 -1
  725. package/.output/server/chunks/build/setup-Di0UMyWx.mjs.map +0 -1
  726. package/.output/server/chunks/build/storage-gAbY1KbQ.mjs.map +0 -1
  727. package/.output/server/chunks/build/tags-DJ80wCqt.mjs.map +0 -1
  728. package/.output/server/chunks/build/test-cases-YP83YlnL.mjs.map +0 -1
  729. package/.output/server/chunks/build/test-functions-BwLTxGmM.mjs.map +0 -1
  730. package/.output/server/chunks/build/timeout-hygiene-RpXDjXTX.mjs +0 -330
  731. package/.output/server/chunks/build/timeout-hygiene-RpXDjXTX.mjs.map +0 -1
  732. package/.output/server/chunks/build/useChartMarkers-C89e_VLV.mjs.map +0 -1
  733. package/.output/server/chunks/build/useCopyRich-Cd5Yj_Wy.mjs.map +0 -1
  734. package/.output/server/chunks/build/useDesktopDownload-BmR6ouz2.mjs.map +0 -1
  735. package/.output/server/chunks/build/useOpenInIde-DolN3bZ5.mjs.map +0 -1
  736. package/.output/server/chunks/build/useSettingsNav-DfnOFlR_.mjs.map +0 -1
  737. package/.output/server/chunks/build/users-I2K7HXS2.mjs.map +0 -1
  738. package/.output/server/chunks/build/wasted-time-DyIk0olc.mjs +0 -301
  739. package/.output/server/chunks/build/wasted-time-DyIk0olc.mjs.map +0 -1
@@ -1 +1 @@
1
- import{d as C,b as S,o as r,f as k,g as s,i as y,R as I,c as g,F as j,y as U,H as p,j as o,E as F,v,m as h,I as w}from"./DCFbQvIN.js";import{_ as $}from"./zv8WdMx0.js";import{_ as A}from"./B1RmmOsM.js";import{_ as B}from"./BpM6ZPIG.js";import{_ as E}from"./B-zdP-D4.js";import{_ as H}from"./RAdNGxcF.js";import{E as L}from"./BAKUqW95.js";const P={key:0,class:"flex flex-wrap gap-1 py-0.5"},N={key:1,class:"text-[var(--ui-text-muted)]"},O=C({__name:"TagsSelect",props:{modelValue:{},allTags:{}},emits:["update:modelValue","tagCreated"],setup(t,{emit:V}){const u=t,d=V,b=S();async function _(f){const n=f.trim();if(!n)return;const i=u.allTags.find(a=>a.text.toLowerCase()===n.toLowerCase());if(i){u.modelValue.some(a=>a.id===i.id)||d("update:modelValue",[...u.modelValue,i]);return}try{const a=await $fetch("/api/tags",{method:"POST",body:{text:n,color:L()}});d("tagCreated",a.tag),d("update:modelValue",[...u.modelValue,a.tag])}catch(a){const e=a&&typeof a=="object"&&"data"in a?a.data?.message:void 0;b.add({title:"Failed to create tag",description:e||"An error occurred",color:"error"})}}return(f,n)=>{const i=E,a=H;return r(),k(a,{"model-value":t.modelValue,items:t.allTags,multiple:"","create-item":"always","label-key":"text",by:"id",placeholder:"Select or create tags…",class:"w-full","onUpdate:modelValue":n[0]||(n[0]=e=>d("update:modelValue",e)),onCreate:_},{default:s(({modelValue:e})=>[e.length?(r(),g("div",P,[(r(!0),g(j,null,U(e,m=>(r(),k(i,{key:m.id,text:m.text,color:m.color},null,8,["text","color"]))),128))])):(r(),g("span",N,"Select or create tags…"))]),"item-leading":s(({item:e})=>[y("span",{class:"inline-block size-2 rounded-full shrink-0",style:I({backgroundColor:e.color})},null,4)]),_:1},8,["model-value","items"])}}}),D=Object.assign(O,{__name:"TagsSelect"}),q={class:"space-y-5"},z={class:"inline-flex items-center gap-1"},G={class:"inline-flex items-center gap-1"},R=C({__name:"ProjectFormFields",props:w({mode:{},allTags:{},hasToken:{type:Boolean,default:!1}},{name:{default:""},nameModifiers:{},label:{default:""},labelModifiers:{},description:{default:""},descriptionModifiers:{},diagnosisInstructions:{default:""},diagnosisInstructionsModifiers:{},scmToken:{default:""},scmTokenModifiers:{},tags:{default:()=>[]},tagsModifiers:{}}),emits:w(["tag-created"],["update:name","update:label","update:description","update:diagnosisInstructions","update:scmToken","update:tags"]),setup(t,{emit:V}){const u=V,d=p(t,"name"),b=p(t,"label"),_=p(t,"description"),f=p(t,"diagnosisInstructions"),n=p(t,"scmToken"),i=p(t,"tags");return(a,e)=>{const m=F,c=$,x=A,T=B,M=D;return r(),g("div",q,[t.mode==="create"?(r(),k(c,{key:0,label:"Project name",name:"name",required:"",description:"A unique identifier used to match test results from the reporter."},{default:s(()=>[o(m,{modelValue:d.value,"onUpdate:modelValue":e[0]||(e[0]=l=>d.value=l),placeholder:"e.g. my-app",class:"w-full"},null,8,["modelValue"])]),_:1})):v("",!0),o(c,{label:"Display label",name:"label",description:"A friendly name shown in the UI (defaults to project name if not set)."},{default:s(()=>[o(m,{modelValue:b.value,"onUpdate:modelValue":e[1]||(e[1]=l=>b.value=l),placeholder:"e.g. My Application",class:"w-full"},null,8,["modelValue"])]),_:1}),o(c,{label:"Description",name:"description",description:"Optional description of this project."},{default:s(()=>[o(x,{modelValue:_.value,"onUpdate:modelValue":e[2]||(e[2]=l=>_.value=l),placeholder:"Enter project description",rows:3,class:"w-full"},null,8,["modelValue"])]),_:1}),t.mode==="edit"?(r(),g(j,{key:1},[o(c,{name:"diagnosisInstructions",description:"Combined with the global instructions from Settings → AI."},{label:s(()=>[y("span",z,[e[7]||(e[7]=h(" AI diagnosis instructions ",-1)),o(T,{topic:"project.ai-instructions"})])]),default:s(()=>[o(x,{modelValue:f.value,"onUpdate:modelValue":e[3]||(e[3]=l=>f.value=l),placeholder:"e.g. This project tests the payment checkout flow. The backend uses Stripe for payments and the payment API is at /api/v2/payments. Database errors are usually caused by connection pool exhaustion under load.",rows:5,class:"w-full font-mono text-sm"},null,8,["modelValue"])]),_:1}),o(c,{name:"scmToken",description:t.hasToken?"Leave empty to keep the stored token, enter a new value to replace it, or save empty to remove it":"For GitHub, GitLab, or Bitbucket. Falls back to the global SCM token if not set."},{label:s(()=>[y("span",G,[e[8]||(e[8]=h("SCM token ",-1)),o(T,{topic:"project.scm-token"})])]),default:s(()=>[o(m,{modelValue:n.value,"onUpdate:modelValue":e[4]||(e[4]=l=>n.value=l),type:"password",placeholder:t.hasToken?"•••••••• (unchanged)":"ghp_..., glpat-..., or bitbucket token",class:"w-full font-mono"},null,8,["modelValue","placeholder"])]),_:1},8,["description"])],64)):v("",!0),o(c,{label:"Tags",name:"tags",description:"Select existing tags or type a new name and press Enter to create one."},{default:s(()=>[o(M,{modelValue:i.value,"onUpdate:modelValue":e[5]||(e[5]=l=>i.value=l),"all-tags":t.allTags,class:"w-full",onTagCreated:e[6]||(e[6]=l=>u("tag-created"))},null,8,["modelValue","all-tags"])]),_:1})])}}}),ee=Object.assign(R,{__name:"ProjectFormFields"});export{ee as _};
1
+ import{d as C,b as S,o as r,f as k,g as s,i as y,R as I,c as g,F as j,y as U,H as p,j as o,E as F,v,m as h,I as w}from"./h49q_GXF.js";import{_ as $}from"./BKJetfRH.js";import{_ as A}from"./CScusXhF.js";import{_ as B}from"./BtSJxOdh.js";import{_ as E}from"./BFcdtAzg.js";import{_ as H}from"./BH-ym1CI.js";import{E as L}from"./CD3R-ggS.js";const P={key:0,class:"flex flex-wrap gap-1 py-0.5"},N={key:1,class:"text-[var(--ui-text-muted)]"},O=C({__name:"TagsSelect",props:{modelValue:{},allTags:{}},emits:["update:modelValue","tagCreated"],setup(t,{emit:V}){const u=t,d=V,b=S();async function _(f){const n=f.trim();if(!n)return;const i=u.allTags.find(a=>a.text.toLowerCase()===n.toLowerCase());if(i){u.modelValue.some(a=>a.id===i.id)||d("update:modelValue",[...u.modelValue,i]);return}try{const a=await $fetch("/api/tags",{method:"POST",body:{text:n,color:L()}});d("tagCreated",a.tag),d("update:modelValue",[...u.modelValue,a.tag])}catch(a){const e=a&&typeof a=="object"&&"data"in a?a.data?.message:void 0;b.add({title:"Failed to create tag",description:e||"An error occurred",color:"error"})}}return(f,n)=>{const i=E,a=H;return r(),k(a,{"model-value":t.modelValue,items:t.allTags,multiple:"","create-item":"always","label-key":"text",by:"id",placeholder:"Select or create tags…",class:"w-full","onUpdate:modelValue":n[0]||(n[0]=e=>d("update:modelValue",e)),onCreate:_},{default:s(({modelValue:e})=>[e.length?(r(),g("div",P,[(r(!0),g(j,null,U(e,m=>(r(),k(i,{key:m.id,text:m.text,color:m.color},null,8,["text","color"]))),128))])):(r(),g("span",N,"Select or create tags…"))]),"item-leading":s(({item:e})=>[y("span",{class:"inline-block size-2 rounded-full shrink-0",style:I({backgroundColor:e.color})},null,4)]),_:1},8,["model-value","items"])}}}),D=Object.assign(O,{__name:"TagsSelect"}),q={class:"space-y-5"},z={class:"inline-flex items-center gap-1"},G={class:"inline-flex items-center gap-1"},R=C({__name:"ProjectFormFields",props:w({mode:{},allTags:{},hasToken:{type:Boolean,default:!1}},{name:{default:""},nameModifiers:{},label:{default:""},labelModifiers:{},description:{default:""},descriptionModifiers:{},diagnosisInstructions:{default:""},diagnosisInstructionsModifiers:{},scmToken:{default:""},scmTokenModifiers:{},tags:{default:()=>[]},tagsModifiers:{}}),emits:w(["tag-created"],["update:name","update:label","update:description","update:diagnosisInstructions","update:scmToken","update:tags"]),setup(t,{emit:V}){const u=V,d=p(t,"name"),b=p(t,"label"),_=p(t,"description"),f=p(t,"diagnosisInstructions"),n=p(t,"scmToken"),i=p(t,"tags");return(a,e)=>{const m=F,c=$,x=A,T=B,M=D;return r(),g("div",q,[t.mode==="create"?(r(),k(c,{key:0,label:"Project name",name:"name",required:"",description:"A unique identifier used to match test results from the reporter."},{default:s(()=>[o(m,{modelValue:d.value,"onUpdate:modelValue":e[0]||(e[0]=l=>d.value=l),placeholder:"e.g. my-app",class:"w-full"},null,8,["modelValue"])]),_:1})):v("",!0),o(c,{label:"Display label",name:"label",description:"A friendly name shown in the UI (defaults to project name if not set)."},{default:s(()=>[o(m,{modelValue:b.value,"onUpdate:modelValue":e[1]||(e[1]=l=>b.value=l),placeholder:"e.g. My Application",class:"w-full"},null,8,["modelValue"])]),_:1}),o(c,{label:"Description",name:"description",description:"Optional description of this project."},{default:s(()=>[o(x,{modelValue:_.value,"onUpdate:modelValue":e[2]||(e[2]=l=>_.value=l),placeholder:"Enter project description",rows:3,class:"w-full"},null,8,["modelValue"])]),_:1}),t.mode==="edit"?(r(),g(j,{key:1},[o(c,{name:"diagnosisInstructions",description:"Combined with the global instructions from Settings → AI."},{label:s(()=>[y("span",z,[e[7]||(e[7]=h(" AI diagnosis instructions ",-1)),o(T,{topic:"project.ai-instructions"})])]),default:s(()=>[o(x,{modelValue:f.value,"onUpdate:modelValue":e[3]||(e[3]=l=>f.value=l),placeholder:"e.g. This project tests the payment checkout flow. The backend uses Stripe for payments and the payment API is at /api/v2/payments. Database errors are usually caused by connection pool exhaustion under load.",rows:5,class:"w-full font-mono text-sm"},null,8,["modelValue"])]),_:1}),o(c,{name:"scmToken",description:t.hasToken?"Leave empty to keep the stored token, enter a new value to replace it, or save empty to remove it":"For GitHub, GitLab, or Bitbucket. Falls back to the global SCM token if not set."},{label:s(()=>[y("span",G,[e[8]||(e[8]=h("SCM token ",-1)),o(T,{topic:"project.scm-token"})])]),default:s(()=>[o(m,{modelValue:n.value,"onUpdate:modelValue":e[4]||(e[4]=l=>n.value=l),type:"password",placeholder:t.hasToken?"•••••••• (unchanged)":"ghp_..., glpat-..., or bitbucket token",class:"w-full font-mono"},null,8,["modelValue","placeholder"])]),_:1},8,["description"])],64)):v("",!0),o(c,{label:"Tags",name:"tags",description:"Select existing tags or type a new name and press Enter to create one."},{default:s(()=>[o(M,{modelValue:i.value,"onUpdate:modelValue":e[5]||(e[5]=l=>i.value=l),"all-tags":t.allTags,class:"w-full",onTagCreated:e[6]||(e[6]=l=>u("tag-created"))},null,8,["modelValue","all-tags"])]),_:1})])}}}),ee=Object.assign(R,{__name:"ProjectFormFields"});export{ee as _};
@@ -1 +1 @@
1
- import{d as S,o as v,c as h,k as t,F as J,i as x,q as B,V as K,m as l,t as L,j as n,p as A,f as U,g as a,_ as q,v as F,l as M,h as y,r as _,L as R,K as T}from"./DCFbQvIN.js";import{_ as H}from"./CFTZwazK.js";import{a as G}from"./BfTNbVc_.js";import{a as Q}from"./E-_n_6vi.js";function W(i){let o=i,u=null,j=null;const k=i.lastIndexOf(":");if(k>0){const m=i.slice(k+1);if(/^\d+$/.test(m)){const c=i.slice(0,k),b=c.lastIndexOf(":");if(b>0){const g=c.slice(b+1);/^\d+$/.test(g)?(j=parseInt(m,10),u=parseInt(g,10),o=c.slice(0,b)):(u=parseInt(m,10),o=c)}else u=parseInt(m,10),o=c}}return{filePath:o,line:u,column:j}}const X={class:"group/ide inline-flex items-center gap-1 min-w-0 max-w-full align-middle"},Y=["title","aria-label"],Z={type:"button",class:"shrink-0 inline-flex items-center rounded p-0.5 text-muted cursor-pointer transition-colors hover:bg-elevated/60 hover:text-default","aria-label":"Choose how to open in IDE",title:"Choose how to open"},ee={class:"w-56 p-1 space-y-0.5"},te=S({__name:"OpenInIdeLink",props:{filePath:{},line:{default:null},column:{default:null},location:{},projectKey:{},projectName:{},mono:{type:Boolean,default:!0}},setup(i){const o=i,{openInIde:u,openInVscode:j,openViaJetbrainsUrl:k,openViaJetbrainsHttp:m,resolveAbsPath:c,openSettings:b}=G(),{copy:g}=Q(),P=y(()=>o.filePath?{filePath:o.filePath,line:o.line??null,column:o.column??null}:o.location?W(o.location):{filePath:"",line:null,column:null}),f=y(()=>P.value.filePath),w=y(()=>P.value.line),I=y(()=>w.value?`${f.value}:${w.value}`:f.value),O=y(()=>c(f.value,o.projectKey)),r=y(()=>({filePath:f.value,line:w.value,column:P.value.column,projectKey:o.projectKey??null,projectName:o.projectName??null})),C=_(!1),N=_(!1);function D(){N.value=!0,R(()=>{C.value=!0})}function p($){C.value=!1,$()}return($,e)=>{const z=A,d=q,V=H,E=T;return v(),h("span",X,[t(f)?(v(),h(J,{key:0},[x("button",{type:"button",class:"inline-flex items-center gap-1 min-w-0 max-w-full cursor-pointer text-left",title:`Open ${t(I)} in IDE`,"aria-label":`Open ${t(I)} in IDE`,onClick:e[0]||(e[0]=s=>t(u)(t(r)))},[x("span",{class:B([i.mono?"font-mono":"","truncate underline decoration-dashed decoration-1 underline-offset-2 decoration-gray-400/70 dark:decoration-gray-500/70 transition-colors group-hover/ide:decoration-current"])},[K($.$slots,"default",{},()=>[l(L(t(I)),1)])],2),n(z,{name:"i-lucide-external-link",class:"size-3 shrink-0 opacity-0 transition-opacity group-hover/ide:opacity-100"})],8,Y),t(N)?(v(),U(E,{key:1,open:t(C),"onUpdate:open":e[8]||(e[8]=s=>M(C)?C.value=s:null)},{content:a(()=>[x("div",ee,[e[16]||(e[16]=x("p",{class:"text-xs font-medium text-muted px-2 pt-1 pb-1"},"Open in IDE",-1)),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-wand-sparkles",onClick:e[1]||(e[1]=s=>p(()=>t(u)({...t(r),method:"auto"})))},{default:a(()=>[...e[9]||(e[9]=[l(" Auto (try all) ",-1)])]),_:1}),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-code",onClick:e[2]||(e[2]=s=>p(()=>t(j)(t(r))))},{default:a(()=>[...e[10]||(e[10]=[l(" Open in VS Code ",-1)])]),_:1}),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-square-code",onClick:e[3]||(e[3]=s=>p(()=>t(k)(t(r))))},{default:a(()=>[...e[11]||(e[11]=[l(" JetBrains (URL) ",-1)])]),_:1}),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-server",onClick:e[4]||(e[4]=s=>p(()=>t(m)(t(r))))},{default:a(()=>[...e[12]||(e[12]=[l(" JetBrains (local server) ",-1)])]),_:1}),n(V,{class:"my-1"}),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-clipboard",onClick:e[5]||(e[5]=s=>p(()=>t(g)(t(f),{toast:"Path copied"})))},{default:a(()=>[...e[13]||(e[13]=[l(" Copy path ",-1)])]),_:1}),t(O)?(v(),U(d,{key:0,block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-clipboard-check",onClick:e[6]||(e[6]=s=>p(()=>t(g)(t(O),{toast:"Absolute path copied"})))},{default:a(()=>[...e[14]||(e[14]=[l(" Copy absolute path ",-1)])]),_:1})):F("",!0),n(V,{class:"my-1"}),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-settings",onClick:e[7]||(e[7]=s=>p(()=>t(b)({projectKey:t(r).projectKey?String(t(r).projectKey):null,projectName:t(r).projectName})))},{default:a(()=>[...e[15]||(e[15]=[l(" Configure… ",-1)])]),_:1})])]),default:a(()=>[x("button",Z,[n(z,{name:"i-lucide-chevron-down",class:"size-3.5"})])]),_:1},8,["open"])):(v(),h("button",{key:0,type:"button",class:"shrink-0 inline-flex items-center rounded p-0.5 text-muted cursor-pointer transition-opacity hover:bg-elevated/60 hover:text-default opacity-100 sm:opacity-0 sm:group-hover/ide:opacity-100 focus-visible:opacity-100","aria-label":"Choose how to open in IDE",title:"Choose how to open",onClick:D},[n(z,{name:"i-lucide-chevron-down",class:"size-3.5"})]))],64)):(v(),h("span",{key:1,class:B([i.mono?"font-mono":"","truncate"])},[K($.$slots,"default",{},()=>[l(L(t(I)),1)])],2))])}}}),ae=Object.assign(te,{__name:"OpenInIdeLink"});export{ae as _};
1
+ import{d as S,o as v,c as h,k as t,F as J,i as x,q as B,V as K,m as l,t as L,j as n,p as A,f as U,g as a,_ as q,v as F,l as M,h as y,r as _,L as R,K as T}from"./h49q_GXF.js";import{_ as H}from"./DOLeth7M.js";import{a as G}from"./BZnfiR67.js";import{a as Q}from"./Cd8r0xk5.js";function W(i){let o=i,u=null,j=null;const k=i.lastIndexOf(":");if(k>0){const m=i.slice(k+1);if(/^\d+$/.test(m)){const c=i.slice(0,k),b=c.lastIndexOf(":");if(b>0){const g=c.slice(b+1);/^\d+$/.test(g)?(j=parseInt(m,10),u=parseInt(g,10),o=c.slice(0,b)):(u=parseInt(m,10),o=c)}else u=parseInt(m,10),o=c}}return{filePath:o,line:u,column:j}}const X={class:"group/ide inline-flex items-center gap-1 min-w-0 max-w-full align-middle"},Y=["title","aria-label"],Z={type:"button",class:"shrink-0 inline-flex items-center rounded p-0.5 text-muted cursor-pointer transition-colors hover:bg-elevated/60 hover:text-default","aria-label":"Choose how to open in IDE",title:"Choose how to open"},ee={class:"w-56 p-1 space-y-0.5"},te=S({__name:"OpenInIdeLink",props:{filePath:{},line:{default:null},column:{default:null},location:{},projectKey:{},projectName:{},mono:{type:Boolean,default:!0}},setup(i){const o=i,{openInIde:u,openInVscode:j,openViaJetbrainsUrl:k,openViaJetbrainsHttp:m,resolveAbsPath:c,openSettings:b}=G(),{copy:g}=Q(),P=y(()=>o.filePath?{filePath:o.filePath,line:o.line??null,column:o.column??null}:o.location?W(o.location):{filePath:"",line:null,column:null}),f=y(()=>P.value.filePath),w=y(()=>P.value.line),I=y(()=>w.value?`${f.value}:${w.value}`:f.value),O=y(()=>c(f.value,o.projectKey)),r=y(()=>({filePath:f.value,line:w.value,column:P.value.column,projectKey:o.projectKey??null,projectName:o.projectName??null})),C=_(!1),N=_(!1);function D(){N.value=!0,R(()=>{C.value=!0})}function p($){C.value=!1,$()}return($,e)=>{const z=A,d=q,V=H,E=T;return v(),h("span",X,[t(f)?(v(),h(J,{key:0},[x("button",{type:"button",class:"inline-flex items-center gap-1 min-w-0 max-w-full cursor-pointer text-left",title:`Open ${t(I)} in IDE`,"aria-label":`Open ${t(I)} in IDE`,onClick:e[0]||(e[0]=s=>t(u)(t(r)))},[x("span",{class:B([i.mono?"font-mono":"","truncate underline decoration-dashed decoration-1 underline-offset-2 decoration-gray-400/70 dark:decoration-gray-500/70 transition-colors group-hover/ide:decoration-current"])},[K($.$slots,"default",{},()=>[l(L(t(I)),1)])],2),n(z,{name:"i-lucide-external-link",class:"size-3 shrink-0 opacity-0 transition-opacity group-hover/ide:opacity-100"})],8,Y),t(N)?(v(),U(E,{key:1,open:t(C),"onUpdate:open":e[8]||(e[8]=s=>M(C)?C.value=s:null)},{content:a(()=>[x("div",ee,[e[16]||(e[16]=x("p",{class:"text-xs font-medium text-muted px-2 pt-1 pb-1"},"Open in IDE",-1)),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-wand-sparkles",onClick:e[1]||(e[1]=s=>p(()=>t(u)({...t(r),method:"auto"})))},{default:a(()=>[...e[9]||(e[9]=[l(" Auto (try all) ",-1)])]),_:1}),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-code",onClick:e[2]||(e[2]=s=>p(()=>t(j)(t(r))))},{default:a(()=>[...e[10]||(e[10]=[l(" Open in VS Code ",-1)])]),_:1}),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-square-code",onClick:e[3]||(e[3]=s=>p(()=>t(k)(t(r))))},{default:a(()=>[...e[11]||(e[11]=[l(" JetBrains (URL) ",-1)])]),_:1}),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-server",onClick:e[4]||(e[4]=s=>p(()=>t(m)(t(r))))},{default:a(()=>[...e[12]||(e[12]=[l(" JetBrains (local server) ",-1)])]),_:1}),n(V,{class:"my-1"}),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-clipboard",onClick:e[5]||(e[5]=s=>p(()=>t(g)(t(f),{toast:"Path copied"})))},{default:a(()=>[...e[13]||(e[13]=[l(" Copy path ",-1)])]),_:1}),t(O)?(v(),U(d,{key:0,block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-clipboard-check",onClick:e[6]||(e[6]=s=>p(()=>t(g)(t(O),{toast:"Absolute path copied"})))},{default:a(()=>[...e[14]||(e[14]=[l(" Copy absolute path ",-1)])]),_:1})):F("",!0),n(V,{class:"my-1"}),n(d,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-settings",onClick:e[7]||(e[7]=s=>p(()=>t(b)({projectKey:t(r).projectKey?String(t(r).projectKey):null,projectName:t(r).projectName})))},{default:a(()=>[...e[15]||(e[15]=[l(" Configure… ",-1)])]),_:1})])]),default:a(()=>[x("button",Z,[n(z,{name:"i-lucide-chevron-down",class:"size-3.5"})])]),_:1},8,["open"])):(v(),h("button",{key:0,type:"button",class:"shrink-0 inline-flex items-center rounded p-0.5 text-muted cursor-pointer transition-opacity hover:bg-elevated/60 hover:text-default opacity-100 sm:opacity-0 sm:group-hover/ide:opacity-100 focus-visible:opacity-100","aria-label":"Choose how to open in IDE",title:"Choose how to open",onClick:D},[n(z,{name:"i-lucide-chevron-down",class:"size-3.5"})]))],64)):(v(),h("span",{key:1,class:B([i.mono?"font-mono":"","truncate"])},[K($.$slots,"default",{},()=>[l(L(t(I)),1)])],2))])}}}),ae=Object.assign(te,{__name:"OpenInIdeLink"});export{ae as _};
@@ -1 +1 @@
1
- import{d as ee,w as te,b as oe,O as ae,c as w,i as n,k as t,f as u,g as s,j as a,F as le,D as se,o as d,_ as ne,v as m,t as j,R as re,p as ie,E as ce,P as M,ak as S,m as q,h as P,r as v,M as B,A as de}from"./DCFbQvIN.js";import{_ as ue}from"./B-zdP-D4.js";import{_ as me}from"./CTP8Pw0-.js";import{_ as pe}from"./B3Fsod9X.js";import{_ as ge}from"./zv8WdMx0.js";import{_ as fe}from"./DON74Yh6.js";import{_ as xe}from"./oKrbs1XK.js";import{p as _e}from"./BAKUqW95.js";import{u as ve}from"./E-_n_6vi.js";import{o as be,s as N}from"./DGnQ69wW.js";import"./DqEOMteW.js";import"./BpM6ZPIG.js";import"./BjaRappk.js";import"./Cpsq-kYE.js";import"./NERLHpOL.js";const ye={class:"space-y-6"},Te={class:"flex items-center gap-2"},ke={class:"text-sm font-mono text-muted"},Ce={class:"text-sm text-muted"},he={class:"flex gap-1 justify-end"},$e={class:"text-center py-12"},Ae={class:"flex justify-center mb-4"},Ue={class:"flex items-center gap-3"},Ve={key:0,class:"mt-2"},we={class:"flex items-center gap-3"},De={key:0,class:"mt-2"},b="#6366f1",Ge=ee({__name:"tags",async setup(Ee){let y,D;const{data:z,refresh:A}=([y,D]=te(()=>ve("/api/tags","$WIWNTsOq96")),y=await y,D(),y),p=oe(),{authState:I}=ae(),K=de(),U=P(()=>z.value?.tags||[]),T=P(()=>K.public.authEnabled?I.value.user?.role==="administrator":!0),L=[{accessorKey:"text",header:"Tag"},{accessorKey:"color",header:"Color"},{accessorKey:"createdAt",header:"Created"},{accessorKey:"actions",header:""}],g=v(!1),E=be({text:N().min(1,"Tag text is required").max(50,"Tag text must be at most 50 characters"),color:N().min(1,"Color is required")}),r=B({text:"",color:b}),x=v(!1),k=v(null),i=B({text:"",color:b});function R(l){k.value=l,i.text=l.text,i.color=l.color,x.value=!0}async function W(){try{await $fetch("/api/tags",{method:"POST",body:r}),p.add({title:"Tag created",description:`Tag "${r.text}" has been created successfully`,color:"success"}),g.value=!1,r.text="",r.color=b,await A()}catch(l){const e=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;p.add({title:"Failed to create tag",description:e||"An error occurred",color:"error"})}}async function G(){if(k.value)try{await $fetch(`/api/tags/${k.value.id}`,{method:"PUT",body:{text:i.text,color:i.color}}),p.add({title:"Tag updated",description:"Tag has been updated successfully",color:"success"}),x.value=!1,k.value=null,await A()}catch(l){const e=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;p.add({title:"Failed to update tag",description:e||"An error occurred",color:"error"})}}const _=v(!1),f=v(null);function H(l){f.value=l,_.value=!0}async function J(){const l=f.value;if(l){_.value=!1,f.value=null;try{await $fetch(`/api/tags/${l.id}`,{method:"DELETE"}),p.add({title:"Tag deleted",description:`Tag "${l.text}" has been deleted`,color:"success"}),await A()}catch(e){const c=e&&typeof e=="object"&&"data"in e?e.data?.message:void 0;p.add({title:"Failed to delete tag",description:c||"An error occurred",color:"error"})}}}return(l,e)=>{const c=ne,C=ue,Q=me,F=pe,X=ie,h=ce,$=ge,O=fe,V=xe,Y=se;return d(),w(le,null,[n("div",ye,[t(U).length>0?(d(),u(F,{key:0,title:"Tags",count:t(U).length,help:"settings.tags"},{actions:s(()=>[t(T)?(d(),u(c,{key:0,label:"Add tag",icon:"i-lucide-tag",size:"sm",onClick:e[0]||(e[0]=o=>g.value=!0)})):m("",!0)]),default:s(()=>[a(Q,{data:t(U),columns:L},{"text-cell":s(({row:o})=>[a(C,{text:o.original.text,color:o.original.color},null,8,["text","color"])]),"color-cell":s(({row:o})=>[n("div",Te,[n("span",{class:"inline-block w-4 h-4 rounded-full border border-black/10",style:re({backgroundColor:o.original.color})},null,4),n("span",ke,j(o.original.color),1)])]),"createdAt-cell":s(({row:o})=>[n("span",Ce,j(("prettyDateFormat"in l?l.prettyDateFormat:t(_e))(o.original.createdAt,{dateOnly:!0})),1)]),"actions-cell":s(({row:o})=>[n("div",he,[t(T)?(d(),u(c,{key:0,icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"sm",onClick:Z=>R(o.original)},null,8,["onClick"])):m("",!0),t(T)?(d(),u(c,{key:1,icon:"i-lucide-trash-2",color:"error",variant:"ghost",size:"sm",onClick:Z=>H(o.original)},null,8,["onClick"])):m("",!0)])]),_:1},8,["data"])]),_:1},8,["count"])):(d(),u(F,{key:1,title:"Tags",count:0,help:"settings.tags"},{default:s(()=>[n("div",$e,[n("div",Ae,[a(X,{name:"i-lucide-tags",class:"text-4xl text-muted"})]),e[14]||(e[14]=n("h3",{class:"text-lg font-semibold mb-2"},"No tags yet",-1)),e[15]||(e[15]=n("p",{class:"text-muted mb-4"},"Create tags to categorize and filter your projects",-1)),t(T)?(d(),u(c,{key:0,label:"Add tag",icon:"i-lucide-tag",onClick:e[1]||(e[1]=o=>g.value=!0)})):m("",!0)])]),_:1}))]),a(Y,null,{default:s(()=>[a(V,{open:t(g),title:"Add new tag","onUpdate:open":e[6]||(e[6]=o=>g.value=o)},{body:s(()=>[a(O,{schema:t(E),state:t(r)},{default:s(()=>[a($,{label:"Tag text",name:"text",required:"",class:"mb-4"},{default:s(()=>[a(h,{modelValue:t(r).text,"onUpdate:modelValue":e[2]||(e[2]=o=>t(r).text=o),placeholder:"Enter tag name"},null,8,["modelValue"])]),_:1}),a($,{label:"Color",name:"color",required:"",class:"mb-4"},{default:s(()=>[n("div",Ue,[M(n("input",{"onUpdate:modelValue":e[3]||(e[3]=o=>t(r).color=o),type:"color",class:"w-10 h-10 rounded cursor-pointer border border-default","aria-label":"Pick tag color"},null,512),[[S,t(r).color]]),a(h,{modelValue:t(r).color,"onUpdate:modelValue":e[4]||(e[4]=o=>t(r).color=o),class:"flex-1 font-mono",placeholder:"#6366f1"},null,8,["modelValue"])])]),_:1}),t(r).text?(d(),w("div",Ve,[e[16]||(e[16]=n("span",{class:"text-sm text-muted mr-2"},"Preview:",-1)),a(C,{text:t(r).text,color:t(r).color||b},null,8,["text","color"])])):m("",!0)]),_:1},8,["schema","state"])]),footer:s(()=>[a(c,{type:"button",color:"neutral",variant:"ghost",label:"Cancel",onClick:e[5]||(e[5]=o=>g.value=!1)}),a(c,{type:"submit",label:"Create tag",icon:"i-lucide-tag",onClick:W})]),_:1},8,["open"]),a(V,{open:t(x),title:"Edit tag","onUpdate:open":e[11]||(e[11]=o=>x.value=o)},{body:s(()=>[a(O,{schema:t(E),state:t(i)},{default:s(()=>[a($,{label:"Tag text",name:"text",required:"",class:"mb-4"},{default:s(()=>[a(h,{modelValue:t(i).text,"onUpdate:modelValue":e[7]||(e[7]=o=>t(i).text=o),placeholder:"Enter tag name"},null,8,["modelValue"])]),_:1}),a($,{label:"Color",name:"color",required:"",class:"mb-4"},{default:s(()=>[n("div",we,[M(n("input",{"onUpdate:modelValue":e[8]||(e[8]=o=>t(i).color=o),type:"color",class:"w-10 h-10 rounded cursor-pointer border border-default","aria-label":"Pick tag color"},null,512),[[S,t(i).color]]),a(h,{modelValue:t(i).color,"onUpdate:modelValue":e[9]||(e[9]=o=>t(i).color=o),class:"flex-1 font-mono",placeholder:"#6366f1"},null,8,["modelValue"])])]),_:1}),t(i).text?(d(),w("div",De,[e[17]||(e[17]=n("span",{class:"text-sm text-muted mr-2"},"Preview:",-1)),a(C,{text:t(i).text,color:t(i).color||b},null,8,["text","color"])])):m("",!0)]),_:1},8,["schema","state"])]),footer:s(()=>[a(c,{type:"button",color:"neutral",variant:"ghost",label:"Cancel",onClick:e[10]||(e[10]=o=>x.value=!1)}),a(c,{type:"submit",label:"Save changes",icon:"i-lucide-check",onClick:G})]),_:1},8,["open"]),a(V,{open:t(_),title:"Delete tag","onUpdate:open":e[13]||(e[13]=o=>_.value=o)},{body:s(()=>[n("p",null,[e[18]||(e[18]=q(" Are you sure you want to delete tag ",-1)),t(f)?(d(),u(C,{key:0,text:t(f).text,color:t(f).color,class:"inline-flex"},null,8,["text","color"])):m("",!0),e[19]||(e[19]=q("? It will be removed from all projects. ",-1))])]),footer:s(()=>[a(c,{color:"neutral",variant:"ghost",label:"Cancel",onClick:e[12]||(e[12]=o=>_.value=!1)}),a(c,{color:"error",label:"Delete",icon:"i-lucide-trash-2",onClick:J})]),_:1},8,["open"])]),_:1})],64)}}});export{Ge as default};
1
+ import{d as ee,w as te,b as oe,O as ae,c as w,i as n,k as t,f as u,g as s,j as a,F as le,D as se,o as d,_ as ne,v as m,t as O,R as re,p as ie,E as ce,P as S,ak as M,m as q,h as P,r as v,M as B,A as de}from"./h49q_GXF.js";import{_ as ue}from"./BFcdtAzg.js";import{_ as me}from"./DGyGmFem.js";import{_ as pe}from"./DLNNAYfu.js";import{_ as ge}from"./BKJetfRH.js";import{_ as fe}from"./hzsG6cAc.js";import{_ as xe}from"./jjOqY9Tv.js";import{p as _e}from"./CD3R-ggS.js";import{u as ve}from"./Cd8r0xk5.js";import{o as be,s as z}from"./DGnQ69wW.js";import"./B6s20NbT.js";import"./BtSJxOdh.js";import"./BjaRappk.js";import"./CWoSSKhQ.js";import"./D4UlSVir.js";const ye={class:"space-y-6"},Te={class:"flex items-center gap-2"},Ce={class:"text-sm font-mono text-muted"},ke={class:"text-sm text-muted"},he={class:"flex gap-1 justify-end"},$e={class:"text-center py-12"},Ve={class:"flex justify-center mb-4"},Ae={class:"flex items-center gap-3"},Ue={key:0,class:"mt-2"},we={class:"flex items-center gap-3"},De={key:0,class:"mt-2"},b="#6366f1",He=ee({__name:"tags",async setup(Fe){let y,D;const{data:N,refresh:V}=([y,D]=te(()=>ve("/api/tags","$F3fVqC3Sbv")),y=await y,D(),y),p=oe(),{authState:K}=ae(),I=de(),A=P(()=>N.value?.tags||[]),T=P(()=>I.public.authEnabled?K.value.user?.role==="administrator":!0),L=[{accessorKey:"text",header:"Tag"},{accessorKey:"color",header:"Color"},{accessorKey:"createdAt",header:"Created"},{accessorKey:"actions",header:""}],g=v(!1),F=be({text:z().min(1,"Tag text is required").max(50,"Tag text must be at most 50 characters"),color:z().min(1,"Color is required")}),r=B({text:"",color:b}),x=v(!1),C=v(null),i=B({text:"",color:b});function R(l){C.value=l,i.text=l.text,i.color=l.color,x.value=!0}async function G(){try{await $fetch("/api/tags",{method:"POST",body:r}),p.add({title:"Tag created",description:`Tag "${r.text}" has been created successfully`,color:"success"}),g.value=!1,r.text="",r.color=b,await V()}catch(l){const e=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;p.add({title:"Failed to create tag",description:e||"An error occurred",color:"error"})}}async function H(){if(C.value)try{await $fetch(`/api/tags/${C.value.id}`,{method:"PUT",body:{text:i.text,color:i.color}}),p.add({title:"Tag updated",description:"Tag has been updated successfully",color:"success"}),x.value=!1,C.value=null,await V()}catch(l){const e=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;p.add({title:"Failed to update tag",description:e||"An error occurred",color:"error"})}}const _=v(!1),f=v(null);function J(l){f.value=l,_.value=!0}async function Q(){const l=f.value;if(l){_.value=!1,f.value=null;try{await $fetch(`/api/tags/${l.id}`,{method:"DELETE"}),p.add({title:"Tag deleted",description:`Tag "${l.text}" has been deleted`,color:"success"}),await V()}catch(e){const c=e&&typeof e=="object"&&"data"in e?e.data?.message:void 0;p.add({title:"Failed to delete tag",description:c||"An error occurred",color:"error"})}}}return(l,e)=>{const c=ne,k=ue,W=me,E=pe,X=ie,h=ce,$=ge,j=fe,U=xe,Y=se;return d(),w(le,null,[n("div",ye,[t(A).length>0?(d(),u(E,{key:0,title:"Tags",count:t(A).length,help:"settings.tags"},{actions:s(()=>[t(T)?(d(),u(c,{key:0,label:"Add tag",icon:"i-lucide-tag",size:"sm",onClick:e[0]||(e[0]=o=>g.value=!0)})):m("",!0)]),default:s(()=>[a(W,{data:t(A),columns:L},{"text-cell":s(({row:o})=>[a(k,{text:o.original.text,color:o.original.color},null,8,["text","color"])]),"color-cell":s(({row:o})=>[n("div",Te,[n("span",{class:"inline-block w-4 h-4 rounded-full border border-black/10",style:re({backgroundColor:o.original.color})},null,4),n("span",Ce,O(o.original.color),1)])]),"createdAt-cell":s(({row:o})=>[n("span",ke,O(("prettyDateFormat"in l?l.prettyDateFormat:t(_e))(o.original.createdAt,{dateOnly:!0})),1)]),"actions-cell":s(({row:o})=>[n("div",he,[t(T)?(d(),u(c,{key:0,icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"sm",onClick:Z=>R(o.original)},null,8,["onClick"])):m("",!0),t(T)?(d(),u(c,{key:1,icon:"i-lucide-trash-2",color:"error",variant:"ghost",size:"sm",onClick:Z=>J(o.original)},null,8,["onClick"])):m("",!0)])]),_:1},8,["data"])]),_:1},8,["count"])):(d(),u(E,{key:1,title:"Tags",count:0,help:"settings.tags"},{default:s(()=>[n("div",$e,[n("div",Ve,[a(X,{name:"i-lucide-tags",class:"text-4xl text-muted"})]),e[14]||(e[14]=n("h3",{class:"text-lg font-semibold mb-2"},"No tags yet",-1)),e[15]||(e[15]=n("p",{class:"text-muted mb-4"},"Create tags to categorize and filter your projects",-1)),t(T)?(d(),u(c,{key:0,label:"Add tag",icon:"i-lucide-tag",onClick:e[1]||(e[1]=o=>g.value=!0)})):m("",!0)])]),_:1}))]),a(Y,null,{default:s(()=>[a(U,{open:t(g),title:"Add new tag","onUpdate:open":e[6]||(e[6]=o=>g.value=o)},{body:s(()=>[a(j,{schema:t(F),state:t(r)},{default:s(()=>[a($,{label:"Tag text",name:"text",required:"",class:"mb-4"},{default:s(()=>[a(h,{modelValue:t(r).text,"onUpdate:modelValue":e[2]||(e[2]=o=>t(r).text=o),placeholder:"Enter tag name"},null,8,["modelValue"])]),_:1}),a($,{label:"Color",name:"color",required:"",class:"mb-4"},{default:s(()=>[n("div",Ae,[S(n("input",{"onUpdate:modelValue":e[3]||(e[3]=o=>t(r).color=o),type:"color",class:"w-10 h-10 rounded cursor-pointer border border-default","aria-label":"Pick tag color"},null,512),[[M,t(r).color]]),a(h,{modelValue:t(r).color,"onUpdate:modelValue":e[4]||(e[4]=o=>t(r).color=o),class:"flex-1 font-mono",placeholder:"#6366f1"},null,8,["modelValue"])])]),_:1}),t(r).text?(d(),w("div",Ue,[e[16]||(e[16]=n("span",{class:"text-sm text-muted mr-2"},"Preview:",-1)),a(k,{text:t(r).text,color:t(r).color||b},null,8,["text","color"])])):m("",!0)]),_:1},8,["schema","state"])]),footer:s(()=>[a(c,{type:"button",color:"neutral",variant:"ghost",label:"Cancel",onClick:e[5]||(e[5]=o=>g.value=!1)}),a(c,{type:"submit",label:"Create tag",icon:"i-lucide-tag",onClick:G})]),_:1},8,["open"]),a(U,{open:t(x),title:"Edit tag","onUpdate:open":e[11]||(e[11]=o=>x.value=o)},{body:s(()=>[a(j,{schema:t(F),state:t(i)},{default:s(()=>[a($,{label:"Tag text",name:"text",required:"",class:"mb-4"},{default:s(()=>[a(h,{modelValue:t(i).text,"onUpdate:modelValue":e[7]||(e[7]=o=>t(i).text=o),placeholder:"Enter tag name"},null,8,["modelValue"])]),_:1}),a($,{label:"Color",name:"color",required:"",class:"mb-4"},{default:s(()=>[n("div",we,[S(n("input",{"onUpdate:modelValue":e[8]||(e[8]=o=>t(i).color=o),type:"color",class:"w-10 h-10 rounded cursor-pointer border border-default","aria-label":"Pick tag color"},null,512),[[M,t(i).color]]),a(h,{modelValue:t(i).color,"onUpdate:modelValue":e[9]||(e[9]=o=>t(i).color=o),class:"flex-1 font-mono",placeholder:"#6366f1"},null,8,["modelValue"])])]),_:1}),t(i).text?(d(),w("div",De,[e[17]||(e[17]=n("span",{class:"text-sm text-muted mr-2"},"Preview:",-1)),a(k,{text:t(i).text,color:t(i).color||b},null,8,["text","color"])])):m("",!0)]),_:1},8,["schema","state"])]),footer:s(()=>[a(c,{type:"button",color:"neutral",variant:"ghost",label:"Cancel",onClick:e[10]||(e[10]=o=>x.value=!1)}),a(c,{type:"submit",label:"Save changes",icon:"i-lucide-check",onClick:H})]),_:1},8,["open"]),a(U,{open:t(_),title:"Delete tag","onUpdate:open":e[13]||(e[13]=o=>_.value=o)},{body:s(()=>[n("p",null,[e[18]||(e[18]=q(" Are you sure you want to delete tag ",-1)),t(f)?(d(),u(k,{key:0,text:t(f).text,color:t(f).color,class:"inline-flex"},null,8,["text","color"])):m("",!0),e[19]||(e[19]=q("? It will be removed from all projects. ",-1))])]),footer:s(()=>[a(c,{color:"neutral",variant:"ghost",label:"Cancel",onClick:e[12]||(e[12]=o=>_.value=!1)}),a(c,{color:"error",label:"Delete",icon:"i-lucide-trash-2",onClick:Q})]),_:1},8,["open"])]),_:1})],64)}}});export{He as default};
@@ -1 +1 @@
1
- import{_ as m}from"./Chpah_7l.js";import{d,o as t,c as r,R as l,i as n,j as s,t as a,s as x,g as k,m as u,v as o}from"./DCFbQvIN.js";const g={class:"p-2 text-sm text-gray-900 dark:text-gray-100 space-y-1"},_={class:"text-xs text-muted"},y={key:0,class:"text-xs"},h={key:1,class:"text-xs text-muted"},p=d({__name:"ChartMarkerTooltip",props:{marker:{},pos:{}},setup(e){return(v,f)=>{const c=m,i=x;return e.marker?(t(),r("div",{key:0,class:"fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 max-w-[260px]",style:l({left:`${e.pos.x}px`,top:`${e.pos.y}px`})},[n("div",g,[s(c,{marker:e.marker},null,8,["marker"]),n("div",_,a(new Date(e.marker.occurredAt).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1),e.marker.environment?(t(),r("div",y,[s(i,{color:"neutral",variant:"subtle",size:"xs"},{default:k(()=>[u(a(e.marker.environment),1)]),_:1})])):o("",!0),e.marker.description?(t(),r("p",h,a(e.marker.description),1)):o("",!0)])],4)):o("",!0)}}}),B=Object.assign(p,{__name:"ChartMarkerTooltip"});export{B as _};
1
+ import{_ as m}from"./Cwwe5bRS.js";import{d,o as t,c as r,R as l,i as n,j as s,t as a,s as x,g as k,m as u,v as o}from"./h49q_GXF.js";const g={class:"p-2 text-sm text-gray-900 dark:text-gray-100 space-y-1"},_={class:"text-xs text-muted"},y={key:0,class:"text-xs"},h={key:1,class:"text-xs text-muted"},p=d({__name:"ChartMarkerTooltip",props:{marker:{},pos:{}},setup(e){return(v,f)=>{const c=m,i=x;return e.marker?(t(),r("div",{key:0,class:"fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 max-w-[260px]",style:l({left:`${e.pos.x}px`,top:`${e.pos.y}px`})},[n("div",g,[s(c,{marker:e.marker},null,8,["marker"]),n("div",_,a(new Date(e.marker.occurredAt).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1),e.marker.environment?(t(),r("div",y,[s(i,{color:"neutral",variant:"subtle",size:"xs"},{default:k(()=>[u(a(e.marker.environment),1)]),_:1})])):o("",!0),e.marker.description?(t(),r("p",h,a(e.marker.description),1)):o("",!0)])],4)):o("",!0)}}}),B=Object.assign(p,{__name:"ChartMarkerTooltip"});export{B as _};
@@ -1 +1 @@
1
- import{d as B,U as Z,o as r,f as x,g as d,V as F,m as S,W as Q,k as e,X as H,Y as He,Z as Je,h as k,$ as We,a0 as Xe,a1 as Ye,t as P,c as I,i as f,R as ce,q as L,j as i,p as ee,F as A,y as oe,s as qe,G as Se,v as E,_ as G,r as w,a2 as et,a3 as tt,a4 as at,a5 as st,a6 as lt,a7 as nt,a8 as ot,u as it,a as rt,A as ut,J as ae,E as dt,l as se,a9 as Re,aa as de}from"./DCFbQvIN.js";import{_ as ct}from"./BrxtP_cN.js";import{_ as pt}from"./Dsvu7YJT.js";import{_ as ft}from"./DdH3op4b.js";import{_ as gt}from"./Dk9nD32g.js";import{_ as mt}from"./D_eDAIsT.js";import{_ as vt}from"./DkT2nCqn.js";import{_ as ze}from"./CtstIQSh.js";import{_ as Ie}from"./DfSBKzrC.js";import{k as pe,l as fe,p as ge,f as me,e as _t,t as yt}from"./BAKUqW95.js";import{_ as bt}from"./IPePdbzl.js";import{_ as ht}from"./LHoUGrfi.js";import{_ as xt}from"./CTP8Pw0-.js";import{_ as kt}from"./B3Fsod9X.js";import{u as Ct}from"./lGC893pn.js";import{u as Pt}from"./E-_n_6vi.js";var Rt=B({__name:"PaginationEllipsis",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const c=u;return Z(),(s,_)=>(r(),x(e(H),Q(c,{"data-type":"ellipsis"}),{default:d(()=>[F(s.$slots,"default",{},()=>[_[0]||(_[0]=S("…"))])]),_:3},16))}}),$t=Rt;const[te,qt]=We("PaginationRoot");var St=B({__name:"PaginationRoot",props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"nav"}},emits:["update:page"],setup(u,{emit:c}){const s=u,_=c,{siblingCount:m,disabled:t,showEdges:C}=He(s);Z();const b=Je(s,"page",_,{defaultValue:s.defaultPage,passive:s.page===void 0}),T=k(()=>Math.max(1,Math.ceil(s.total/(s.itemsPerPage||1))));return qt({page:b,onPageChange(z){b.value=z},pageCount:T,siblingCount:m,disabled:t,showEdges:C}),(z,V)=>(r(),x(e(H),{as:z.as,"as-child":z.asChild},{default:d(()=>[F(z.$slots,"default",{page:e(b),pageCount:T.value})]),_:3},8,["as","as-child"]))}}),zt=St,It=B({__name:"PaginationFirst",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u,s=te();Z();const _=k(()=>s.page.value===1||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"First Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("First page"))])]),_:3},16,["type","disabled"]))}}),Lt=It,Nt=B({__name:"PaginationLast",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u,s=te();Z();const _=k(()=>s.page.value===s.pageCount.value||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Last Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).pageCount.value))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("Last page"))])]),_:3},16,["type","disabled"]))}}),Tt=Nt;function K(u,c){const s=c-u+1;return Array.from({length:s},(_,m)=>m+u)}function jt(u){return u.map(c=>typeof c=="number"?{type:"page",value:c}:{type:"ellipsis"})}const ne="ellipsis";function Ft(u,c,s,_){const t=c,C=Math.max(u-s,1),b=Math.min(u+s,t);if(_){const z=Math.min(2*s+5,c)-2,V=C>3&&Math.abs(t-z-1+1)>2&&Math.abs(C-1)>2,D=b<t-2&&Math.abs(t-z)>2&&Math.abs(t-b)>2;if(!V&&D)return[...K(1,z),ne,t];if(V&&!D){const l=K(t-z+1,t);return[1,ne,...l]}if(V&&D){const l=K(C,b);return[1,ne,...l,ne,t]}return K(1,t)}else{const T=s*2+1;return c<T?K(1,t):u<=s+1?K(1,T):c-u<=s?K(c-T+1,t):K(C,b)}}var wt=B({__name:"PaginationList",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const c=u;Z();const s=te(),_=k(()=>jt(Ft(s.page.value,s.pageCount.value,s.siblingCount.value,s.showEdges.value)));return(m,t)=>(r(),x(e(H),Xe(Ye(c)),{default:d(()=>[F(m.$slots,"default",{items:_.value})]),_:3},16))}}),Et=wt,Bt=B({__name:"PaginationListItem",props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===c.value),m=k(()=>s.disabled.value);return(t,C)=>(r(),x(e(H),Q(c,{"data-type":"page","aria-label":`Page ${t.value}`,"aria-current":_.value?"page":void 0,"data-selected":_.value?"true":void 0,disabled:m.value,type:t.as==="button"?"button":void 0,onClick:C[0]||(C[0]=b=>!m.value&&e(s).onPageChange(t.value))}),{default:d(()=>[F(t.$slots,"default",{},()=>[S(P(t.value),1)])]),_:3},16,["aria-label","aria-current","data-selected","disabled","type"]))}}),Vt=Bt,Dt=B({__name:"PaginationNext",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===s.pageCount.value||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Next Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).page.value+1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("Next page"))])]),_:3},16,["type","disabled"]))}}),Mt=Dt,At=B({__name:"PaginationPrev",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===1||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Previous Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).page.value-1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("Prev page"))])]),_:3},16,["type","disabled"]))}}),Ut=At;const Ot=["title"],Kt={class:"h-1.5 w-14 shrink-0 overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700"},Gt={class:"text-sm font-medium tabular-nums"},Qt={key:1,class:"text-sm text-muted",title:"No executed runs yet"},Zt=B({__name:"PassRateIndicator",props:{rate:{}},setup(u){const c=u,s=k(()=>c.rate==null?null:Math.round(c.rate*100)),_=k(()=>s.value==null?"":s.value>=80?"bg-green-500":s.value>=50?"bg-amber-500":"bg-red-500");return(m,t)=>e(s)!=null?(r(),I("div",{key:0,class:"flex items-center gap-2",title:`${e(s)}% of executed runs passed`},[f("div",Kt,[f("div",{class:L([e(_),"h-full rounded-full transition-all"]),style:ce({width:`${e(s)}%`})},null,6)]),f("span",Gt,P(e(s))+"%",1)],8,Ot)):(r(),I("span",Qt,"—"))}}),Le=Object.assign(Zt,{__name:"PassRateIndicator"}),Ht={class:"rounded-lg border border-default bg-default text-sm"},Jt={class:"flex items-center justify-end px-3 py-1.5 border-b border-default bg-elevated"},Wt=["disabled","title"],Xt=["onClick"],Yt={class:"text-xs text-muted tabular-nums shrink-0"},ea={class:"w-24 sm:w-32 shrink-0 max-sm:hidden"},ta={class:"flex items-center gap-3 shrink-0"},aa=["title"],sa=["title"],la={key:0,class:"text-center py-8 text-muted"},na=B({__name:"ProjectTestCasesTree",props:{items:{},hasFilter:{type:Boolean}},setup(u){const c=u;function s(l){return(l.suitePath||"").split("").filter(Boolean)}function _(l){const n={passed:0,failed:0,skipped:0,flaky:0,didNotRun:0,total:0,cases:l.length};for(const v of l)n.passed+=v.passedRuns,n.failed+=v.failedRuns,n.skipped+=v.skippedRuns,n.flaky+=v.flakyRuns,n.didNotRun+=v.didNotRunRuns,n.total+=v.totalRuns;return n}const m=w(new Set),t=k(()=>m.value.size===0);function C(l){return c.hasFilter?!0:!m.value.has(l)}function b(l){if(c.hasFilter)return;const n=new Set(m.value);n.has(l)?n.delete(l):n.add(l),m.value=n}function T(){const l=new Set;for(const n of c.items){l.add(`file:${n.filePath}`);const v=s(n);for(let y=1;y<=v.length;y++)l.add(`group:${n.filePath}${v.slice(0,y).join("")}`)}return[...l]}function z(){m.value=new Set(T())}function V(){m.value=new Set}function D(l,n,v,y,h){const $=n.filter(R=>s(R).length===y.length),q=n.filter(R=>s(R).length>y.length),j=new Map;for(const R of q){const o=s(R)[y.length];j.has(o)||j.set(o,[]),j.get(o).push(R)}for(const[R,o]of j){const J=[...y,R],N=`group:${v}${J.join("")}`;l.push({kind:"group",depth:h,key:N,label:R,agg:_(o)}),C(N)&&D(l,o,v,J,h+1)}for(const R of $)l.push({kind:"case",depth:h,key:`case:${R.id}`,testCase:R})}const U=k(()=>{const l=[],n=new Map;for(const v of c.items){const y=v.filePath||"unknown";n.has(y)||n.set(y,[]),n.get(y).push(v)}for(const[v,y]of[...n.entries()].sort(([h],[$])=>h.localeCompare($))){const h=`file:${v}`;l.push({kind:"group",depth:0,key:h,label:v,agg:_(y)}),C(h)&&D(l,y,v,[],1)}return l});return(l,n)=>{const v=ee,y=ze,h=qe,$=Se,q=Le,j=Ie,R=G;return r(),I("div",Ht,[f("div",Jt,[f("button",{class:L(["flex items-center gap-1 text-xs transition-colors",u.hasFilter?"text-muted cursor-not-allowed opacity-50":"text-muted hover:text-default"]),disabled:u.hasFilter,title:u.hasFilter?"Clear filters to collapse/expand":e(t)?"Collapse all":"Expand all",onClick:n[0]||(n[0]=o=>e(t)?z():V())},[i(v,{name:e(t)?"i-lucide-fold-vertical":"i-lucide-unfold-vertical",class:"size-3.5"},null,8,["name"]),S(" "+P(e(t)?"Collapse all":"Expand all"),1)],10,Wt)]),(r(!0),I(A,null,oe(e(U),o=>(r(),I(A,{key:o.key},[o.kind==="group"?(r(),I("div",{key:0,class:L(["flex items-center gap-2 py-2 pr-3 border-b border-default last:border-b-0 select-none",[o.depth===0?"bg-elevated":"bg-default",!u.hasFilter&&"cursor-pointer"]]),style:ce({paddingLeft:`${o.depth*20+12}px`}),onClick:J=>b(o.key)},[i(v,{name:C(o.key)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3.5 text-muted shrink-0"},null,8,["name"]),i(v,{name:o.depth===0?"i-lucide-file-code-2":"i-lucide-folder-open",class:L(["size-4 shrink-0",o.depth===0?"text-blue-500":"text-amber-500"])},null,8,["name","class"]),f("span",{class:L(["font-medium truncate min-w-0",[o.depth===0?"text-default font-mono text-xs sm:text-sm":"text-muted"]])},P(o.label),3),f("span",Yt,P(o.agg.cases)+" "+P(o.agg.cases===1?"case":"cases"),1),n[1]||(n[1]=f("div",{class:"flex-1"},null,-1)),f("div",ea,[i(y,{passed:o.agg.passed,failed:o.agg.failed,skipped:o.agg.skipped,flaky:o.agg.flaky,"did-not-run":o.agg.didNotRun,total:o.agg.total},null,8,["passed","failed","skipped","flaky","did-not-run","total"])])],14,Xt)):(r(),I("div",{key:1,class:"flex flex-wrap items-center gap-x-2 gap-y-1 pr-3 py-1.5 border-b border-default last:border-b-0 hover:bg-gray-50 dark:hover:bg-gray-900/40 transition-colors",style:ce({paddingLeft:`${o.depth*20+12}px`})},[i(v,{name:"i-lucide-flask-conical",class:"size-3.5 text-muted shrink-0"}),i(h,{color:("testCaseCategoryColor"in l?l.testCaseCategoryColor:e(fe))(o.testCase.status),size:"xs",variant:"subtle",class:"capitalize shrink-0"},{default:d(()=>[S(P(("formatStatusLabel"in l?l.formatStatusLabel:e(pe))(o.testCase.status)),1)]),_:2},1032,["color"]),i($,{to:`/test-cases/${o.testCase.id}`,class:"text-sm text-primary hover:underline truncate flex-1 min-w-32",title:o.testCase.title},{default:d(()=>[S(P(o.testCase.title),1)]),_:2},1032,["to","title"]),f("div",ta,[i(q,{rate:o.testCase.passRate},null,8,["rate"]),f("span",{class:"text-xs text-muted tabular-nums max-sm:hidden",title:`${o.testCase.totalRuns} runs`},P(o.testCase.totalRuns)+"× ",9,aa),o.testCase.avgDuration!=null?(r(),x(j,{key:0,ms:o.testCase.avgDuration,class:"text-xs text-muted max-sm:hidden"},null,8,["ms"])):E("",!0),f("span",{class:"text-xs text-muted max-sm:hidden",title:("prettyDateFormat"in l?l.prettyDateFormat:e(ge))(o.testCase.lastRun)},P(("formatRelativeTime"in l?l.formatRelativeTime:e(me))(o.testCase.lastRun)),9,sa),i(R,{to:`/test-cases/${o.testCase.id}`,size:"xs",variant:"outline"},{default:d(()=>[...n[2]||(n[2]=[S("View",-1)])]),_:1},8,["to"])])],4))],64))),128)),e(U).length===0?(r(),I("div",la,[i(v,{name:"i-lucide-search-x",class:"size-6 mx-auto mb-2 text-gray-300 dark:text-gray-600"}),n[3]||(n[3]=f("p",{class:"text-sm"},"No test cases match your filters.",-1))])):E("",!0)])}}}),oa=Object.assign(na,{__name:"ProjectTestCasesTree"}),ia={slots:{root:"",list:"flex items-center gap-1",ellipsis:"pointer-events-none",label:"min-w-5 text-center",first:"",prev:"",item:"",next:"",last:""}},ra={__name:"UPagination",props:{as:{type:null,required:!1},firstIcon:{type:null,required:!1},prevIcon:{type:null,required:!1},nextIcon:{type:null,required:!1},lastIcon:{type:null,required:!1},ellipsisIcon:{type:null,required:!1},color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"outline"},activeColor:{type:null,required:!1,default:"primary"},activeVariant:{type:null,required:!1,default:"solid"},showControls:{type:Boolean,required:!1,default:!0},size:{type:null,required:!1},to:{type:Function,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultPage:{type:Number,required:!1},disabled:{type:Boolean,required:!1},itemsPerPage:{type:Number,required:!1,default:10},page:{type:Number,required:!1},showEdges:{type:Boolean,required:!1,default:!1},siblingCount:{type:Number,required:!1,default:2},total:{type:Number,required:!1,default:0}},emits:["update:page"],setup(u,{emit:c}){const s=u,_=c,m=et(),t=tt("pagination",s),{dir:C}=at(),b=st(),T=lt(nt(t,"as","defaultPage","disabled","itemsPerPage","page","showEdges","siblingCount","total"),_),z=k(()=>t.firstIcon||(C.value==="rtl"?b.ui.icons.chevronDoubleRight:b.ui.icons.chevronDoubleLeft)),V=k(()=>t.prevIcon||(C.value==="rtl"?b.ui.icons.chevronRight:b.ui.icons.chevronLeft)),D=k(()=>t.nextIcon||(C.value==="rtl"?b.ui.icons.chevronLeft:b.ui.icons.chevronRight)),U=k(()=>t.lastIcon||(C.value==="rtl"?b.ui.icons.chevronDoubleLeft:b.ui.icons.chevronDoubleRight)),l=k(()=>ot({extend:ia,...b.ui?.pagination||{}})());return(n,v)=>(r(),x(e(zt),Q(e(T),{"data-slot":"root",class:l.value.root({class:[e(t).ui?.root,e(t).class]})}),{default:d(({page:y,pageCount:h})=>[i(e(Et),{"data-slot":"list",class:L(l.value.list({class:e(t).ui?.list}))},{default:d(({items:$})=>[e(t).showControls||m.first?(r(),x(e(Lt),{key:0,"as-child":"","data-slot":"first",class:L(l.value.first({class:e(t).ui?.first}))},{default:d(()=>[F(n.$slots,"first",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:z.value,to:e(t).to?.(1)},null,8,["color","variant","size","icon","to"])])]),_:3},8,["class"])):E("",!0),e(t).showControls||m.prev?(r(),x(e(Ut),{key:1,"as-child":"","data-slot":"prev",class:L(l.value.prev({class:e(t).ui?.prev}))},{default:d(()=>[F(n.$slots,"prev",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:V.value,to:y>1?e(t).to?.(y-1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):E("",!0),(r(!0),I(A,null,oe($,(q,j)=>(r(),I(A,{key:j},[q.type==="page"?(r(),x(e(Vt),{key:0,"as-child":"",value:q.value,"data-slot":"item",class:L(l.value.item({class:e(t).ui?.item}))},{default:d(()=>[F(n.$slots,"item",Q({ref_for:!0},{item:q,index:j,page:y,pageCount:h}),()=>[i(G,{color:y===q.value?e(t).activeColor:e(t).color,variant:y===q.value?e(t).activeVariant:e(t).variant,size:e(t).size,label:String(q.value),ui:{label:l.value.label()},to:e(t).to?.(q.value),square:""},null,8,["color","variant","size","label","ui","to"])])]),_:2},1032,["value","class"])):(r(),x(e($t),{key:1,"as-child":"","data-slot":"ellipsis",class:L(l.value.ellipsis({class:e(t).ui?.ellipsis}))},{default:d(()=>[F(n.$slots,"ellipsis",{ui:l.value},()=>[i(G,{as:"div",color:e(t).color,variant:e(t).variant,size:e(t).size,icon:e(t).ellipsisIcon||e(b).ui.icons.ellipsis},null,8,["color","variant","size","icon"])])]),_:3},8,["class"]))],64))),128)),e(t).showControls||m.next?(r(),x(e(Mt),{key:2,"as-child":"","data-slot":"next",class:L(l.value.next({class:e(t).ui?.next}))},{default:d(()=>[F(n.$slots,"next",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:D.value,to:y<h?e(t).to?.(y+1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):E("",!0),e(t).showControls||m.last?(r(),x(e(Tt),{key:3,"as-child":"","data-slot":"last",class:L(l.value.last({class:e(t).ui?.last}))},{default:d(()=>[F(n.$slots,"last",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:U.value,to:e(t).to?.(h)},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):E("",!0)]),_:2},1032,["class"])]),_:3},16,["class"]))}},ua={class:"flex items-center rounded-md border border-default overflow-hidden"},da={class:"text-sm text-muted tabular-nums"},ca={class:"flex flex-wrap items-center gap-1"},pa=["aria-pressed","onClick"],fa={class:"mt-3 flex items-center justify-center gap-2"},ga={class:"hidden md:block overflow-x-auto"},ma={class:"min-w-0 space-y-0.5"},va={class:"flex items-center gap-1 text-xs text-muted"},_a={class:"text-sm tabular-nums"},ya=["title"],ba={class:"flex justify-end"},ha={class:"space-y-2 md:hidden"},xa={class:"flex items-start justify-between gap-2"},ka={class:"flex items-center gap-1 text-xs text-muted min-w-0"},Ca={class:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},Pa={class:"text-xs text-muted tabular-nums"},Ra=["title"],$a={class:"mt-4 flex flex-wrap items-center justify-between gap-3"},qa={class:"flex flex-wrap items-center gap-3"},Sa={class:"text-sm text-muted tabular-nums"},za={class:"flex items-center gap-1.5"},Ia=1e3,$e=25,La=B({__name:"ProjectTestCasesTable",props:{projectId:{},projectName:{},syncQuery:{type:Boolean}},emits:["total"],setup(u,{expose:c,emit:s}){const _=u,m=s,t=it(),C=rt(),{treeView:b,setTreeView:T}=Ct("project-test-cases"),z=[{label:"10 / page",value:10},{label:"25 / page",value:25},{label:"50 / page",value:50},{label:"100 / page",value:100}],V=[{label:"Last 7 days",value:7},{label:"Last 30 days",value:30},{label:"Last 90 days",value:90},{label:"Last year",value:365},{label:"All time",value:0}],D=[{label:"Passed",value:"passed",color:"green"},{label:"Failed",value:"failed",color:"red"},{label:"Flaky",value:"flaky",color:"orange"},{label:"Skipped",value:"skipped",color:"gray"},{label:"Didn't run",value:"didnotrun",color:"amber"}],U=ut().public.demoMode?0:30,l=_.syncQuery?t.query:{},n=w(Math.max(1,Number(l.page)||1)),v=w(typeof l.q=="string"?l.q:""),y=w(v.value),h=w(typeof l.status=="string"?l.status.split(",").filter(Boolean):[]),$=w(typeof l.age=="string"&&l.age!==""?Math.max(0,Number(l.age)||0):U),q=w(typeof l.tags=="string"?l.tags:""),j=w(q.value),R=w(typeof l.sort=="string"?l.sort:"lastRun"),o=w(l.dir==="asc"?"asc":"desc"),J=Number(l.pageSize),N=w(z.some(p=>p.value===J)?J:$e);ae(y,Re(p=>{v.value=p.trim()},300)),ae(j,Re(p=>{q.value=p.trim()},300)),ae([v,h,q,$,R,o,N,b],()=>{n.value=1});const Ne=k(()=>({limit:b.value?Ia:N.value,offset:b.value?0:(n.value-1)*N.value,...v.value?{q:v.value}:{},...h.value.length>0?{status:h.value.join(",")}:{},...q.value?{tags:q.value}:{},maxAgeDays:$.value,sort:R.value,dir:o.value})),{data:W,status:ie,error:ve,refresh:re}=Pt(`/api/projects/${_.projectId}/test-cases`,{query:Ne},"$6hxagaRDEc");ae(()=>W.value?.total,p=>{p!=null&&m("total",p)},{immediate:!0}),_.syncQuery&&ae([v,h,q,$,R,o,n,N],()=>{C.replace({query:{...t.query,q:v.value||void 0,status:h.value.length>0?h.value.join(","):void 0,tags:q.value||void 0,age:$.value!==U?String($.value):void 0,sort:R.value!=="lastRun"?R.value:void 0,dir:o.value!=="desc"?o.value:void 0,page:n.value>1?String(n.value):void 0,pageSize:N.value!==$e?String(N.value):void 0}})});function Te(p){h.value=h.value.includes(p)?h.value.filter(g=>g!==p):[...h.value,p]}function je(p){R.value===p?o.value=o.value==="asc"?"desc":"asc":(R.value=p,o.value=p==="title"?"asc":"desc")}function X(p,g){return()=>{const O=R.value===g,le=O?o.value==="asc"?"i-lucide-chevron-up":"i-lucide-chevron-down":"i-lucide-chevrons-up-down";return de("button",{type:"button",class:"flex items-center gap-1 font-semibold select-none cursor-pointer hover:text-highlighted transition-colors",onClick:()=>je(g)},[p,de(ee,{name:le,class:["shrink-0 size-3.5",!O&&"opacity-40"]})])}}const Fe=k(()=>[{accessorKey:"title",header:X("Test case","title")},{accessorKey:"status",header:X("Status","status")},{accessorKey:"totalRuns",header:X("Runs","totalRuns")},{accessorKey:"passRate",header:X("Pass rate","passRate")},{id:"results",header:"Results"},{accessorKey:"avgDuration",header:X("Avg duration","avgDuration")},{accessorKey:"lastRun",header:X("Last run","lastRun")},{id:"actions",header:()=>de("div",{class:"text-right"},"Actions")}]),Y=k(()=>W.value?.items??[]),M=k(()=>W.value?.total??0),we=k(()=>M.value===0?0:(n.value-1)*N.value+1),Ee=k(()=>b.value?Y.value.length:Math.min(n.value*N.value,M.value)),ue=k(()=>v.value!==""||h.value.length>0),Be=k(()=>ue.value||$.value!==0),Ve=k(()=>ie.value==="pending"&&!W.value);return c({refresh:re}),(p,g)=>{const O=G,le=dt,_e=ct,De=pt,Me=ft,Ae=gt,ye=mt,Ue=vt,Oe=oa,be=Se,Ke=bt,he=ht,xe=qe,ke=Le,Ce=ze,Pe=Ie,Ge=xt,Qe=ra,Ze=kt;return r(),x(Ze,{title:"Test cases",icon:"i-lucide-flask-conical",count:e(W)?.total,help:"project.test-cases"},{actions:d(()=>[i(O,{icon:"i-lucide-refresh-cw",size:"sm",color:"neutral",variant:"ghost","aria-label":"Refresh test cases",loading:e(ie)==="pending"&&!!e(W),onClick:g[0]||(g[0]=()=>e(re)())},null,8,["loading"])]),default:d(()=>[i(De,{class:"mb-4"},{start:d(()=>[f("div",ua,[f("button",{type:"button",class:L(["px-2 py-1 text-xs transition-colors",e(b)?"text-muted hover:bg-elevated/60":"bg-primary text-white dark:text-white"]),title:"Flat list",onClick:g[1]||(g[1]=a=>e(T)(!1))},[i(e(ee),{name:"i-lucide-list",class:"size-3.5"})],2),f("button",{type:"button",class:L(["px-2 py-1 text-xs transition-colors",e(b)?"bg-primary text-white dark:text-white":"text-muted hover:bg-elevated/60"]),title:"Tree view",onClick:g[2]||(g[2]=a=>e(T)(!0))},[i(e(ee),{name:"i-lucide-folder-tree",class:"size-3.5"})],2)]),f("span",da,P(e(M))+" "+P(e(M)===1?"case":"cases"),1)]),default:d(()=>[i(le,{modelValue:e(y),"onUpdate:modelValue":g[3]||(g[3]=a=>se(y)?y.value=a:null),placeholder:"Search title or file...",icon:"i-lucide-search",size:"sm",class:"min-w-48 max-sm:flex-1","aria-label":"Search test cases"},null,8,["modelValue"]),i(le,{modelValue:e(j),"onUpdate:modelValue":g[4]||(g[4]=a=>se(j)?j.value=a:null),placeholder:"Tags (comma-separated)…",icon:"i-lucide-tag",size:"sm",class:"min-w-44 max-sm:flex-1","aria-label":"Filter by tag",title:"Show only cases carrying every listed tag. A leading @ is optional."},null,8,["modelValue"]),f("div",ca,[(r(),I(A,null,oe(D,a=>f("button",{key:a.value,type:"button",class:L(["inline-flex items-center gap-1.5 px-2 py-1 rounded-md text-xs font-medium transition-colors whitespace-nowrap",e(h).includes(a.value)?a.color==="green"?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":a.color==="red"?"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400":a.color==="orange"?"bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400":a.color==="amber"?"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400":"bg-gray-200 text-gray-700 dark:bg-gray-700 dark:text-gray-300":"bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700"]),"aria-pressed":e(h).includes(a.value),onClick:Na=>Te(a.value)},[f("span",{class:L(["size-2 rounded-full shrink-0",a.color==="green"?"bg-green-500":a.color==="red"?"bg-red-500":a.color==="orange"?"bg-orange-500":a.color==="amber"?"bg-amber-500":"bg-gray-400"])},null,2),S(" "+P(a.label),1)],10,pa)),64))]),i(_e,{modelValue:e($),"onUpdate:modelValue":g[5]||(g[5]=a=>se($)?$.value=a:null),items:V,size:"sm",class:"w-36","aria-label":"Last run age filter"},null,8,["modelValue"])]),_:1}),e(Ve)?(r(),x(Me,{key:0,text:"Loading test cases..."})):e(ve)?(r(),x(Ae,{key:1,text:("errorMessage"in p?p.errorMessage:e(_t))(e(ve),"Failed to load test cases")},{action:d(()=>[i(O,{size:"sm",variant:"outline",onClick:g[6]||(g[6]=()=>e(re)())},{default:d(()=>[...g[11]||(g[11]=[S("Retry",-1)])]),_:1})]),_:1},8,["text"])):e(M)===0?(r(),I(A,{key:2},[e(Be)?(r(),x(ye,{key:1,icon:"i-lucide-search-x",text:"No test cases match your filters."},{default:d(()=>[f("div",fa,[e($)!==0?(r(),x(O,{key:0,size:"sm",variant:"outline",onClick:g[7]||(g[7]=a=>$.value=0)},{default:d(()=>[...g[12]||(g[12]=[S("Show all time",-1)])]),_:1})):E("",!0),e(ue)?(r(),x(O,{key:1,size:"sm",variant:"ghost",onClick:g[8]||(g[8]=()=>{y.value="",v.value="",h.value=[]})},{default:d(()=>[...g[13]||(g[13]=[S(" Clear filters ",-1)])]),_:1})):E("",!0)])]),_:1})):(r(),x(ye,{key:0,icon:"i-lucide-flask-conical",text:"No test cases yet for this project."}))],64)):(r(),I("div",{key:3,class:L([{"opacity-60 pointer-events-none":e(ie)==="pending"},"transition-opacity"])},[e(b)?(r(),I(A,{key:0},[e(Y).length<e(M)?(r(),x(Ue,{key:0,color:"warning",variant:"subtle",icon:"i-lucide-triangle-alert",class:"mb-3",title:`Showing the first ${e(Y).length} of ${e(M)} cases — narrow the search or filters to see the rest.`},null,8,["title"])):E("",!0),i(Oe,{items:e(Y),"has-filter":e(ue)},null,8,["items","has-filter"])],64)):(r(),I(A,{key:1},[f("div",ga,[i(Ge,{data:e(Y),columns:e(Fe),ui:{base:"w-full table-fixed border-separate border-spacing-0 min-w-[56rem]",thead:"[&>tr]:bg-elevated/50 [&>tr]:after:content-none",tbody:"[&>tr]:last:[&>td]:border-b-0 [&>tr]:hover:bg-gray-50 dark:[&>tr]:hover:bg-gray-900/50",th:"first:rounded-l-lg last:rounded-r-lg border-y border-default first:border-l last:border-r",td:"border-b border-default"}},{"title-cell":d(({row:a})=>[f("div",ma,[i(be,{to:`/test-cases/${a.original.id}`,class:"text-sm font-medium text-primary hover:underline truncate block",title:a.original.title},{default:d(()=>[S(P(a.original.title),1)]),_:2},1032,["to","title"]),i(Ke,{tags:a.original.tags,meta:{owner:a.original.owner??void 0,priority:("toTestPriority"in p?p.toTestPriority:e(yt))(a.original.priority),feature:a.original.feature??void 0,link:a.original.link??void 0},"max-tags":4},null,8,["tags","meta"]),f("div",va,[i(e(ee),{name:"i-lucide-file-code",class:"size-3 shrink-0"}),i(he,{"file-path":a.original.filePath,"project-key":u.projectId,"project-name":u.projectName,class:"min-w-0"},null,8,["file-path","project-key","project-name"])])])]),"status-cell":d(({row:a})=>[i(xe,{color:("testCaseCategoryColor"in p?p.testCaseCategoryColor:e(fe))(a.original.status),variant:"subtle",size:"sm",class:"capitalize"},{default:d(()=>[S(P(("formatStatusLabel"in p?p.formatStatusLabel:e(pe))(a.original.status)),1)]),_:2},1032,["color"])]),"totalRuns-cell":d(({row:a})=>[f("span",_a,P(a.original.totalRuns),1)]),"passRate-cell":d(({row:a})=>[i(ke,{rate:a.original.passRate},null,8,["rate"])]),"results-cell":d(({row:a})=>[i(Ce,{passed:a.original.passedRuns,failed:a.original.failedRuns,skipped:a.original.skippedRuns,flaky:a.original.flakyRuns,"did-not-run":a.original.didNotRunRuns,total:a.original.totalRuns},null,8,["passed","failed","skipped","flaky","did-not-run","total"])]),"avgDuration-cell":d(({row:a})=>[i(Pe,{ms:a.original.avgDuration,class:"text-sm text-muted"},null,8,["ms"])]),"lastRun-cell":d(({row:a})=>[f("span",{class:"text-sm text-muted",title:("prettyDateFormat"in p?p.prettyDateFormat:e(ge))(a.original.lastRun)},P(a.original.lastRun!=null?("formatRelativeTime"in p?p.formatRelativeTime:e(me))(a.original.lastRun):"—"),9,ya)]),"actions-cell":d(({row:a})=>[f("div",ba,[i(O,{to:`/test-cases/${a.original.id}`,size:"sm",variant:"outline","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...g[14]||(g[14]=[S(" View ",-1)])]),_:1},8,["to"])])]),_:1},8,["data","columns"])]),f("div",ha,[(r(!0),I(A,null,oe(e(Y),a=>(r(),I("div",{key:a.id,class:"rounded-lg border border-default p-3 space-y-2"},[f("div",xa,[i(be,{to:`/test-cases/${a.id}`,class:"text-sm font-medium text-primary hover:underline min-w-0 truncate",title:a.title},{default:d(()=>[S(P(a.title),1)]),_:2},1032,["to","title"]),i(xe,{color:("testCaseCategoryColor"in p?p.testCaseCategoryColor:e(fe))(a.status),variant:"subtle",size:"sm",class:"capitalize shrink-0"},{default:d(()=>[S(P(("formatStatusLabel"in p?p.formatStatusLabel:e(pe))(a.status)),1)]),_:2},1032,["color"])]),f("div",ka,[i(e(ee),{name:"i-lucide-file-code",class:"size-3 shrink-0"}),i(he,{"file-path":a.filePath,"project-key":u.projectId,"project-name":u.projectName,class:"min-w-0"},null,8,["file-path","project-key","project-name"])]),i(Ce,{passed:a.passedRuns,failed:a.failedRuns,skipped:a.skippedRuns,flaky:a.flakyRuns,"did-not-run":a.didNotRunRuns,total:a.totalRuns},null,8,["passed","failed","skipped","flaky","did-not-run","total"]),f("div",Ca,[i(ke,{rate:a.passRate},null,8,["rate"]),f("span",Pa,P(a.totalRuns)+" runs",1),a.avgDuration!=null?(r(),x(Pe,{key:0,ms:a.avgDuration,class:"text-xs text-muted"},null,8,["ms"])):E("",!0),f("span",{class:"text-xs text-muted",title:("prettyDateFormat"in p?p.prettyDateFormat:e(ge))(a.lastRun)},P(a.lastRun!=null?("formatRelativeTime"in p?p.formatRelativeTime:e(me))(a.lastRun):"—"),9,Ra)])]))),128))]),f("div",$a,[f("div",qa,[f("span",Sa,"Showing "+P(e(we))+"–"+P(e(Ee))+" of "+P(e(M)),1),f("div",za,[g[15]||(g[15]=f("span",{class:"text-sm text-muted"},"Rows per page",-1)),i(_e,{modelValue:e(N),"onUpdate:modelValue":g[9]||(g[9]=a=>se(N)?N.value=a:null),items:z,size:"sm",class:"w-28","aria-label":"Rows per page"},null,8,["modelValue"])])]),e(M)>e(N)?(r(),x(Qe,{key:0,page:e(n),"onUpdate:page":g[10]||(g[10]=a=>se(n)?n.value=a:null),total:e(M),"items-per-page":e(N),size:"sm"},null,8,["page","total","items-per-page"])):E("",!0)])],64))],2))]),_:1},8,["count"])}}}),Ha=Object.assign(La,{__name:"ProjectTestCasesTable"});export{Ha as _};
1
+ import{d as B,U as Z,o as r,f as x,g as d,V as F,m as S,W as Q,k as e,X as H,Y as He,Z as Je,h as k,$ as We,a0 as Xe,a1 as Ye,t as P,c as I,i as f,R as ce,q as L,j as i,p as ee,F as A,y as oe,s as qe,G as Se,v as V,_ as G,r as w,a2 as et,a3 as tt,a4 as at,a5 as st,a6 as lt,a7 as nt,a8 as ot,u as it,a as rt,A as ut,J as ae,E as dt,l as se,a9 as Re,aa as de}from"./h49q_GXF.js";import{_ as ct}from"./DDN2tt0a.js";import{_ as pt}from"./x8YSyy4c.js";import{_ as ft}from"./DHUT-BKj.js";import{_ as gt}from"./CWw9WGlv.js";import{_ as mt}from"./BVN50jIb.js";import{_ as vt}from"./9N6hSApy.js";import{_ as ze}from"./CJEp4i0N.js";import{_ as Ie}from"./DWEkQ7bl.js";import{k as pe,l as fe,p as ge,f as me,e as _t,t as yt}from"./CD3R-ggS.js";import{_ as bt}from"./DOBSrxzY.js";import{_ as ht}from"./PdEEuEsg.js";import{_ as xt}from"./DGyGmFem.js";import{_ as kt}from"./DLNNAYfu.js";import{u as Ct}from"./4yvOL9PC.js";import{u as Pt}from"./Cd8r0xk5.js";var Rt=B({__name:"PaginationEllipsis",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const c=u;return Z(),(s,_)=>(r(),x(e(H),Q(c,{"data-type":"ellipsis"}),{default:d(()=>[F(s.$slots,"default",{},()=>[_[0]||(_[0]=S("…"))])]),_:3},16))}}),$t=Rt;const[te,qt]=We("PaginationRoot");var St=B({__name:"PaginationRoot",props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"nav"}},emits:["update:page"],setup(u,{emit:c}){const s=u,_=c,{siblingCount:m,disabled:t,showEdges:C}=He(s);Z();const b=Je(s,"page",_,{defaultValue:s.defaultPage,passive:s.page===void 0}),T=k(()=>Math.max(1,Math.ceil(s.total/(s.itemsPerPage||1))));return qt({page:b,onPageChange(z){b.value=z},pageCount:T,siblingCount:m,disabled:t,showEdges:C}),(z,E)=>(r(),x(e(H),{as:z.as,"as-child":z.asChild},{default:d(()=>[F(z.$slots,"default",{page:e(b),pageCount:T.value})]),_:3},8,["as","as-child"]))}}),zt=St,It=B({__name:"PaginationFirst",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u,s=te();Z();const _=k(()=>s.page.value===1||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"First Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("First page"))])]),_:3},16,["type","disabled"]))}}),Lt=It,Nt=B({__name:"PaginationLast",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u,s=te();Z();const _=k(()=>s.page.value===s.pageCount.value||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Last Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).pageCount.value))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("Last page"))])]),_:3},16,["type","disabled"]))}}),Tt=Nt;function K(u,c){const s=c-u+1;return Array.from({length:s},(_,m)=>m+u)}function jt(u){return u.map(c=>typeof c=="number"?{type:"page",value:c}:{type:"ellipsis"})}const ne="ellipsis";function Ft(u,c,s,_){const t=c,C=Math.max(u-s,1),b=Math.min(u+s,t);if(_){const z=Math.min(2*s+5,c)-2,E=C>3&&Math.abs(t-z-1+1)>2&&Math.abs(C-1)>2,D=b<t-2&&Math.abs(t-z)>2&&Math.abs(t-b)>2;if(!E&&D)return[...K(1,z),ne,t];if(E&&!D){const l=K(t-z+1,t);return[1,ne,...l]}if(E&&D){const l=K(C,b);return[1,ne,...l,ne,t]}return K(1,t)}else{const T=s*2+1;return c<T?K(1,t):u<=s+1?K(1,T):c-u<=s?K(c-T+1,t):K(C,b)}}var wt=B({__name:"PaginationList",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const c=u;Z();const s=te(),_=k(()=>jt(Ft(s.page.value,s.pageCount.value,s.siblingCount.value,s.showEdges.value)));return(m,t)=>(r(),x(e(H),Xe(Ye(c)),{default:d(()=>[F(m.$slots,"default",{items:_.value})]),_:3},16))}}),Vt=wt,Bt=B({__name:"PaginationListItem",props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===c.value),m=k(()=>s.disabled.value);return(t,C)=>(r(),x(e(H),Q(c,{"data-type":"page","aria-label":`Page ${t.value}`,"aria-current":_.value?"page":void 0,"data-selected":_.value?"true":void 0,disabled:m.value,type:t.as==="button"?"button":void 0,onClick:C[0]||(C[0]=b=>!m.value&&e(s).onPageChange(t.value))}),{default:d(()=>[F(t.$slots,"default",{},()=>[S(P(t.value),1)])]),_:3},16,["aria-label","aria-current","data-selected","disabled","type"]))}}),Et=Bt,Dt=B({__name:"PaginationNext",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===s.pageCount.value||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Next Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).page.value+1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("Next page"))])]),_:3},16,["type","disabled"]))}}),Mt=Dt,At=B({__name:"PaginationPrev",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===1||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Previous Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).page.value-1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("Prev page"))])]),_:3},16,["type","disabled"]))}}),Ut=At;const Ot=["title"],Kt={class:"h-1.5 w-14 shrink-0 overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700"},Gt={class:"text-sm font-medium tabular-nums"},Qt={key:1,class:"text-sm text-muted",title:"No executed runs yet"},Zt=B({__name:"PassRateIndicator",props:{rate:{}},setup(u){const c=u,s=k(()=>c.rate==null?null:Math.round(c.rate*100)),_=k(()=>s.value==null?"":s.value>=80?"bg-green-500":s.value>=50?"bg-amber-500":"bg-red-500");return(m,t)=>e(s)!=null?(r(),I("div",{key:0,class:"flex items-center gap-2",title:`${e(s)}% of executed runs passed`},[f("div",Kt,[f("div",{class:L([e(_),"h-full rounded-full transition-all"]),style:ce({width:`${e(s)}%`})},null,6)]),f("span",Gt,P(e(s))+"%",1)],8,Ot)):(r(),I("span",Qt,"—"))}}),Le=Object.assign(Zt,{__name:"PassRateIndicator"}),Ht={class:"rounded-lg border border-default bg-default text-sm"},Jt={class:"flex items-center justify-end px-3 py-1.5 border-b border-default bg-elevated"},Wt=["disabled","title"],Xt=["onClick"],Yt={class:"text-xs text-muted tabular-nums shrink-0"},ea={class:"w-24 sm:w-32 shrink-0 max-sm:hidden"},ta={class:"flex items-center gap-3 shrink-0"},aa=["title"],sa=["title"],la={key:0,class:"text-center py-8 text-muted"},na=B({__name:"ProjectTestCasesTree",props:{items:{},hasFilter:{type:Boolean}},setup(u){const c=u;function s(l){return(l.suitePath||"").split("").filter(Boolean)}function _(l){const n={passed:0,failed:0,skipped:0,flaky:0,didNotRun:0,total:0,cases:l.length};for(const v of l)n.passed+=v.passedRuns,n.failed+=v.failedRuns,n.skipped+=v.skippedRuns,n.flaky+=v.flakyRuns,n.didNotRun+=v.didNotRunRuns,n.total+=v.totalRuns;return n}const m=w(new Set),t=k(()=>m.value.size===0);function C(l){return c.hasFilter?!0:!m.value.has(l)}function b(l){if(c.hasFilter)return;const n=new Set(m.value);n.has(l)?n.delete(l):n.add(l),m.value=n}function T(){const l=new Set;for(const n of c.items){l.add(`file:${n.filePath}`);const v=s(n);for(let y=1;y<=v.length;y++)l.add(`group:${n.filePath}${v.slice(0,y).join("")}`)}return[...l]}function z(){m.value=new Set(T())}function E(){m.value=new Set}function D(l,n,v,y,h){const $=n.filter(R=>s(R).length===y.length),q=n.filter(R=>s(R).length>y.length),j=new Map;for(const R of q){const o=s(R)[y.length];j.has(o)||j.set(o,[]),j.get(o).push(R)}for(const[R,o]of j){const J=[...y,R],N=`group:${v}${J.join("")}`;l.push({kind:"group",depth:h,key:N,label:R,agg:_(o)}),C(N)&&D(l,o,v,J,h+1)}for(const R of $)l.push({kind:"case",depth:h,key:`case:${R.id}`,testCase:R})}const U=k(()=>{const l=[],n=new Map;for(const v of c.items){const y=v.filePath||"unknown";n.has(y)||n.set(y,[]),n.get(y).push(v)}for(const[v,y]of[...n.entries()].sort(([h],[$])=>h.localeCompare($))){const h=`file:${v}`;l.push({kind:"group",depth:0,key:h,label:v,agg:_(y)}),C(h)&&D(l,y,v,[],1)}return l});return(l,n)=>{const v=ee,y=ze,h=qe,$=Se,q=Le,j=Ie,R=G;return r(),I("div",Ht,[f("div",Jt,[f("button",{class:L(["flex items-center gap-1 text-xs transition-colors",u.hasFilter?"text-muted cursor-not-allowed opacity-50":"text-muted hover:text-default"]),disabled:u.hasFilter,title:u.hasFilter?"Clear filters to collapse/expand":e(t)?"Collapse all":"Expand all",onClick:n[0]||(n[0]=o=>e(t)?z():E())},[i(v,{name:e(t)?"i-lucide-fold-vertical":"i-lucide-unfold-vertical",class:"size-3.5"},null,8,["name"]),S(" "+P(e(t)?"Collapse all":"Expand all"),1)],10,Wt)]),(r(!0),I(A,null,oe(e(U),o=>(r(),I(A,{key:o.key},[o.kind==="group"?(r(),I("div",{key:0,class:L(["flex items-center gap-2 py-2 pr-3 border-b border-default last:border-b-0 select-none",[o.depth===0?"bg-elevated":"bg-default",!u.hasFilter&&"cursor-pointer"]]),style:ce({paddingLeft:`${o.depth*20+12}px`}),onClick:J=>b(o.key)},[i(v,{name:C(o.key)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3.5 text-muted shrink-0"},null,8,["name"]),i(v,{name:o.depth===0?"i-lucide-file-code-2":"i-lucide-folder-open",class:L(["size-4 shrink-0",o.depth===0?"text-blue-500":"text-amber-500"])},null,8,["name","class"]),f("span",{class:L(["font-medium truncate min-w-0",[o.depth===0?"text-default font-mono text-xs sm:text-sm":"text-muted"]])},P(o.label),3),f("span",Yt,P(o.agg.cases)+" "+P(o.agg.cases===1?"case":"cases"),1),n[1]||(n[1]=f("div",{class:"flex-1"},null,-1)),f("div",ea,[i(y,{passed:o.agg.passed,failed:o.agg.failed,skipped:o.agg.skipped,flaky:o.agg.flaky,"did-not-run":o.agg.didNotRun,total:o.agg.total},null,8,["passed","failed","skipped","flaky","did-not-run","total"])])],14,Xt)):(r(),I("div",{key:1,class:"flex flex-wrap items-center gap-x-2 gap-y-1 pr-3 py-1.5 border-b border-default last:border-b-0 hover:bg-gray-50 dark:hover:bg-gray-900/40 transition-colors",style:ce({paddingLeft:`${o.depth*20+12}px`})},[i(v,{name:"i-lucide-flask-conical",class:"size-3.5 text-muted shrink-0"}),i(h,{color:("testCaseCategoryColor"in l?l.testCaseCategoryColor:e(fe))(o.testCase.status),size:"xs",variant:"subtle",class:"capitalize shrink-0"},{default:d(()=>[S(P(("formatStatusLabel"in l?l.formatStatusLabel:e(pe))(o.testCase.status)),1)]),_:2},1032,["color"]),i($,{to:`/test-cases/${o.testCase.id}`,class:"text-sm text-primary hover:underline truncate flex-1 min-w-32",title:o.testCase.title},{default:d(()=>[S(P(o.testCase.title),1)]),_:2},1032,["to","title"]),f("div",ta,[i(q,{rate:o.testCase.passRate},null,8,["rate"]),f("span",{class:"text-xs text-muted tabular-nums max-sm:hidden",title:`${o.testCase.totalRuns} runs`},P(o.testCase.totalRuns)+"× ",9,aa),o.testCase.avgDuration!=null?(r(),x(j,{key:0,ms:o.testCase.avgDuration,class:"text-xs text-muted max-sm:hidden"},null,8,["ms"])):V("",!0),f("span",{class:"text-xs text-muted max-sm:hidden",title:("prettyDateFormat"in l?l.prettyDateFormat:e(ge))(o.testCase.lastRun)},P(("formatRelativeTime"in l?l.formatRelativeTime:e(me))(o.testCase.lastRun)),9,sa),i(R,{to:`/test-cases/${o.testCase.id}`,size:"xs",variant:"outline"},{default:d(()=>[...n[2]||(n[2]=[S("View",-1)])]),_:1},8,["to"])])],4))],64))),128)),e(U).length===0?(r(),I("div",la,[i(v,{name:"i-lucide-search-x",class:"size-6 mx-auto mb-2 text-gray-300 dark:text-gray-600"}),n[3]||(n[3]=f("p",{class:"text-sm"},"No test cases match your filters.",-1))])):V("",!0)])}}}),oa=Object.assign(na,{__name:"ProjectTestCasesTree"}),ia={slots:{root:"",list:"flex items-center gap-1",ellipsis:"pointer-events-none",label:"min-w-5 text-center",first:"",prev:"",item:"",next:"",last:""}},ra={__name:"UPagination",props:{as:{type:null,required:!1},firstIcon:{type:null,required:!1},prevIcon:{type:null,required:!1},nextIcon:{type:null,required:!1},lastIcon:{type:null,required:!1},ellipsisIcon:{type:null,required:!1},color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"outline"},activeColor:{type:null,required:!1,default:"primary"},activeVariant:{type:null,required:!1,default:"solid"},showControls:{type:Boolean,required:!1,default:!0},size:{type:null,required:!1},to:{type:Function,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultPage:{type:Number,required:!1},disabled:{type:Boolean,required:!1},itemsPerPage:{type:Number,required:!1,default:10},page:{type:Number,required:!1},showEdges:{type:Boolean,required:!1,default:!1},siblingCount:{type:Number,required:!1,default:2},total:{type:Number,required:!1,default:0}},emits:["update:page"],setup(u,{emit:c}){const s=u,_=c,m=et(),t=tt("pagination",s),{dir:C}=at(),b=st(),T=lt(nt(t,"as","defaultPage","disabled","itemsPerPage","page","showEdges","siblingCount","total"),_),z=k(()=>t.firstIcon||(C.value==="rtl"?b.ui.icons.chevronDoubleRight:b.ui.icons.chevronDoubleLeft)),E=k(()=>t.prevIcon||(C.value==="rtl"?b.ui.icons.chevronRight:b.ui.icons.chevronLeft)),D=k(()=>t.nextIcon||(C.value==="rtl"?b.ui.icons.chevronLeft:b.ui.icons.chevronRight)),U=k(()=>t.lastIcon||(C.value==="rtl"?b.ui.icons.chevronDoubleLeft:b.ui.icons.chevronDoubleRight)),l=k(()=>ot({extend:ia,...b.ui?.pagination||{}})());return(n,v)=>(r(),x(e(zt),Q(e(T),{"data-slot":"root",class:l.value.root({class:[e(t).ui?.root,e(t).class]})}),{default:d(({page:y,pageCount:h})=>[i(e(Vt),{"data-slot":"list",class:L(l.value.list({class:e(t).ui?.list}))},{default:d(({items:$})=>[e(t).showControls||m.first?(r(),x(e(Lt),{key:0,"as-child":"","data-slot":"first",class:L(l.value.first({class:e(t).ui?.first}))},{default:d(()=>[F(n.$slots,"first",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:z.value,to:e(t).to?.(1)},null,8,["color","variant","size","icon","to"])])]),_:3},8,["class"])):V("",!0),e(t).showControls||m.prev?(r(),x(e(Ut),{key:1,"as-child":"","data-slot":"prev",class:L(l.value.prev({class:e(t).ui?.prev}))},{default:d(()=>[F(n.$slots,"prev",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:E.value,to:y>1?e(t).to?.(y-1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):V("",!0),(r(!0),I(A,null,oe($,(q,j)=>(r(),I(A,{key:j},[q.type==="page"?(r(),x(e(Et),{key:0,"as-child":"",value:q.value,"data-slot":"item",class:L(l.value.item({class:e(t).ui?.item}))},{default:d(()=>[F(n.$slots,"item",Q({ref_for:!0},{item:q,index:j,page:y,pageCount:h}),()=>[i(G,{color:y===q.value?e(t).activeColor:e(t).color,variant:y===q.value?e(t).activeVariant:e(t).variant,size:e(t).size,label:String(q.value),ui:{label:l.value.label()},to:e(t).to?.(q.value),square:""},null,8,["color","variant","size","label","ui","to"])])]),_:2},1032,["value","class"])):(r(),x(e($t),{key:1,"as-child":"","data-slot":"ellipsis",class:L(l.value.ellipsis({class:e(t).ui?.ellipsis}))},{default:d(()=>[F(n.$slots,"ellipsis",{ui:l.value},()=>[i(G,{as:"div",color:e(t).color,variant:e(t).variant,size:e(t).size,icon:e(t).ellipsisIcon||e(b).ui.icons.ellipsis},null,8,["color","variant","size","icon"])])]),_:3},8,["class"]))],64))),128)),e(t).showControls||m.next?(r(),x(e(Mt),{key:2,"as-child":"","data-slot":"next",class:L(l.value.next({class:e(t).ui?.next}))},{default:d(()=>[F(n.$slots,"next",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:D.value,to:y<h?e(t).to?.(y+1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):V("",!0),e(t).showControls||m.last?(r(),x(e(Tt),{key:3,"as-child":"","data-slot":"last",class:L(l.value.last({class:e(t).ui?.last}))},{default:d(()=>[F(n.$slots,"last",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:U.value,to:e(t).to?.(h)},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):V("",!0)]),_:2},1032,["class"])]),_:3},16,["class"]))}},ua={class:"flex items-center rounded-md border border-default overflow-hidden"},da={class:"text-sm text-muted tabular-nums"},ca={class:"flex flex-wrap items-center gap-1"},pa=["aria-pressed","onClick"],fa={class:"mt-3 flex items-center justify-center gap-2"},ga={class:"hidden md:block overflow-x-auto"},ma={class:"min-w-0 space-y-0.5"},va={class:"flex items-center gap-1 text-xs text-muted"},_a={class:"text-sm tabular-nums"},ya=["title"],ba={class:"flex justify-end"},ha={class:"space-y-2 md:hidden"},xa={class:"flex items-start justify-between gap-2"},ka={class:"flex items-center gap-1 text-xs text-muted min-w-0"},Ca={class:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},Pa={class:"text-xs text-muted tabular-nums"},Ra=["title"],$a={class:"mt-4 flex flex-wrap items-center justify-between gap-3"},qa={class:"flex flex-wrap items-center gap-3"},Sa={class:"text-sm text-muted tabular-nums"},za={class:"flex items-center gap-1.5"},Ia=1e3,$e=25,La=B({__name:"ProjectTestCasesTable",props:{projectId:{},projectName:{},syncQuery:{type:Boolean}},emits:["total"],setup(u,{expose:c,emit:s}){const _=u,m=s,t=it(),C=rt(),{treeView:b,setTreeView:T}=Ct("project-test-cases"),z=[{label:"10 / page",value:10},{label:"25 / page",value:25},{label:"50 / page",value:50},{label:"100 / page",value:100}],E=[{label:"Last 7 days",value:7},{label:"Last 30 days",value:30},{label:"Last 90 days",value:90},{label:"Last year",value:365},{label:"All time",value:0}],D=[{label:"Passed",value:"passed",color:"green"},{label:"Failed",value:"failed",color:"red"},{label:"Flaky",value:"flaky",color:"orange"},{label:"Skipped",value:"skipped",color:"gray"},{label:"Didn't run",value:"didnotrun",color:"amber"}],U=ut().public.demoMode?0:30,l=_.syncQuery?t.query:{},n=w(Math.max(1,Number(l.page)||1)),v=w(typeof l.q=="string"?l.q:""),y=w(v.value),h=w(typeof l.status=="string"?l.status.split(",").filter(Boolean):[]),$=w(typeof l.age=="string"&&l.age!==""?Math.max(0,Number(l.age)||0):U),q=w(typeof l.tags=="string"?l.tags:""),j=w(q.value),R=w(typeof l.sort=="string"?l.sort:"lastRun"),o=w(l.dir==="asc"?"asc":"desc"),J=Number(l.pageSize),N=w(z.some(p=>p.value===J)?J:$e);ae(y,Re(p=>{v.value=p.trim()},300)),ae(j,Re(p=>{q.value=p.trim()},300)),ae([v,h,q,$,R,o,N,b],()=>{n.value=1});const Ne=k(()=>({limit:b.value?Ia:N.value,offset:b.value?0:(n.value-1)*N.value,...v.value?{q:v.value}:{},...h.value.length>0?{status:h.value.join(",")}:{},...q.value?{tags:q.value}:{},maxAgeDays:$.value,sort:R.value,dir:o.value})),{data:W,status:ie,error:ve,refresh:re}=Pt(`/api/projects/${_.projectId}/test-cases`,{query:Ne},"$SV884SqmUv");ae(()=>W.value?.total,p=>{p!=null&&m("total",p)},{immediate:!0}),_.syncQuery&&ae([v,h,q,$,R,o,n,N],()=>{C.replace({query:{...t.query,q:v.value||void 0,status:h.value.length>0?h.value.join(","):void 0,tags:q.value||void 0,age:$.value!==U?String($.value):void 0,sort:R.value!=="lastRun"?R.value:void 0,dir:o.value!=="desc"?o.value:void 0,page:n.value>1?String(n.value):void 0,pageSize:N.value!==$e?String(N.value):void 0}})});function Te(p){h.value=h.value.includes(p)?h.value.filter(g=>g!==p):[...h.value,p]}function je(p){R.value===p?o.value=o.value==="asc"?"desc":"asc":(R.value=p,o.value=p==="title"?"asc":"desc")}function X(p,g){return()=>{const O=R.value===g,le=O?o.value==="asc"?"i-lucide-chevron-up":"i-lucide-chevron-down":"i-lucide-chevrons-up-down";return de("button",{type:"button",class:"flex items-center gap-1 font-semibold select-none cursor-pointer hover:text-highlighted transition-colors",onClick:()=>je(g)},[p,de(ee,{name:le,class:["shrink-0 size-3.5",!O&&"opacity-40"]})])}}const Fe=k(()=>[{accessorKey:"title",header:X("Test case","title")},{accessorKey:"status",header:X("Status","status")},{accessorKey:"totalRuns",header:X("Runs","totalRuns")},{accessorKey:"passRate",header:X("Pass rate","passRate")},{id:"results",header:"Results"},{accessorKey:"avgDuration",header:X("Avg duration","avgDuration")},{accessorKey:"lastRun",header:X("Last run","lastRun")},{id:"actions",header:()=>de("div",{class:"text-right"},"Actions")}]),Y=k(()=>W.value?.items??[]),M=k(()=>W.value?.total??0),we=k(()=>M.value===0?0:(n.value-1)*N.value+1),Ve=k(()=>b.value?Y.value.length:Math.min(n.value*N.value,M.value)),ue=k(()=>v.value!==""||h.value.length>0),Be=k(()=>ue.value||$.value!==0),Ee=k(()=>ie.value==="pending"&&!W.value);return c({refresh:re}),(p,g)=>{const O=G,le=dt,_e=ct,De=pt,Me=ft,Ae=gt,ye=mt,Ue=vt,Oe=oa,be=Se,Ke=bt,he=ht,xe=qe,ke=Le,Ce=ze,Pe=Ie,Ge=xt,Qe=ra,Ze=kt;return r(),x(Ze,{title:"Test cases",icon:"i-lucide-flask-conical",count:e(W)?.total,help:"project.test-cases"},{actions:d(()=>[i(O,{icon:"i-lucide-refresh-cw",size:"sm",color:"neutral",variant:"ghost","aria-label":"Refresh test cases",loading:e(ie)==="pending"&&!!e(W),onClick:g[0]||(g[0]=()=>e(re)())},null,8,["loading"])]),default:d(()=>[i(De,{class:"mb-4"},{start:d(()=>[f("div",ua,[f("button",{type:"button",class:L(["px-2 py-1 text-xs transition-colors",e(b)?"text-muted hover:bg-elevated/60":"bg-primary text-white dark:text-white"]),title:"Flat list",onClick:g[1]||(g[1]=a=>e(T)(!1))},[i(e(ee),{name:"i-lucide-list",class:"size-3.5"})],2),f("button",{type:"button",class:L(["px-2 py-1 text-xs transition-colors",e(b)?"bg-primary text-white dark:text-white":"text-muted hover:bg-elevated/60"]),title:"Tree view",onClick:g[2]||(g[2]=a=>e(T)(!0))},[i(e(ee),{name:"i-lucide-folder-tree",class:"size-3.5"})],2)]),f("span",da,P(e(M))+" "+P(e(M)===1?"case":"cases"),1)]),default:d(()=>[i(le,{modelValue:e(y),"onUpdate:modelValue":g[3]||(g[3]=a=>se(y)?y.value=a:null),placeholder:"Search title or file...",icon:"i-lucide-search",size:"sm",class:"min-w-48 max-sm:flex-1","aria-label":"Search test cases"},null,8,["modelValue"]),i(le,{modelValue:e(j),"onUpdate:modelValue":g[4]||(g[4]=a=>se(j)?j.value=a:null),placeholder:"Tags (comma-separated)…",icon:"i-lucide-tag",size:"sm",class:"min-w-44 max-sm:flex-1","aria-label":"Filter by tag",title:"Show only cases carrying every listed tag. A leading @ is optional."},null,8,["modelValue"]),f("div",ca,[(r(),I(A,null,oe(D,a=>f("button",{key:a.value,type:"button",class:L(["inline-flex items-center gap-1.5 px-2 py-1 rounded-md text-xs font-medium transition-colors whitespace-nowrap",e(h).includes(a.value)?a.color==="green"?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":a.color==="red"?"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400":a.color==="orange"?"bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400":a.color==="amber"?"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400":"bg-gray-200 text-gray-700 dark:bg-gray-700 dark:text-gray-300":"bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700"]),"aria-pressed":e(h).includes(a.value),onClick:Na=>Te(a.value)},[f("span",{class:L(["size-2 rounded-full shrink-0",a.color==="green"?"bg-green-500":a.color==="red"?"bg-red-500":a.color==="orange"?"bg-orange-500":a.color==="amber"?"bg-amber-500":"bg-gray-400"])},null,2),S(" "+P(a.label),1)],10,pa)),64))]),i(_e,{modelValue:e($),"onUpdate:modelValue":g[5]||(g[5]=a=>se($)?$.value=a:null),items:E,size:"sm",class:"w-36","aria-label":"Last run age filter"},null,8,["modelValue"])]),_:1}),e(Ee)?(r(),x(Me,{key:0,text:"Loading test cases..."})):e(ve)?(r(),x(Ae,{key:1,text:("errorMessage"in p?p.errorMessage:e(_t))(e(ve),"Failed to load test cases")},{action:d(()=>[i(O,{size:"sm",variant:"outline",onClick:g[6]||(g[6]=()=>e(re)())},{default:d(()=>[...g[11]||(g[11]=[S("Retry",-1)])]),_:1})]),_:1},8,["text"])):e(M)===0?(r(),I(A,{key:2},[e(Be)?(r(),x(ye,{key:1,icon:"i-lucide-search-x",text:"No test cases match your filters."},{default:d(()=>[f("div",fa,[e($)!==0?(r(),x(O,{key:0,size:"sm",variant:"outline",onClick:g[7]||(g[7]=a=>$.value=0)},{default:d(()=>[...g[12]||(g[12]=[S("Show all time",-1)])]),_:1})):V("",!0),e(ue)?(r(),x(O,{key:1,size:"sm",variant:"ghost",onClick:g[8]||(g[8]=()=>{y.value="",v.value="",h.value=[]})},{default:d(()=>[...g[13]||(g[13]=[S(" Clear filters ",-1)])]),_:1})):V("",!0)])]),_:1})):(r(),x(ye,{key:0,icon:"i-lucide-flask-conical",text:"No test cases yet for this project."}))],64)):(r(),I("div",{key:3,class:L([{"opacity-60 pointer-events-none":e(ie)==="pending"},"transition-opacity"])},[e(b)?(r(),I(A,{key:0},[e(Y).length<e(M)?(r(),x(Ue,{key:0,color:"warning",variant:"subtle",icon:"i-lucide-triangle-alert",class:"mb-3",title:`Showing the first ${e(Y).length} of ${e(M)} cases — narrow the search or filters to see the rest.`},null,8,["title"])):V("",!0),i(Oe,{items:e(Y),"has-filter":e(ue)},null,8,["items","has-filter"])],64)):(r(),I(A,{key:1},[f("div",ga,[i(Ge,{data:e(Y),columns:e(Fe),ui:{base:"w-full table-fixed border-separate border-spacing-0 min-w-[56rem]",thead:"[&>tr]:bg-elevated/50 [&>tr]:after:content-none",tbody:"[&>tr]:last:[&>td]:border-b-0 [&>tr]:hover:bg-gray-50 dark:[&>tr]:hover:bg-gray-900/50",th:"first:rounded-l-lg last:rounded-r-lg border-y border-default first:border-l last:border-r",td:"border-b border-default"}},{"title-cell":d(({row:a})=>[f("div",ma,[i(be,{to:`/test-cases/${a.original.id}`,class:"text-sm font-medium text-primary hover:underline truncate block",title:a.original.title},{default:d(()=>[S(P(a.original.title),1)]),_:2},1032,["to","title"]),i(Ke,{tags:a.original.tags,meta:{owner:a.original.owner??void 0,priority:("toTestPriority"in p?p.toTestPriority:e(yt))(a.original.priority),feature:a.original.feature??void 0,link:a.original.link??void 0},"max-tags":4},null,8,["tags","meta"]),f("div",va,[i(e(ee),{name:"i-lucide-file-code",class:"size-3 shrink-0"}),i(he,{"file-path":a.original.filePath,"project-key":u.projectId,"project-name":u.projectName,class:"min-w-0"},null,8,["file-path","project-key","project-name"])])])]),"status-cell":d(({row:a})=>[i(xe,{color:("testCaseCategoryColor"in p?p.testCaseCategoryColor:e(fe))(a.original.status),variant:"subtle",size:"sm",class:"capitalize"},{default:d(()=>[S(P(("formatStatusLabel"in p?p.formatStatusLabel:e(pe))(a.original.status)),1)]),_:2},1032,["color"])]),"totalRuns-cell":d(({row:a})=>[f("span",_a,P(a.original.totalRuns),1)]),"passRate-cell":d(({row:a})=>[i(ke,{rate:a.original.passRate},null,8,["rate"])]),"results-cell":d(({row:a})=>[i(Ce,{passed:a.original.passedRuns,failed:a.original.failedRuns,skipped:a.original.skippedRuns,flaky:a.original.flakyRuns,"did-not-run":a.original.didNotRunRuns,total:a.original.totalRuns},null,8,["passed","failed","skipped","flaky","did-not-run","total"])]),"avgDuration-cell":d(({row:a})=>[i(Pe,{ms:a.original.avgDuration,class:"text-sm text-muted"},null,8,["ms"])]),"lastRun-cell":d(({row:a})=>[f("span",{class:"text-sm text-muted",title:("prettyDateFormat"in p?p.prettyDateFormat:e(ge))(a.original.lastRun)},P(a.original.lastRun!=null?("formatRelativeTime"in p?p.formatRelativeTime:e(me))(a.original.lastRun):"—"),9,ya)]),"actions-cell":d(({row:a})=>[f("div",ba,[i(O,{to:`/test-cases/${a.original.id}`,size:"sm",variant:"outline","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...g[14]||(g[14]=[S(" View ",-1)])]),_:1},8,["to"])])]),_:1},8,["data","columns"])]),f("div",ha,[(r(!0),I(A,null,oe(e(Y),a=>(r(),I("div",{key:a.id,class:"rounded-lg border border-default p-3 space-y-2"},[f("div",xa,[i(be,{to:`/test-cases/${a.id}`,class:"text-sm font-medium text-primary hover:underline min-w-0 truncate",title:a.title},{default:d(()=>[S(P(a.title),1)]),_:2},1032,["to","title"]),i(xe,{color:("testCaseCategoryColor"in p?p.testCaseCategoryColor:e(fe))(a.status),variant:"subtle",size:"sm",class:"capitalize shrink-0"},{default:d(()=>[S(P(("formatStatusLabel"in p?p.formatStatusLabel:e(pe))(a.status)),1)]),_:2},1032,["color"])]),f("div",ka,[i(e(ee),{name:"i-lucide-file-code",class:"size-3 shrink-0"}),i(he,{"file-path":a.filePath,"project-key":u.projectId,"project-name":u.projectName,class:"min-w-0"},null,8,["file-path","project-key","project-name"])]),i(Ce,{passed:a.passedRuns,failed:a.failedRuns,skipped:a.skippedRuns,flaky:a.flakyRuns,"did-not-run":a.didNotRunRuns,total:a.totalRuns},null,8,["passed","failed","skipped","flaky","did-not-run","total"]),f("div",Ca,[i(ke,{rate:a.passRate},null,8,["rate"]),f("span",Pa,P(a.totalRuns)+" runs",1),a.avgDuration!=null?(r(),x(Pe,{key:0,ms:a.avgDuration,class:"text-xs text-muted"},null,8,["ms"])):V("",!0),f("span",{class:"text-xs text-muted",title:("prettyDateFormat"in p?p.prettyDateFormat:e(ge))(a.lastRun)},P(a.lastRun!=null?("formatRelativeTime"in p?p.formatRelativeTime:e(me))(a.lastRun):"—"),9,Ra)])]))),128))]),f("div",$a,[f("div",qa,[f("span",Sa,"Showing "+P(e(we))+"–"+P(e(Ve))+" of "+P(e(M)),1),f("div",za,[g[15]||(g[15]=f("span",{class:"text-sm text-muted"},"Rows per page",-1)),i(_e,{modelValue:e(N),"onUpdate:modelValue":g[9]||(g[9]=a=>se(N)?N.value=a:null),items:z,size:"sm",class:"w-28","aria-label":"Rows per page"},null,8,["modelValue"])])]),e(M)>e(N)?(r(),x(Qe,{key:0,page:e(n),"onUpdate:page":g[10]||(g[10]=a=>se(n)?n.value=a:null),total:e(M),"items-per-page":e(N),size:"sm"},null,8,["page","total","items-per-page"])):V("",!0)])],64))],2))]),_:1},8,["count"])}}}),Ha=Object.assign(La,{__name:"ProjectTestCasesTable"});export{Ha as _};
@@ -1 +1 @@
1
- import{_ as O}from"./BTVqMsA3.js";import{_ as z}from"./D_eDAIsT.js";import{u as B,w as I,C as M,O as k,a as V,_ as L}from"./CMYAryzi.js";import{d as P,n as j,o as n,c as d,k as t,j as s,g as E,R as H,i as o,t as l,m as U,q as W,v as h,f as q,h as y,r as F}from"./DCFbQvIN.js";const X={class:"w-full relative"},A={key:0},G={class:"p-2 text-sm text-gray-900 dark:text-gray-100"},J={class:"font-semibold mb-1"},K={class:"space-y-0.5"},Q={key:0,class:"text-gray-400 text-xs"},Y="rgb(148, 163, 184)",Z=P({__name:"TestCaseHistoryChart",props:{data:{},height:{default:200},markers:{default:()=>[]}},emits:["marker-click"],setup(p,{emit:f}){const i=p,x=f,v=y(()=>i.markers),c=y(()=>!i.data||i.data.length===0?[]:[...i.data].sort((a,m)=>new Date(a.startTime).getTime()-new Date(m.startTime).getTime()).map(a=>({id:a.id,runId:a.runId,date:new Date(a.startTime),duration:a.duration??void 0,status:a.status,runStatus:a.runStatus}))),b=e=>e.date,C=e=>e.duration,S=e=>e==="passed"?"rgb(34, 197, 94)":e==="failed"||e==="timedOut"?"rgb(239, 68, 68)":"rgb(156, 163, 175)",_=F(null),{tooltipData:r,tooltipPos:g,markerTooltip:T,markerTooltipPos:w,onRenderComplete:D}=B(_,c,{x:e=>e.date,series:[{y:e=>e.duration,color:e=>S(e.status)}],radius:5,hoverRadius:8,strokeWidth:2,hoverStrokeWidth:3,onClick:e=>j(`/test-runs/${e.runId}`),markers:v,onMarkerClick:e=>x("marker-click",e.id)}),R=[{color:"rgb(34, 197, 94)",label:"Passed"},{color:"rgb(239, 68, 68)",label:"Failed"},{color:"rgb(156, 163, 175)",label:"Skipped"}];return(e,a)=>{const m=O,$=z,N=L;return n(),d("div",X,[t(c).length>0?(n(),d("div",A,[s(t(V),{ref_key:"xyContainerRef",ref:_,data:t(c),height:p.height,padding:{top:10,right:10,bottom:0,left:0},"on-render-complete":t(D)},{default:E(()=>[s(t(I),{x:b,y:C,color:[Y],"curve-type":t(M).MonotoneX,"line-width":1.5},null,8,["color","curve-type"]),s(t(k),{type:"x","tick-format":u=>new Date(u).toLocaleDateString("en-US",{month:"short",day:"numeric"})},null,8,["tick-format"]),s(t(k),{type:"y",label:"Duration (ms)","tick-format":u=>`${u}ms`},null,8,["tick-format"])]),_:1},8,["data","height","on-render-complete"]),t(r)?(n(),d("div",{key:0,class:"fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700",style:H({left:`${t(g).x}px`,top:`${t(g).y}px`})},[o("div",G,[o("div",J,l(new Date(t(r).date).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1),o("div",K,[o("div",null,[a[0]||(a[0]=U(" Status: ",-1)),o("span",{class:W(["font-medium capitalize",t(r).status==="passed"?"text-green-600":t(r).status==="failed"||t(r).status==="timedOut"?"text-red-600":""])},l(t(r).status),3)]),o("div",null,"Duration: "+l(t(r).duration)+"ms",1),t(r).runStatus?(n(),d("div",Q," Run status: "+l(t(r).runStatus),1)):h("",!0)]),a[1]||(a[1]=o("div",{class:"text-gray-400 text-xs mt-1"},"Click to view run details",-1))])],4)):h("",!0),s(m,{marker:t(T),pos:t(w)},null,8,["marker","pos"])])):(n(),q($,{key:1,text:"No history data available to display chart"})),s(N,{items:R,dense:""})])}}}),ot=Object.assign(Z,{__name:"TestCaseHistoryChart"});export{ot as _};
1
+ import{_ as O}from"./Sgis3xif.js";import{_ as z}from"./BVN50jIb.js";import{u as B,w as I,C as M,O as k,a as V,_ as L}from"./czXrP7NB.js";import{d as P,n as j,o as n,c as d,k as t,j as s,g as E,R as H,i as o,t as l,m as U,q as W,v as h,f as q,h as y,r as F}from"./h49q_GXF.js";const X={class:"w-full relative"},A={key:0},G={class:"p-2 text-sm text-gray-900 dark:text-gray-100"},J={class:"font-semibold mb-1"},K={class:"space-y-0.5"},Q={key:0,class:"text-gray-400 text-xs"},Y="rgb(148, 163, 184)",Z=P({__name:"TestCaseHistoryChart",props:{data:{},height:{default:200},markers:{default:()=>[]}},emits:["marker-click"],setup(p,{emit:f}){const i=p,x=f,v=y(()=>i.markers),c=y(()=>!i.data||i.data.length===0?[]:[...i.data].sort((a,m)=>new Date(a.startTime).getTime()-new Date(m.startTime).getTime()).map(a=>({id:a.id,runId:a.runId,date:new Date(a.startTime),duration:a.duration??void 0,status:a.status,runStatus:a.runStatus}))),b=e=>e.date,C=e=>e.duration,S=e=>e==="passed"?"rgb(34, 197, 94)":e==="failed"||e==="timedOut"?"rgb(239, 68, 68)":"rgb(156, 163, 175)",_=F(null),{tooltipData:r,tooltipPos:g,markerTooltip:T,markerTooltipPos:w,onRenderComplete:D}=B(_,c,{x:e=>e.date,series:[{y:e=>e.duration,color:e=>S(e.status)}],radius:5,hoverRadius:8,strokeWidth:2,hoverStrokeWidth:3,onClick:e=>j(`/test-runs/${e.runId}`),markers:v,onMarkerClick:e=>x("marker-click",e.id)}),R=[{color:"rgb(34, 197, 94)",label:"Passed"},{color:"rgb(239, 68, 68)",label:"Failed"},{color:"rgb(156, 163, 175)",label:"Skipped"}];return(e,a)=>{const m=O,$=z,N=L;return n(),d("div",X,[t(c).length>0?(n(),d("div",A,[s(t(V),{ref_key:"xyContainerRef",ref:_,data:t(c),height:p.height,padding:{top:10,right:10,bottom:0,left:0},"on-render-complete":t(D)},{default:E(()=>[s(t(I),{x:b,y:C,color:[Y],"curve-type":t(M).MonotoneX,"line-width":1.5},null,8,["color","curve-type"]),s(t(k),{type:"x","tick-format":u=>new Date(u).toLocaleDateString("en-US",{month:"short",day:"numeric"})},null,8,["tick-format"]),s(t(k),{type:"y",label:"Duration (ms)","tick-format":u=>`${u}ms`},null,8,["tick-format"])]),_:1},8,["data","height","on-render-complete"]),t(r)?(n(),d("div",{key:0,class:"fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700",style:H({left:`${t(g).x}px`,top:`${t(g).y}px`})},[o("div",G,[o("div",J,l(new Date(t(r).date).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1),o("div",K,[o("div",null,[a[0]||(a[0]=U(" Status: ",-1)),o("span",{class:W(["font-medium capitalize",t(r).status==="passed"?"text-green-600":t(r).status==="failed"||t(r).status==="timedOut"?"text-red-600":""])},l(t(r).status),3)]),o("div",null,"Duration: "+l(t(r).duration)+"ms",1),t(r).runStatus?(n(),d("div",Q," Run status: "+l(t(r).runStatus),1)):h("",!0)]),a[1]||(a[1]=o("div",{class:"text-gray-400 text-xs mt-1"},"Click to view run details",-1))])],4)):h("",!0),s(m,{marker:t(T),pos:t(w)},null,8,["marker","pos"])])):(n(),q($,{key:1,text:"No history data available to display chart"})),s(N,{items:R,dense:""})])}}}),ot=Object.assign(Z,{__name:"TestCaseHistoryChart"});export{ot as _};
@@ -1 +1 @@
1
- {"id":"31ca2be4-a949-4df6-9818-773fc085557a","timestamp":1785407197407}
1
+ {"id":"5f1ebc7c-d690-4f02-847f-a3249653f75f","timestamp":1785449245452}
@@ -0,0 +1 @@
1
+ {"id":"5f1ebc7c-d690-4f02-847f-a3249653f75f","timestamp":1785449245452,"prerendered":[]}
@@ -1 +1 @@
1
- import{d as m,k as r,o as c,f as _,g,j as b,p as w,R as v,q as x,c as $,h as t}from"./DCFbQvIN.js";import{_ as C}from"./Ebw5l7n8.js";import{C as S,D as k}from"./BAKUqW95.js";const z={key:1,class:"text-xs text-gray-400 dark:text-gray-500 italic"},B=m({__name:"BrowserBadge",props:{browser:{},size:{}},setup(a){const n=a,s=t(()=>n.browser?.projectName??null),l=t(()=>S(s.value)),p=t(()=>k(s.value)),u=t(()=>n.size==="sm"?"size-3.5":n.size==="lg"?"size-5":"size-4"),i=t(()=>{const e=n.browser;if(!e)return[];const o=[];return e.browserName&&e.browserName!==s.value&&o.push(`Browser: ${e.browserName}`),e.channel&&o.push(`Channel: ${e.channel}`),e.viewport&&o.push(`Viewport: ${e.viewport.width}×${e.viewport.height}`),e.deviceScaleFactor&&e.deviceScaleFactor!==1&&o.push(`Scale: ${e.deviceScaleFactor}x`),e.isMobile&&o.push("Mobile"),e.hasTouch&&!e.isMobile&&o.push("Touch"),e.locale&&o.push(`Locale: ${e.locale}`),e.timezoneId&&o.push(`TZ: ${e.timezoneId}`),e.colorScheme&&e.colorScheme!=="light"&&o.push(`Color: ${e.colorScheme}`),e.reducedMotion&&e.reducedMotion!=="no-preference"&&o.push(`Motion: ${e.reducedMotion}`),e.forcedColors&&e.forcedColors!=="none"&&o.push("Colors: forced"),e.offline&&o.push("Offline"),e.bypassCSP&&o.push("CSP bypassed"),e.javaScriptEnabled===!1&&o.push("JS disabled"),e.serviceWorkers==="block"&&o.push("SW blocked"),e.geolocation&&o.push(`Geo: ${e.geolocation.latitude.toFixed(2)},${e.geolocation.longitude.toFixed(2)}`),e.userAgent&&o.push(`UA: ${e.userAgent.length>60?e.userAgent.slice(0,60)+"…":e.userAgent}`),o}),h=t(()=>s.value?i.value.length?`${s.value} · ${i.value.join(" · ")}`:s.value:"");return(e,o)=>{const f=w,d=C;return r(s)?(c(),_(d,{key:0,text:r(h),popper:{placement:"top"}},{default:g(()=>[b(f,{name:r(l),class:x(["shrink-0 cursor-help",r(u)]),style:v({color:r(p)})},null,8,["name","class","style"])]),_:1},8,["text"])):(c(),$("span",z,"—"))}}}),A=Object.assign(B,{__name:"BrowserBadge"});export{A as _};
1
+ import{d as m,k as r,o as c,f as _,g,j as b,p as w,R as v,q as x,c as $,h as t}from"./h49q_GXF.js";import{_ as C}from"./CRPt9SfB.js";import{C as S,D as k}from"./CD3R-ggS.js";const z={key:1,class:"text-xs text-gray-400 dark:text-gray-500 italic"},B=m({__name:"BrowserBadge",props:{browser:{},size:{}},setup(a){const n=a,s=t(()=>n.browser?.projectName??null),l=t(()=>S(s.value)),p=t(()=>k(s.value)),u=t(()=>n.size==="sm"?"size-3.5":n.size==="lg"?"size-5":"size-4"),i=t(()=>{const e=n.browser;if(!e)return[];const o=[];return e.browserName&&e.browserName!==s.value&&o.push(`Browser: ${e.browserName}`),e.channel&&o.push(`Channel: ${e.channel}`),e.viewport&&o.push(`Viewport: ${e.viewport.width}×${e.viewport.height}`),e.deviceScaleFactor&&e.deviceScaleFactor!==1&&o.push(`Scale: ${e.deviceScaleFactor}x`),e.isMobile&&o.push("Mobile"),e.hasTouch&&!e.isMobile&&o.push("Touch"),e.locale&&o.push(`Locale: ${e.locale}`),e.timezoneId&&o.push(`TZ: ${e.timezoneId}`),e.colorScheme&&e.colorScheme!=="light"&&o.push(`Color: ${e.colorScheme}`),e.reducedMotion&&e.reducedMotion!=="no-preference"&&o.push(`Motion: ${e.reducedMotion}`),e.forcedColors&&e.forcedColors!=="none"&&o.push("Colors: forced"),e.offline&&o.push("Offline"),e.bypassCSP&&o.push("CSP bypassed"),e.javaScriptEnabled===!1&&o.push("JS disabled"),e.serviceWorkers==="block"&&o.push("SW blocked"),e.geolocation&&o.push(`Geo: ${e.geolocation.latitude.toFixed(2)},${e.geolocation.longitude.toFixed(2)}`),e.userAgent&&o.push(`UA: ${e.userAgent.length>60?e.userAgent.slice(0,60)+"…":e.userAgent}`),o}),h=t(()=>s.value?i.value.length?`${s.value} · ${i.value.join(" · ")}`:s.value:"");return(e,o)=>{const f=w,d=C;return r(s)?(c(),_(d,{key:0,text:r(h),popper:{placement:"top"}},{default:g(()=>[b(f,{name:r(l),class:x(["shrink-0 cursor-help",r(u)]),style:v({color:r(p)})},null,8,["name","class","style"])]),_:1},8,["text"])):(c(),$("span",z,"—"))}}}),A=Object.assign(B,{__name:"BrowserBadge"});export{A as _};