@piwitests/server 0.18.2 → 0.19.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 (773) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BlnwU1OO.js → -09h6CA9.js} +1 -1
  3. package/.output/public/_nuxt/279D2RYp.js +1 -0
  4. package/.output/public/_nuxt/81InBX9v.js +1 -0
  5. package/.output/public/_nuxt/{CUvGJXY3.js → Ar3IelOY.js} +1 -1
  6. package/.output/public/_nuxt/B33iXw77.js +1 -0
  7. package/.output/public/_nuxt/B3B9Ii2A.js +1 -0
  8. package/.output/public/_nuxt/B3HO8kuh.js +1 -0
  9. package/.output/public/_nuxt/B44A4LSJ.js +1 -0
  10. package/.output/public/_nuxt/{C8OCrfDP.js → B7NBP1C-.js} +1 -1
  11. package/.output/public/_nuxt/{DZ3Vfcpz.js → B9WhzpKO.js} +1 -1
  12. package/.output/public/_nuxt/{DWowvnwc.js → BCMuIgP5.js} +1 -1
  13. package/.output/public/_nuxt/BDicZ1gQ.js +1 -0
  14. package/.output/public/_nuxt/BJ0XQElc.js +1 -0
  15. package/.output/public/_nuxt/{xqiPI_FQ.js → BMvCSA6h.js} +1 -1
  16. package/.output/public/_nuxt/BPQoBGg5.js +1 -0
  17. package/.output/public/_nuxt/BPRffDuo.js +1 -0
  18. package/.output/public/_nuxt/BSIxhGsh.js +1 -0
  19. package/.output/public/_nuxt/BVaxh6Nl.js +4 -0
  20. package/.output/public/_nuxt/{hgHc4teu.js → BX9ZXe98.js} +1 -1
  21. package/.output/public/_nuxt/{CcXaak_K.js → BYDaY0Z7.js} +1 -1
  22. package/.output/public/_nuxt/{S5DLdEpg.js → Bc8mOoz9.js} +2 -2
  23. package/.output/public/_nuxt/BccXfBfI.js +1 -0
  24. package/.output/public/_nuxt/{Bd3HqPMF.js → BeLWlVK0.js} +1 -1
  25. package/.output/public/_nuxt/{D5oNv2cB.js → BfTuX0wq.js} +1 -1
  26. package/.output/public/_nuxt/BjaRappk.js +1 -0
  27. package/.output/public/_nuxt/{By4YL7mx.js → Bn0YQDyy.js} +1 -1
  28. package/.output/public/_nuxt/Bp5ELvx9.js +1 -0
  29. package/.output/public/_nuxt/BpUaY9nH.js +2 -0
  30. package/.output/public/_nuxt/BqV0l12c.js +1 -0
  31. package/.output/public/_nuxt/{BjCHB89N.js → Bti38m-M.js} +1 -1
  32. package/.output/public/_nuxt/{QmMoMxLM.js → Bu2aaVIY.js} +3 -3
  33. package/.output/public/_nuxt/{DZUgX70W.js → BuMC3WjZ.js} +1 -1
  34. package/.output/public/_nuxt/{BJtlcTrb.js → BxCKKeYs.js} +1 -1
  35. package/.output/public/_nuxt/{CfOLBbW9.js → C-elpgyr.js} +1 -1
  36. package/.output/public/_nuxt/C2_3mdPC.js +1 -0
  37. package/.output/public/_nuxt/{BLIRKrbM.js → C5iG7O4O.js} +4 -4
  38. package/.output/public/_nuxt/C7P1UCO2.js +1 -0
  39. package/.output/public/_nuxt/{hH1UFE3Z.js → C95YAaJq.js} +1 -1
  40. package/.output/public/_nuxt/{BXY_PWcx.js → C9_jrmk9.js} +2 -2
  41. package/.output/public/_nuxt/CDk0q2hV.js +2 -0
  42. package/.output/public/_nuxt/{kjYMoWWx.js → CGNkHojN.js} +3 -3
  43. package/.output/public/_nuxt/CHEFCN8Q.js +1 -0
  44. package/.output/public/_nuxt/CHNwfU1y.js +1 -0
  45. package/.output/public/_nuxt/CK_2LZBS.js +1 -0
  46. package/.output/public/_nuxt/CNFYDQmj.js +1 -0
  47. package/.output/public/_nuxt/{DZOS7Fh7.js → CTxDO9fB.js} +1 -1
  48. package/.output/public/_nuxt/{kS3boz40.js → CU5S9GCh.js} +1 -1
  49. package/.output/public/_nuxt/{DZ1zNBVM.js → CUtJobDm.js} +1 -1
  50. package/.output/public/_nuxt/CV9-fTmY.js +1 -0
  51. package/.output/public/_nuxt/{e7zD3uJ0.js → CYsTqbBS.js} +1 -1
  52. package/.output/public/_nuxt/{C9YzQCiq.js → CZfMdzfk.js} +1 -1
  53. package/.output/public/_nuxt/{B-IcwqZ2.js → Cdff9XNh.js} +1 -1
  54. package/.output/public/_nuxt/{CNMoZYMv.js → ClOqkAcc.js} +1 -1
  55. package/.output/public/_nuxt/{DXbPFI1d.js → CpjgB2aY.js} +1 -1
  56. package/.output/public/_nuxt/CrwJAwhk.js +1 -0
  57. package/.output/public/_nuxt/CtQBsNUb.js +1 -0
  58. package/.output/public/_nuxt/CuSVQEkS.js +3 -0
  59. package/.output/public/_nuxt/{Df7kUO0m.js → CylWPruw.js} +1 -1
  60. package/.output/public/_nuxt/CzGyac8q.js +1 -0
  61. package/.output/public/_nuxt/D-c8ZSws.js +1 -0
  62. package/.output/public/_nuxt/{B2oUeBbA.js → D0HNloZ9.js} +1 -1
  63. package/.output/public/_nuxt/{DBtBvrYc.js → D55D4EYo.js} +1 -1
  64. package/.output/public/_nuxt/{CfPSts5n.js → DDDpCFpF.js} +1 -1
  65. package/.output/public/_nuxt/{CPLJeOCb.js → DEFEpYzn.js} +1 -1
  66. package/.output/public/_nuxt/DGfAxLHV.js +1 -0
  67. package/.output/public/_nuxt/DHDtnj7p.js +1 -0
  68. package/.output/public/_nuxt/DLSrtpsA.js +1 -0
  69. package/.output/public/_nuxt/DP8hfJ9h.js +1 -0
  70. package/.output/public/_nuxt/DS636elg.js +1 -0
  71. package/.output/public/_nuxt/{Cng9gj7q.js → DT53RWbC.js} +1 -1
  72. package/.output/public/_nuxt/DVDXJYq2.js +2 -0
  73. package/.output/public/_nuxt/DW0xl3I6.js +17 -0
  74. package/.output/public/_nuxt/{4TxgDGVa.js → DX-MDGb3.js} +1 -1
  75. package/.output/public/_nuxt/DcmZRa_F.js +1 -0
  76. package/.output/public/_nuxt/DgE2YE3R.js +1 -0
  77. package/.output/public/_nuxt/Dgf5N4Ng.js +1 -0
  78. package/.output/public/_nuxt/DiOLdHBC.js +1 -0
  79. package/.output/public/_nuxt/DiZyJYez.js +1 -0
  80. package/.output/public/_nuxt/Dk9fwOCm.js +34 -0
  81. package/.output/public/_nuxt/{BlA8mIS-.js → Dnpkl-1q.js} +1 -1
  82. package/.output/public/_nuxt/DoUy4UHi.js +44 -0
  83. package/.output/public/_nuxt/{CN1mJlvD.js → DprVVyUQ.js} +1 -1
  84. package/.output/public/_nuxt/{DD5HpaW9.js → DslPMqfa.js} +1 -1
  85. package/.output/public/_nuxt/{BFP6M-20.js → FUXhyidq.js} +1 -1
  86. package/.output/public/_nuxt/HXerICAi.js +79 -0
  87. package/.output/public/_nuxt/{gnCL8GjZ.js → IvQlbZk6.js} +1 -1
  88. package/.output/public/_nuxt/{BOCwBVnz.js → Jo8kRmHz.js} +1 -1
  89. package/.output/public/_nuxt/{oFM1KLWA.js → KnfsST6Y.js} +1 -1
  90. package/.output/public/_nuxt/NQikbhmK.js +253 -0
  91. package/.output/public/_nuxt/OSduWzyz.js +1 -0
  92. package/.output/public/_nuxt/SfMRXW25.js +5 -0
  93. package/.output/public/_nuxt/{BBK2-Krn.js → SlIRLREZ.js} +2 -2
  94. package/.output/public/_nuxt/TagBadge.By1E6r4y.css +1 -0
  95. package/.output/public/_nuxt/WsxFTEFq.js +10 -0
  96. package/.output/public/_nuxt/YVN7WG7q.js +1 -0
  97. package/.output/public/_nuxt/{rTvJTef_.js → ZFiQCMUB.js} +1 -1
  98. package/.output/public/_nuxt/aQgs_c6e.js +9 -0
  99. package/.output/public/_nuxt/builds/latest.json +1 -1
  100. package/.output/public/_nuxt/builds/meta/ab473028-4b37-4884-b243-b8f6e5046e5e.json +1 -0
  101. package/.output/public/_nuxt/{B1X__ilH.js → cHAnlQbv.js} +1 -1
  102. package/.output/public/_nuxt/dYCKgE-3.js +5 -0
  103. package/.output/public/_nuxt/{BeFDVhpA.js → eaVkJRSa.js} +1 -1
  104. package/.output/public/_nuxt/entry.CPhW41mh.css +1 -0
  105. package/.output/public/_nuxt/{Dwws9U0D.js → eptP4pGv.js} +1 -1
  106. package/.output/public/_nuxt/fVcG504p.js +1 -0
  107. package/.output/public/_nuxt/g26aVPxc.js +1 -0
  108. package/.output/public/_nuxt/{CsUoYK75.js → ndShiWE8.js} +1 -1
  109. package/.output/public/_nuxt/nv9-6vBK.js +1 -0
  110. package/.output/public/_nuxt/rWNTSFD6.js +3 -0
  111. package/.output/public/_nuxt/tvgqrYDd.js +1 -0
  112. package/.output/public/_nuxt/{wHnZ9OaL.js → y17lMTFy.js} +1 -1
  113. package/.output/public/_nuxt/{qpI-_f9Q.js → ybDYeNxd.js} +1 -1
  114. package/.output/public/_nuxt/{D0cnIs93.js → zQyPuvV1.js} +1 -1
  115. package/.output/public/demo/seed.version.json +2 -2
  116. package/.output/server/chunks/_/ai-prompt-preview.mjs +38 -0
  117. package/.output/server/chunks/_/ai-prompt-preview.mjs.map +1 -0
  118. package/.output/server/chunks/_/collect.mjs +122 -0
  119. package/.output/server/chunks/_/collect.mjs.map +1 -0
  120. package/.output/server/chunks/_/import-runs.mjs +351 -0
  121. package/.output/server/chunks/_/import-runs.mjs.map +1 -0
  122. package/.output/server/chunks/_/markers.mjs +1 -1
  123. package/.output/server/chunks/_/quarantine.mjs +112 -0
  124. package/.output/server/chunks/_/quarantine.mjs.map +1 -0
  125. package/.output/server/chunks/_/users.mjs +1 -1
  126. package/.output/server/chunks/build/{Alert-Bp1Wz_sq.mjs → Alert-C4xq8lao.mjs} +2 -2
  127. package/.output/server/chunks/build/Alert-C4xq8lao.mjs.map +1 -0
  128. package/.output/server/chunks/build/{Breadcrumb-C9ZPTLym.mjs → Breadcrumb-Ak2Lg3oM.mjs} +3 -3
  129. package/.output/server/chunks/build/Breadcrumb-Ak2Lg3oM.mjs.map +1 -0
  130. package/.output/server/chunks/build/{BreadcrumbNav-C3y42Vun.mjs → BreadcrumbNav-DO7I_z-n.mjs} +3 -3
  131. package/.output/server/chunks/build/BreadcrumbNav-DO7I_z-n.mjs.map +1 -0
  132. package/.output/server/chunks/build/{BrowserBadge-DNCp9pF-.mjs → BrowserBadge-D33lqUcj.mjs} +5 -5
  133. package/.output/server/chunks/build/BrowserBadge-D33lqUcj.mjs.map +1 -0
  134. package/.output/server/chunks/build/{ChartCard-Fr557IbV.mjs → ChartCard-Y1UKwMsf.mjs} +2 -2
  135. package/.output/server/chunks/build/ChartCard-Y1UKwMsf.mjs.map +1 -0
  136. package/.output/server/chunks/build/{Checkbox-cVOSIY93.mjs → Checkbox-DvUBGagc.mjs} +8 -8
  137. package/.output/server/chunks/build/Checkbox-DvUBGagc.mjs.map +1 -0
  138. package/.output/server/chunks/build/{CiEnvCard-DXPOhdSG.mjs → CiEnvCard-CrjOM17n.mjs} +25 -34
  139. package/.output/server/chunks/build/CiEnvCard-CrjOM17n.mjs.map +1 -0
  140. package/.output/server/chunks/build/{CodeBlock-BGwNmJ8J.mjs → CodeBlock-BgE-NSmE.mjs} +7 -22
  141. package/.output/server/chunks/build/CodeBlock-BgE-NSmE.mjs.map +1 -0
  142. package/.output/server/chunks/build/{DashboardNavbar-Bdp-OwTN.mjs → DashboardNavbar-BHmMSPX7.mjs} +3 -3
  143. package/.output/server/chunks/build/DashboardNavbar-BHmMSPX7.mjs.map +1 -0
  144. package/.output/server/chunks/build/{DashboardSidebarToggle-Ji6ADuqF.mjs → DashboardSidebarToggle-DCTnHiIv.mjs} +3 -3
  145. package/.output/server/chunks/build/DashboardSidebarToggle-DCTnHiIv.mjs.map +1 -0
  146. package/.output/server/chunks/build/{DataLocationCard-D6xSOrme.mjs → DataLocationCard-B_YHdzSz.mjs} +3 -3
  147. package/.output/server/chunks/build/DataLocationCard-B_YHdzSz.mjs.map +1 -0
  148. package/.output/server/chunks/build/{DiagnosisPanel-DV1xwGu4.mjs → DiagnosisPanel-B646dK4p.mjs} +17 -528
  149. package/.output/server/chunks/build/DiagnosisPanel-B646dK4p.mjs.map +1 -0
  150. package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs +43 -0
  151. package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs.map +1 -0
  152. package/.output/server/chunks/build/{EmptyState-DV3oT_xz.mjs → EmptyState-Dtlab7S9.mjs} +3 -3
  153. package/.output/server/chunks/build/EmptyState-Dtlab7S9.mjs.map +1 -0
  154. package/.output/server/chunks/build/{EntityLinks-DeOP13Kr.mjs → EntityLinks-D3fp57pR.mjs} +6 -6
  155. package/.output/server/chunks/build/EntityLinks-D3fp57pR.mjs.map +1 -0
  156. package/.output/server/chunks/build/{EnvManagedBadge-Qpn58Nmr.mjs → EnvManagedBadge-Bg3FSiU1.mjs} +3 -3
  157. package/.output/server/chunks/build/EnvManagedBadge-Bg3FSiU1.mjs.map +1 -0
  158. package/.output/server/chunks/build/{FormField-B-GSn_VR.mjs → FormField-B0HKsdMd.mjs} +3 -3
  159. package/.output/server/chunks/build/FormField-B0HKsdMd.mjs.map +1 -0
  160. package/.output/server/chunks/build/{HelpHint-YEMWtKu1.mjs → HelpHint-DrcIv-Oj.mjs} +53 -6
  161. package/.output/server/chunks/build/HelpHint-DrcIv-Oj.mjs.map +1 -0
  162. package/.output/server/chunks/build/{Label-DBvbHd3A.mjs → Label-DYDR1Oeh.mjs} +2 -2
  163. package/.output/server/chunks/build/Label-DYDR1Oeh.mjs.map +1 -0
  164. package/.output/server/chunks/build/{MiniRunBars-C3HG-EYm.mjs → MiniRunBars-CZMugDrh.mjs} +2 -2
  165. package/.output/server/chunks/build/MiniRunBars-CZMugDrh.mjs.map +1 -0
  166. package/.output/server/chunks/build/{Modal-CfA78Hm1.mjs → Modal-Ck2XLt8d.mjs} +2 -2
  167. package/.output/server/chunks/build/Modal-Ck2XLt8d.mjs.map +1 -0
  168. package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs → OpenInIdeLink-C4MXA8ya.mjs} +6 -6
  169. package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs.map → OpenInIdeLink-C4MXA8ya.mjs.map} +1 -1
  170. package/.output/server/chunks/build/{ProjectTestCasesTable-9Ia825h8.mjs → ProjectTestCasesTable-CxfQ5wtN.mjs} +120 -45
  171. package/.output/server/chunks/build/ProjectTestCasesTable-CxfQ5wtN.mjs.map +1 -0
  172. package/.output/server/chunks/build/{RovingFocusItem-CxhHdNGo.mjs → RovingFocusItem-BJSzTBjy.mjs} +2 -2
  173. package/.output/server/chunks/build/RovingFocusItem-BJSzTBjy.mjs.map +1 -0
  174. package/.output/server/chunks/build/{RunReports-BpJqLHY9.mjs → RunReports-DFLv51TX.mjs} +8 -6
  175. package/.output/server/chunks/build/RunReports-DFLv51TX.mjs.map +1 -0
  176. package/.output/server/chunks/build/{RunStatusBadge-BhmJ_RKM.mjs → RunStatusBadge-FfGb6bkW.mjs} +3 -2
  177. package/.output/server/chunks/build/RunStatusBadge-FfGb6bkW.mjs.map +1 -0
  178. package/.output/server/chunks/build/{SectionCard-COd9TuDq.mjs → SectionCard-CN-v0FZ_.mjs} +2 -2
  179. package/.output/server/chunks/build/SectionCard-CN-v0FZ_.mjs.map +1 -0
  180. package/.output/server/chunks/build/{Select-ppPz926C.mjs → Select-CUqj50wi.mjs} +4 -4
  181. package/.output/server/chunks/build/Select-CUqj50wi.mjs.map +1 -0
  182. package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs → SelectMenu-Db7osY7J.mjs} +4 -4
  183. package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs.map → SelectMenu-Db7osY7J.mjs.map} +1 -1
  184. package/.output/server/chunks/build/{Separator-CxZdx8kw.mjs → Separator-CR4WcEKD.mjs} +2 -2
  185. package/.output/server/chunks/build/Separator-CR4WcEKD.mjs.map +1 -0
  186. package/.output/server/chunks/build/{SettingsField-DDD4oqys.mjs → SettingsField-D6iEYbEc.mjs} +6 -6
  187. package/.output/server/chunks/build/SettingsField-D6iEYbEc.mjs.map +1 -0
  188. package/.output/server/chunks/build/{Slideover-B95Rj237.mjs → Slideover-DgCa80mf.mjs} +3 -3
  189. package/.output/server/chunks/build/Slideover-DgCa80mf.mjs.map +1 -0
  190. package/.output/server/chunks/build/{Switch-xQQ3_ME1.mjs → Switch-CgUioOYB.mjs} +5 -5
  191. package/.output/server/chunks/build/Switch-CgUioOYB.mjs.map +1 -0
  192. package/.output/server/chunks/build/{Table-CPhhVzDv.mjs → Table-BRk04Hd2.mjs} +3 -3
  193. package/.output/server/chunks/build/Table-BRk04Hd2.mjs.map +1 -0
  194. package/.output/server/chunks/build/{Tabs-BV9XqjoO.mjs → Tabs-Bbsg9wag.mjs} +3 -3
  195. package/.output/server/chunks/build/Tabs-Bbsg9wag.mjs.map +1 -0
  196. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs +31 -0
  197. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs.map +1 -0
  198. package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs +8 -0
  199. package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs.map +1 -0
  200. package/.output/server/chunks/build/{TestCaseHistoryChart-DMb-xSJa.mjs → TestCaseHistoryChart-nMLPhdvD.mjs} +6 -6
  201. package/.output/server/chunks/build/TestCaseHistoryChart-nMLPhdvD.mjs.map +1 -0
  202. package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs +200 -0
  203. package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs.map +1 -0
  204. package/.output/server/chunks/build/{TestStatusBar-CEzt76wk.mjs → TestStatusBar-j6h2Jp6A.mjs} +15 -15
  205. package/.output/server/chunks/build/TestStatusBar-j6h2Jp6A.mjs.map +1 -0
  206. package/.output/server/chunks/build/{Textarea-DrrqQUVG.mjs → Textarea-Dv2-lOvW.mjs} +2 -2
  207. package/.output/server/chunks/build/Textarea-Dv2-lOvW.mjs.map +1 -0
  208. package/.output/server/chunks/build/{Tooltip-7vwuDPrZ.mjs → Tooltip-BOazooWP.mjs} +3 -3
  209. package/.output/server/chunks/build/Tooltip-BOazooWP.mjs.map +1 -0
  210. package/.output/server/chunks/build/{VisuallyHiddenInput-C9eJVpPW.mjs → VisuallyHiddenInput-D6kBJxVd.mjs} +2 -2
  211. package/.output/server/chunks/build/VisuallyHiddenInput-D6kBJxVd.mjs.map +1 -0
  212. package/.output/server/chunks/build/{_id_-B2yirIuA.mjs → _id_-B78ky13D.mjs} +798 -358
  213. package/.output/server/chunks/build/_id_-B78ky13D.mjs.map +1 -0
  214. package/.output/server/chunks/build/{_id_-bWcP2xFl.mjs → _id_-BHh65pfg.mjs} +690 -443
  215. package/.output/server/chunks/build/_id_-BHh65pfg.mjs.map +1 -0
  216. package/.output/server/chunks/build/{_id_-B4V5fop6.mjs → _id_-Rzkqx55x.mjs} +297 -60
  217. package/.output/server/chunks/build/{_id_-B4V5fop6.mjs.map → _id_-Rzkqx55x.mjs.map} +1 -1
  218. package/.output/server/chunks/build/{_id_-CE0Gso6i.mjs → _id_-z5N6HPyC.mjs} +89 -40
  219. package/.output/server/chunks/build/_id_-z5N6HPyC.mjs.map +1 -0
  220. package/.output/server/chunks/build/{about-CoJjvUwM.mjs → about-CvSP73Ug.mjs} +100 -52
  221. package/.output/server/chunks/build/about-CvSP73Ug.mjs.map +1 -0
  222. package/.output/server/chunks/build/{account-Cn-eZqXM.mjs → account-DAfvaD-F.mjs} +21 -9
  223. package/.output/server/chunks/build/account-DAfvaD-F.mjs.map +1 -0
  224. package/.output/server/chunks/build/{ai-7jdaPOmj.mjs → ai-B4VJ9K1K.mjs} +45 -23
  225. package/.output/server/chunks/build/{ai-7jdaPOmj.mjs.map → ai-B4VJ9K1K.mjs.map} +1 -1
  226. package/.output/server/chunks/build/{analytics-B276WPeU.mjs → analytics-CJPC6t4L.mjs} +65 -39
  227. package/.output/server/chunks/build/{analytics-B276WPeU.mjs.map → analytics-CJPC6t4L.mjs.map} +1 -1
  228. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  229. package/.output/server/chunks/build/compare-RxHSOdsO.mjs +12 -0
  230. package/.output/server/chunks/build/{db.client-aHcD0wyX.mjs → db.client-CQoVTYB9.mjs} +83 -5
  231. package/.output/server/chunks/build/db.client-CQoVTYB9.mjs.map +1 -0
  232. package/.output/server/chunks/build/{default-BSzdkM_L.mjs → default-zvbFgDJG.mjs} +36 -24
  233. package/.output/server/chunks/build/default-zvbFgDJG.mjs.map +1 -0
  234. package/.output/server/chunks/build/{docs-BN_x1OW3.mjs → docs-DyuVEgtB.mjs} +30 -49
  235. package/.output/server/chunks/build/{docs-BN_x1OW3.mjs.map → docs-DyuVEgtB.mjs.map} +1 -1
  236. package/.output/server/chunks/build/{edit-C9Z7oZeu.mjs → edit-CFR5g2Qf.mjs} +30 -18
  237. package/.output/server/chunks/build/edit-CFR5g2Qf.mjs.map +1 -0
  238. package/.output/server/chunks/build/{fetch-8kznMtBM.mjs → fetch-B4FwBOzu.mjs} +3 -3
  239. package/.output/server/chunks/build/fetch-B4FwBOzu.mjs.map +1 -0
  240. package/.output/server/chunks/build/{forgot-password-BqPF4Rxs.mjs → forgot-password-CC__1OnV.mjs} +17 -5
  241. package/.output/server/chunks/build/forgot-password-CC__1OnV.mjs.map +1 -0
  242. package/.output/server/chunks/build/{help-content-DmFnuhNu.mjs → help-content-C876a9WD.mjs} +37 -8
  243. package/.output/server/chunks/build/help-content-C876a9WD.mjs.map +1 -0
  244. package/.output/server/chunks/build/import-CZo3djDi.mjs +1021 -0
  245. package/.output/server/chunks/build/import-CZo3djDi.mjs.map +1 -0
  246. package/.output/server/chunks/build/{index-CULN3-en.mjs → index-CU2nZhAa.mjs} +113 -42
  247. package/.output/server/chunks/build/index-CU2nZhAa.mjs.map +1 -0
  248. package/.output/server/chunks/build/{index-DVUtBexc.mjs → index-D7fe97l3.mjs} +1305 -281
  249. package/.output/server/chunks/build/index-D7fe97l3.mjs.map +1 -0
  250. package/.output/server/chunks/build/{index-BR9hw6qk.mjs → index-Stqw0dEI.mjs} +50 -30
  251. package/.output/server/chunks/build/index-Stqw0dEI.mjs.map +1 -0
  252. package/.output/server/chunks/build/{index-BK9PTRpd.mjs → index-gCw_y4ZJ.mjs} +87 -70
  253. package/.output/server/chunks/build/{index-BK9PTRpd.mjs.map → index-gCw_y4ZJ.mjs.map} +1 -1
  254. package/.output/server/chunks/build/{index-Ba-Fifra.mjs → index-tR6owKzj.mjs} +18 -6
  255. package/.output/server/chunks/build/index-tR6owKzj.mjs.map +1 -0
  256. package/.output/server/chunks/build/{isValueEqualOrExist-DBZjbD_3.mjs → isValueEqualOrExist-D2qw9YEr.mjs} +3 -3
  257. package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs.map +1 -0
  258. package/.output/server/chunks/build/{login-D2XZDuek.mjs → login-Da4u1IlW.mjs} +19 -7
  259. package/.output/server/chunks/build/login-Da4u1IlW.mjs.map +1 -0
  260. package/.output/server/chunks/build/{mcp-_o6cMS6m.mjs → mcp-B3IUvRgD.mjs} +27 -21
  261. package/.output/server/chunks/build/mcp-B3IUvRgD.mjs.map +1 -0
  262. package/.output/server/chunks/build/{notifications-Dzm9c0u_.mjs → notifications-abDv0id8.mjs} +27 -21
  263. package/.output/server/chunks/build/notifications-abDv0id8.mjs.map +1 -0
  264. package/.output/server/chunks/build/pr-feedback-DjZID6q-.mjs +368 -0
  265. package/.output/server/chunks/build/pr-feedback-DjZID6q-.mjs.map +1 -0
  266. package/.output/server/chunks/build/{reset-password-gpFzIEDj.mjs → reset-password-BmrUS4ZD.mjs} +17 -5
  267. package/.output/server/chunks/build/reset-password-BmrUS4ZD.mjs.map +1 -0
  268. package/.output/server/chunks/build/server.mjs +238 -36
  269. package/.output/server/chunks/build/{settings-pNyPBXVa.mjs → settings-Du7YqF8i.mjs} +23 -10
  270. package/.output/server/chunks/build/settings-Du7YqF8i.mjs.map +1 -0
  271. package/.output/server/chunks/build/{settings-metadata-B0wo5R-W.mjs → settings-metadata-DrEqWcW-.mjs} +11 -2
  272. package/.output/server/chunks/build/settings-metadata-DrEqWcW-.mjs.map +1 -0
  273. package/.output/server/chunks/build/{storage-XelzuyPy.mjs → storage-B4vzxd8G.mjs} +41 -31
  274. package/.output/server/chunks/build/storage-B4vzxd8G.mjs.map +1 -0
  275. package/.output/server/chunks/build/styles.mjs +1 -0
  276. package/.output/server/chunks/build/{tags-DrCQ7QSw.mjs → tags-DauTe_F-.mjs} +22 -10
  277. package/.output/server/chunks/build/tags-DauTe_F-.mjs.map +1 -0
  278. package/.output/server/chunks/build/{test-cases-pmOxi-AN.mjs → test-cases-DUvaO1He.mjs} +38 -24
  279. package/.output/server/chunks/build/test-cases-DUvaO1He.mjs.map +1 -0
  280. package/.output/server/chunks/build/{timeout-hygiene-CNs71Iah.mjs → timeout-hygiene-CbnSaVbK.mjs} +20 -8
  281. package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs.map +1 -0
  282. package/.output/server/chunks/build/{useAiStatus-ZO987RY7.mjs → useAiStatus-CWvIo32Q.mjs} +89 -89
  283. package/.output/server/chunks/build/useAiStatus-CWvIo32Q.mjs.map +1 -0
  284. package/.output/server/chunks/build/{useCopy-BQQKcwlq.mjs → useCopy-CeKWgHyT.mjs} +2 -2
  285. package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs.map +1 -0
  286. package/.output/server/chunks/build/{PageStateCard-Bwee6JTk.mjs → useCopyRich-BemRsKgv.mjs} +418 -39
  287. package/.output/server/chunks/build/useCopyRich-BemRsKgv.mjs.map +1 -0
  288. package/.output/server/chunks/build/useDesktopDownload-D49JRQSw.mjs +46 -0
  289. package/.output/server/chunks/build/useDesktopDownload-D49JRQSw.mjs.map +1 -0
  290. package/.output/server/chunks/build/{useFormControl-BLpq1s4O.mjs → useFormControl-CZ9So7iX.mjs} +2 -2
  291. package/.output/server/chunks/build/useFormControl-CZ9So7iX.mjs.map +1 -0
  292. package/.output/server/chunks/build/{useOpenInIde-kMZ7Jw5c.mjs → useOpenInIde-4GFf-kdi.mjs} +2 -2
  293. package/.output/server/chunks/build/useOpenInIde-4GFf-kdi.mjs.map +1 -0
  294. package/.output/server/chunks/build/{useSettingsNav-NjI2seBy.mjs → useSettingsNav-C3O866KC.mjs} +6 -6
  295. package/.output/server/chunks/build/useSettingsNav-C3O866KC.mjs.map +1 -0
  296. package/.output/server/chunks/build/{useTreeViewCookie-DVYpxW-p.mjs → useTreeViewCookie-CQjQdTkH.mjs} +2 -2
  297. package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs.map +1 -0
  298. package/.output/server/chunks/build/{users-NmAUZs3i.mjs → users-CTUqXyGh.mjs} +22 -10
  299. package/.output/server/chunks/build/users-CTUqXyGh.mjs.map +1 -0
  300. package/.output/server/chunks/build/{virtualizer-ZaqK4guJ.mjs → virtualizer-Cd1hhlxC.mjs} +5 -5
  301. package/.output/server/chunks/build/virtualizer-Cd1hhlxC.mjs.map +1 -0
  302. package/.output/server/chunks/build/{wasted-time-CguAF9zc.mjs → wasted-time-lYkx5YO4.mjs} +26 -14
  303. package/.output/server/chunks/build/wasted-time-lYkx5YO4.mjs.map +1 -0
  304. package/.output/server/chunks/nitro/nitro.mjs +4960 -1155
  305. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  306. package/.output/server/chunks/routes/__piwi/session.get.mjs +13 -1
  307. package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
  308. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +12 -0
  309. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/admin/stats.get.mjs +12 -0
  311. package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
  312. package/.output/server/chunks/routes/api/ai/status.get.mjs +12 -0
  313. package/.output/server/chunks/routes/api/ai/status.get.mjs.map +1 -1
  314. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +12 -0
  315. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
  316. package/.output/server/chunks/routes/api/auth/change-password.post.mjs +12 -0
  317. package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
  318. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +12 -0
  319. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
  320. package/.output/server/chunks/routes/api/auth/login.post.mjs +12 -0
  321. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
  322. package/.output/server/chunks/routes/api/auth/logout.post.mjs +12 -0
  323. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
  324. package/.output/server/chunks/routes/api/auth/me.get.mjs +12 -0
  325. package/.output/server/chunks/routes/api/auth/me.get.mjs.map +1 -1
  326. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +12 -0
  327. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs.map +1 -1
  328. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +12 -0
  329. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
  330. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +12 -0
  331. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
  332. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +12 -0
  333. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
  334. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +12 -0
  335. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
  336. package/.output/server/chunks/routes/api/auth/setup.get.mjs +12 -0
  337. package/.output/server/chunks/routes/api/auth/setup.get.mjs.map +1 -1
  338. package/.output/server/chunks/routes/api/auth/setup.post.mjs +12 -0
  339. package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
  340. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +12 -0
  341. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
  342. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +12 -0
  343. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
  344. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +12 -0
  345. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
  346. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +12 -0
  347. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
  348. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +12 -0
  349. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
  350. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +12 -0
  351. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -1
  352. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +12 -0
  353. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
  354. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +12 -0
  355. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
  356. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +12 -0
  357. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
  358. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +12 -0
  359. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
  360. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +24 -1
  361. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
  362. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +13 -1
  363. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
  364. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +13 -1
  365. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
  366. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +13 -1
  367. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +13 -1
  369. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +64 -0
  371. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -0
  372. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +13 -1
  373. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
  374. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +56 -0
  375. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -0
  376. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +13 -1
  377. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
  378. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +12 -0
  379. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
  380. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +13 -1
  381. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
  382. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +13 -32
  383. package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
  384. package/.output/server/chunks/routes/api/health.get.mjs +13 -1
  385. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  386. package/.output/server/chunks/routes/api/index.get.mjs +12 -0
  387. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  388. package/.output/server/chunks/routes/api/index.get2.mjs +13 -1
  389. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
  390. package/.output/server/chunks/routes/api/index.get3.mjs +13 -1
  391. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  392. package/.output/server/chunks/routes/api/index.get4.mjs +13 -1
  393. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
  394. package/.output/server/chunks/routes/api/index.get5.mjs +12 -0
  395. package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
  396. package/.output/server/chunks/routes/api/index.post.mjs +12 -0
  397. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  398. package/.output/server/chunks/routes/api/index.post2.mjs +13 -1
  399. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  400. package/.output/server/chunks/routes/api/index.post3.mjs +13 -1
  401. package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
  402. package/.output/server/chunks/routes/api/index.post4.mjs +13 -1
  403. package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/index.post5.mjs +13 -1
  405. package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/index.post6.mjs +12 -0
  407. package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
  408. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +13 -1
  409. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
  410. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +13 -1
  411. package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
  412. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +13 -1
  413. package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
  414. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +13 -1
  415. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
  416. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +13 -1
  417. package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +1 -1
  418. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +13 -1
  419. package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
  420. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +13 -1
  421. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
  422. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +13 -1
  423. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
  424. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +13 -1
  425. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
  426. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +22 -2
  427. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
  428. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +13 -1
  429. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs.map +1 -1
  430. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +13 -1
  431. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
  432. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +13 -1
  433. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
  434. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +13 -1
  435. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
  436. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +13 -1
  437. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
  438. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +13 -1
  439. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
  440. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +58 -0
  441. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -0
  442. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +57 -0
  443. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -0
  444. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +72 -0
  445. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -0
  446. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +13 -1
  447. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
  448. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +13 -1
  449. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
  450. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +13 -1
  451. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
  452. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +13 -1
  453. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
  454. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +13 -1
  455. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
  456. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +13 -1
  457. package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
  458. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +13 -1
  459. package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +1 -1
  460. package/.output/server/chunks/routes/api/projects/menu.get.mjs +13 -1
  461. package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
  462. package/.output/server/chunks/routes/api/projects/overview.get.mjs +13 -1
  463. package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
  464. package/.output/server/chunks/routes/api/projects.get.mjs +13 -1
  465. package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
  466. package/.output/server/chunks/routes/api/search.get.mjs +13 -1
  467. package/.output/server/chunks/routes/api/search.get.mjs.map +1 -1
  468. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +13 -1
  469. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs.map +1 -1
  470. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +13 -1
  471. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs.map +1 -1
  472. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +12 -0
  473. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs.map +1 -1
  474. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +13 -1
  475. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
  476. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +13 -1
  477. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
  478. package/.output/server/chunks/routes/api/settings/ai.get.mjs +13 -1
  479. package/.output/server/chunks/routes/api/settings/ai.get.mjs.map +1 -1
  480. package/.output/server/chunks/routes/api/settings/ai.put.mjs +13 -1
  481. package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
  482. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +57 -0
  483. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs.map +1 -0
  484. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +63 -0
  485. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs.map +1 -0
  486. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +12 -0
  487. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
  488. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +13 -1
  489. package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
  490. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +13 -1
  491. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -1
  492. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +13 -1
  493. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +13 -1
  495. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +13 -1
  497. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
  498. package/.output/server/chunks/routes/api/stream.get.mjs +13 -1
  499. package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
  500. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -1
  513. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
  514. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +13 -1
  515. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
  516. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +25 -3
  517. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
  518. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +13 -1
  519. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs.map +1 -1
  520. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +60 -0
  521. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -0
  522. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +13 -1
  523. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
  524. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +13 -1
  525. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
  526. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +13 -1
  527. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
  528. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +13 -1
  529. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
  530. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +13 -1
  531. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
  532. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +13 -1
  533. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +1 -1
  534. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +13 -1
  535. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +1 -1
  536. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +13 -1
  537. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +1 -1
  538. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +13 -1
  539. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +1 -1
  540. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +13 -1
  541. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +1 -1
  542. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +13 -1
  543. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +1 -1
  544. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +13 -1
  545. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +1 -1
  546. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +13 -1
  547. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
  548. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +13 -1
  549. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
  550. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +15 -1
  551. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
  552. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +196 -0
  553. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -0
  554. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +13 -1
  555. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
  556. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +13 -1
  557. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
  558. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +13 -1
  559. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
  560. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +13 -1
  561. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
  562. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +13 -1
  563. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
  564. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +13 -1
  565. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
  566. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +13 -1
  567. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
  568. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +13 -1
  569. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
  570. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +13 -1
  571. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
  572. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +78 -0
  573. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -0
  574. package/.output/server/chunks/routes/api/test-runs/import.post.mjs +201 -0
  575. package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -0
  576. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +13 -1
  577. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
  578. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +13 -1
  579. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
  580. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +13 -1
  581. package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
  582. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +32 -15
  583. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
  584. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +21 -6
  585. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
  586. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +154 -3
  587. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
  588. package/.output/server/chunks/routes/api/traces/check.post.mjs +13 -1
  589. package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
  590. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +12 -0
  591. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
  592. package/.output/server/chunks/routes/api/users/_id/index.get.mjs +12 -0
  593. package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
  594. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +13 -1
  595. package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
  596. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +13 -1
  597. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
  598. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +13 -1
  599. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
  600. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +13 -1
  601. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
  602. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +12 -0
  603. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  604. package/.output/server/chunks/routes/api/users/_id_.patch.mjs +12 -0
  605. package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
  606. package/.output/server/chunks/routes/api/version.get.mjs +13 -1
  607. package/.output/server/chunks/routes/api/version.get.mjs.map +1 -1
  608. package/.output/server/chunks/routes/mcp.post.mjs +13 -1
  609. package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
  610. package/.output/server/chunks/routes/renderer.mjs +1 -1
  611. package/.output/server/chunks/tasks/sweep.mjs +12 -0
  612. package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
  613. package/.output/server/chunks/tasks/sweep2.mjs +12 -0
  614. package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
  615. package/.output/server/database/migrations/0039_remarkable_jean_grey.sql +2 -0
  616. package/.output/server/database/migrations/0040_organic_phalanx.sql +8 -0
  617. package/.output/server/database/migrations/0041_tense_gravity.sql +5 -0
  618. package/.output/server/database/migrations/0042_burly_hemingway.sql +19 -0
  619. package/.output/server/database/migrations/meta/0039_snapshot.json +3403 -0
  620. package/.output/server/database/migrations/meta/0040_snapshot.json +3457 -0
  621. package/.output/server/database/migrations/meta/0041_snapshot.json +3492 -0
  622. package/.output/server/database/migrations/meta/0042_snapshot.json +3618 -0
  623. package/.output/server/database/migrations/meta/_journal.json +28 -0
  624. package/.output/server/database/migrations-pg/0040_lazy_layla_miller.sql +2 -0
  625. package/.output/server/database/migrations-pg/0041_light_screwball.sql +8 -0
  626. package/.output/server/database/migrations-pg/0042_serious_layla_miller.sql +5 -0
  627. package/.output/server/database/migrations-pg/0043_wonderful_mordo.sql +19 -0
  628. package/.output/server/database/migrations-pg/meta/0040_snapshot.json +4060 -0
  629. package/.output/server/database/migrations-pg/meta/0041_snapshot.json +4123 -0
  630. package/.output/server/database/migrations-pg/meta/0042_snapshot.json +4153 -0
  631. package/.output/server/database/migrations-pg/meta/0043_snapshot.json +4308 -0
  632. package/.output/server/database/migrations-pg/meta/_journal.json +28 -0
  633. package/.output/server/index.mjs +13 -1
  634. package/.output/server/index.mjs.map +1 -1
  635. package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
  636. package/.output/server/node_modules/fflate/package.json +128 -0
  637. package/.output/server/node_modules/highlight.js/es/languages/yaml.js +213 -0
  638. package/.output/server/node_modules/marked/lib/marked.esm.js +72 -0
  639. package/.output/server/node_modules/marked/package.json +103 -0
  640. package/.output/server/package.json +3 -1
  641. package/package.json +2 -2
  642. package/.output/public/_nuxt/9-wVZMur.js +0 -4
  643. package/.output/public/_nuxt/B-5GukRk.js +0 -1
  644. package/.output/public/_nuxt/B1G3GGhQ.js +0 -1
  645. package/.output/public/_nuxt/B1zMFx24.js +0 -1
  646. package/.output/public/_nuxt/B4jvLMfS.js +0 -1
  647. package/.output/public/_nuxt/BBnX5xw4.js +0 -2
  648. package/.output/public/_nuxt/BHpUiv6j.js +0 -3
  649. package/.output/public/_nuxt/BLOUs6AE.js +0 -5
  650. package/.output/public/_nuxt/BT6p4Pgt.js +0 -2
  651. package/.output/public/_nuxt/BUXSUkJ_.js +0 -1
  652. package/.output/public/_nuxt/BVf6Yx9V.js +0 -26
  653. package/.output/public/_nuxt/BbS6Bwby.js +0 -1
  654. package/.output/public/_nuxt/BeKvLsja.js +0 -2
  655. package/.output/public/_nuxt/BeUm5UNV.js +0 -1
  656. package/.output/public/_nuxt/BfV444H3.js +0 -3
  657. package/.output/public/_nuxt/BjKamgHq.js +0 -1
  658. package/.output/public/_nuxt/BoJdjCVl.js +0 -4
  659. package/.output/public/_nuxt/BreO2PiA.js +0 -1
  660. package/.output/public/_nuxt/BvIDC_R-.js +0 -1
  661. package/.output/public/_nuxt/ByuJWADR.js +0 -34
  662. package/.output/public/_nuxt/C1dyLp_j.js +0 -1
  663. package/.output/public/_nuxt/CAUgpKsF.js +0 -2
  664. package/.output/public/_nuxt/CL9-VLTJ.js +0 -1
  665. package/.output/public/_nuxt/CazDIG_m.js +0 -1
  666. package/.output/public/_nuxt/CdMuck_X.js +0 -1
  667. package/.output/public/_nuxt/CfROFPse.js +0 -1
  668. package/.output/public/_nuxt/Cnapl7lZ.js +0 -1
  669. package/.output/public/_nuxt/CscWZxCi.js +0 -1
  670. package/.output/public/_nuxt/CuicKV-B.js +0 -34
  671. package/.output/public/_nuxt/Cyiu1VQD.js +0 -1
  672. package/.output/public/_nuxt/D6PUPmRC.js +0 -1
  673. package/.output/public/_nuxt/DCl2yo4g.js +0 -8
  674. package/.output/public/_nuxt/DHXWp5yD.js +0 -1
  675. package/.output/public/_nuxt/DHltYerF.js +0 -114
  676. package/.output/public/_nuxt/DLXydYJb.js +0 -47
  677. package/.output/public/_nuxt/DRPSi76A.js +0 -1
  678. package/.output/public/_nuxt/DS53kyHJ.js +0 -1
  679. package/.output/public/_nuxt/DWhBqv_7.js +0 -1
  680. package/.output/public/_nuxt/Dd0kK5WH.js +0 -1
  681. package/.output/public/_nuxt/Dga3Av-m.js +0 -1
  682. package/.output/public/_nuxt/DgwTpwfB.js +0 -1
  683. package/.output/public/_nuxt/DkI145a5.js +0 -1
  684. package/.output/public/_nuxt/DoFBTaDR.js +0 -1
  685. package/.output/public/_nuxt/Dr_dI5hB.js +0 -1
  686. package/.output/public/_nuxt/EPZOxdgq.js +0 -1
  687. package/.output/public/_nuxt/R1nNqTru.js +0 -1
  688. package/.output/public/_nuxt/builds/meta/7caf3cb3-d272-4dbd-bb3f-1eeb64fab5d1.json +0 -1
  689. package/.output/public/_nuxt/entry.ChQMshd4.css +0 -1
  690. package/.output/public/_nuxt/gCELhaU9.js +0 -1
  691. package/.output/public/_nuxt/ipDzNHcs.js +0 -5
  692. package/.output/public/_nuxt/qH_j2A3a.js +0 -1
  693. package/.output/public/_nuxt/r3SBLxtE.js +0 -1
  694. package/.output/public/_nuxt/rsiRgrVM.js +0 -1
  695. package/.output/public/_nuxt/swrbBdtB.js +0 -1
  696. package/.output/public/sw.js +0 -1
  697. package/.output/public/workbox-2fbc6a65.js +0 -1
  698. package/.output/server/chunks/build/Alert-Bp1Wz_sq.mjs.map +0 -1
  699. package/.output/server/chunks/build/Breadcrumb-C9ZPTLym.mjs.map +0 -1
  700. package/.output/server/chunks/build/BreadcrumbNav-C3y42Vun.mjs.map +0 -1
  701. package/.output/server/chunks/build/BrowserBadge-DNCp9pF-.mjs.map +0 -1
  702. package/.output/server/chunks/build/ChartCard-Fr557IbV.mjs.map +0 -1
  703. package/.output/server/chunks/build/Checkbox-cVOSIY93.mjs.map +0 -1
  704. package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs.map +0 -1
  705. package/.output/server/chunks/build/CodeBlock-BGwNmJ8J.mjs.map +0 -1
  706. package/.output/server/chunks/build/DashboardNavbar-Bdp-OwTN.mjs.map +0 -1
  707. package/.output/server/chunks/build/DashboardSidebarToggle-Ji6ADuqF.mjs.map +0 -1
  708. package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs.map +0 -1
  709. package/.output/server/chunks/build/DiagnosisPanel-DV1xwGu4.mjs.map +0 -1
  710. package/.output/server/chunks/build/EmptyState-DV3oT_xz.mjs.map +0 -1
  711. package/.output/server/chunks/build/EntityLinks-DeOP13Kr.mjs.map +0 -1
  712. package/.output/server/chunks/build/EnvManagedBadge-Qpn58Nmr.mjs.map +0 -1
  713. package/.output/server/chunks/build/FormField-B-GSn_VR.mjs.map +0 -1
  714. package/.output/server/chunks/build/HelpHint-YEMWtKu1.mjs.map +0 -1
  715. package/.output/server/chunks/build/Label-DBvbHd3A.mjs.map +0 -1
  716. package/.output/server/chunks/build/MiniRunBars-C3HG-EYm.mjs.map +0 -1
  717. package/.output/server/chunks/build/Modal-CfA78Hm1.mjs.map +0 -1
  718. package/.output/server/chunks/build/PageStateCard-Bwee6JTk.mjs.map +0 -1
  719. package/.output/server/chunks/build/ProjectTestCasesTable-9Ia825h8.mjs.map +0 -1
  720. package/.output/server/chunks/build/RovingFocusItem-CxhHdNGo.mjs.map +0 -1
  721. package/.output/server/chunks/build/RunReports-BpJqLHY9.mjs.map +0 -1
  722. package/.output/server/chunks/build/RunStatusBadge-BhmJ_RKM.mjs.map +0 -1
  723. package/.output/server/chunks/build/SectionCard-COd9TuDq.mjs.map +0 -1
  724. package/.output/server/chunks/build/Select-ppPz926C.mjs.map +0 -1
  725. package/.output/server/chunks/build/Separator-CxZdx8kw.mjs.map +0 -1
  726. package/.output/server/chunks/build/SettingsField-DDD4oqys.mjs.map +0 -1
  727. package/.output/server/chunks/build/Slideover-B95Rj237.mjs.map +0 -1
  728. package/.output/server/chunks/build/Switch-xQQ3_ME1.mjs.map +0 -1
  729. package/.output/server/chunks/build/Table-CPhhVzDv.mjs.map +0 -1
  730. package/.output/server/chunks/build/Tabs-BV9XqjoO.mjs.map +0 -1
  731. package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs +0 -47
  732. package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs.map +0 -1
  733. package/.output/server/chunks/build/TestCaseHistoryChart-DMb-xSJa.mjs.map +0 -1
  734. package/.output/server/chunks/build/TestStatusBar-CEzt76wk.mjs.map +0 -1
  735. package/.output/server/chunks/build/Textarea-DrrqQUVG.mjs.map +0 -1
  736. package/.output/server/chunks/build/Tooltip-7vwuDPrZ.mjs.map +0 -1
  737. package/.output/server/chunks/build/VisuallyHiddenInput-C9eJVpPW.mjs.map +0 -1
  738. package/.output/server/chunks/build/_id_-B2yirIuA.mjs.map +0 -1
  739. package/.output/server/chunks/build/_id_-CE0Gso6i.mjs.map +0 -1
  740. package/.output/server/chunks/build/_id_-bWcP2xFl.mjs.map +0 -1
  741. package/.output/server/chunks/build/about-CoJjvUwM.mjs.map +0 -1
  742. package/.output/server/chunks/build/account-Cn-eZqXM.mjs.map +0 -1
  743. package/.output/server/chunks/build/db.client-aHcD0wyX.mjs.map +0 -1
  744. package/.output/server/chunks/build/default-BSzdkM_L.mjs.map +0 -1
  745. package/.output/server/chunks/build/edit-C9Z7oZeu.mjs.map +0 -1
  746. package/.output/server/chunks/build/fetch-8kznMtBM.mjs.map +0 -1
  747. package/.output/server/chunks/build/forgot-password-BqPF4Rxs.mjs.map +0 -1
  748. package/.output/server/chunks/build/help-content-DmFnuhNu.mjs.map +0 -1
  749. package/.output/server/chunks/build/index-BR9hw6qk.mjs.map +0 -1
  750. package/.output/server/chunks/build/index-Ba-Fifra.mjs.map +0 -1
  751. package/.output/server/chunks/build/index-CULN3-en.mjs.map +0 -1
  752. package/.output/server/chunks/build/index-DVUtBexc.mjs.map +0 -1
  753. package/.output/server/chunks/build/isValueEqualOrExist-DBZjbD_3.mjs.map +0 -1
  754. package/.output/server/chunks/build/login-D2XZDuek.mjs.map +0 -1
  755. package/.output/server/chunks/build/mcp-_o6cMS6m.mjs.map +0 -1
  756. package/.output/server/chunks/build/notifications-Dzm9c0u_.mjs.map +0 -1
  757. package/.output/server/chunks/build/reset-password-gpFzIEDj.mjs.map +0 -1
  758. package/.output/server/chunks/build/settings-metadata-B0wo5R-W.mjs.map +0 -1
  759. package/.output/server/chunks/build/settings-pNyPBXVa.mjs.map +0 -1
  760. package/.output/server/chunks/build/storage-XelzuyPy.mjs.map +0 -1
  761. package/.output/server/chunks/build/tags-DrCQ7QSw.mjs.map +0 -1
  762. package/.output/server/chunks/build/test-cases-pmOxi-AN.mjs.map +0 -1
  763. package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs.map +0 -1
  764. package/.output/server/chunks/build/useAiStatus-ZO987RY7.mjs.map +0 -1
  765. package/.output/server/chunks/build/useCopy-BQQKcwlq.mjs.map +0 -1
  766. package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs.map +0 -1
  767. package/.output/server/chunks/build/useOpenInIde-kMZ7Jw5c.mjs.map +0 -1
  768. package/.output/server/chunks/build/useSettingsNav-NjI2seBy.mjs.map +0 -1
  769. package/.output/server/chunks/build/useTreeViewCookie-DVYpxW-p.mjs.map +0 -1
  770. package/.output/server/chunks/build/users-NmAUZs3i.mjs.map +0 -1
  771. package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs.map +0 -1
  772. package/.output/server/chunks/build/wasted-time-CguAF9zc.mjs.map +0 -1
  773. /package/.output/public/_nuxt/{PageStateCard.BrM5HWjY.css → useCopyRich.BrM5HWjY.css} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collect.mjs","sources":["../../../../shared/export/collect.ts"],"names":["_a","_b"],"mappings":"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"}
