@piwitests/server 0.15.0 → 0.16.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 (457) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{DzbOHjZH.js → -KQO1A4C.js} +1 -1
  3. package/.output/public/_nuxt/{BEKwVcvQ.js → 1AB111xL.js} +1 -1
  4. package/.output/public/_nuxt/{CokbKVE6.js → 2xvsvjLO.js} +1 -1
  5. package/.output/public/_nuxt/{CNzoIhwN.js → ABGJk0pu.js} +1 -1
  6. package/.output/public/_nuxt/{Cgr8IKY4.js → B2lYFco4.js} +1 -1
  7. package/.output/public/_nuxt/B33X4zrC.js +1 -0
  8. package/.output/public/_nuxt/{V1BQiRoh.js → B3NbDoBP.js} +1 -1
  9. package/.output/public/_nuxt/{ChWPXucC.js → B3sNtVnf.js} +1 -1
  10. package/.output/public/_nuxt/{too3WhRB.js → B43OGXzV.js} +1 -1
  11. package/.output/public/_nuxt/{Cf3RuiXF.js → B6Jp7fpa.js} +4 -4
  12. package/.output/public/_nuxt/{B32ySRXg.js → B7yG1G_l.js} +1 -1
  13. package/.output/public/_nuxt/{BgR7oL4p.js → BBdfPriC.js} +1 -1
  14. package/.output/public/_nuxt/{DNP5tTJo.js → BGYbnqA7.js} +1 -1
  15. package/.output/public/_nuxt/{DAeYEeCC.js → BIf1R_fu.js} +1 -1
  16. package/.output/public/_nuxt/{nUsJV5qo.js → BIksQZfR.js} +1 -1
  17. package/.output/public/_nuxt/{B8fs6GU9.js → BPKwYP2Q.js} +31 -31
  18. package/.output/public/_nuxt/{DjCfCT_5.js → BP_SWi7S.js} +1 -1
  19. package/.output/public/_nuxt/{CrFCPOnY.js → BQrSEuzu.js} +1 -1
  20. package/.output/public/_nuxt/{BpepjHwc.js → BR9H8k-L.js} +1 -1
  21. package/.output/public/_nuxt/{Dejf0f7D.js → BRKa6EQR.js} +3 -3
  22. package/.output/public/_nuxt/{BMQIO38j.js → BS0gKVuF.js} +1 -1
  23. package/.output/public/_nuxt/{BW1UOxWn.js → BV83yObd.js} +1 -1
  24. package/.output/public/_nuxt/{o5WQ5Z7k.js → BVW5qIDP.js} +1 -1
  25. package/.output/public/_nuxt/{rvaZFYoE.js → BY4oA2IH.js} +1 -1
  26. package/.output/public/_nuxt/{DZoSxwj6.js → BZekCf_x.js} +1 -1
  27. package/.output/public/_nuxt/{lRMjXqiA.js → Bb64FEFL.js} +1 -1
  28. package/.output/public/_nuxt/{2PU-adwy.js → BdFEUAlx.js} +1 -1
  29. package/.output/public/_nuxt/{CBrCcDzR.js → Bf62wdzp.js} +1 -1
  30. package/.output/public/_nuxt/{DYDGGqZ3.js → BkDfdHFm.js} +1 -1
  31. package/.output/public/_nuxt/{CqA3gM8h.js → BoRFLTAO.js} +1 -1
  32. package/.output/public/_nuxt/{DxXZN6ed.js → BpIsBP5g.js} +1 -1
  33. package/.output/public/_nuxt/{DkFbpSsi.js → BpNqHxg2.js} +1 -1
  34. package/.output/public/_nuxt/{DFw8I2FL.js → BpceIssd.js} +1 -1
  35. package/.output/public/_nuxt/{n7Htv9PJ.js → Br2K9yi_.js} +1 -1
  36. package/.output/public/_nuxt/{D4nLD93c.js → BuZOa2M3.js} +1 -1
  37. package/.output/public/_nuxt/{B32-7cBF.js → Bvfmwzgw.js} +1 -1
  38. package/.output/public/_nuxt/{h-e-Ca3f.js → Bzl2H_vl.js} +1 -1
  39. package/.output/public/_nuxt/{IdQR_Djw.js → C1K3r_fc.js} +1 -1
  40. package/.output/public/_nuxt/C219JuBV.js +1 -0
  41. package/.output/public/_nuxt/{B_80i5Ge.js → C38aZbFJ.js} +1 -1
  42. package/.output/public/_nuxt/{DHVmXA9K.js → C3r_Sv1p.js} +1 -1
  43. package/.output/public/_nuxt/{O1A-LRgV.js → C8RBRg7I.js} +1 -1
  44. package/.output/public/_nuxt/{60-Zii7v.js → CCRRqXez.js} +1 -1
  45. package/.output/public/_nuxt/{__m3KqHO.js → CJFqA_QW.js} +1 -1
  46. package/.output/public/_nuxt/{Surk4Lw-.js → CKB_doYB.js} +1 -1
  47. package/.output/public/_nuxt/{DaKVSp-6.js → CMYQpoOI.js} +1 -1
  48. package/.output/public/_nuxt/CQeMb57w.js +1 -0
  49. package/.output/public/_nuxt/{Bq2ZPvIH.js → CSYJwpXG.js} +1 -1
  50. package/.output/public/_nuxt/{ETOCcsVw.js → CTdvGdc2.js} +1 -1
  51. package/.output/public/_nuxt/CX1dcT4v.js +1 -0
  52. package/.output/public/_nuxt/{evCxpgbd.js → CdME81ij.js} +2 -2
  53. package/.output/public/_nuxt/{DKTDub7I.js → CgoAUz76.js} +1 -1
  54. package/.output/public/_nuxt/{0KrkW531.js → CoHGrO41.js} +1 -1
  55. package/.output/public/_nuxt/{BGsuOpiq.js → CpO-ABDW.js} +1 -1
  56. package/.output/public/_nuxt/CuYYdFBL.js +1 -0
  57. package/.output/public/_nuxt/{CHMpVLqo.js → D2jhe9JK.js} +1 -1
  58. package/.output/public/_nuxt/{C7RarFGi.js → D33On6AX.js} +1 -1
  59. package/.output/public/_nuxt/{Dv2B_nw_.js → D4VpoHDP.js} +1 -1
  60. package/.output/public/_nuxt/{CKZn0TUX.js → DAWn6Z7h.js} +1 -1
  61. package/.output/public/_nuxt/{rWwWS3Kj.js → DCpmQ47_.js} +1 -1
  62. package/.output/public/_nuxt/{B59-l1Cv.js → DIkLLyR6.js} +1 -1
  63. package/.output/public/_nuxt/{CFn3w5jn.js → DJS3Bf50.js} +1 -1
  64. package/.output/public/_nuxt/{F07TcX0U.js → DL20rwkA.js} +1 -1
  65. package/.output/public/_nuxt/DOuoR2Pk.js +34 -0
  66. package/.output/public/_nuxt/{BC_Wu-fv.js → DRtTLQri.js} +1 -1
  67. package/.output/public/_nuxt/{DiUGa0CT.js → DbeHHTk-.js} +1 -1
  68. package/.output/public/_nuxt/DcCNnjKl.js +1 -0
  69. package/.output/public/_nuxt/{PPFO8UVt.js → DdbrJwT-.js} +1 -1
  70. package/.output/public/_nuxt/{Cfk2_UCm.js → DfcAIbcX.js} +1 -1
  71. package/.output/public/_nuxt/{OG2n3p77.js → DgYM3eyi.js} +1 -1
  72. package/.output/public/_nuxt/{BBJ9Pu3M.js → DhA17dqR.js} +1 -1
  73. package/.output/public/_nuxt/{DvdOsTLb.js → DjZKuUMz.js} +1 -1
  74. package/.output/public/_nuxt/{DCCMLWel.js → DqnyWaSQ.js} +1 -1
  75. package/.output/public/_nuxt/Dsk4Ic18.js +7 -0
  76. package/.output/public/_nuxt/{BCK4f6Y3.js → DszOHBMG.js} +1 -1
  77. package/.output/public/_nuxt/{Cpquifvd.js → DuBBqqbF.js} +1 -1
  78. package/.output/public/_nuxt/{DWzdeQ3Z.js → DuMv-ugy.js} +1 -1
  79. package/.output/public/_nuxt/{BfshMo9k.js → Dz55UR7w.js} +2 -2
  80. package/.output/public/_nuxt/{BkhdAGx0.js → Dzz9_Z0u.js} +1 -1
  81. package/.output/public/_nuxt/{DgZlpN9l.js → HoKG9cc2.js} +1 -1
  82. package/.output/public/_nuxt/{C9jjVEQU.js → IFqRT_xJ.js} +1 -1
  83. package/.output/public/_nuxt/{i38YGG9S.js → JCFZINev.js} +1 -1
  84. package/.output/public/_nuxt/{B9Q_4Mjt.js → Kc7La4sL.js} +1 -1
  85. package/.output/public/_nuxt/N3pCB6-m.js +4 -0
  86. package/.output/public/_nuxt/{CFXonrwQ.js → WctJXszi.js} +1 -1
  87. package/.output/public/_nuxt/{CHgsEM4U.js → bAfTAihV.js} +1 -1
  88. package/.output/public/_nuxt/builds/latest.json +1 -1
  89. package/.output/public/_nuxt/builds/meta/5182c9fb-56a6-4df2-9685-4020a08ce7a5.json +1 -0
  90. package/.output/public/_nuxt/{4fB15L_7.js → d5ZB3uxF.js} +1 -1
  91. package/.output/public/_nuxt/{CIOQo6gB.js → e1zUTrBb.js} +1 -1
  92. package/.output/public/_nuxt/entry.BsmKRJzR.css +1 -0
  93. package/.output/public/_nuxt/{BtJkQ3to.js → iwD5atI2.js} +1 -1
  94. package/.output/public/_nuxt/jIF87ALb.js +1 -0
  95. package/.output/public/_nuxt/{CvCF77E-.js → k-z_VVTK.js} +2 -2
  96. package/.output/public/_nuxt/{CHSkT2s0.js → l0gdGdar.js} +1 -1
  97. package/.output/public/_nuxt/{DVdOm5Bg.js → mGJLLqyN.js} +1 -1
  98. package/.output/public/_nuxt/{CU-OXXdh.js → mfzslNx_.js} +1 -1
  99. package/.output/public/_nuxt/{CD-xwM9N.js → nCjfWTGm.js} +1 -1
  100. package/.output/public/_nuxt/{DQpa8F03.js → oNq5pd3r.js} +1 -1
  101. package/.output/public/_nuxt/qzAP_nm7.js +1 -0
  102. package/.output/public/_nuxt/{3SnTawZW.js → r3SBLxtE.js} +1 -1
  103. package/.output/public/_nuxt/{DI_-kFec.js → uKeO2H7F.js} +1 -1
  104. package/.output/public/_nuxt/{DZLrAp2i.js → xUrLy-Zn.js} +1 -1
  105. package/.output/public/_nuxt/{BY0AkhJh.js → ze9-Ill2.js} +1 -1
  106. package/.output/public/demo/seed.version.json +2 -2
  107. package/.output/public/sw.js +1 -1
  108. package/.output/server/chunks/_/markers.mjs +1 -1
  109. package/.output/server/chunks/_/users.mjs +1 -1
  110. package/.output/server/chunks/build/{BrowserBadge-BTA4QU_J.mjs → BrowserBadge-DNCp9pF-.mjs} +3 -3
  111. package/.output/server/chunks/build/BrowserBadge-DNCp9pF-.mjs.map +1 -0
  112. package/.output/server/chunks/build/{ChartCard-BqAhMip2.mjs → ChartCard-Fr557IbV.mjs} +2 -2
  113. package/.output/server/chunks/build/ChartCard-Fr557IbV.mjs.map +1 -0
  114. package/.output/server/chunks/build/{Checkbox-_1nGm_DR.mjs → Checkbox-7ZiMz60w.mjs} +5 -5
  115. package/.output/server/chunks/build/Checkbox-7ZiMz60w.mjs.map +1 -0
  116. package/.output/server/chunks/build/{CiEnvCard-DAufYuJw.mjs → CiEnvCard-DNxBVvx4.mjs} +5 -5
  117. package/.output/server/chunks/build/CiEnvCard-DNxBVvx4.mjs.map +1 -0
  118. package/.output/server/chunks/build/{CodeBlock-BVKHuYjU.mjs → CodeBlock-BGwNmJ8J.mjs} +2 -2
  119. package/.output/server/chunks/build/CodeBlock-BGwNmJ8J.mjs.map +1 -0
  120. package/.output/server/chunks/build/{DashboardNavbar-BR6j4VLd.mjs → DashboardNavbar-Bdp-OwTN.mjs} +2 -2
  121. package/.output/server/chunks/build/DashboardNavbar-Bdp-OwTN.mjs.map +1 -0
  122. package/.output/server/chunks/build/DashboardSidebarToggle-Ji6ADuqF.mjs +1 -1
  123. package/.output/server/chunks/build/{DiagnosisPanel-BnrdXDvd.mjs → DiagnosisPanel-DV1xwGu4.mjs} +6 -6
  124. package/.output/server/chunks/build/DiagnosisPanel-DV1xwGu4.mjs.map +1 -0
  125. package/.output/server/chunks/build/EntityLinks-DeOP13Kr.mjs +1 -1
  126. package/.output/server/chunks/build/{EnvManagedBadge-DdnEtjIl.mjs → EnvManagedBadge-Qpn58Nmr.mjs} +5 -5
  127. package/.output/server/chunks/build/EnvManagedBadge-Qpn58Nmr.mjs.map +1 -0
  128. package/.output/server/chunks/build/{HelpHint-D_GJzMpW.mjs → HelpHint-YEMWtKu1.mjs} +18 -2
  129. package/.output/server/chunks/build/HelpHint-YEMWtKu1.mjs.map +1 -0
  130. package/.output/server/chunks/build/{Modal-COIjm3js.mjs → Modal-CfA78Hm1.mjs} +2 -2
  131. package/.output/server/chunks/build/Modal-CfA78Hm1.mjs.map +1 -0
  132. package/.output/server/chunks/build/{OpenInIdeLink-D97W6On1.mjs → OpenInIdeLink-B92wosXu.mjs} +3 -3
  133. package/.output/server/chunks/build/{OpenInIdeLink-D97W6On1.mjs.map → OpenInIdeLink-B92wosXu.mjs.map} +1 -1
  134. package/.output/server/chunks/build/{PageStateCard-C1HFN4Nv.mjs → PageStateCard-Bwee6JTk.mjs} +10 -10
  135. package/.output/server/chunks/build/{PageStateCard-C1HFN4Nv.mjs.map → PageStateCard-Bwee6JTk.mjs.map} +1 -1
  136. package/.output/server/chunks/build/{ProjectTestCasesTable-XFBPQGIX.mjs → ProjectTestCasesTable-9418EI8J.mjs} +9 -9
  137. package/.output/server/chunks/build/ProjectTestCasesTable-9418EI8J.mjs.map +1 -0
  138. package/.output/server/chunks/build/{RunReports-ChNkmuWa.mjs → RunReports-BpJqLHY9.mjs} +2 -2
  139. package/.output/server/chunks/build/RunReports-BpJqLHY9.mjs.map +1 -0
  140. package/.output/server/chunks/build/{RunStatusBadge-CXpuCUGQ.mjs → RunStatusBadge-BhmJ_RKM.mjs} +2 -2
  141. package/.output/server/chunks/build/RunStatusBadge-BhmJ_RKM.mjs.map +1 -0
  142. package/.output/server/chunks/build/{SectionCard-zs9FDzps.mjs → SectionCard-COd9TuDq.mjs} +2 -2
  143. package/.output/server/chunks/build/SectionCard-COd9TuDq.mjs.map +1 -0
  144. package/.output/server/chunks/build/{Select-r3S5nkSY.mjs → Select-COwTIQlV.mjs} +3 -3
  145. package/.output/server/chunks/build/Select-COwTIQlV.mjs.map +1 -0
  146. package/.output/server/chunks/build/{SelectMenu-Dk6f8i9o.mjs → SelectMenu-BkyAHFCM.mjs} +4 -4
  147. package/.output/server/chunks/build/{SelectMenu-Dk6f8i9o.mjs.map → SelectMenu-BkyAHFCM.mjs.map} +1 -1
  148. package/.output/server/chunks/build/{Separator-pqpPG0up.mjs → Separator-CxZdx8kw.mjs} +2 -2
  149. package/.output/server/chunks/build/Separator-CxZdx8kw.mjs.map +1 -0
  150. package/.output/server/chunks/build/{SettingsField-Wdpzlt13.mjs → SettingsField-DDD4oqys.mjs} +5 -5
  151. package/.output/server/chunks/build/SettingsField-DDD4oqys.mjs.map +1 -0
  152. package/.output/server/chunks/build/{Slideover-02XjJjn0.mjs → Slideover-B95Rj237.mjs} +3 -3
  153. package/.output/server/chunks/build/Slideover-B95Rj237.mjs.map +1 -0
  154. package/.output/server/chunks/build/{Switch-gx_JXgCo.mjs → Switch-htSKgC38.mjs} +2 -2
  155. package/.output/server/chunks/build/Switch-htSKgC38.mjs.map +1 -0
  156. package/.output/server/chunks/build/{Table-C64RrBp3.mjs → Table-CPhhVzDv.mjs} +3 -3
  157. package/.output/server/chunks/build/Table-CPhhVzDv.mjs.map +1 -0
  158. package/.output/server/chunks/build/{TestStatusBar--u4VX_Xf.mjs → TestStatusBar-CEzt76wk.mjs} +2 -2
  159. package/.output/server/chunks/build/TestStatusBar-CEzt76wk.mjs.map +1 -0
  160. package/.output/server/chunks/build/{Tooltip-ui_BVvqr.mjs → Tooltip-7vwuDPrZ.mjs} +3 -3
  161. package/.output/server/chunks/build/Tooltip-7vwuDPrZ.mjs.map +1 -0
  162. package/.output/server/chunks/build/{VisuallyHiddenInput-mMsqmkjz.mjs → VisuallyHiddenInput-C9eJVpPW.mjs} +2 -2
  163. package/.output/server/chunks/build/VisuallyHiddenInput-C9eJVpPW.mjs.map +1 -0
  164. package/.output/server/chunks/build/{_id_-CFVnSs8B.mjs → _id_-BDqvTM9D.mjs} +19 -18
  165. package/.output/server/chunks/build/{_id_-CFVnSs8B.mjs.map → _id_-BDqvTM9D.mjs.map} +1 -1
  166. package/.output/server/chunks/build/{_id_-pkxJKe17.mjs → _id_-CE0Gso6i.mjs} +11 -11
  167. package/.output/server/chunks/build/_id_-CE0Gso6i.mjs.map +1 -0
  168. package/.output/server/chunks/build/{_id_-R6KGfZOC.mjs → _id_-CnwAyvvS.mjs} +257 -84
  169. package/.output/server/chunks/build/_id_-CnwAyvvS.mjs.map +1 -0
  170. package/.output/server/chunks/build/{_id_-DXJQABO8.mjs → _id_-Dy67M9Dj.mjs} +25 -25
  171. package/.output/server/chunks/build/{_id_-DXJQABO8.mjs.map → _id_-Dy67M9Dj.mjs.map} +1 -1
  172. package/.output/server/chunks/build/{about-CmtGYbC6.mjs → about-FB9PYAHK.mjs} +5 -5
  173. package/.output/server/chunks/build/about-FB9PYAHK.mjs.map +1 -0
  174. package/.output/server/chunks/build/{account-AbLuwiZP.mjs → account-Cn-eZqXM.mjs} +4 -4
  175. package/.output/server/chunks/build/account-Cn-eZqXM.mjs.map +1 -0
  176. package/.output/server/chunks/build/{ai-DR_slopS.mjs → ai-V3YOh3yx.mjs} +17 -17
  177. package/.output/server/chunks/build/ai-V3YOh3yx.mjs.map +1 -0
  178. package/.output/server/chunks/build/{analytics-BbT2-Tr-.mjs → analytics-BBlAEmj5.mjs} +235 -64
  179. package/.output/server/chunks/build/analytics-BBlAEmj5.mjs.map +1 -0
  180. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  181. package/.output/server/chunks/build/{db.client-DlA_u5y9.mjs → db.client-aHcD0wyX.mjs} +47 -22
  182. package/.output/server/chunks/build/db.client-aHcD0wyX.mjs.map +1 -0
  183. package/.output/server/chunks/build/{default-D6diRCW0.mjs → default-BfMirIgG.mjs} +17 -16
  184. package/.output/server/chunks/build/default-BfMirIgG.mjs.map +1 -0
  185. package/.output/server/chunks/build/{docs-DbYoZafk.mjs → docs-DtNcJCyb.mjs} +5 -5
  186. package/.output/server/chunks/build/{docs-DbYoZafk.mjs.map → docs-DtNcJCyb.mjs.map} +1 -1
  187. package/.output/server/chunks/build/{edit-CNV4xdYj.mjs → edit-Dsf11mL5.mjs} +8 -8
  188. package/.output/server/chunks/build/edit-Dsf11mL5.mjs.map +1 -0
  189. package/.output/server/chunks/build/fetch-8kznMtBM.mjs +1 -1
  190. package/.output/server/chunks/build/{help-content-BMumoQQF.mjs → help-content-DmFnuhNu.mjs} +6 -1
  191. package/.output/server/chunks/build/help-content-DmFnuhNu.mjs.map +1 -0
  192. package/.output/server/chunks/build/{index-Dw526KXV.mjs → index-BR9hw6qk.mjs} +10 -10
  193. package/.output/server/chunks/build/index-BR9hw6qk.mjs.map +1 -0
  194. package/.output/server/chunks/build/{index-dwYB76GO.mjs → index-Ba-Fifra.mjs} +4 -4
  195. package/.output/server/chunks/build/index-Ba-Fifra.mjs.map +1 -0
  196. package/.output/server/chunks/build/{index-rSHkKNna.mjs → index-BgpEKTSq.mjs} +505 -84
  197. package/.output/server/chunks/build/index-BgpEKTSq.mjs.map +1 -0
  198. package/.output/server/chunks/build/{index-DmHBPf7T.mjs → index-CULN3-en.mjs} +11 -2
  199. package/.output/server/chunks/build/index-CULN3-en.mjs.map +1 -0
  200. package/.output/server/chunks/build/{index-C3Ou18qD.mjs → index-DzEgjHlB.mjs} +14 -14
  201. package/.output/server/chunks/build/{index-C3Ou18qD.mjs.map → index-DzEgjHlB.mjs.map} +1 -1
  202. package/.output/server/chunks/build/{isValueEqualOrExist-DTJ5ejZs.mjs → isValueEqualOrExist-DBZjbD_3.mjs} +3 -3
  203. package/.output/server/chunks/build/isValueEqualOrExist-DBZjbD_3.mjs.map +1 -0
  204. package/.output/server/chunks/build/{login-Da5C8jP2.mjs → login-D2XZDuek.mjs} +3 -3
  205. package/.output/server/chunks/build/login-D2XZDuek.mjs.map +1 -0
  206. package/.output/server/chunks/build/{mcp-DM1t-9L_.mjs → mcp-CXwa3xU3.mjs} +8 -8
  207. package/.output/server/chunks/build/mcp-CXwa3xU3.mjs.map +1 -0
  208. package/.output/server/chunks/build/{notifications-BTPF0xA7.mjs → notifications-hJj8tbAT.mjs} +11 -11
  209. package/.output/server/chunks/build/notifications-hJj8tbAT.mjs.map +1 -0
  210. package/.output/server/chunks/build/server.mjs +37 -28
  211. package/.output/server/chunks/build/{settings-Bmw_JdBS.mjs → settings-Ci_7EXYQ.mjs} +8 -7
  212. package/.output/server/chunks/build/settings-Ci_7EXYQ.mjs.map +1 -0
  213. package/.output/server/chunks/build/{settings-metadata-CksLgMun.mjs → settings-metadata-Cp0dx0vm.mjs} +12 -3
  214. package/.output/server/chunks/build/settings-metadata-Cp0dx0vm.mjs.map +1 -0
  215. package/.output/server/chunks/build/{storage-BqR4acgi.mjs → storage-CM-Pd-9E.mjs} +191 -14
  216. package/.output/server/chunks/build/storage-CM-Pd-9E.mjs.map +1 -0
  217. package/.output/server/chunks/build/{tags-miPAzIr3.mjs → tags-DrCQ7QSw.mjs} +6 -6
  218. package/.output/server/chunks/build/tags-DrCQ7QSw.mjs.map +1 -0
  219. package/.output/server/chunks/build/{test-cases-D-LqhLpk.mjs → test-cases-DkGQB027.mjs} +14 -14
  220. package/.output/server/chunks/build/test-cases-DkGQB027.mjs.map +1 -0
  221. package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs +318 -0
  222. package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs.map +1 -0
  223. package/.output/server/chunks/build/{useAiStatus-FwqbA4gz.mjs → useAiStatus-ZO987RY7.mjs} +8 -7
  224. package/.output/server/chunks/build/useAiStatus-ZO987RY7.mjs.map +1 -0
  225. package/.output/server/chunks/build/{useSettingsNav-v_dFuTw9.mjs → useSettingsNav-D2knPCqF.mjs} +6 -6
  226. package/.output/server/chunks/build/useSettingsNav-D2knPCqF.mjs.map +1 -0
  227. package/.output/server/chunks/build/{users-D-GDKZmZ.mjs → users-NmAUZs3i.mjs} +6 -6
  228. package/.output/server/chunks/build/users-NmAUZs3i.mjs.map +1 -0
  229. package/.output/server/chunks/build/{virtualizer-BcC1XuFf.mjs → virtualizer-0-UBy7xl.mjs} +4 -4
  230. package/.output/server/chunks/build/virtualizer-0-UBy7xl.mjs.map +1 -0
  231. package/.output/server/chunks/build/{wasted-time-CFmeT_e2.mjs → wasted-time-L4kBV5Nh.mjs} +8 -8
  232. package/.output/server/chunks/build/wasted-time-L4kBV5Nh.mjs.map +1 -0
  233. package/.output/server/chunks/nitro/nitro.mjs +949 -684
  234. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  235. package/.output/server/chunks/routes/__piwi/session.get.mjs +51 -0
  236. package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -0
  237. package/.output/server/chunks/routes/api/admin/stats.get.mjs +5 -1
  238. package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
  239. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +75 -6
  240. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
  241. package/.output/server/chunks/routes/api/auth/change-password.post.mjs +1 -1
  242. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +1 -1
  243. package/.output/server/chunks/routes/api/auth/login.post.mjs +1 -1
  244. package/.output/server/chunks/routes/api/auth/logout.post.mjs +1 -1
  245. package/.output/server/chunks/routes/api/auth/me.get.mjs +1 -1
  246. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +1 -1
  247. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +1 -1
  248. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +1 -1
  249. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +1 -1
  250. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +1 -1
  251. package/.output/server/chunks/routes/api/auth/setup.get.mjs +1 -1
  252. package/.output/server/chunks/routes/api/auth/setup.post.mjs +1 -1
  253. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +1 -1
  254. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +1 -1
  255. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +1 -1
  256. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +1 -1
  257. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +1 -1
  258. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +45 -0
  259. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -0
  260. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +1 -1
  261. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +1 -1
  262. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +1 -1
  263. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +1 -1
  264. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +1 -1
  265. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +1 -1
  266. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +1 -1
  267. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +1 -1
  268. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +1 -1
  269. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +1 -1
  270. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +1 -1
  271. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +1 -1
  272. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +1 -1
  273. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +1 -1
  274. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  275. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  276. package/.output/server/chunks/routes/api/index.get2.mjs +1 -1
  277. package/.output/server/chunks/routes/api/index.get3.mjs +1 -1
  278. package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
  279. package/.output/server/chunks/routes/api/index.get5.mjs +1 -1
  280. package/.output/server/chunks/routes/api/index.post.mjs +1 -1
  281. package/.output/server/chunks/routes/api/index.post2.mjs +1 -1
  282. package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
  283. package/.output/server/chunks/routes/api/index.post4.mjs +1 -1
  284. package/.output/server/chunks/routes/api/index.post5.mjs +1 -1
  285. package/.output/server/chunks/routes/api/index.post6.mjs +1 -1
  286. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +1 -1
  287. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +1 -1
  288. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +1 -1
  289. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +1 -1
  290. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +1 -1
  291. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +1 -1
  292. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +1 -1
  293. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +1 -1
  294. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +1 -1
  295. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +1 -1
  296. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +1 -1
  297. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +1 -1
  298. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +1 -1
  299. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +1 -1
  300. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +1 -1
  301. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +1 -1
  302. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +1 -1
  303. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +1 -1
  304. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +1 -1
  305. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +50 -0
  306. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -0
  307. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +1 -1
  308. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +1 -1
  309. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +1 -1
  310. package/.output/server/chunks/routes/api/projects/menu.get.mjs +1 -1
  311. package/.output/server/chunks/routes/api/projects/overview.get.mjs +1 -1
  312. package/.output/server/chunks/routes/api/projects.get.mjs +1 -1
  313. package/.output/server/chunks/routes/api/search.get.mjs +1 -1
  314. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +1 -1
  315. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +1 -1
  316. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +1 -1
  317. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +1 -1
  318. package/.output/server/chunks/routes/api/settings/ai.get.mjs +1 -1
  319. package/.output/server/chunks/routes/api/settings/ai.put.mjs +1 -1
  320. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +1 -1
  321. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +1 -1
  322. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +40 -0
  323. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -0
  324. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +46 -0
  325. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -0
  326. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +1 -1
  327. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +1 -1
  328. package/.output/server/chunks/routes/api/stream.get.mjs +1 -1
  329. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +1 -1
  330. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +1 -1
  331. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +1 -1
  332. package/.output/server/chunks/routes/api/tags/_id_.put.mjs +1 -1
  333. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +1 -1
  334. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +1 -1
  335. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +1 -1
  336. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +1 -1
  337. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +1 -1
  338. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +1 -1
  339. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +1 -1
  340. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +1 -1
  341. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +1 -1
  342. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +1 -1
  343. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +1 -1
  344. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +1 -1
  345. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +1 -1
  346. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +1 -1
  347. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +1 -1
  348. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +1 -1
  349. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +1 -1
  350. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +1 -1
  351. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +1 -1
  352. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +1 -1
  353. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +1 -1
  354. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +1 -1
  355. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +1 -1
  356. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +1 -1
  357. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +1 -1
  358. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +1 -1
  359. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +1 -1
  360. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +1 -1
  361. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +1 -1
  362. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +1 -1
  363. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +1 -1
  364. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +1 -1
  365. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +1 -1
  366. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +3 -1
  367. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +2 -1
  369. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/traces/check.post.mjs +1 -1
  371. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +1 -1
  372. package/.output/server/chunks/routes/api/users/_id/index.get.mjs +1 -1
  373. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +1 -1
  374. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +1 -1
  375. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +1 -1
  376. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +1 -1
  377. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
  378. package/.output/server/chunks/routes/api/users/_id_.patch.mjs +1 -1
  379. package/.output/server/chunks/routes/api/version.get.mjs +1 -1
  380. package/.output/server/chunks/routes/mcp.post.mjs +1 -1
  381. package/.output/server/chunks/routes/renderer.mjs +1 -1
  382. package/.output/server/database/migrations/0037_tired_hellion.sql +1 -0
  383. package/.output/server/database/migrations/0038_glamorous_ulik.sql +1 -0
  384. package/.output/server/database/migrations/meta/0037_snapshot.json +3384 -0
  385. package/.output/server/database/migrations/meta/0038_snapshot.json +3391 -0
  386. package/.output/server/database/migrations/meta/_journal.json +14 -0
  387. package/.output/server/database/migrations-pg/0038_tranquil_moira_mactaggert.sql +1 -0
  388. package/.output/server/database/migrations-pg/0039_fat_starjammers.sql +1 -0
  389. package/.output/server/database/migrations-pg/meta/0038_snapshot.json +4027 -0
  390. package/.output/server/database/migrations-pg/meta/0039_snapshot.json +4033 -0
  391. package/.output/server/database/migrations-pg/meta/_journal.json +14 -0
  392. package/.output/server/index.mjs +1 -1
  393. package/.output/server/package.json +1 -1
  394. package/package.json +1 -1
  395. package/.output/public/_nuxt/2kfkdDTz.js +0 -1
  396. package/.output/public/_nuxt/BXEDsEwG.js +0 -1
  397. package/.output/public/_nuxt/BbgBGuMG.js +0 -1
  398. package/.output/public/_nuxt/CJGJI2Of.js +0 -34
  399. package/.output/public/_nuxt/Ce4EdfL_.js +0 -4
  400. package/.output/public/_nuxt/CkpB9oBr.js +0 -1
  401. package/.output/public/_nuxt/D1tZEdSi.js +0 -1
  402. package/.output/public/_nuxt/DK9uMTYX.js +0 -1
  403. package/.output/public/_nuxt/YDWXnWou.js +0 -1
  404. package/.output/public/_nuxt/builds/meta/f549de31-8db6-4504-b526-482778a55eba.json +0 -1
  405. package/.output/public/_nuxt/entry.BxXHl1Vy.css +0 -1
  406. package/.output/public/_nuxt/wCQds5_f.js +0 -1
  407. package/.output/server/chunks/build/BrowserBadge-BTA4QU_J.mjs.map +0 -1
  408. package/.output/server/chunks/build/ChartCard-BqAhMip2.mjs.map +0 -1
  409. package/.output/server/chunks/build/Checkbox-_1nGm_DR.mjs.map +0 -1
  410. package/.output/server/chunks/build/CiEnvCard-DAufYuJw.mjs.map +0 -1
  411. package/.output/server/chunks/build/CodeBlock-BVKHuYjU.mjs.map +0 -1
  412. package/.output/server/chunks/build/DashboardNavbar-BR6j4VLd.mjs.map +0 -1
  413. package/.output/server/chunks/build/DiagnosisPanel-BnrdXDvd.mjs.map +0 -1
  414. package/.output/server/chunks/build/EnvManagedBadge-DdnEtjIl.mjs.map +0 -1
  415. package/.output/server/chunks/build/HelpHint-D_GJzMpW.mjs.map +0 -1
  416. package/.output/server/chunks/build/Modal-COIjm3js.mjs.map +0 -1
  417. package/.output/server/chunks/build/ProjectTestCasesTable-XFBPQGIX.mjs.map +0 -1
  418. package/.output/server/chunks/build/RunReports-ChNkmuWa.mjs.map +0 -1
  419. package/.output/server/chunks/build/RunStatusBadge-CXpuCUGQ.mjs.map +0 -1
  420. package/.output/server/chunks/build/SectionCard-zs9FDzps.mjs.map +0 -1
  421. package/.output/server/chunks/build/Select-r3S5nkSY.mjs.map +0 -1
  422. package/.output/server/chunks/build/Separator-pqpPG0up.mjs.map +0 -1
  423. package/.output/server/chunks/build/SettingsField-Wdpzlt13.mjs.map +0 -1
  424. package/.output/server/chunks/build/Slideover-02XjJjn0.mjs.map +0 -1
  425. package/.output/server/chunks/build/Switch-gx_JXgCo.mjs.map +0 -1
  426. package/.output/server/chunks/build/Table-C64RrBp3.mjs.map +0 -1
  427. package/.output/server/chunks/build/TestStatusBar--u4VX_Xf.mjs.map +0 -1
  428. package/.output/server/chunks/build/Tooltip-ui_BVvqr.mjs.map +0 -1
  429. package/.output/server/chunks/build/VisuallyHiddenInput-mMsqmkjz.mjs.map +0 -1
  430. package/.output/server/chunks/build/_id_-R6KGfZOC.mjs.map +0 -1
  431. package/.output/server/chunks/build/_id_-pkxJKe17.mjs.map +0 -1
  432. package/.output/server/chunks/build/about-CmtGYbC6.mjs.map +0 -1
  433. package/.output/server/chunks/build/account-AbLuwiZP.mjs.map +0 -1
  434. package/.output/server/chunks/build/ai-DR_slopS.mjs.map +0 -1
  435. package/.output/server/chunks/build/analytics-BbT2-Tr-.mjs.map +0 -1
  436. package/.output/server/chunks/build/db.client-DlA_u5y9.mjs.map +0 -1
  437. package/.output/server/chunks/build/default-D6diRCW0.mjs.map +0 -1
  438. package/.output/server/chunks/build/edit-CNV4xdYj.mjs.map +0 -1
  439. package/.output/server/chunks/build/help-content-BMumoQQF.mjs.map +0 -1
  440. package/.output/server/chunks/build/index-DmHBPf7T.mjs.map +0 -1
  441. package/.output/server/chunks/build/index-Dw526KXV.mjs.map +0 -1
  442. package/.output/server/chunks/build/index-dwYB76GO.mjs.map +0 -1
  443. package/.output/server/chunks/build/index-rSHkKNna.mjs.map +0 -1
  444. package/.output/server/chunks/build/isValueEqualOrExist-DTJ5ejZs.mjs.map +0 -1
  445. package/.output/server/chunks/build/login-Da5C8jP2.mjs.map +0 -1
  446. package/.output/server/chunks/build/mcp-DM1t-9L_.mjs.map +0 -1
  447. package/.output/server/chunks/build/notifications-BTPF0xA7.mjs.map +0 -1
  448. package/.output/server/chunks/build/settings-Bmw_JdBS.mjs.map +0 -1
  449. package/.output/server/chunks/build/settings-metadata-CksLgMun.mjs.map +0 -1
  450. package/.output/server/chunks/build/storage-BqR4acgi.mjs.map +0 -1
  451. package/.output/server/chunks/build/tags-miPAzIr3.mjs.map +0 -1
  452. package/.output/server/chunks/build/test-cases-D-LqhLpk.mjs.map +0 -1
  453. package/.output/server/chunks/build/useAiStatus-FwqbA4gz.mjs.map +0 -1
  454. package/.output/server/chunks/build/useSettingsNav-v_dFuTw9.mjs.map +0 -1
  455. package/.output/server/chunks/build/users-D-GDKZmZ.mjs.map +0 -1
  456. package/.output/server/chunks/build/virtualizer-BcC1XuFf.mjs.map +0 -1
  457. package/.output/server/chunks/build/wasted-time-CFmeT_e2.mjs.map +0 -1