@@ -0,0 +1,351 @@
1
+ import { and, eq } from 'drizzle-orm';
2
+ import { t as testRuns, b0 as testCases, cN as resolveSpecPath, bW as files, cq as sumFailedAndTimedOut, cp as durationStats, cB as formatBytes, c7 as joinSuitePath, w as testRunsCases } from '../nitro/nitro.mjs';
3
+
4
+ async function toBytes(value) {
5
+ return value instanceof Uint8Array ? value : new Uint8Array(await value.arrayBuffer());
6
+ }
7
+ const SHA256_RE = /^[0-9a-f]{64}$/;
8
+ async function findImportedHashes(db, projectId, hashes) {
9
+ const found = /* @__PURE__ */ new Map();
10
+ if (hashes.length === 0) return found;
11
+ const wanted = new Set(hashes);
12
+ const rows = await db.select({ id: testRuns.id, importHash: testRuns.importHash }).from(testRuns).where(eq(testRuns.projectId, projectId));
13
+ for (const row of rows) {
14
+ if (row.importHash && wanted.has(row.importHash)) found.set(row.importHash, row.id);
15
+ }
16
+ return found;
17
+ }
18
+ function judgeImportFiles(candidates, options) {
19
+ return candidates.map((raw) => {
20
+ var _a;
21
+ const entry = raw != null ? raw : {};
22
+ const name = typeof entry.name === "string" && entry.name ? entry.name : "file";
23
+ const size = typeof entry.size === "number" ? entry.size : -1;
24
+ const hash = typeof entry.hash === "string" ? entry.hash.toLowerCase() : "";
25
+ if (size < 0 || !SHA256_RE.test(hash)) {
26
+ return { name, status: "invalid", message: "Missing a readable name, size or SHA-256." };
27
+ }
28
+ if (size === 0) return { name, status: "invalid", message: "The file is empty." };
29
+ if (!name.toLowerCase().endsWith(".zip")) {
30
+ return { name, status: "invalid", message: "Expected a .zip blob report (blob-report/report-*.zip)." };
31
+ }
32
+ if (size > options.maxBytes) {
33
+ return {
34
+ name,
35
+ status: "too-large",
36
+ message: `${formatBytes(size)} exceeds ${formatBytes(options.maxBytes)}` + ((_a = options.tooLargeSuffix) != null ? _a : ".")
37
+ };
38
+ }
39
+ const existingRunId = options.alreadyImported.get(hash);
40
+ if (existingRunId !== void 0) {
41
+ return { name, status: "duplicate", message: "Already imported into this project.", testRunId: existingRunId };
42
+ }
43
+ return { name, status: "ok" };
44
+ });
45
+ }
46
+ async function findImportedRun(db, projectId, importHash) {
47
+ const rows = await db.select().from(testRuns).where(and(eq(testRuns.projectId, projectId), eq(testRuns.importHash, importHash)));
48
+ const run = rows[0];
49
+ return run ? summarizeRun(run, projectId, "duplicate", 0, 0) : null;
50
+ }
51
+ async function importBlobReportRun(db, port, input) {
52
+ var _a, _b, _c, _d, _e, _f, _g, _h;
53
+ const { projectId, parsed, readEntry, importHash, source } = input;
54
+ const stagedTraces = /* @__PURE__ */ new Map();
55
+ for (const [index, entry] of parsed.cases.entries()) {
56
+ await recoverErrorContext(port, readEntry, entry);
57
+ const staged = [];
58
+ for (const [traceIndex, ref] of entry.traces.entries()) {
59
+ const bytes = await readEntry(ref.entry);
60
+ if (!bytes) continue;
61
+ if (traceIndex === 0) entry.case.consoleLogs = await port.readTraceConsole(bytes, (_a = entry.case.startedAt) != null ? _a : null);
62
+ const file = await port.storeFile({
63
+ projectId,
64
+ testRunId: 0,
65
+ testRunsCaseId: null,
66
+ kind: "trace",
67
+ entryName: ref.entry,
68
+ bytes
69
+ });
70
+ if (file) staged.push({ file, entryName: ref.entry });
71
+ }
72
+ if (staged.length) stagedTraces.set(index, staged);
73
+ }
74
+ const inserted = await db.insert(testRuns).values({
75
+ projectId,
76
+ status: parsed.status,
77
+ startTime: parsed.startTime,
78
+ duration: parsed.duration,
79
+ totalTests: parsed.totalTests,
80
+ passedTests: parsed.passedTests,
81
+ failedTests: sumFailedAndTimedOut(parsed.failedTests, parsed.timedOutTests),
82
+ skippedTests: parsed.skippedTests,
83
+ didNotRunTests: parsed.didNotRunTests,
84
+ flakyTests: parsed.flakyTests,
85
+ environment: (_b = input.environment) != null ? _b : null,
86
+ label: (_c = input.label) != null ? _c : null,
87
+ playwrightVersion: parsed.playwrightVersion,
88
+ importHash,
89
+ metadata: {
90
+ import: {
91
+ source,
92
+ importedAt: (/* @__PURE__ */ new Date()).toISOString(),
93
+ blobVersion: parsed.blobVersion,
94
+ ...parsed.shard ? { shard: parsed.shard } : {}
95
+ }
96
+ }
97
+ }).returning();
98
+ const run = inserted[0];
99
+ if (!run) throw new Error("Failed to create the imported test run");
100
+ const insertedCases = await port.persistRunCases(
101
+ db,
102
+ projectId,
103
+ run.id,
104
+ parsed.cases.map((entry) => entry.case)
105
+ );
106
+ const aligned = insertedCases.length === parsed.cases.length;
107
+ if (!aligned) {
108
+ (_d = port.warn) == null ? void 0 : _d.call(
109
+ port,
110
+ `${parsed.cases.length - insertedCases.length} of ${parsed.cases.length} executions were deduplicated; skipping file links for run #${run.id}`
111
+ );
112
+ }
113
+ let traceCount = 0;
114
+ let attachmentCount = 0;
115
+ if (aligned) {
116
+ for (const [index, entry] of parsed.cases.entries()) {
117
+ const testRunsCaseId = (_e = insertedCases[index]) == null ? void 0 : _e.id;
118
+ if (!testRunsCaseId) continue;
119
+ for (const staged of (_f = stagedTraces.get(index)) != null ? _f : []) {
120
+ await db.insert(files).values({
121
+ testRunsCaseId,
122
+ testRunId: run.id,
123
+ type: "trace",
124
+ path: staged.file.path,
125
+ size: staged.file.size,
126
+ blobId: (_g = staged.file.blobId) != null ? _g : null
127
+ });
128
+ traceCount++;
129
+ }
130
+ for (const ref of entry.attachments) {
131
+ const bytes = await readEntry(ref.entry);
132
+ if (!bytes) continue;
133
+ const stored = await port.storeFile({
134
+ projectId,
135
+ testRunId: run.id,
136
+ testRunsCaseId,
137
+ kind: "attachment",
138
+ entryName: ref.entry,
139
+ bytes
140
+ });
141
+ if (!stored) continue;
142
+ await db.insert(files).values({
143
+ testRunsCaseId,
144
+ testRunId: run.id,
145
+ type: "attachment",
146
+ subtype: ref.name,
147
+ label: ref.contentType,
148
+ path: stored.path,
149
+ size: stored.size,
150
+ blobId: (_h = stored.blobId) != null ? _h : null
151
+ });
152
+ attachmentCount++;
153
+ }
154
+ }
155
+ }
156
+ const stats = durationStats(parsed.cases.map((entry) => entry.case.duration));
157
+ if (stats) {
158
+ await db.update(testRuns).set({ avgTestDuration: stats.avg, p90TestDuration: stats.p90 }).where(eq(testRuns.id, run.id));
159
+ }
160
+ port.publishRunSubmitted({ runId: run.id, projectId, status: parsed.status });
161
+ return {
162
+ status: "imported",
163
+ kind: "blob-report",
164
+ testRunId: run.id,
165
+ projectId,
166
+ runStatus: parsed.status,
167
+ startTime: parsed.startTime.toISOString(),
168
+ totalTests: parsed.totalTests,
169
+ passedTests: parsed.passedTests,
170
+ failedTests: sumFailedAndTimedOut(parsed.failedTests, parsed.timedOutTests),
171
+ skippedTests: parsed.skippedTests,
172
+ didNotRunTests: parsed.didNotRunTests,
173
+ flakyTests: parsed.flakyTests,
174
+ traceCount,
175
+ attachmentCount,
176
+ playwrightVersion: parsed.playwrightVersion,
177
+ projectNames: parsed.projectNames,
178
+ filePaths: [...new Set(parsed.cases.map((entry) => entry.case.filePath))].sort().slice(0, 20),
179
+ shard: parsed.shard
180
+ };
181
+ }
182
+ async function importTraceRun(db, port, input) {
183
+ var _a, _b, _c, _d, _e;
184
+ const { projectId, parsed, bytes, importHash, importGroup, source } = input;
185
+ const knownPaths = await db.selectDistinct({ filePath: testCases.filePath }).from(testCases).where(eq(testCases.projectId, projectId));
186
+ parsed.case.filePath = resolveSpecPath(
187
+ parsed.rawFilePath,
188
+ knownPaths.map((row) => row.filePath)
189
+ );
190
+ const runKey = importGroup != null ? importGroup : importHash;
191
+ let run = (await db.select().from(testRuns).where(and(eq(testRuns.projectId, projectId), eq(testRuns.importHash, runKey))))[0];
192
+ if (!run) {
193
+ try {
194
+ run = (await db.insert(testRuns).values({
195
+ projectId,
196
+ status: "passed",
197
+ startTime: new Date(parsed.startedAt),
198
+ duration: 0,
199
+ environment: (_a = input.environment) != null ? _a : null,
200
+ label: (_b = input.label) != null ? _b : null,
201
+ playwrightVersion: parsed.playwrightVersion,
202
+ importHash: runKey,
203
+ metadata: {
204
+ import: { source, importedAt: (/* @__PURE__ */ new Date()).toISOString(), kind: "trace" }
205
+ }
206
+ }).returning())[0];
207
+ } catch {
208
+ run = (await db.select().from(testRuns).where(and(eq(testRuns.projectId, projectId), eq(testRuns.importHash, runKey))))[0];
209
+ }
210
+ }
211
+ if (!run) throw new Error("Failed to create the imported test run");
212
+ const stored = await port.storeFile({
213
+ projectId,
214
+ testRunId: run.id,
215
+ testRunsCaseId: null,
216
+ kind: "trace",
217
+ entryName: `${importHash}.zip`,
218
+ bytes,
219
+ // The archive's own digest is what identifies this import, so the store can
220
+ // address it by that instead of reading the whole thing a second time.
221
+ digest: importHash
222
+ });
223
+ if (stored) {
224
+ const already = await db.select({ id: files.id }).from(files).where(and(eq(files.testRunId, run.id), eq(files.path, stored.path)));
225
+ if (already.length > 0) return summarizeRun(await reloadRun(db, run.id), projectId, "duplicate", 0, 0);
226
+ }
227
+ parsed.case.retries = await countPriorAttempts(db, projectId, run.id, parsed.case);
228
+ const inserted = await port.persistRunCases(db, projectId, run.id, [parsed.case]);
229
+ const testRunsCaseId = (_c = inserted[0]) == null ? void 0 : _c.id;
230
+ if (!testRunsCaseId) return summarizeRun(await reloadRun(db, run.id), projectId, "duplicate", 0, 0);
231
+ let traceCount = 0;
232
+ if (stored) {
233
+ await db.insert(files).values({
234
+ testRunsCaseId,
235
+ testRunId: run.id,
236
+ type: "trace",
237
+ path: stored.path,
238
+ size: stored.size,
239
+ blobId: (_d = stored.blobId) != null ? _d : null
240
+ });
241
+ traceCount = 1;
242
+ }
243
+ await rollUpTraceRun(db, run.id, new Date(parsed.startedAt));
244
+ const updated = await reloadRun(db, run.id);
245
+ port.publishRunSubmitted({ runId: run.id, projectId, status: updated.status });
246
+ return summarizeRun(
247
+ updated,
248
+ projectId,
249
+ "imported",
250
+ traceCount,
251
+ 0,
252
+ [parsed.case.filePath],
253
+ [...(_e = parsed.case.suitePath) != null ? _e : [], parsed.case.title].join(" \u203A ")
254
+ );
255
+ }
256
+ async function recoverErrorContext(port, readEntry, entry) {
257
+ var _a;
258
+ const contextRef = entry.attachments.find((a) => a.name === "error-context");
259
+ if (!contextRef) return;
260
+ const bytes = await readEntry(contextRef.entry);
261
+ if (!bytes) return;
262
+ const evidence = port.parseErrorContext(new TextDecoder().decode(bytes), (_a = entry.case.line) != null ? _a : null);
263
+ entry.case.ariaSnapshot = evidence.ariaSnapshot;
264
+ entry.case.testSource = evidence.testSource;
265
+ }
266
+ async function countPriorAttempts(db, projectId, testRunId, input) {
267
+ var _a;
268
+ const existing = await db.select({ id: testCases.id }).from(testCases).where(
269
+ and(
270
+ eq(testCases.projectId, projectId),
271
+ eq(testCases.filePath, input.filePath),
272
+ eq(testCases.suitePath, joinSuitePath(input.suitePath)),
273
+ eq(testCases.title, input.title)
274
+ )
275
+ );
276
+ const testCaseId = (_a = existing[0]) == null ? void 0 : _a.id;
277
+ if (testCaseId === void 0) return 0;
278
+ const attempts = await db.select({ id: testRunsCases.id }).from(testRunsCases).where(and(eq(testRunsCases.testRunId, testRunId), eq(testRunsCases.testCaseId, testCaseId)));
279
+ return attempts.length;
280
+ }
281
+ async function rollUpTraceRun(db, testRunId, startTime) {
282
+ var _a, _b;
283
+ const rows = await db.select({ status: testRunsCases.status, duration: testRunsCases.duration, startedAt: testRunsCases.startedAt }).from(testRunsCases).where(eq(testRunsCases.testRunId, testRunId));
284
+ const counts = { passed: 0, failed: 0, timedOut: 0, skipped: 0, didNotRun: 0 };
285
+ for (const row of rows) {
286
+ if (row.status === "passed") counts.passed++;
287
+ else if (row.status === "timedOut") counts.timedOut++;
288
+ else if (row.status === "skipped") counts.skipped++;
289
+ else if (row.status === "didnotrun") counts.didNotRun++;
290
+ else counts.failed++;
291
+ }
292
+ const stats = durationStats(rows.map((row) => row.duration));
293
+ const earliest = rows.reduce(
294
+ (min, row) => row.startedAt != null && row.startedAt < min ? row.startedAt : min,
295
+ startTime.getTime()
296
+ );
297
+ const latestEnd = rows.reduce(
298
+ (max, row) => {
299
+ var _a2, _b2;
300
+ return Math.max(max, ((_a2 = row.startedAt) != null ? _a2 : earliest) + ((_b2 = row.duration) != null ? _b2 : 0));
301
+ },
302
+ earliest
303
+ );
304
+ await db.update(testRuns).set({
305
+ status: counts.failed + counts.timedOut > 0 ? "failed" : "passed",
306
+ startTime: new Date(earliest),
307
+ duration: Math.max(0, latestEnd - earliest),
308
+ totalTests: rows.length,
309
+ passedTests: counts.passed,
310
+ failedTests: sumFailedAndTimedOut(counts.failed, counts.timedOut),
311
+ skippedTests: counts.skipped,
312
+ didNotRunTests: counts.didNotRun,
313
+ avgTestDuration: (_a = stats == null ? void 0 : stats.avg) != null ? _a : null,
314
+ p90TestDuration: (_b = stats == null ? void 0 : stats.p90) != null ? _b : null,
315
+ updatedAt: /* @__PURE__ */ new Date()
316
+ }).where(eq(testRuns.id, testRunId));
317
+ }
318
+ async function reloadRun(db, testRunId) {
319
+ const rows = await db.select().from(testRuns).where(eq(testRuns.id, testRunId));
320
+ const run = rows[0];
321
+ if (!run) throw new Error("The imported test run disappeared");
322
+ return run;
323
+ }
324
+ function summarizeRun(run, projectId, status, traceCount, attachmentCount, filePaths = [], caseTitle) {
325
+ var _a, _b;
326
+ const isTrace = ((_b = (_a = run.metadata) == null ? void 0 : _a.import) == null ? void 0 : _b.kind) === "trace";
327
+ return {
328
+ status,
329
+ kind: isTrace ? "trace" : "blob-report",
330
+ ...caseTitle ? { caseTitle } : {},
331
+ testRunId: run.id,
332
+ projectId,
333
+ runStatus: run.status,
334
+ startTime: run.startTime.toISOString(),
335
+ totalTests: run.totalTests,
336
+ passedTests: run.passedTests,
337
+ failedTests: run.failedTests,
338
+ skippedTests: run.skippedTests,
339
+ didNotRunTests: run.didNotRunTests,
340
+ flakyTests: run.flakyTests,
341
+ traceCount,
342
+ attachmentCount,
343
+ playwrightVersion: run.playwrightVersion,
344
+ projectNames: [],
345
+ filePaths,
346
+ shard: null
347
+ };
348
+ }
349
+
350
+ export { importBlobReportRun as a, findImportedHashes as b, findImportedRun as f, importTraceRun as i, judgeImportFiles as j, toBytes as t };
351
+ //# sourceMappingURL=import-runs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-runs.mjs","sources":["../../../../shared/handlers/import-runs.ts"],"names":["_a","_b"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { aF as markers, t as testRuns } from '../nitro/nitro.mjs';
1
+ import { aS as markers, t as testRuns } from '../nitro/nitro.mjs';
2
2
  import { eq, asc, and, lt, desc } from 'drizzle-orm';
3
3
  import { D as DEFAULT_MARKER_CATEGORY, M as MARKER_CATEGORY_IDS } from './marker-categories.mjs';
4
4
 
@@ -0,0 +1,112 @@
1
+ import { eq, and, isNull, asc, desc, inArray, gt, sql } from 'drizzle-orm';
2
+ import { b0 as testCases, ba as quarantinedTests, t as testRuns, w as testRunsCases } from '../nitro/nitro.mjs';
3
+
4
+ const RELEASE_AFTER_CONSECUTIVE_PASSES = 5;
5
+ const STREAK_SCAN_LIMIT = 30;
6
+ const FAIL_STATUSES = ["failed", "timedOut", "timedout"];
7
+ async function getQuarantinedCaseIds(db, projectId) {
8
+ const rows = await db.select({ testCaseId: quarantinedTests.testCaseId }).from(quarantinedTests).where(and(eq(quarantinedTests.projectId, projectId), isNull(quarantinedTests.releasedAt)));
9
+ return new Set(rows.map((row) => row.testCaseId));
10
+ }
11
+ async function computeStreaks(db, entries) {
12
+ const streaks = /* @__PURE__ */ new Map();
13
+ if (entries.length === 0) return streaks;
14
+ for (const entry of entries) {
15
+ const rows = await db.select({ status: testRunsCases.status, id: testRunsCases.id }).from(testRunsCases).where(
16
+ and(
17
+ eq(testRunsCases.testCaseId, entry.testCaseId),
18
+ entry.quarantinedAtRunId != null ? gt(testRunsCases.testRunId, entry.quarantinedAtRunId) : sql`1 = 1`
19
+ )
20
+ ).orderBy(desc(testRunsCases.id)).limit(STREAK_SCAN_LIMIT);
21
+ let passes = 0;
22
+ for (const row of rows) {
23
+ if (row.status === "passed") passes++;
24
+ else if (FAIL_STATUSES.includes(row.status)) break;
25
+ }
26
+ streaks.set(entry.testCaseId, { passes, runs: rows.length });
27
+ }
28
+ return streaks;
29
+ }
30
+ async function listQuarantine(db, projectId) {
31
+ const rows = await db.select({
32
+ id: quarantinedTests.id,
33
+ testCaseId: quarantinedTests.testCaseId,
34
+ reason: quarantinedTests.reason,
35
+ source: quarantinedTests.source,
36
+ quarantinedAtRunId: quarantinedTests.quarantinedAtRunId,
37
+ createdAt: quarantinedTests.createdAt,
38
+ title: testCases.title,
39
+ filePath: testCases.filePath,
40
+ owner: testCases.owner,
41
+ tags: testCases.tags
42
+ }).from(quarantinedTests).innerJoin(testCases, eq(quarantinedTests.testCaseId, testCases.id)).where(and(eq(quarantinedTests.projectId, projectId), isNull(quarantinedTests.releasedAt))).orderBy(asc(quarantinedTests.createdAt));
43
+ const streaks = await computeStreaks(db, rows);
44
+ const now = Date.now();
45
+ const entries = rows.map((row) => {
46
+ var _a, _b;
47
+ const streak = (_a = streaks.get(row.testCaseId)) != null ? _a : { passes: 0, runs: 0 };
48
+ const createdMs = row.createdAt instanceof Date ? row.createdAt.getTime() : new Date(row.createdAt).getTime();
49
+ return {
50
+ id: row.id,
51
+ testCaseId: row.testCaseId,
52
+ title: row.title,
53
+ filePath: row.filePath,
54
+ reason: row.reason,
55
+ source: row.source,
56
+ owner: (_b = row.owner) != null ? _b : null,
57
+ tags: Array.isArray(row.tags) ? row.tags : null,
58
+ createdAt: row.createdAt,
59
+ ageMs: Math.max(0, now - createdMs),
60
+ consecutivePasses: streak.passes,
61
+ releaseProposed: streak.passes >= RELEASE_AFTER_CONSECUTIVE_PASSES,
62
+ runsSinceQuarantine: streak.runs
63
+ };
64
+ });
65
+ const debt = {
66
+ active: entries.length,
67
+ readyToRelease: entries.filter((entry) => entry.releaseProposed).length,
68
+ oldestAgeMs: entries.reduce((max, entry) => Math.max(max, entry.ageMs), 0),
69
+ stillFailing: entries.filter((entry) => entry.runsSinceQuarantine > 0 && entry.consecutivePasses === 0).length
70
+ };
71
+ return { entries, debt };
72
+ }
73
+ async function addQuarantine(db, projectId, testCaseId, options = {}) {
74
+ var _a, _b;
75
+ const [testCase] = await db.select({ id: testCases.id, projectId: testCases.projectId }).from(testCases).where(eq(testCases.id, testCaseId));
76
+ if (!testCase || testCase.projectId !== projectId) throw new Error("Test case not found in this project");
77
+ const existing = await db.select({ id: quarantinedTests.id }).from(quarantinedTests).where(and(eq(quarantinedTests.testCaseId, testCaseId), isNull(quarantinedTests.releasedAt)));
78
+ if (existing.length > 0) return { created: false };
79
+ const [latestRun] = await db.select({ id: testRuns.id }).from(testRuns).where(eq(testRuns.projectId, projectId)).orderBy(desc(testRuns.id)).limit(1);
80
+ await db.insert(quarantinedTests).values({
81
+ projectId,
82
+ testCaseId,
83
+ reason: (_a = options.reason) != null ? _a : null,
84
+ source: options.source === "proposed" ? "proposed" : "manual",
85
+ quarantinedAtRunId: (_b = latestRun == null ? void 0 : latestRun.id) != null ? _b : null,
86
+ // With authentication disabled the request carries a synthetic user whose
87
+ // id is 0, which no `users` row has — store null rather than tripping the
88
+ // foreign key on an instance that has no accounts at all.
89
+ createdBy: typeof options.createdBy === "number" && options.createdBy > 0 ? options.createdBy : null
90
+ });
91
+ return { created: true };
92
+ }
93
+ async function releaseQuarantine(db, projectId, testCaseId, reason) {
94
+ const active = await db.select({ id: quarantinedTests.id }).from(quarantinedTests).where(
95
+ and(
96
+ eq(quarantinedTests.projectId, projectId),
97
+ eq(quarantinedTests.testCaseId, testCaseId),
98
+ isNull(quarantinedTests.releasedAt)
99
+ )
100
+ );
101
+ if (active.length === 0) return { released: false };
102
+ await db.update(quarantinedTests).set({ releasedAt: /* @__PURE__ */ new Date(), releasedReason: reason != null ? reason : null }).where(
103
+ inArray(
104
+ quarantinedTests.id,
105
+ active.map((row) => row.id)
106
+ )
107
+ );
108
+ return { released: true };
109
+ }
110
+
111
+ export { RELEASE_AFTER_CONSECUTIVE_PASSES as R, addQuarantine as a, getQuarantinedCaseIds as g, listQuarantine as l, releaseQuarantine as r };
112
+ //# sourceMappingURL=quarantine.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quarantine.mjs","sources":["../../../../shared/handlers/quarantine.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { D as users, cl as apiKeys } from '../nitro/nitro.mjs';
1
+ import { D as users, cS as apiKeys } from '../nitro/nitro.mjs';
2
2
  import { eq, and } from 'drizzle-orm';