@@ -1,12 +1,13 @@
1
- import { _ as __nuxt_component_11 } from './SectionCard-zs9FDzps.mjs';
2
- import { j as useToast, o as _sfc_main$p, m as _sfc_main$k, w as __nuxt_component_7 } from './server.mjs';
3
- import { _ as __nuxt_component_2 } from './EnvManagedBadge-DdnEtjIl.mjs';
1
+ import { _ as __nuxt_component_11 } from './SectionCard-COd9TuDq.mjs';
2
+ import { j as useToast, m as _sfc_main$k, o as _sfc_main$p, w as __nuxt_component_7 } from './server.mjs';
3
+ import { _ as __nuxt_component_3 } from './EnvManagedBadge-Qpn58Nmr.mjs';
4
4
  import { _ as _sfc_main$1 } from './FormField-B-GSn_VR.mjs';
5
- import { _ as _sfc_main$2 } from './Select-r3S5nkSY.mjs';
6
- import { q as formatBytes } from './index-DmHBPf7T.mjs';
7
- import { defineComponent, withAsyncContext, ref, withCtx, unref, createVNode, createTextVNode, openBlock, createBlock, Fragment, renderList, toDisplayString, createCommentVNode, isRef, useSSRContext } from 'vue';
8
- import { ssrRenderComponent, ssrRenderList, ssrInterpolate } from 'vue/server-renderer';
9
- import { e as envVarsByCategory, g as getEnvVarMeta } from './HelpHint-D_GJzMpW.mjs';
5
+ import { _ as _sfc_main$2 } from './Select-COwTIQlV.mjs';
6
+ import { q as formatBytes } from './index-CULN3-en.mjs';
7
+ import { defineComponent, withAsyncContext, computed, ref, withCtx, unref, openBlock, createBlock, createVNode, toDisplayString, createCommentVNode, createTextVNode, Fragment, renderList, isRef, useSSRContext } from 'vue';
8
+ import { ssrRenderComponent, ssrInterpolate, ssrRenderList } from 'vue/server-renderer';
9
+ import { e as envVarsByCategory, g as getEnvVarMeta } from './HelpHint-YEMWtKu1.mjs';
10
+ import { u as useCopy } from './useCopy-BQQKcwlq.mjs';
10
11
  import { u as useFetch } from './fetch-8kznMtBM.mjs';