3
3
 
4
4
  async function listUsers(db) {
@@ -1,6 +1,6 @@
1
1
  import { useSlots, computed, unref, mergeProps, withCtx, renderSlot, openBlock, createBlock, createCommentVNode, createVNode, createTextVNode, toDisplayString, Fragment, renderList, useSSRContext } from 'vue';
2
2
  import { ssrRenderComponent, ssrRenderSlot, ssrRenderClass, ssrInterpolate, ssrRenderList } from 'vue/server-renderer';
3
- import { a as useComponentProps, A as useLocale, b as useAppConfig, t as tv, P as Primitive, U as _sfc_main$n, o as _sfc_main$p, m as _sfc_main$k } from './server.mjs';
3
+ import { a as useComponentProps, C as useLocale, b as useAppConfig, t as tv, P as Primitive, V as _sfc_main$n, o as _sfc_main$p, m as _sfc_main$k } from './server.mjs';
4
4
 
5
5
  const theme = {
6
6
  "slots": {
@@ -476,4 +476,4 @@ _sfc_main.setup = (props, ctx) => {
476
476
  };
477
477
 
478
478
  export { _sfc_main as _ };
479
- //# sourceMappingURL=Alert-Bp1Wz_sq.mjs.map
479
+ //# sourceMappingURL=Alert-C4xq8lao.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert-C4xq8lao.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/Alert-C4xq8lao.js"],"names":["_sfc_main$1","_sfc_main$2","_sfc_main$3"],"mappings":"","x_google_ignoreList":[0]}
@@ -1,7 +1,7 @@
1
1
  import { ref, computed, mergeProps, unref, useSlots, withCtx, renderSlot, openBlock, createBlock, createCommentVNode, createTextVNode, toDisplayString, createVNode, Fragment, renderList, useSSRContext } from 'vue';
2
2
  import { ssrRenderComponent, ssrRenderClass, ssrRenderList, ssrRenderSlot, ssrInterpolate } from 'vue/server-renderer';
3
- import { a as useComponentProps, B as useForwardProps, av as reactiveOmit, A as useLocale, b as useAppConfig, t as tv, m as _sfc_main$k, P as Primitive, W as _sfc_main$l, aw as pickLinkProps, ax as _sfc_main$m, o as _sfc_main$p, U as _sfc_main$n, T as get } from './server.mjs';
4
- import { u as useDashboard } from './DashboardSidebarToggle-Ji6ADuqF.mjs';
3
+ import { a as useComponentProps, D as useForwardProps, Y as reactiveOmit, C as useLocale, b as useAppConfig, t as tv, m as _sfc_main$k, P as Primitive, q as _sfc_main$l, Z as pickLinkProps, $ as _sfc_main$m, o as _sfc_main$p, V as _sfc_main$n, U as get } from './server.mjs';
4
+ import { u as useDashboard } from './DashboardSidebarToggle-DCTnHiIv.mjs';
5
5
 
6
6
  const theme$1 = {
7
7
  "base": "hidden lg:flex",
@@ -519,4 +519,4 @@ _sfc_main.setup = (props, ctx) => {
519
519
  };
520
520
 
521
521
  export { _sfc_main$1 as _, _sfc_main as a };
522
- //# sourceMappingURL=Breadcrumb-C9ZPTLym.mjs.map
522
+ //# sourceMappingURL=Breadcrumb-Ak2Lg3oM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumb-Ak2Lg3oM.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/Breadcrumb-Ak2Lg3oM.js"],"names":["_sfc_main$2","_sfc_main$3","_sfc_main$4","_sfc_main$5","_sfc_main$6"],"mappings":"","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
- import { a as _sfc_main$1 } from './Breadcrumb-C9ZPTLym.mjs';
2
- import { J as _sfc_main$a, m as _sfc_main$k, o as _sfc_main$p } from './server.mjs';
1
+ import { a as _sfc_main$1 } from './Breadcrumb-Ak2Lg3oM.mjs';
2
+ import { K as _sfc_main$a, m as _sfc_main$k, o as _sfc_main$p } from './server.mjs';
3
3
  import { defineComponent, computed, createSlots, renderList, withCtx, renderSlot, unref, createVNode, useSSRContext } from 'vue';
4
4
  import { ssrRenderComponent, ssrRenderSlot, ssrInterpolate } from 'vue/server-renderer';
5
5
 
@@ -108,4 +108,4 @@ _sfc_main.setup = (props, ctx) => {
108
108
  const __nuxt_component_3 = Object.assign(_sfc_main, { __name: "BreadcrumbNav" });
109
109
 
110
110
  export { __nuxt_component_3 as _ };
111
- //# sourceMappingURL=BreadcrumbNav-C3y42Vun.mjs.map
111
+ //# sourceMappingURL=BreadcrumbNav-DO7I_z-n.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BreadcrumbNav-DO7I_z-n.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/BreadcrumbNav-DO7I_z-n.js"],"names":["_sfc_main$2","_sfc_main$3","_sfc_main$4"],"mappings":"","x_google_ignoreList":[0]}
@@ -1,8 +1,8 @@
1
- import { _ as _sfc_main$1 } from './Tooltip-7vwuDPrZ.mjs';
1
+ import { _ as _sfc_main$1 } from './Tooltip-BOazooWP.mjs';
2
2
  import { o as _sfc_main$p } from './server.mjs';
3
3
  import { defineComponent, computed, unref, mergeProps, withCtx, createVNode, useSSRContext } from 'vue';
4
4
  import { ssrRenderComponent, ssrRenderAttrs } from 'vue/server-renderer';
5
- import { v as getBrowserIcon, w as getBrowserHexColor } from './index-CULN3-en.mjs';
5
+ import { x as getBrowserIcon, y as getBrowserHexColor } from './index-CU2nZhAa.mjs';
6
6
 
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "BrowserBadge",
@@ -83,7 +83,7 @@ _sfc_main.setup = (props, ctx) => {
83
83
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/shared/BrowserBadge.vue");
84
84
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
85
85
  };
86
- const __nuxt_component_2 = Object.assign(_sfc_main, { __name: "BrowserBadge" });
86
+ const __nuxt_component_3 = Object.assign(_sfc_main, { __name: "BrowserBadge" });
87
87
 
88
- export { __nuxt_component_2 as _ };
89
- //# sourceMappingURL=BrowserBadge-DNCp9pF-.mjs.map
88
+ export { __nuxt_component_3 as _ };
89
+ //# sourceMappingURL=BrowserBadge-D33lqUcj.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserBadge-D33lqUcj.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/BrowserBadge-D33lqUcj.js"],"names":["_sfc_main$2"],"mappings":"","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import { _ as __nuxt_component_11 } from './SectionCard-COd9TuDq.mjs';
1
+ import { _ as __nuxt_component_11 } from './SectionCard-CN-v0FZ_.mjs';
2
2
  import { defineComponent, mergeProps, createSlots, withCtx, renderSlot, useSSRContext } from 'vue';
3
3
  import { ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer';
4
4
 
@@ -74,4 +74,4 @@ _sfc_main.setup = (props, ctx) => {
74
74
  const __nuxt_component_0 = Object.assign(_sfc_main, { __name: "ChartCard" });
75
75
 
76
76
  export { __nuxt_component_0 as _ };
77
- //# sourceMappingURL=ChartCard-Fr557IbV.mjs.map
77
+ //# sourceMappingURL=ChartCard-Y1UKwMsf.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartCard-Y1UKwMsf.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/ChartCard-Y1UKwMsf.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}