11
12
  import './Card-BQP_oZkQ.mjs';
12
13
  import '../nitro/nitro.mjs';
@@ -53,12 +54,11 @@ import 'unhead/server';
53
54
  import 'devalue';
54
55
  import 'unhead/plugins';
55
56
  import 'unhead/utils';
56
- import './Tooltip-ui_BVvqr.mjs';
57
+ import './Tooltip-7vwuDPrZ.mjs';
57
58
  import './Label-DBvbHd3A.mjs';
58
59
  import './useFormControl-DFTjniPG.mjs';
59
60
  import 'date-fns';
60
- import './help-content-BMumoQQF.mjs';
61
- import './useCopy-BQQKcwlq.mjs';
61
+ import './help-content-DmFnuhNu.mjs';
62
62
  import '@vue/shared';
63
63
 
64
64
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -67,11 +67,29 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
67
67
  async setup(__props) {
68
68
  let __temp, __restore;
69
69
  useToast();
70
+ const { copy } = useCopy();
70
71
  const { data: stats, refresh, pending } = ([__temp, __restore] = withAsyncContext(() => useFetch(
71
72
  "/api/admin/stats",
72
73
  "$-MAlPFSlMr"
73
74
  /* nuxt-injected */
74
75
  )), __temp = await __temp, __restore(), __temp);
76
+ const { data: reporterConfig } = ([__temp, __restore] = withAsyncContext(() => useFetch(
77
+ "/api/desktop/reporter-config",
78
+ { default: () => null },
79
+ "$w9XS1YZFXM"
80
+ /* nuxt-injected */
81
+ )), __temp = await __temp, __restore(), __temp);
82
+ const reporterSnippet = computed(() => {
83
+ const c = reporterConfig.value;
84
+ if (!c) return "";
85
+ return `reporter: [
86
+ ['@piwitests/reporter', {
87
+ serverUrl: '${c.url}',
88
+ projectName: 'my-project',
89
+ apiKey: '${c.token}',
90
+ }],
91
+ ],`;
92
+ });
75
93
  const storageEnvVars = envVarsByCategory("storage").map((name) => ({
76
94
  name,
77
95
  ...getEnvVarMeta(name)
@@ -90,13 +108,172 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
90
108
  const cleaning = ref(false);
91
109
  return (_ctx, _push, _parent, _attrs) => {
92
110
  const _component_SectionCard = __nuxt_component_11;
93
- const _component_UIcon = _sfc_main$p;
94
- const _component_EnvManagedBadge = __nuxt_component_2;
95
111
  const _component_UButton = _sfc_main$k;
112
+ const _component_UIcon = _sfc_main$p;
113
+ const _component_EnvManagedBadge = __nuxt_component_3;
96
114
  const _component_UFormField = _sfc_main$1;
97
115
  const _component_USelect = _sfc_main$2;
98
116
  const _component_ClientOnly = __nuxt_component_7;
99
117
  _push(`<!--[--><div class="space-y-6">`);
118
+ _push(ssrRenderComponent(_component_SectionCard, {
119
+ icon: "i-lucide-folder-open",
120
+ title: "Data location"
121
+ }, {
122
+ subtitle: withCtx((_, _push2, _parent2, _scopeId) => {
123
+ if (_push2) {
124
+ _push2(` Where this instance keeps its database and files on disk. `);
125
+ } else {
126
+ return [
127
+ createTextVNode(" Where this instance keeps its database and files on disk. ")
128
+ ];
129
+ }
130
+ }),
131
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
132
+ if (_push2) {
133
+ if (unref(stats)) {
134
+ _push2(`<div class="space-y-4 text-sm"${_scopeId}><div class="space-y-1"${_scopeId}><div class="text-muted"${_scopeId}>Database</div><div class="flex items-start gap-2"${_scopeId}><code class="text-xs break-all flex-1"${_scopeId}>${ssrInterpolate(unref(stats).databaseLocation)}</code>`);
135
+ _push2(ssrRenderComponent(_component_UButton, {
136
+ icon: "i-lucide-copy",
137
+ color: "neutral",
138
+ variant: "ghost",
139
+ size: "xs",
140
+ "aria-label": "Copy database location",
141
+ onClick: ($event) => unref(copy)(unref(stats).databaseLocation, { toast: true })
142
+ }, null, _parent2, _scopeId));
143
+ _push2(`</div></div><div class="space-y-1"${_scopeId}><div class="text-muted"${_scopeId}>File storage</div><div class="flex items-start gap-2"${_scopeId}><code class="text-xs break-all flex-1"${_scopeId}>${ssrInterpolate(unref(stats).storageLocation)}</code>`);
144
+ _push2(ssrRenderComponent(_component_UButton, {
145
+ icon: "i-lucide-copy",
146
+ color: "neutral",
147
+ variant: "ghost",
148
+ size: "xs",
149
+ "aria-label": "Copy storage location",
150
+ onClick: ($event) => unref(copy)(unref(stats).storageLocation, { toast: true })
151
+ }, null, _parent2, _scopeId));
152
+ _push2(`</div></div></div>`);
153
+ } else {
154
+ _push2(`<!---->`);
155
+ }
156
+ } else {
157
+ return [
158
+ unref(stats) ? (openBlock(), createBlock("div", {
159
+ key: 0,
160
+ class: "space-y-4 text-sm"
161
+ }, [
162
+ createVNode("div", { class: "space-y-1" }, [
163
+ createVNode("div", { class: "text-muted" }, "Database"),
164
+ createVNode("div", { class: "flex items-start gap-2" }, [
165
+ createVNode("code", { class: "text-xs break-all flex-1" }, toDisplayString(unref(stats).databaseLocation), 1),
166
+ createVNode(_component_UButton, {
167
+ icon: "i-lucide-copy",
168
+ color: "neutral",
169
+ variant: "ghost",
170
+ size: "xs",
171
+ "aria-label": "Copy database location",
172
+ onClick: ($event) => unref(copy)(unref(stats).databaseLocation, { toast: true })
173
+ }, null, 8, ["onClick"])
174
+ ])
175
+ ]),
176
+ createVNode("div", { class: "space-y-1" }, [
177
+ createVNode("div", { class: "text-muted" }, "File storage"),
178
+ createVNode("div", { class: "flex items-start gap-2" }, [
179
+ createVNode("code", { class: "text-xs break-all flex-1" }, toDisplayString(unref(stats).storageLocation), 1),
180
+ createVNode(_component_UButton, {
181
+ icon: "i-lucide-copy",
182
+ color: "neutral",
183
+ variant: "ghost",
184
+ size: "xs",
185
+ "aria-label": "Copy storage location",
186
+ onClick: ($event) => unref(copy)(unref(stats).storageLocation, { toast: true })
187
+ }, null, 8, ["onClick"])
188
+ ])
189
+ ])
190
+ ])) : createCommentVNode("", true)
191
+ ];
192
+ }
193
+ }),
194
+ _: 1
195
+ }, _parent));
196
+ if (unref(reporterConfig)) {
197
+ _push(ssrRenderComponent(_component_SectionCard, {
198
+ icon: "i-lucide-upload",
199
+ title: "Send results to this app"
200
+ }, {
201
+ subtitle: withCtx((_, _push2, _parent2, _scopeId) => {
202
+ if (_push2) {
203
+ _push2(` Point the Playwright reporter at this desktop app. The access token is a local secret — prefer setting it via the <code${_scopeId}>PIWI_API_KEY</code> env var over committing it. `);
204
+ } else {
205
+ return [
206
+ createTextVNode(" Point the Playwright reporter at this desktop app. The access token is a local secret — prefer setting it via the "),
207
+ createVNode("code", null, "PIWI_API_KEY"),
208
+ createTextVNode(" env var over committing it. ")
209
+ ];
210
+ }
211
+ }),
212
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
213
+ if (_push2) {
214
+ _push2(`<div class="space-y-3 text-sm"${_scopeId}><div class="space-y-1"${_scopeId}><div class="text-muted"${_scopeId}>Access token</div><div class="flex items-start gap-2"${_scopeId}><code class="text-xs break-all flex-1"${_scopeId}>${ssrInterpolate(unref(reporterConfig).token)}</code>`);
215
+ _push2(ssrRenderComponent(_component_UButton, {
216
+ icon: "i-lucide-copy",
217
+ color: "neutral",
218
+ variant: "ghost",
219
+ size: "xs",
220
+ "aria-label": "Copy access token",
221
+ onClick: ($event) => unref(copy)(unref(reporterConfig).token, { toast: true })
222
+ }, null, _parent2, _scopeId));
223
+ _push2(`</div></div><div class="space-y-1"${_scopeId}><div class="text-muted"${_scopeId}>playwright.config.ts</div><div class="relative"${_scopeId}><pre class="text-xs bg-gray-50 dark:bg-gray-900 rounded-md p-3 overflow-x-auto"${_scopeId}><code${_scopeId}>${ssrInterpolate(unref(reporterSnippet))}</code></pre>`);
224
+ _push2(ssrRenderComponent(_component_UButton, {
225
+ icon: "i-lucide-copy",
226
+ color: "neutral",
227
+ variant: "ghost",
228
+ size: "xs",
229
+ class: "absolute top-2 right-2",
230
+ "aria-label": "Copy config snippet",
231
+ onClick: ($event) => unref(copy)(unref(reporterSnippet), { toast: true })
232
+ }, null, _parent2, _scopeId));
233
+ _push2(`</div></div></div>`);
234
+ } else {
235
+ return [
236
+ createVNode("div", { class: "space-y-3 text-sm" }, [
237
+ createVNode("div", { class: "space-y-1" }, [
238
+ createVNode("div", { class: "text-muted" }, "Access token"),
239
+ createVNode("div", { class: "flex items-start gap-2" }, [
240
+ createVNode("code", { class: "text-xs break-all flex-1" }, toDisplayString(unref(reporterConfig).token), 1),
241
+ createVNode(_component_UButton, {
242
+ icon: "i-lucide-copy",
243
+ color: "neutral",
244
+ variant: "ghost",
245
+ size: "xs",
246
+ "aria-label": "Copy access token",
247
+ onClick: ($event) => unref(copy)(unref(reporterConfig).token, { toast: true })
248
+ }, null, 8, ["onClick"])
249
+ ])
250
+ ]),
251
+ createVNode("div", { class: "space-y-1" }, [
252
+ createVNode("div", { class: "text-muted" }, "playwright.config.ts"),
253
+ createVNode("div", { class: "relative" }, [
254
+ createVNode("pre", { class: "text-xs bg-gray-50 dark:bg-gray-900 rounded-md p-3 overflow-x-auto" }, [
255
+ createVNode("code", null, toDisplayString(unref(reporterSnippet)), 1)
256
+ ]),
257
+ createVNode(_component_UButton, {
258
+ icon: "i-lucide-copy",
259
+ color: "neutral",
260
+ variant: "ghost",
261
+ size: "xs",
262
+ class: "absolute top-2 right-2",
263
+ "aria-label": "Copy config snippet",
264
+ onClick: ($event) => unref(copy)(unref(reporterSnippet), { toast: true })
265
+ }, null, 8, ["onClick"])
266
+ ])
267
+ ])
268
+ ])
269
+ ];
270
+ }
271
+ }),
272
+ _: 1
273
+ }, _parent));
274
+ } else {
275
+ _push(`<!---->`);
276
+ }
100
277
  _push(ssrRenderComponent(_component_SectionCard, {
101
278
  icon: "i-lucide-server",
102
279
  title: "Storage backend",
@@ -335,4 +512,4 @@ _sfc_main.setup = (props, ctx) => {
335
512
  };
336
513
 
337
514
  export { _sfc_main as default };
338
- //# sourceMappingURL=storage-BqR4acgi.mjs.map
515
+ //# sourceMappingURL=storage-CM-Pd-9E.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-CM-Pd-9E.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/storage-CM-Pd-9E.js"],"names":["_sfc_main$1","_sfc_main$2","_sfc_main$3","_sfc_main$4"],"mappings":"","x_google_ignoreList":[0]}
@@ -1,15 +1,15 @@
1
- import { _ as __nuxt_component_11 } from './SectionCard-zs9FDzps.mjs';
1
+ import { _ as __nuxt_component_11 } from './SectionCard-COd9TuDq.mjs';
2
2
  import { j as useToast, s as useAuth, m as _sfc_main$k, o as _sfc_main$p, w as __nuxt_component_7, r as useRuntimeConfig } from './server.mjs';
3
- import { _ as _sfc_main$1 } from './Table-C64RrBp3.mjs';
3
+ import { _ as _sfc_main$1 } from './Table-CPhhVzDv.mjs';
4
4
  import { _ as __nuxt_component_4 } from './TagBadge-BDcvvGxw.mjs';
5
- import { p as prettyDateFormat } from './index-DmHBPf7T.mjs';
5
+ import { p as prettyDateFormat } from './index-CULN3-en.mjs';
6
6
  import { defineComponent, withAsyncContext, computed, ref, reactive, unref, withCtx, createVNode, openBlock, createBlock, createCommentVNode, toDisplayString, useSSRContext } from 'vue';
7
7
  import { ssrRenderComponent, ssrInterpolate, ssrRenderStyle } from 'vue/server-renderer';
8
8
  import { z } from 'zod';
9
9
  import { u as useFetch } from './fetch-8kznMtBM.mjs';
10
10
  import './Card-BQP_oZkQ.mjs';
11
- import './HelpHint-D_GJzMpW.mjs';
12
- import './help-content-BMumoQQF.mjs';
11
+ import './HelpHint-YEMWtKu1.mjs';
12
+ import './help-content-DmFnuhNu.mjs';
13
13
  import './useCopy-BQQKcwlq.mjs';
14
14
  import '../nitro/nitro.mjs';
15
15
  import 'node:crypto';
@@ -359,4 +359,4 @@ _sfc_main.setup = (props, ctx) => {
359
359
  };
360
360
 
361
361
  export { _sfc_main as default };
362
- //# sourceMappingURL=tags-miPAzIr3.mjs.map
362
+ //# sourceMappingURL=tags-DrCQ7QSw.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags-DrCQ7QSw.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/tags-DrCQ7QSw.js"],"names":["_sfc_main$2","_sfc_main$3"],"mappings":"","x_google_ignoreList":[0]}
@@ -1,8 +1,8 @@
1
- import { _ as _sfc_main$1, a as _sfc_main$2 } from './DashboardNavbar-BR6j4VLd.mjs';
1
+ import { _ as _sfc_main$1, a as _sfc_main$2 } from './DashboardNavbar-Bdp-OwTN.mjs';
2
2
  import { _ as _sfc_main$1$1 } from './Breadcrumb-C9ZPTLym.mjs';
3
3
  import { _ as __nuxt_component_3 } from './BreadcrumbNav-C3y42Vun.mjs';
4
4
  import { _ as __nuxt_component_4 } from './NavbarActions-_YjrSUat.mjs';
5
- import { _ as __nuxt_component_33 } from './ProjectTestCasesTable-XFBPQGIX.mjs';
5
+ import { _ as __nuxt_component_34 } from './ProjectTestCasesTable-9418EI8J.mjs';
6
6
  import { defineComponent, withAsyncContext, ref, computed, mergeProps, withCtx, unref, createVNode, useSSRContext } from 'vue';
7
7
  import { ssrRenderComponent } from 'vue/server-renderer';
8
8
  import { u as useRoute, l as useHead } from './server.mjs';
@@ -38,27 +38,27 @@ import 'node:zlib';
38
38
  import 'consola';
39
39
  import 'node:url';
40
40
  import '@iconify/utils';
41
- import './SectionCard-zs9FDzps.mjs';
41
+ import './SectionCard-COd9TuDq.mjs';
42
42
  import './Card-BQP_oZkQ.mjs';
43
- import './HelpHint-D_GJzMpW.mjs';
44
- import './help-content-BMumoQQF.mjs';
43
+ import './HelpHint-YEMWtKu1.mjs';
44
+ import './help-content-DmFnuhNu.mjs';
45
45
  import './useCopy-BQQKcwlq.mjs';
46
46
  import './FilterToolbar-BwXy8xSk.mjs';
47
- import './Select-r3S5nkSY.mjs';
47
+ import './Select-COwTIQlV.mjs';
48
48
  import './useFormControl-DFTjniPG.mjs';
49
49
  import './LoadingState-C3pBSuOO.mjs';
50
50
  import './ErrorState-CktYyeEZ.mjs';
51
51
  import './EmptyState-DV3oT_xz.mjs';
52
52
  import './Alert-Bp1Wz_sq.mjs';
53
- import './TestStatusBar--u4VX_Xf.mjs';
54
- import './Tooltip-ui_BVvqr.mjs';
55
- import './index-DmHBPf7T.mjs';
53
+ import './TestStatusBar-CEzt76wk.mjs';
54
+ import './Tooltip-7vwuDPrZ.mjs';
55
+ import './index-CULN3-en.mjs';
56
56
  import 'date-fns';
57
- import './Table-C64RrBp3.mjs';
57
+ import './Table-CPhhVzDv.mjs';
58
58
  import '@tanstack/vue-table';
59
59
  import '@tanstack/vue-virtual';
60
- import './OpenInIdeLink-D97W6On1.mjs';
61
- import './Separator-pqpPG0up.mjs';
60
+ import './OpenInIdeLink-B92wosXu.mjs';
61
+ import './Separator-CxZdx8kw.mjs';
62
62
  import './useOpenInIde-kMZ7Jw5c.mjs';
63
63
  import './useTreeViewCookie-DVYpxW-p.mjs';
64
64
  import 'vue-router';
@@ -101,7 +101,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
101
101
  const _component_UDashboardSidebarCollapse = _sfc_main$1$1;
102
102
  const _component_BreadcrumbNav = __nuxt_component_3;
103
103
  const _component_NavbarActions = __nuxt_component_4;
104
- const _component_ProjectTestCasesTable = __nuxt_component_33;
104
+ const _component_ProjectTestCasesTable = __nuxt_component_34;
105
105
  _push(ssrRenderComponent(_component_UDashboardPanel, mergeProps({ id: "project-test-cases" }, _attrs), {
106
106
  header: withCtx((_, _push2, _parent2, _scopeId) => {
107
107
  if (_push2) {
@@ -208,4 +208,4 @@ _sfc_main.setup = (props, ctx) => {
208
208
  };
209
209
 
210
210
  export { _sfc_main as default };
211
- //# sourceMappingURL=test-cases-D-LqhLpk.mjs.map
211
+ //# sourceMappingURL=test-cases-DkGQB027.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-cases-DkGQB027.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/test-cases-DkGQB027.js"],"names":["_sfc_main$3"],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,318 @@
1
+ import { _ as __nuxt_component_11 } from './SectionCard-COd9TuDq.mjs';
2
+ import { _ as _sfc_main$1 } from './FormField-B-GSn_VR.mjs';
3
+ import { j as useToast, _ as _sfc_main$d, m as _sfc_main$k } from './server.mjs';
4
+ import { defineComponent, withAsyncContext, ref, reactive, watchEffect, mergeProps, withCtx, unref, createVNode, openBlock, createBlock, Fragment, renderList, createTextVNode, useSSRContext } from 'vue';
5
+ import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList } from 'vue/server-renderer';
6
+ import { u as useFetch } from './fetch-8kznMtBM.mjs';
7
+ import './Card-BQP_oZkQ.mjs';
8
+ import './HelpHint-YEMWtKu1.mjs';
9
+ import './help-content-DmFnuhNu.mjs';
10
+ import './useCopy-BQQKcwlq.mjs';
11
+ import './Label-DBvbHd3A.mjs';
12
+ import '../nitro/nitro.mjs';
13
+ import 'node:crypto';
14
+ import 'drizzle-orm';
15
+ import 'path';
16
+ import 'fs/promises';
17
+ import 'zlib';
18
+ import 'util';
19
+ import 'pixelmatch';
20
+ import 'sharp';
21
+ import '@anthropic-ai/sdk';
22
+ import 'nodemailer';
23
+ import 'node:util';
24
+ import 'rou3';
25
+ import 'fs';
26
+ import '@aws-sdk/client-s3';
27
+ import 'node:http';
28
+ import 'node:https';
29
+ import 'node:events';
30
+ import 'node:buffer';
31
+ import 'node:fs';
32
+ import 'node:path';
33
+ import 'drizzle-orm/libsql/sqlite3';
34
+ import 'drizzle-orm/sqlite-core';
35
+ import 'drizzle-orm/pg-core';
36
+ import 'url';
37
+ import 'node:async_hooks';
38
+ import 'node:zlib';
39
+ import 'consola';
40
+ import 'node:url';
41
+ import '@iconify/utils';
42
+ import 'vue-router';
43
+ import '@iconify/vue';
44
+ import 'tailwindcss/colors';
45
+ import 'tailwind-variants';
46
+ import '@iconify/utils/lib/css/icon';
47
+ import 'perfect-debounce';
48
+ import '@floating-ui/vue';
49
+ import 'aria-hidden';
50
+ import '../routes/renderer.mjs';
51
+ import 'vue-bundle-renderer/runtime';
52
+ import 'unhead/server';
53
+ import 'devalue';
54
+ import 'unhead/plugins';
55
+ import 'unhead/utils';
56
+ import '@vue/shared';
57
+
58
+ const _sfc_main = /* @__PURE__ */ defineComponent({
59
+ __name: "timeout-hygiene",
60
+ __ssrInlineRender: true,
61
+ async setup(__props) {
62
+ let __temp, __restore;
63
+ const toast = useToast();
64
+ const { data: settings, refresh } = ([__temp, __restore] = withAsyncContext(() => useFetch(
65
+ "/api/settings/timeout-hygiene",
66
+ "$8Luq-s6QSj"
67
+ /* nuxt-injected */
68
+ )), __temp = await __temp, __restore(), __temp);
69
+ const saving = ref(false);
70
+ const values = reactive({
71
+ minRuns: 0,
72
+ factor: 0,
73
+ floorMs: 0,
74
+ safety: 0,
75
+ recommendedFloorMs: 0,
76
+ slowStaleP95Ms: 0
77
+ });
78
+ watchEffect(() => {
79
+ if (settings.value) Object.assign(values, settings.value.thresholds);
80
+ });
81
+ const fields = [
82
+ {
83
+ key: "minRuns",
84
+ label: "Minimum runs",
85
+ description: "Executions with a duration needed before a test is judged.",
86
+ min: 1,
87
+ step: 1
88
+ },
89
+ {
90
+ key: "factor",
91
+ label: "Oversize factor (×)",
92
+ description: "Flag a timeout when it is at least this many times the test’s p95 duration.",
93
+ min: 1,
94
+ step: 0.5
95
+ },
96
+ {
97
+ key: "floorMs",
98
+ label: "Minimum headroom (ms)",
99
+ description: "Only flag when the timeout − p95 gap is at least this many ms.",
100
+ min: 0,
101
+ step: 1e3
102
+ },
103
+ {
104
+ key: "safety",
105
+ label: "Recommendation safety (×)",
106
+ description: "Recommended timeout = p95 × this.",
107
+ min: 1,
108
+ step: 0.5
109
+ },
110
+ {
111
+ key: "recommendedFloorMs",
112
+ label: "Recommendation floor (ms)",
113
+ description: "Never recommend a timeout below this many ms.",
114
+ min: 0,
115
+ step: 1e3
116
+ },
117
+ {
118
+ key: "slowStaleP95Ms",
119
+ label: "Stale slow() p95 (ms)",
120
+ description: "A test.slow() test is stale when its p95 duration stays under this.",
121
+ min: 0,
122
+ step: 1e3
123
+ }
124
+ ];
125
+ async function save() {
126
+ saving.value = true;
127
+ try {
128
+ const updated = await $fetch("/api/settings/timeout-hygiene", {
129
+ method: "PUT",
130
+ body: { thresholds: { ...values } }
131
+ });
132
+ settings.value = updated;
133
+ toast.add({ title: "Timeout-hygiene thresholds saved", color: "success" });
134
+ await refresh();
135
+ } catch (error) {
136
+ const message = error && typeof error === "object" && "data" in error ? error.data?.message : void 0;
137
+ toast.add({ title: "Save failed", description: message || "An error occurred", color: "error" });
138
+ } finally {
139
+ saving.value = false;
140
+ }
141
+ }
142
+ async function resetToDefaults() {
143
+ saving.value = true;
144
+ try {
145
+ const updated = await $fetch("/api/settings/timeout-hygiene", {
146
+ method: "PUT",
147
+ body: { thresholds: null }
148
+ });
149
+ settings.value = updated;
150
+ Object.assign(values, updated.thresholds);
151
+ toast.add({ title: "Reset to defaults", color: "success" });
152
+ await refresh();
153
+ } catch {
154
+ toast.add({ title: "Reset failed", color: "error" });
155
+ } finally {
156
+ saving.value = false;
157
+ }
158
+ }
159
+ return (_ctx, _push, _parent, _attrs) => {
160
+ const _component_SectionCard = __nuxt_component_11;
161
+ const _component_UFormField = _sfc_main$1;
162
+ const _component_UInput = _sfc_main$d;
163
+ const _component_UButton = _sfc_main$k;
164
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "space-y-6" }, _attrs))}>`);
165
+ _push(ssrRenderComponent(_component_SectionCard, {
166
+ icon: "i-lucide-scissors",
167
+ title: "Timeout hygiene",
168
+ help: "settings.timeout-hygiene"
169
+ }, {
170
+ subtitle: withCtx((_, _push2, _parent2, _scopeId) => {
171
+ if (_push2) {
172
+ _push2(` Tune how timeout opportunities are detected — oversized per-test timeouts and stale <code${_scopeId}>test.slow()</code> marks — surfaced per project (Performance tab) and in Analytics. Opportunities are recomputed when viewed, so changes apply to existing runs immediately. `);
173
+ } else {
174
+ return [
175
+ createTextVNode(" Tune how timeout opportunities are detected — oversized per-test timeouts and stale "),
176
+ createVNode("code", null, "test.slow()"),
177
+ createTextVNode(" marks — surfaced per project (Performance tab) and in Analytics. Opportunities are recomputed when viewed, so changes apply to existing runs immediately. ")
178
+ ];
179
+ }
180
+ }),
181
+ footer: withCtx((_, _push2, _parent2, _scopeId) => {
182
+ if (_push2) {
183
+ _push2(`<div class="flex items-center justify-end gap-2"${_scopeId}>`);
184
+ _push2(ssrRenderComponent(_component_UButton, {
185
+ variant: "ghost",
186
+ color: "neutral",
187
+ disabled: unref(saving),
188
+ label: "Reset to defaults",
189
+ onClick: resetToDefaults
190
+ }, null, _parent2, _scopeId));
191
+ _push2(ssrRenderComponent(_component_UButton, {
192
+ color: "primary",
193
+ loading: unref(saving),
194
+ icon: "i-lucide-save",
195
+ onClick: save
196
+ }, {
197
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
198
+ if (_push3) {
199
+ _push3(`Save`);
200
+ } else {
201
+ return [
202
+ createTextVNode("Save")
203
+ ];
204
+ }
205
+ }),
206
+ _: 1
207
+ }, _parent2, _scopeId));
208
+ _push2(`</div>`);
209
+ } else {
210
+ return [
211
+ createVNode("div", { class: "flex items-center justify-end gap-2" }, [
212
+ createVNode(_component_UButton, {
213
+ variant: "ghost",
214
+ color: "neutral",
215
+ disabled: unref(saving),
216
+ label: "Reset to defaults",
217
+ onClick: resetToDefaults
218
+ }, null, 8, ["disabled"]),
219
+ createVNode(_component_UButton, {
220
+ color: "primary",
221
+ loading: unref(saving),
222
+ icon: "i-lucide-save",
223
+ onClick: save
224
+ }, {
225
+ default: withCtx(() => [
226
+ createTextVNode("Save")
227
+ ]),
228
+ _: 1
229
+ }, 8, ["loading"])
230
+ ])
231
+ ];
232
+ }
233
+ }),
234
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
235
+ if (_push2) {
236
+ _push2(`<div class="grid grid-cols-1 gap-x-4 gap-y-3 sm:grid-cols-2"${_scopeId}><!--[-->`);
237
+ ssrRenderList(fields, (f) => {
238
+ _push2(ssrRenderComponent(_component_UFormField, {
239
+ key: f.key,
240
+ label: f.label,
241
+ description: f.description,
242
+ hint: `default ${unref(settings)?.defaults[f.key] ?? ""}`
243
+ }, {
244
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
245
+ if (_push3) {
246
+ _push3(ssrRenderComponent(_component_UInput, {
247
+ modelValue: unref(values)[f.key],
248
+ "onUpdate:modelValue": ($event) => unref(values)[f.key] = $event,
249
+ modelModifiers: { number: true },
250
+ type: "number",
251
+ min: f.min,
252
+ step: f.step,
253
+ placeholder: `default ${unref(settings)?.defaults[f.key] ?? ""}`,
254
+ class: "w-full"
255
+ }, null, _parent3, _scopeId2));
256
+ } else {
257
+ return [
258
+ createVNode(_component_UInput, {
259
+ modelValue: unref(values)[f.key],
260
+ "onUpdate:modelValue": ($event) => unref(values)[f.key] = $event,
261
+ modelModifiers: { number: true },
262
+ type: "number",
263
+ min: f.min,
264
+ step: f.step,
265
+ placeholder: `default ${unref(settings)?.defaults[f.key] ?? ""}`,
266
+ class: "w-full"
267
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "min", "step", "placeholder"])
268
+ ];
269
+ }
270
+ }),
271
+ _: 2
272
+ }, _parent2, _scopeId));
273
+ });
274
+ _push2(`<!--]--></div>`);
275
+ } else {
276
+ return [
277
+ createVNode("div", { class: "grid grid-cols-1 gap-x-4 gap-y-3 sm:grid-cols-2" }, [
278
+ (openBlock(), createBlock(Fragment, null, renderList(fields, (f) => {
279
+ return createVNode(_component_UFormField, {
280
+ key: f.key,
281
+ label: f.label,
282
+ description: f.description,
283
+ hint: `default ${unref(settings)?.defaults[f.key] ?? ""}`
284
+ }, {
285
+ default: withCtx(() => [
286
+ createVNode(_component_UInput, {
287
+ modelValue: unref(values)[f.key],
288
+ "onUpdate:modelValue": ($event) => unref(values)[f.key] = $event,
289
+ modelModifiers: { number: true },
290
+ type: "number",
291
+ min: f.min,
292
+ step: f.step,
293
+ placeholder: `default ${unref(settings)?.defaults[f.key] ?? ""}`,
294
+ class: "w-full"
295
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "min", "step", "placeholder"])
296
+ ]),
297
+ _: 2
298
+ }, 1032, ["label", "description", "hint"]);
299
+ }), 64))
300
+ ])
301
+ ];
302
+ }
303
+ }),
304
+ _: 1
305
+ }, _parent));
306
+ _push(`</div>`);
307
+ };
308
+ }
309
+ });
310
+ const _sfc_setup = _sfc_main.setup;
311
+ _sfc_main.setup = (props, ctx) => {
312
+ const ssrContext = useSSRContext();
313
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/settings/timeout-hygiene.vue");
314
+ return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
315
+ };
316
+
317
+ export { _sfc_main as default };
318
+ //# sourceMappingURL=timeout-hygiene-CNs71Iah.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout-hygiene-CNs71Iah.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/timeout-hygiene-CNs71Iah.js"],"names":["_sfc_main$2","_sfc_main$3"],"mappings":"","x_google_ignoreList":[0]}