@piwitests/server 0.15.0 → 0.17.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 (479) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{DCCMLWel.js → -9tk1FrT.js} +1 -1
  3. package/.output/public/_nuxt/26ll_vBr.js +1 -0
  4. package/.output/public/_nuxt/{BpepjHwc.js → 3QTorEhJ.js} +1 -1
  5. package/.output/public/_nuxt/{DKTDub7I.js → 3QTvYrZp.js} +1 -1
  6. package/.output/public/_nuxt/{CHSkT2s0.js → 73aPL7Ir.js} +1 -1
  7. package/.output/public/_nuxt/8jZmK2De.js +4 -0
  8. package/.output/public/_nuxt/8xyZSRSO.js +1 -0
  9. package/.output/public/_nuxt/{V1BQiRoh.js → 99tAfVF5.js} +1 -1
  10. package/.output/public/_nuxt/{BY0AkhJh.js → B1CUXGbl.js} +1 -1
  11. package/.output/public/_nuxt/B6hPf4UR.js +1 -0
  12. package/.output/public/_nuxt/{F07TcX0U.js → B6w76fJT.js} +1 -1
  13. package/.output/public/_nuxt/{B32-7cBF.js → BDcIWTTq.js} +1 -1
  14. package/.output/public/_nuxt/{OG2n3p77.js → BE8ykmwr.js} +1 -1
  15. package/.output/public/_nuxt/{rvaZFYoE.js → BEsJE07U.js} +1 -1
  16. package/.output/public/_nuxt/{DQpa8F03.js → BGZQONfm.js} +1 -1
  17. package/.output/public/_nuxt/{DZoSxwj6.js → BRdhP5lm.js} +1 -1
  18. package/.output/public/_nuxt/{n7Htv9PJ.js → BU6xjw05.js} +1 -1
  19. package/.output/public/_nuxt/{DvdOsTLb.js → BWFY2RuU.js} +1 -1
  20. package/.output/public/_nuxt/{60-Zii7v.js → B_QIrc7l.js} +1 -1
  21. package/.output/public/_nuxt/{CrFCPOnY.js → Ba4_ydKG.js} +1 -1
  22. package/.output/public/_nuxt/{BfshMo9k.js → BcLXUmKT.js} +2 -2
  23. package/.output/public/_nuxt/{CD-xwM9N.js → BciovqwK.js} +1 -1
  24. package/.output/public/_nuxt/{i38YGG9S.js → BgDEjrcz.js} +1 -1
  25. package/.output/public/_nuxt/{rWwWS3Kj.js → BoRJdCd4.js} +1 -1
  26. package/.output/public/_nuxt/{O1A-LRgV.js → Bpha13F_.js} +1 -1
  27. package/.output/public/_nuxt/{2PU-adwy.js → Bq0PQfQY.js} +1 -1
  28. package/.output/public/_nuxt/{B8fs6GU9.js → BrT_Sys2.js} +31 -31
  29. package/.output/public/_nuxt/{ETOCcsVw.js → Bua_L6p4.js} +1 -1
  30. package/.output/public/_nuxt/{nUsJV5qo.js → BwKwWgQe.js} +1 -1
  31. package/.output/public/_nuxt/{4fB15L_7.js → BxRsAYRS.js} +1 -1
  32. package/.output/public/_nuxt/{DVdOm5Bg.js → ByoIgYX_.js} +1 -1
  33. package/.output/public/_nuxt/{Bq2ZPvIH.js → C7nwFokE.js} +1 -1
  34. package/.output/public/_nuxt/CEuVRSr0.js +3 -0
  35. package/.output/public/_nuxt/{CokbKVE6.js → CHHqhAsw.js} +1 -1
  36. package/.output/public/_nuxt/{BBJ9Pu3M.js → CHIbdzqp.js} +1 -1
  37. package/.output/public/_nuxt/{C9jjVEQU.js → CMB-NkFa.js} +1 -1
  38. package/.output/public/_nuxt/{CU-OXXdh.js → CNULGfLp.js} +1 -1
  39. package/.output/public/_nuxt/{Surk4Lw-.js → COVRAesU.js} +1 -1
  40. package/.output/public/_nuxt/{h-e-Ca3f.js → CSAmL8XJ.js} +1 -1
  41. package/.output/public/_nuxt/{CHgsEM4U.js → CWmQcueG.js} +1 -1
  42. package/.output/public/_nuxt/{BgR7oL4p.js → CYuWAvXE.js} +1 -1
  43. package/.output/public/_nuxt/CbuWynGG.js +1 -0
  44. package/.output/public/_nuxt/{CIOQo6gB.js → Ce3tBrN7.js} +1 -1
  45. package/.output/public/_nuxt/{DNP5tTJo.js → Cf4h8qty.js} +1 -1
  46. package/.output/public/_nuxt/{B9Q_4Mjt.js → Cl96oI21.js} +1 -1
  47. package/.output/public/_nuxt/{PPFO8UVt.js → ClJkng9p.js} +1 -1
  48. package/.output/public/_nuxt/{B32ySRXg.js → CoKEjZX7.js} +1 -1
  49. package/.output/public/_nuxt/CvtYJHkY.js +1 -0
  50. package/.output/public/_nuxt/{BCK4f6Y3.js → CxLN5Tmq.js} +1 -1
  51. package/.output/public/_nuxt/{ChWPXucC.js → Cz2HhsB6.js} +1 -1
  52. package/.output/public/_nuxt/{B_80i5Ge.js → D0-HTQTD.js} +1 -1
  53. package/.output/public/_nuxt/{CHMpVLqo.js → D13ybpY3.js} +1 -1
  54. package/.output/public/_nuxt/{CvCF77E-.js → D7P0ML0H.js} +2 -2
  55. package/.output/public/_nuxt/{BW1UOxWn.js → D811X8KM.js} +1 -1
  56. package/.output/public/_nuxt/DATh_1DQ.js +1 -0
  57. package/.output/public/_nuxt/{BEKwVcvQ.js → DAeYmPfX.js} +1 -1
  58. package/.output/public/_nuxt/DCffDvxl.js +1 -0
  59. package/.output/public/_nuxt/DDPptydi.js +2 -0
  60. package/.output/public/_nuxt/{DkFbpSsi.js → DFM2jv9I.js} +1 -1
  61. package/.output/public/_nuxt/{D4nLD93c.js → DJHNEqb7.js} +1 -1
  62. package/.output/public/_nuxt/{DaKVSp-6.js → DPSOtRoz.js} +1 -1
  63. package/.output/public/_nuxt/{DYDGGqZ3.js → DRTxhZBV.js} +1 -1
  64. package/.output/public/_nuxt/{Cgr8IKY4.js → DS9yGVFL.js} +1 -1
  65. package/.output/public/_nuxt/{Cfk2_UCm.js → DT5rhzhJ.js} +1 -1
  66. package/.output/public/_nuxt/{DFw8I2FL.js → DTH2lteW.js} +1 -1
  67. package/.output/public/_nuxt/DUe6xuKQ.js +1 -0
  68. package/.output/public/_nuxt/D_A6axXa.js +1 -0
  69. package/.output/public/_nuxt/D_TbJDHY.js +1 -0
  70. package/.output/public/_nuxt/{B59-l1Cv.js → Df3QtbpW.js} +1 -1
  71. package/.output/public/_nuxt/{BkhdAGx0.js → DjRhouSr.js} +1 -1
  72. package/.output/public/_nuxt/Dn6cGVYB.js +1 -0
  73. package/.output/public/_nuxt/{0KrkW531.js → DpJrGwCr.js} +2 -2
  74. package/.output/public/_nuxt/DqsMiUoW.js +2 -0
  75. package/.output/public/_nuxt/{C7RarFGi.js → Ds2Y3oms.js} +1 -1
  76. package/.output/public/_nuxt/Ds4Lb1vi.js +7 -0
  77. package/.output/public/_nuxt/{DWzdeQ3Z.js → DtXREpk_.js} +1 -1
  78. package/.output/public/_nuxt/{Dejf0f7D.js → DvC5Adg1.js} +3 -3
  79. package/.output/public/_nuxt/{o5WQ5Z7k.js → DvXvJzFP.js} +1 -1
  80. package/.output/public/_nuxt/{DAeYEeCC.js → Dvc1aWpA.js} +1 -1
  81. package/.output/public/_nuxt/{DzbOHjZH.js → DwZiG9xH.js} +1 -1
  82. package/.output/public/_nuxt/Dx1oCMgy.js +47 -0
  83. package/.output/public/_nuxt/{BGsuOpiq.js → DxQq_L07.js} +1 -1
  84. package/.output/public/_nuxt/{CqA3gM8h.js → Dym66h3p.js} +1 -1
  85. package/.output/public/_nuxt/{CNzoIhwN.js → Dz3Wbekz.js} +1 -1
  86. package/.output/public/_nuxt/HCK35QD8.js +1 -0
  87. package/.output/public/_nuxt/{Cpquifvd.js → L6HlmmEa.js} +1 -1
  88. package/.output/public/_nuxt/{BMQIO38j.js → PxPbRVF-.js} +1 -1
  89. package/.output/public/_nuxt/{DiUGa0CT.js → QFMx1VKs.js} +1 -1
  90. package/.output/public/_nuxt/{DHVmXA9K.js → Sgf5OLhm.js} +1 -1
  91. package/.output/public/_nuxt/US3YSX4T.js +1 -0
  92. package/.output/public/_nuxt/{DZLrAp2i.js → Wfk1m0ni.js} +1 -1
  93. package/.output/public/_nuxt/builds/latest.json +1 -1
  94. package/.output/public/_nuxt/builds/meta/05a2dd95-d1c1-4e3a-8625-ac6bfea83837.json +1 -0
  95. package/.output/public/_nuxt/{too3WhRB.js → cBj9fai9.js} +1 -1
  96. package/.output/public/_nuxt/{DxXZN6ed.js → csqspBeX.js} +1 -1
  97. package/.output/public/_nuxt/entry.BaIGwMjT.css +1 -0
  98. package/.output/public/_nuxt/{__m3KqHO.js → jlBi8Byu.js} +1 -1
  99. package/.output/public/_nuxt/{Dv2B_nw_.js → lCkcEykv.js} +1 -1
  100. package/.output/public/_nuxt/qYFZH4Z8.js +34 -0
  101. package/.output/public/_nuxt/{3SnTawZW.js → r3SBLxtE.js} +1 -1
  102. package/.output/public/_nuxt/{DI_-kFec.js → r9WApUfF.js} +1 -1
  103. package/.output/public/_nuxt/{BC_Wu-fv.js → rw7Hdll3.js} +1 -1
  104. package/.output/public/_nuxt/{IdQR_Djw.js → sMFaPAAR.js} +1 -1
  105. package/.output/public/_nuxt/{CKZn0TUX.js → vzXhOO8R.js} +1 -1
  106. package/.output/public/_nuxt/{CFn3w5jn.js → yZ4LuI9d.js} +1 -1
  107. package/.output/public/_nuxt/{BtJkQ3to.js → z7PmsnBG.js} +1 -1
  108. package/.output/public/_nuxt/{lRMjXqiA.js → za5M7BGh.js} +1 -1
  109. package/.output/public/demo/seed.version.json +2 -2
  110. package/.output/public/sw.js +1 -1
  111. package/.output/server/chunks/_/markers.mjs +1 -1
  112. package/.output/server/chunks/_/users.mjs +1 -1
  113. package/.output/server/chunks/build/{BrowserBadge-BTA4QU_J.mjs → BrowserBadge-DNCp9pF-.mjs} +3 -3
  114. package/.output/server/chunks/build/BrowserBadge-DNCp9pF-.mjs.map +1 -0
  115. package/.output/server/chunks/build/{ChartCard-BqAhMip2.mjs → ChartCard-Fr557IbV.mjs} +2 -2
  116. package/.output/server/chunks/build/ChartCard-Fr557IbV.mjs.map +1 -0
  117. package/.output/server/chunks/build/{Checkbox-_1nGm_DR.mjs → Checkbox-cVOSIY93.mjs} +6 -6
  118. package/.output/server/chunks/build/Checkbox-cVOSIY93.mjs.map +1 -0
  119. package/.output/server/chunks/build/{CiEnvCard-DAufYuJw.mjs → CiEnvCard-DXPOhdSG.mjs} +5 -5
  120. package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs.map +1 -0
  121. package/.output/server/chunks/build/{CodeBlock-BVKHuYjU.mjs → CodeBlock-BGwNmJ8J.mjs} +2 -2
  122. package/.output/server/chunks/build/CodeBlock-BGwNmJ8J.mjs.map +1 -0
  123. package/.output/server/chunks/build/{DashboardNavbar-BR6j4VLd.mjs → DashboardNavbar-Bdp-OwTN.mjs} +2 -2
  124. package/.output/server/chunks/build/DashboardNavbar-Bdp-OwTN.mjs.map +1 -0
  125. package/.output/server/chunks/build/DashboardSidebarToggle-Ji6ADuqF.mjs +1 -1
  126. package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs +102 -0
  127. package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs.map +1 -0
  128. package/.output/server/chunks/build/DesktopMcpCard-B4JuUTKj.mjs +122 -0
  129. package/.output/server/chunks/build/DesktopMcpCard-B4JuUTKj.mjs.map +1 -0
  130. package/.output/server/chunks/build/{DiagnosisPanel-BnrdXDvd.mjs → DiagnosisPanel-DV1xwGu4.mjs} +6 -6
  131. package/.output/server/chunks/build/DiagnosisPanel-DV1xwGu4.mjs.map +1 -0
  132. package/.output/server/chunks/build/EntityLinks-DeOP13Kr.mjs +1 -1
  133. package/.output/server/chunks/build/{EnvManagedBadge-DdnEtjIl.mjs → EnvManagedBadge-Qpn58Nmr.mjs} +5 -5
  134. package/.output/server/chunks/build/EnvManagedBadge-Qpn58Nmr.mjs.map +1 -0
  135. package/.output/server/chunks/build/{HelpHint-D_GJzMpW.mjs → HelpHint-YEMWtKu1.mjs} +18 -2
  136. package/.output/server/chunks/build/HelpHint-YEMWtKu1.mjs.map +1 -0
  137. package/.output/server/chunks/build/{Modal-COIjm3js.mjs → Modal-CfA78Hm1.mjs} +2 -2
  138. package/.output/server/chunks/build/Modal-CfA78Hm1.mjs.map +1 -0
  139. package/.output/server/chunks/build/{OpenInIdeLink-D97W6On1.mjs → OpenInIdeLink-B92wosXu.mjs} +3 -3
  140. package/.output/server/chunks/build/{OpenInIdeLink-D97W6On1.mjs.map → OpenInIdeLink-B92wosXu.mjs.map} +1 -1
  141. package/.output/server/chunks/build/{PageStateCard-C1HFN4Nv.mjs → PageStateCard-Bwee6JTk.mjs} +10 -10
  142. package/.output/server/chunks/build/{PageStateCard-C1HFN4Nv.mjs.map → PageStateCard-Bwee6JTk.mjs.map} +1 -1
  143. package/.output/server/chunks/build/{ProjectTestCasesTable-XFBPQGIX.mjs → ProjectTestCasesTable-9Ia825h8.mjs} +9 -9
  144. package/.output/server/chunks/build/ProjectTestCasesTable-9Ia825h8.mjs.map +1 -0
  145. package/.output/server/chunks/build/{RunReports-ChNkmuWa.mjs → RunReports-BpJqLHY9.mjs} +2 -2
  146. package/.output/server/chunks/build/RunReports-BpJqLHY9.mjs.map +1 -0
  147. package/.output/server/chunks/build/{RunStatusBadge-CXpuCUGQ.mjs → RunStatusBadge-BhmJ_RKM.mjs} +2 -2
  148. package/.output/server/chunks/build/RunStatusBadge-BhmJ_RKM.mjs.map +1 -0
  149. package/.output/server/chunks/build/{SectionCard-zs9FDzps.mjs → SectionCard-COd9TuDq.mjs} +2 -2
  150. package/.output/server/chunks/build/SectionCard-COd9TuDq.mjs.map +1 -0
  151. package/.output/server/chunks/build/{Select-r3S5nkSY.mjs → Select-ppPz926C.mjs} +5 -4
  152. package/.output/server/chunks/build/Select-ppPz926C.mjs.map +1 -0
  153. package/.output/server/chunks/build/{SelectMenu-Dk6f8i9o.mjs → SelectMenu-799c_Ils.mjs} +4 -4
  154. package/.output/server/chunks/build/{SelectMenu-Dk6f8i9o.mjs.map → SelectMenu-799c_Ils.mjs.map} +1 -1
  155. package/.output/server/chunks/build/{Separator-pqpPG0up.mjs → Separator-CxZdx8kw.mjs} +2 -2
  156. package/.output/server/chunks/build/Separator-CxZdx8kw.mjs.map +1 -0
  157. package/.output/server/chunks/build/{SettingsField-Wdpzlt13.mjs → SettingsField-DDD4oqys.mjs} +5 -5
  158. package/.output/server/chunks/build/SettingsField-DDD4oqys.mjs.map +1 -0
  159. package/.output/server/chunks/build/{Slideover-02XjJjn0.mjs → Slideover-B95Rj237.mjs} +3 -3
  160. package/.output/server/chunks/build/Slideover-B95Rj237.mjs.map +1 -0
  161. package/.output/server/chunks/build/{Switch-gx_JXgCo.mjs → Switch-xQQ3_ME1.mjs} +3 -3
  162. package/.output/server/chunks/build/Switch-xQQ3_ME1.mjs.map +1 -0
  163. package/.output/server/chunks/build/{Table-C64RrBp3.mjs → Table-CPhhVzDv.mjs} +3 -3
  164. package/.output/server/chunks/build/Table-CPhhVzDv.mjs.map +1 -0
  165. package/.output/server/chunks/build/{TestStatusBar--u4VX_Xf.mjs → TestStatusBar-CEzt76wk.mjs} +2 -2
  166. package/.output/server/chunks/build/TestStatusBar-CEzt76wk.mjs.map +1 -0
  167. package/.output/server/chunks/build/{Tooltip-ui_BVvqr.mjs → Tooltip-7vwuDPrZ.mjs} +3 -3
  168. package/.output/server/chunks/build/Tooltip-7vwuDPrZ.mjs.map +1 -0
  169. package/.output/server/chunks/build/{VisuallyHiddenInput-mMsqmkjz.mjs → VisuallyHiddenInput-C9eJVpPW.mjs} +2 -2
  170. package/.output/server/chunks/build/VisuallyHiddenInput-C9eJVpPW.mjs.map +1 -0
  171. package/.output/server/chunks/build/{_id_-R6KGfZOC.mjs → _id_-B2yirIuA.mjs} +259 -85
  172. package/.output/server/chunks/build/_id_-B2yirIuA.mjs.map +1 -0
  173. package/.output/server/chunks/build/{_id_-CFVnSs8B.mjs → _id_-B4V5fop6.mjs} +21 -19
  174. package/.output/server/chunks/build/{_id_-CFVnSs8B.mjs.map → _id_-B4V5fop6.mjs.map} +1 -1
  175. package/.output/server/chunks/build/{_id_-pkxJKe17.mjs → _id_-CE0Gso6i.mjs} +11 -11
  176. package/.output/server/chunks/build/_id_-CE0Gso6i.mjs.map +1 -0
  177. package/.output/server/chunks/build/{_id_-DXJQABO8.mjs → _id_-bWcP2xFl.mjs} +27 -26
  178. package/.output/server/chunks/build/{_id_-DXJQABO8.mjs.map → _id_-bWcP2xFl.mjs.map} +1 -1
  179. package/.output/server/chunks/build/about-TuEZ9n1Q.mjs +625 -0
  180. package/.output/server/chunks/build/about-TuEZ9n1Q.mjs.map +1 -0
  181. package/.output/server/chunks/build/{account-AbLuwiZP.mjs → account-Cn-eZqXM.mjs} +4 -4
  182. package/.output/server/chunks/build/account-Cn-eZqXM.mjs.map +1 -0
  183. package/.output/server/chunks/build/{ai-DR_slopS.mjs → ai-7jdaPOmj.mjs} +19 -18
  184. package/.output/server/chunks/build/ai-7jdaPOmj.mjs.map +1 -0
  185. package/.output/server/chunks/build/{analytics-BbT2-Tr-.mjs → analytics-B276WPeU.mjs} +237 -65
  186. package/.output/server/chunks/build/analytics-B276WPeU.mjs.map +1 -0
  187. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  188. package/.output/server/chunks/build/{db.client-DlA_u5y9.mjs → db.client-aHcD0wyX.mjs} +47 -22
  189. package/.output/server/chunks/build/db.client-aHcD0wyX.mjs.map +1 -0
  190. package/.output/server/chunks/build/{default-D6diRCW0.mjs → default-BSzdkM_L.mjs} +20 -17
  191. package/.output/server/chunks/build/default-BSzdkM_L.mjs.map +1 -0
  192. package/.output/server/chunks/build/{docs-DbYoZafk.mjs → docs-EXhN3sqC.mjs} +7 -6
  193. package/.output/server/chunks/build/{docs-DbYoZafk.mjs.map → docs-EXhN3sqC.mjs.map} +1 -1
  194. package/.output/server/chunks/build/{edit-CNV4xdYj.mjs → edit-C9Z7oZeu.mjs} +10 -9
  195. package/.output/server/chunks/build/edit-C9Z7oZeu.mjs.map +1 -0
  196. package/.output/server/chunks/build/fetch-8kznMtBM.mjs +1 -1
  197. package/.output/server/chunks/build/handleAndDispatchCustomEvent-Bk_AVSSo.mjs +13 -0
  198. package/.output/server/chunks/build/handleAndDispatchCustomEvent-Bk_AVSSo.mjs.map +1 -0
  199. package/.output/server/chunks/build/{help-content-BMumoQQF.mjs → help-content-DmFnuhNu.mjs} +6 -1
  200. package/.output/server/chunks/build/help-content-DmFnuhNu.mjs.map +1 -0
  201. package/.output/server/chunks/build/{index-C3Ou18qD.mjs → index-BK9PTRpd.mjs} +34 -18
  202. package/.output/server/chunks/build/{index-C3Ou18qD.mjs.map → index-BK9PTRpd.mjs.map} +1 -1
  203. package/.output/server/chunks/build/{index-Dw526KXV.mjs → index-BR9hw6qk.mjs} +10 -10
  204. package/.output/server/chunks/build/index-BR9hw6qk.mjs.map +1 -0
  205. package/.output/server/chunks/build/{index-dwYB76GO.mjs → index-Ba-Fifra.mjs} +4 -4
  206. package/.output/server/chunks/build/index-Ba-Fifra.mjs.map +1 -0
  207. package/.output/server/chunks/build/{index-DmHBPf7T.mjs → index-CULN3-en.mjs} +11 -2
  208. package/.output/server/chunks/build/index-CULN3-en.mjs.map +1 -0
  209. package/.output/server/chunks/build/{index-rSHkKNna.mjs → index-DVUtBexc.mjs} +507 -85
  210. package/.output/server/chunks/build/index-DVUtBexc.mjs.map +1 -0
  211. package/.output/server/chunks/build/{isValueEqualOrExist-DTJ5ejZs.mjs → isValueEqualOrExist-DBZjbD_3.mjs} +3 -3
  212. package/.output/server/chunks/build/isValueEqualOrExist-DBZjbD_3.mjs.map +1 -0
  213. package/.output/server/chunks/build/{login-Da5C8jP2.mjs → login-D2XZDuek.mjs} +3 -3
  214. package/.output/server/chunks/build/login-D2XZDuek.mjs.map +1 -0
  215. package/.output/server/chunks/build/{mcp-DM1t-9L_.mjs → mcp-CQ-21rwc.mjs} +138 -31
  216. package/.output/server/chunks/build/mcp-CQ-21rwc.mjs.map +1 -0
  217. package/.output/server/chunks/build/{notifications-BTPF0xA7.mjs → notifications-Dzm9c0u_.mjs} +13 -12
  218. package/.output/server/chunks/build/notifications-Dzm9c0u_.mjs.map +1 -0
  219. package/.output/server/chunks/build/server.mjs +37 -28
  220. package/.output/server/chunks/build/{settings-metadata-CksLgMun.mjs → settings-metadata-B0wo5R-W.mjs} +14 -3
  221. package/.output/server/chunks/build/settings-metadata-B0wo5R-W.mjs.map +1 -0
  222. package/.output/server/chunks/build/{settings-Bmw_JdBS.mjs → settings-pNyPBXVa.mjs} +9 -7
  223. package/.output/server/chunks/build/settings-pNyPBXVa.mjs.map +1 -0
  224. package/.output/server/chunks/build/{storage-BqR4acgi.mjs → storage-XelzuyPy.mjs} +23 -12
  225. package/.output/server/chunks/build/storage-XelzuyPy.mjs.map +1 -0
  226. package/.output/server/chunks/build/{tags-miPAzIr3.mjs → tags-DrCQ7QSw.mjs} +6 -6
  227. package/.output/server/chunks/build/tags-DrCQ7QSw.mjs.map +1 -0
  228. package/.output/server/chunks/build/{test-cases-D-LqhLpk.mjs → test-cases-pmOxi-AN.mjs} +16 -15
  229. package/.output/server/chunks/build/test-cases-pmOxi-AN.mjs.map +1 -0
  230. package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs +318 -0
  231. package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs.map +1 -0
  232. package/.output/server/chunks/build/{useAiStatus-FwqbA4gz.mjs → useAiStatus-ZO987RY7.mjs} +8 -7
  233. package/.output/server/chunks/build/useAiStatus-ZO987RY7.mjs.map +1 -0
  234. package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs +9 -0
  235. package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs.map +1 -0
  236. package/.output/server/chunks/build/useIsDesktop-BS13spVj.mjs +9 -0
  237. package/.output/server/chunks/build/useIsDesktop-BS13spVj.mjs.map +1 -0
  238. package/.output/server/chunks/build/{useSettingsNav-v_dFuTw9.mjs → useSettingsNav-NjI2seBy.mjs} +9 -7
  239. package/.output/server/chunks/build/useSettingsNav-NjI2seBy.mjs.map +1 -0
  240. package/.output/server/chunks/build/{users-D-GDKZmZ.mjs → users-NmAUZs3i.mjs} +6 -6
  241. package/.output/server/chunks/build/users-NmAUZs3i.mjs.map +1 -0
  242. package/.output/server/chunks/build/{virtualizer-BcC1XuFf.mjs → virtualizer-ZaqK4guJ.mjs} +6 -5
  243. package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs.map +1 -0
  244. package/.output/server/chunks/build/{wasted-time-CFmeT_e2.mjs → wasted-time-CguAF9zc.mjs} +8 -8
  245. package/.output/server/chunks/build/wasted-time-CguAF9zc.mjs.map +1 -0
  246. package/.output/server/chunks/nitro/nitro.mjs +1009 -722
  247. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  248. package/.output/server/chunks/routes/__piwi/session.get.mjs +51 -0
  249. package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -0
  250. package/.output/server/chunks/routes/api/admin/stats.get.mjs +5 -1
  251. package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
  252. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +75 -6
  253. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
  254. package/.output/server/chunks/routes/api/auth/change-password.post.mjs +1 -1
  255. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +1 -1
  256. package/.output/server/chunks/routes/api/auth/login.post.mjs +1 -1
  257. package/.output/server/chunks/routes/api/auth/logout.post.mjs +1 -1
  258. package/.output/server/chunks/routes/api/auth/me.get.mjs +1 -1
  259. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +1 -1
  260. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +1 -1
  261. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +1 -1
  262. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +1 -1
  263. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +1 -1
  264. package/.output/server/chunks/routes/api/auth/setup.get.mjs +1 -1
  265. package/.output/server/chunks/routes/api/auth/setup.post.mjs +1 -1
  266. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +1 -1
  267. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +1 -1
  268. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +1 -1
  269. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +1 -1
  270. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +1 -1
  271. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +45 -0
  272. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -0
  273. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +1 -1
  274. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +1 -1
  275. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +1 -1
  276. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +1 -1
  277. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +1 -1
  278. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +1 -1
  279. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +1 -1
  280. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +1 -1
  281. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +1 -1
  282. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +1 -1
  283. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +1 -1
  284. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +1 -1
  285. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +1 -1
  286. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +1 -1
  287. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  288. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  289. package/.output/server/chunks/routes/api/index.get2.mjs +1 -1
  290. package/.output/server/chunks/routes/api/index.get3.mjs +1 -1
  291. package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
  292. package/.output/server/chunks/routes/api/index.get5.mjs +1 -1
  293. package/.output/server/chunks/routes/api/index.post.mjs +1 -1
  294. package/.output/server/chunks/routes/api/index.post2.mjs +1 -1
  295. package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
  296. package/.output/server/chunks/routes/api/index.post4.mjs +1 -1
  297. package/.output/server/chunks/routes/api/index.post5.mjs +1 -1
  298. package/.output/server/chunks/routes/api/index.post6.mjs +1 -1
  299. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +1 -1
  300. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +1 -1
  301. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +1 -1
  302. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +1 -1
  303. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +1 -1
  304. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +1 -1
  305. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +1 -1
  306. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +1 -1
  307. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +1 -1
  308. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +1 -1
  309. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +1 -1
  310. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +1 -1
  311. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +1 -1
  312. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +1 -1
  313. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +1 -1
  314. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +1 -1
  315. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +1 -1
  316. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +1 -1
  317. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +1 -1
  318. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +50 -0
  319. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -0
  320. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +1 -1
  321. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +1 -1
  322. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +1 -1
  323. package/.output/server/chunks/routes/api/projects/menu.get.mjs +1 -1
  324. package/.output/server/chunks/routes/api/projects/overview.get.mjs +1 -1
  325. package/.output/server/chunks/routes/api/projects.get.mjs +1 -1
  326. package/.output/server/chunks/routes/api/search.get.mjs +1 -1
  327. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +1 -1
  328. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +1 -1
  329. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +1 -1
  330. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +1 -1
  331. package/.output/server/chunks/routes/api/settings/ai.get.mjs +1 -1
  332. package/.output/server/chunks/routes/api/settings/ai.put.mjs +1 -1
  333. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +1 -1
  334. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +1 -1
  335. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +40 -0
  336. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -0
  337. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +46 -0
  338. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -0
  339. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +1 -1
  340. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +1 -1
  341. package/.output/server/chunks/routes/api/stream.get.mjs +1 -1
  342. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +1 -1
  343. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +1 -1
  344. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +1 -1
  345. package/.output/server/chunks/routes/api/tags/_id_.put.mjs +1 -1
  346. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +1 -1
  347. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +1 -1
  348. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +1 -1
  349. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +1 -1
  350. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +1 -1
  351. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +1 -1
  352. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +1 -1
  353. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +1 -1
  354. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +1 -1
  355. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +1 -1
  356. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +1 -1
  357. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +1 -1
  358. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +1 -1
  359. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +1 -1
  360. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +1 -1
  361. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +1 -1
  362. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +1 -1
  363. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +1 -1
  364. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +1 -1
  365. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +1 -1
  366. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +1 -1
  367. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +1 -1
  368. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +1 -1
  369. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +1 -1
  370. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +1 -1
  371. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +1 -1
  372. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +1 -1
  373. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +1 -1
  374. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +1 -1
  375. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +1 -1
  376. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +1 -1
  377. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +1 -1
  378. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +1 -1
  379. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +3 -1
  380. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
  381. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +2 -1
  382. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
  383. package/.output/server/chunks/routes/api/traces/check.post.mjs +1 -1
  384. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +1 -1
  385. package/.output/server/chunks/routes/api/users/_id/index.get.mjs +1 -1
  386. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +1 -1
  387. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +1 -1
  388. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +1 -1
  389. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +1 -1
  390. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
  391. package/.output/server/chunks/routes/api/users/_id_.patch.mjs +1 -1
  392. package/.output/server/chunks/routes/api/version.get.mjs +1 -1
  393. package/.output/server/chunks/routes/mcp.post.mjs +1 -1
  394. package/.output/server/chunks/routes/renderer.mjs +1 -1
  395. package/.output/server/database/migrations/0037_tired_hellion.sql +1 -0
  396. package/.output/server/database/migrations/0038_glamorous_ulik.sql +1 -0
  397. package/.output/server/database/migrations/meta/0037_snapshot.json +3384 -0
  398. package/.output/server/database/migrations/meta/0038_snapshot.json +3391 -0
  399. package/.output/server/database/migrations/meta/_journal.json +14 -0
  400. package/.output/server/database/migrations-pg/0038_tranquil_moira_mactaggert.sql +1 -0
  401. package/.output/server/database/migrations-pg/0039_fat_starjammers.sql +1 -0
  402. package/.output/server/database/migrations-pg/meta/0038_snapshot.json +4027 -0
  403. package/.output/server/database/migrations-pg/meta/0039_snapshot.json +4033 -0
  404. package/.output/server/database/migrations-pg/meta/_journal.json +14 -0
  405. package/.output/server/index.mjs +1 -1
  406. package/.output/server/package.json +1 -1
  407. package/package.json +1 -1
  408. package/.output/public/_nuxt/2kfkdDTz.js +0 -1
  409. package/.output/public/_nuxt/BXEDsEwG.js +0 -1
  410. package/.output/public/_nuxt/BbgBGuMG.js +0 -1
  411. package/.output/public/_nuxt/CBrCcDzR.js +0 -1
  412. package/.output/public/_nuxt/CFXonrwQ.js +0 -3
  413. package/.output/public/_nuxt/CJGJI2Of.js +0 -34
  414. package/.output/public/_nuxt/Ce4EdfL_.js +0 -4
  415. package/.output/public/_nuxt/Cf3RuiXF.js +0 -46
  416. package/.output/public/_nuxt/CkpB9oBr.js +0 -1
  417. package/.output/public/_nuxt/D1tZEdSi.js +0 -1
  418. package/.output/public/_nuxt/DK9uMTYX.js +0 -1
  419. package/.output/public/_nuxt/DgZlpN9l.js +0 -1
  420. package/.output/public/_nuxt/DjCfCT_5.js +0 -1
  421. package/.output/public/_nuxt/YDWXnWou.js +0 -1
  422. package/.output/public/_nuxt/builds/meta/f549de31-8db6-4504-b526-482778a55eba.json +0 -1
  423. package/.output/public/_nuxt/entry.BxXHl1Vy.css +0 -1
  424. package/.output/public/_nuxt/evCxpgbd.js +0 -2
  425. package/.output/public/_nuxt/wCQds5_f.js +0 -1
  426. package/.output/server/chunks/build/BrowserBadge-BTA4QU_J.mjs.map +0 -1
  427. package/.output/server/chunks/build/ChartCard-BqAhMip2.mjs.map +0 -1
  428. package/.output/server/chunks/build/Checkbox-_1nGm_DR.mjs.map +0 -1
  429. package/.output/server/chunks/build/CiEnvCard-DAufYuJw.mjs.map +0 -1
  430. package/.output/server/chunks/build/CodeBlock-BVKHuYjU.mjs.map +0 -1
  431. package/.output/server/chunks/build/DashboardNavbar-BR6j4VLd.mjs.map +0 -1
  432. package/.output/server/chunks/build/DiagnosisPanel-BnrdXDvd.mjs.map +0 -1
  433. package/.output/server/chunks/build/EnvManagedBadge-DdnEtjIl.mjs.map +0 -1
  434. package/.output/server/chunks/build/HelpHint-D_GJzMpW.mjs.map +0 -1
  435. package/.output/server/chunks/build/Modal-COIjm3js.mjs.map +0 -1
  436. package/.output/server/chunks/build/ProjectTestCasesTable-XFBPQGIX.mjs.map +0 -1
  437. package/.output/server/chunks/build/RunReports-ChNkmuWa.mjs.map +0 -1
  438. package/.output/server/chunks/build/RunStatusBadge-CXpuCUGQ.mjs.map +0 -1
  439. package/.output/server/chunks/build/SectionCard-zs9FDzps.mjs.map +0 -1
  440. package/.output/server/chunks/build/Select-r3S5nkSY.mjs.map +0 -1
  441. package/.output/server/chunks/build/Separator-pqpPG0up.mjs.map +0 -1
  442. package/.output/server/chunks/build/SettingsField-Wdpzlt13.mjs.map +0 -1
  443. package/.output/server/chunks/build/Slideover-02XjJjn0.mjs.map +0 -1
  444. package/.output/server/chunks/build/Switch-gx_JXgCo.mjs.map +0 -1
  445. package/.output/server/chunks/build/Table-C64RrBp3.mjs.map +0 -1
  446. package/.output/server/chunks/build/TestStatusBar--u4VX_Xf.mjs.map +0 -1
  447. package/.output/server/chunks/build/Tooltip-ui_BVvqr.mjs.map +0 -1
  448. package/.output/server/chunks/build/VisuallyHiddenInput-mMsqmkjz.mjs.map +0 -1
  449. package/.output/server/chunks/build/_id_-R6KGfZOC.mjs.map +0 -1
  450. package/.output/server/chunks/build/_id_-pkxJKe17.mjs.map +0 -1
  451. package/.output/server/chunks/build/about-CmtGYbC6.mjs +0 -313
  452. package/.output/server/chunks/build/about-CmtGYbC6.mjs.map +0 -1
  453. package/.output/server/chunks/build/account-AbLuwiZP.mjs.map +0 -1
  454. package/.output/server/chunks/build/ai-DR_slopS.mjs.map +0 -1
  455. package/.output/server/chunks/build/analytics-BbT2-Tr-.mjs.map +0 -1
  456. package/.output/server/chunks/build/db.client-DlA_u5y9.mjs.map +0 -1
  457. package/.output/server/chunks/build/default-D6diRCW0.mjs.map +0 -1
  458. package/.output/server/chunks/build/edit-CNV4xdYj.mjs.map +0 -1
  459. package/.output/server/chunks/build/help-content-BMumoQQF.mjs.map +0 -1
  460. package/.output/server/chunks/build/index-DmHBPf7T.mjs.map +0 -1
  461. package/.output/server/chunks/build/index-Dw526KXV.mjs.map +0 -1
  462. package/.output/server/chunks/build/index-dwYB76GO.mjs.map +0 -1
  463. package/.output/server/chunks/build/index-rSHkKNna.mjs.map +0 -1
  464. package/.output/server/chunks/build/isValueEqualOrExist-DTJ5ejZs.mjs.map +0 -1
  465. package/.output/server/chunks/build/login-Da5C8jP2.mjs.map +0 -1
  466. package/.output/server/chunks/build/mcp-DM1t-9L_.mjs.map +0 -1
  467. package/.output/server/chunks/build/notifications-BTPF0xA7.mjs.map +0 -1
  468. package/.output/server/chunks/build/settings-Bmw_JdBS.mjs.map +0 -1
  469. package/.output/server/chunks/build/settings-metadata-CksLgMun.mjs.map +0 -1
  470. package/.output/server/chunks/build/storage-BqR4acgi.mjs.map +0 -1
  471. package/.output/server/chunks/build/tags-miPAzIr3.mjs.map +0 -1
  472. package/.output/server/chunks/build/test-cases-D-LqhLpk.mjs.map +0 -1
  473. package/.output/server/chunks/build/useAiStatus-FwqbA4gz.mjs.map +0 -1
  474. package/.output/server/chunks/build/useFormControl-DFTjniPG.mjs +0 -19
  475. package/.output/server/chunks/build/useFormControl-DFTjniPG.mjs.map +0 -1
  476. package/.output/server/chunks/build/useSettingsNav-v_dFuTw9.mjs.map +0 -1
  477. package/.output/server/chunks/build/users-D-GDKZmZ.mjs.map +0 -1
  478. package/.output/server/chunks/build/virtualizer-BcC1XuFf.mjs.map +0 -1
  479. package/.output/server/chunks/build/wasted-time-CFmeT_e2.mjs.map +0 -1
@@ -1,20 +1,20 @@
1
- import { _ as __nuxt_component_0, a as __nuxt_component_2$2 } from './SettingsField-Wdpzlt13.mjs';
2
- import { _ as __nuxt_component_11 } from './SectionCard-zs9FDzps.mjs';
1
+ import { _ as __nuxt_component_0, a as __nuxt_component_2$2 } from './SettingsField-DDD4oqys.mjs';
2
+ import { _ as __nuxt_component_11 } from './SectionCard-COd9TuDq.mjs';
3
3
  import { j as useToast, m as _sfc_main$k, _ as _sfc_main$d, o as _sfc_main$p } from './server.mjs';
4
- import { _ as __nuxt_component_2$4 } from './HelpHint-D_GJzMpW.mjs';
5
- import { _ as _sfc_main$5 } from './Switch-gx_JXgCo.mjs';
4
+ import { _ as __nuxt_component_2$3 } from './HelpHint-YEMWtKu1.mjs';
5
+ import { _ as _sfc_main$5 } from './Switch-xQQ3_ME1.mjs';
6
6
  import { _ as _sfc_main$6 } from './FormField-B-GSn_VR.mjs';
7
- import { _ as _sfc_main$8 } from './Select-r3S5nkSY.mjs';
8
- import { _ as __nuxt_component_2$3 } from './EnvManagedBadge-DdnEtjIl.mjs';
9
- import { _ as _sfc_main$9 } from './Modal-COIjm3js.mjs';
7
+ import { _ as _sfc_main$8 } from './Select-ppPz926C.mjs';
8
+ import { _ as __nuxt_component_3 } from './EnvManagedBadge-Qpn58Nmr.mjs';
9
+ import { _ as _sfc_main$9 } from './Modal-CfA78Hm1.mjs';
10
10
  import { defineComponent, withAsyncContext, reactive, ref, computed, watch, mergeProps, unref, withCtx, isRef, createVNode, openBlock, createBlock, Fragment, renderList, createTextVNode, createSlots, useModel, createCommentVNode, mergeModels, toDisplayString, nextTick, useSSRContext } from 'vue';
11
11
  import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrInterpolate, ssrRenderClass, ssrRenderAttr } from 'vue/server-renderer';
12
- import { h as helpEnvVars } from './help-content-BMumoQQF.mjs';
13
- import { a as formatDuration } from './index-DmHBPf7T.mjs';
12
+ import { h as helpEnvVars } from './help-content-DmFnuhNu.mjs';
13
+ import { a as formatDuration } from './index-CULN3-en.mjs';
14
14
  import { u as useFetch } from './fetch-8kznMtBM.mjs';
15
15
  import { _ as _sfc_main$7 } from './Textarea-DrrqQUVG.mjs';
16
- import { b7 as CONTEXT_LIMIT_FIELDS } from '../nitro/nitro.mjs';
17
- import { p as pageEnvVars, g as getSettingsPage } from './settings-metadata-CksLgMun.mjs';
16
+ import { b9 as CONTEXT_LIMIT_FIELDS } from '../nitro/nitro.mjs';
17
+ import { p as pageEnvVars, g as getSettingsPage } from './settings-metadata-B0wo5R-W.mjs';
18
18
  import './Alert-Bp1Wz_sq.mjs';
19
19
  import './Card-BQP_oZkQ.mjs';
20
20
  import 'vue-router';
@@ -62,10 +62,11 @@ import 'node:url';
62
62
  import '@iconify/utils';
63
63
  import './useCopy-BQQKcwlq.mjs';
64
64
  import './Label-DBvbHd3A.mjs';
65
- import './useFormControl-DFTjniPG.mjs';
65
+ import './useFormControl-BLpq1s4O.mjs';
66
66
  import './useForwardScopeId-D0ameaSU.mjs';
67
- import './VisuallyHiddenInput-mMsqmkjz.mjs';
68
- import './Tooltip-ui_BVvqr.mjs';
67
+ import './VisuallyHiddenInput-C9eJVpPW.mjs';
68
+ import './handleAndDispatchCustomEvent-Bk_AVSSo.mjs';
69
+ import './Tooltip-7vwuDPrZ.mjs';
69
70
  import 'date-fns';
70
71
  import '@vue/shared';
71
72
 
@@ -465,11 +466,11 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
465
466
  const roleEnvVars = computed(() => helpEnvVars(props.meta.help));
466
467
  return (_ctx, _push, _parent, _attrs) => {
467
468
  const _component_UIcon = _sfc_main$p;
468
- const _component_HelpHint = __nuxt_component_2$4;
469
+ const _component_HelpHint = __nuxt_component_2$3;
469
470
  const _component_USwitch = _sfc_main$5;
470
471
  const _component_UFormField = _sfc_main$6;
471
472
  const _component_USelect = _sfc_main$8;
472
- const _component_EnvManagedBadge = __nuxt_component_2$3;
473
+ const _component_EnvManagedBadge = __nuxt_component_3;
473
474
  const _component_UInput = _sfc_main$d;
474
475
  const _component_ModelFieldInput = __nuxt_component_7;
475
476
  const _component_UButton = _sfc_main$k;
@@ -1250,7 +1251,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1250
1251
  const _component_UFormField = _sfc_main$6;
1251
1252
  const _component_UInput = _sfc_main$d;
1252
1253
  const _component_UTextarea = _sfc_main$7;
1253
- const _component_EnvManagedBadge = __nuxt_component_2$3;
1254
+ const _component_EnvManagedBadge = __nuxt_component_3;
1254
1255
  _push(`<div${ssrRenderAttrs(mergeProps({ class: "space-y-6" }, _attrs))}>`);
1255
1256
  if (unref(envManaged)) {
1256
1257
  _push(ssrRenderComponent(_component_EnvManagedAlert, { "env-vars": unref(aiEnvVars) }, null, _parent));
@@ -1822,4 +1823,4 @@ _sfc_main.setup = (props, ctx) => {
1822
1823
  };
1823
1824
 
1824
1825
  export { _sfc_main as default };
1825
- //# sourceMappingURL=ai-DR_slopS.mjs.map
1826
+ //# sourceMappingURL=ai-7jdaPOmj.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-7jdaPOmj.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/ai-7jdaPOmj.js"],"names":["_sfc_main$5","_sfc_main$6","_sfc_main$7","_sfc_main$8","__nuxt_component_2$2","_sfc_main$9","_sfc_main$a","_sfc_main$b","__nuxt_component_2$3","_sfc_main$c"],"mappings":"","x_google_ignoreList":[0]}
@@ -1,30 +1,32 @@
1
- import { _ as _sfc_main$1$1, a as _sfc_main$d } from './DashboardNavbar-BR6j4VLd.mjs';
1
+ import { _ as _sfc_main$1$1, a as _sfc_main$d } from './DashboardNavbar-Bdp-OwTN.mjs';
2
2
  import { _ as _sfc_main$1$2, a as _sfc_main$e } from './Breadcrumb-C9ZPTLym.mjs';
3
3
  import { _ as __nuxt_component_4 } from './FilterToolbar-BwXy8xSk.mjs';
4
- import { _ as _sfc_main$f } from './Select-r3S5nkSY.mjs';
5
- import { _ as _sfc_main$g } from './Checkbox-_1nGm_DR.mjs';
6
- import { defineComponent, withAsyncContext, computed, mergeProps, withCtx, unref, isRef, createVNode, resolveDynamicComponent, openBlock, createBlock, createCommentVNode, Fragment, renderList, createTextVNode, toDisplayString, ref, useSSRContext } from 'vue';
4
+ import { _ as _sfc_main$f } from './Select-ppPz926C.mjs';
5
+ import { _ as _sfc_main$g } from './SelectMenu-799c_Ils.mjs';
6
+ import { l as useHead, o as _sfc_main$p, m as _sfc_main$k, n as _sfc_main$7$1, p as __nuxt_component_12 } from './server.mjs';
7
+ import { _ as _sfc_main$h } from './Checkbox-cVOSIY93.mjs';
8
+ import { defineComponent, withAsyncContext, computed, mergeProps, withCtx, unref, isRef, createVNode, resolveDynamicComponent, openBlock, createBlock, createCommentVNode, Fragment, renderList, toDisplayString, createTextVNode, ref, useSSRContext } from 'vue';
7
9
  import { ssrRenderComponent, ssrRenderList, ssrRenderClass, ssrRenderVNode, ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrRenderStyle } from 'vue/server-renderer';
8
10
  import { M as MAX_ANALYTICS_DAYS, A as ANALYTICS_WIDGETS, D as DEFAULT_ANALYTICS_DAYS, a as analyticsScopeToQuery } from '../_/scope.mjs';
9
- import { _ as _sfc_main$c } from './Alert-Bp1Wz_sq.mjs';
10
- import { f as formatRelativeTime, e as errorMessage, g as clusterErrorTypeColor, a as formatDuration } from './index-DmHBPf7T.mjs';
11
- import { l as useHead, m as _sfc_main$k, n as _sfc_main$7$1, p as __nuxt_component_12, o as _sfc_main$p } from './server.mjs';
12
11
  import { c as useCookie } from './DashboardSidebarToggle-Ji6ADuqF.mjs';
13
12
  import { u as useFetch } from './fetch-8kznMtBM.mjs';
14
- import { _ as __nuxt_component_11 } from './SectionCard-zs9FDzps.mjs';
13
+ import { _ as _sfc_main$c } from './Alert-Bp1Wz_sq.mjs';
14
+ import { f as formatRelativeTime, e as errorMessage, g as clusterErrorTypeColor, a as formatDuration } from './index-CULN3-en.mjs';
15
+ import { _ as __nuxt_component_11 } from './SectionCard-COd9TuDq.mjs';
15
16
  import { _ as __nuxt_component_1 } from './LoadingState-C3pBSuOO.mjs';
16
17
  import { _ as __nuxt_component_5$1 } from './ErrorState-CktYyeEZ.mjs';
17
18
  import { _ as __nuxt_component_8 } from './EmptyState-DV3oT_xz.mjs';
18
19
  import { _ as __nuxt_component_5$2 } from './MiniRunBars-C3HG-EYm.mjs';
19
20
  import { _ as __nuxt_component_3 } from './TableScroller-DMcdCVrH.mjs';
20
21
  import { _ as __nuxt_component_4$1 } from './TagBadge-BDcvvGxw.mjs';
21
- import { _ as __nuxt_component_13 } from './RunStatusBadge-CXpuCUGQ.mjs';
22
- import { _ as __nuxt_component_0 } from './ChartCard-BqAhMip2.mjs';
22
+ import { _ as __nuxt_component_13 } from './RunStatusBadge-BhmJ_RKM.mjs';
23
+ import { _ as __nuxt_component_0 } from './ChartCard-Fr557IbV.mjs';
23
24
  import { _ as __nuxt_component_1$1, u as useChartMarkers } from './useChartMarkers-C89e_VLV.mjs';
24
25
  import { VisXYContainer, VisStackedBar, VisAxis, VisArea, VisLine } from '@unovis/vue';
25
26
  import { CurveType } from '@unovis/ts';
26
27
  import { _ as __nuxt_component_1$2, a as __nuxt_component_2 } from './StatTile-D61Vzo6e.mjs';
27
- import './useFormControl-DFTjniPG.mjs';
28
+ import './useFormControl-BLpq1s4O.mjs';
29
+ import './handleAndDispatchCustomEvent-Bk_AVSSo.mjs';
28
30
  import '../nitro/nitro.mjs';
29
31
  import 'node:crypto';
30
32
  import 'drizzle-orm';
@@ -55,12 +57,9 @@ import 'node:zlib';
55
57
  import 'consola';
56
58
  import 'node:url';
57
59
  import '@iconify/utils';
58
- import './isValueEqualOrExist-DTJ5ejZs.mjs';
59
- import './useForwardScopeId-D0ameaSU.mjs';
60
- import './VisuallyHiddenInput-mMsqmkjz.mjs';
61
- import './RovingFocusItem-CxhHdNGo.mjs';
62
- import './Label-DBvbHd3A.mjs';
63
- import 'date-fns';
60
+ import './virtualizer-ZaqK4guJ.mjs';
61
+ import './VisuallyHiddenInput-C9eJVpPW.mjs';
62
+ import '@tanstack/vue-virtual';
64
63
  import 'vue-router';
65
64
  import '@iconify/vue';
66
65
  import 'tailwindcss/colors';
@@ -75,19 +74,64 @@ import 'unhead/server';
75
74
  import 'devalue';
76
75
  import 'unhead/plugins';
77
76
  import 'unhead/utils';
77
+ import './isValueEqualOrExist-DBZjbD_3.mjs';
78
+ import './useForwardScopeId-D0ameaSU.mjs';
79
+ import './RovingFocusItem-CxhHdNGo.mjs';
80
+ import './Label-DBvbHd3A.mjs';
78
81
  import '@vue/shared';
82
+ import 'date-fns';
79
83
  import './Card-BQP_oZkQ.mjs';
80
- import './HelpHint-D_GJzMpW.mjs';
81
- import './help-content-BMumoQQF.mjs';
84
+ import './HelpHint-YEMWtKu1.mjs';
85
+ import './help-content-DmFnuhNu.mjs';
82
86
  import './useCopy-BQQKcwlq.mjs';
83
87
  import '../_/marker-categories.mjs';
84
88
 
89
+ const DEFAULT_ANALYTICS_SCOPE_STATE = {
90
+ days: DEFAULT_ANALYTICS_DAYS,
91
+ projectIds: [],
92
+ environment: null,
93
+ fullRunsOnly: true
94
+ };
95
+ function useAnalyticsScope() {
96
+ const state = useCookie("piwi-analytics-scope", {
97
+ default: () => ({ ...DEFAULT_ANALYTICS_SCOPE_STATE }),
98
+ encode: (v) => JSON.stringify(v),
99
+ decode: (v) => {
100
+ try {
101
+ return v ? { ...DEFAULT_ANALYTICS_SCOPE_STATE, ...JSON.parse(v) } : { ...DEFAULT_ANALYTICS_SCOPE_STATE };
102
+ } catch {
103
+ return { ...DEFAULT_ANALYTICS_SCOPE_STATE };
104
+ }
105
+ }
106
+ });
107
+ const scope = computed(() => ({
108
+ days: state.value.days,
109
+ projectIds: state.value.projectIds.length > 0 ? state.value.projectIds : void 0,
110
+ environment: state.value.environment,
111
+ fullRunsOnly: state.value.fullRunsOnly
112
+ }));
113
+ const scopeQuery = computed(() => analyticsScopeToQuery(scope.value));
114
+ return { state, scope, scopeQuery };
115
+ }
116
+ function useAnalyticsWidget(widget, query) {
117
+ return useFetch(
118
+ `/api/analytics/${widget}`,
119
+ {
120
+ query: computed(query),
121
+ lazy: true,
122
+ server: false
123
+ },
124
+ "$EEH4o0rJ7t"
125
+ /* nuxt-injected */
126
+ );
127
+ }
85
128
  const ENV_ALL = "All environments";
86
129
  const _sfc_main$b = /* @__PURE__ */ defineComponent({
87
130
  __name: "AnalyticsScopeBar",
88
131
  __ssrInlineRender: true,
89
132
  props: {
90
133
  modelValue: {},
134
+ availableProjects: {},
91
135
  availableEnvironments: {}
92
136
  },
93
137
  emits: ["update:modelValue"],
@@ -105,6 +149,14 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
105
149
  get: () => props.modelValue.days,
106
150
  set: (val) => emit("update:modelValue", { ...props.modelValue, days: val })
107
151
  });
152
+ const projectItems = computed(() => props.availableProjects.map((p) => ({ label: p.label || p.name, value: p.id })));
153
+ const projectIds = computed({
154
+ get: () => props.modelValue.projectIds,
155
+ set: (val) => emit("update:modelValue", { ...props.modelValue, projectIds: val })
156
+ });
157
+ function projectLabel(id) {
158
+ return projectItems.value.find((item) => item.value === id)?.label ?? `#${id}`;
159
+ }
108
160
  const environment = computed({
109
161
  get: () => props.modelValue.environment ?? ENV_ALL,
110
162
  set: (val) => emit("update:modelValue", { ...props.modelValue, environment: val === ENV_ALL ? null : val })
@@ -114,9 +166,18 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
114
166
  get: () => props.modelValue.fullRunsOnly,
115
167
  set: (val) => emit("update:modelValue", { ...props.modelValue, fullRunsOnly: val })
116
168
  });
169
+ const isDefault = computed(
170
+ () => props.modelValue.days === DEFAULT_ANALYTICS_SCOPE_STATE.days && props.modelValue.projectIds.length === 0 && props.modelValue.environment === null && props.modelValue.fullRunsOnly === DEFAULT_ANALYTICS_SCOPE_STATE.fullRunsOnly
171
+ );
172
+ function reset() {
173
+ emit("update:modelValue", { ...DEFAULT_ANALYTICS_SCOPE_STATE });
174
+ }
117
175
  return (_ctx, _push, _parent, _attrs) => {
118
176
  const _component_USelect = _sfc_main$f;
119
- const _component_UCheckbox = _sfc_main$g;
177
+ const _component_USelectMenu = _sfc_main$g;
178
+ const _component_UIcon = _sfc_main$p;
179
+ const _component_UCheckbox = _sfc_main$h;
180
+ const _component_UButton = _sfc_main$k;
120
181
  _push(`<div${ssrRenderAttrs(mergeProps({ class: "flex items-center gap-3 flex-wrap" }, _attrs))}>`);
121
182
  _push(ssrRenderComponent(_component_USelect, {
122
183
  modelValue: unref(days),
@@ -126,6 +187,56 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
126
187
  class: "min-w-[140px]",
127
188
  icon: "i-lucide-calendar-range"
128
189
  }, null, _parent));
190
+ if (unref(projectItems).length > 0) {
191
+ _push(ssrRenderComponent(_component_USelectMenu, {
192
+ modelValue: unref(projectIds),
193
+ "onUpdate:modelValue": ($event) => isRef(projectIds) ? projectIds.value = $event : null,
194
+ items: unref(projectItems),
195
+ "value-key": "value",
196
+ multiple: "",
197
+ searchable: "",
198
+ size: "sm",
199
+ class: "min-w-[170px]",
200
+ placeholder: "All projects"
201
+ }, {
202
+ default: withCtx(({ modelValue: selected }, _push2, _parent2, _scopeId) => {
203
+ if (_push2) {
204
+ _push2(`<div class="flex items-center gap-1.5"${_scopeId}>`);
205
+ _push2(ssrRenderComponent(_component_UIcon, {
206
+ name: "i-lucide-folder",
207
+ class: ["size-3.5 shrink-0", selected.length ? "text-primary" : "text-gray-400"]
208
+ }, null, _parent2, _scopeId));
209
+ if (!selected.length) {
210
+ _push2(`<span class="text-gray-500"${_scopeId}>All projects</span>`);
211
+ } else if (selected.length === 1) {
212
+ _push2(`<span class="truncate"${_scopeId}>${ssrInterpolate(projectLabel(selected[0]))}</span>`);
213
+ } else {
214
+ _push2(`<span${_scopeId}>${ssrInterpolate(selected.length)} projects</span>`);
215
+ }
216
+ _push2(`</div>`);
217
+ } else {
218
+ return [
219
+ createVNode("div", { class: "flex items-center gap-1.5" }, [
220
+ createVNode(_component_UIcon, {
221
+ name: "i-lucide-folder",
222
+ class: ["size-3.5 shrink-0", selected.length ? "text-primary" : "text-gray-400"]
223
+ }, null, 8, ["class"]),
224
+ !selected.length ? (openBlock(), createBlock("span", {
225
+ key: 0,
226
+ class: "text-gray-500"
227
+ }, "All projects")) : selected.length === 1 ? (openBlock(), createBlock("span", {
228
+ key: 1,
229
+ class: "truncate"
230
+ }, toDisplayString(projectLabel(selected[0])), 1)) : (openBlock(), createBlock("span", { key: 2 }, toDisplayString(selected.length) + " projects", 1))
231
+ ])
232
+ ];
233
+ }
234
+ }),
235
+ _: 1
236
+ }, _parent));
237
+ } else {
238
+ _push(`<!---->`);
239
+ }
129
240
  if (__props.availableEnvironments.length > 0) {
130
241
  _push(ssrRenderComponent(_component_USelect, {
131
242
  modelValue: unref(environment),
@@ -144,7 +255,30 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
144
255
  "onUpdate:modelValue": ($event) => isRef(fullRunsOnly) ? fullRunsOnly.value = $event : null,
145
256
  size: "sm"
146
257
  }, null, _parent));
147
- _push(` Full runs only </label></div>`);
258
+ _push(` Full runs only </label>`);
259
+ if (!unref(isDefault)) {
260
+ _push(ssrRenderComponent(_component_UButton, {
261
+ variant: "ghost",
262
+ size: "sm",
263
+ color: "neutral",
264
+ icon: "i-lucide-x",
265
+ onClick: reset
266
+ }, {
267
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
268
+ if (_push2) {
269
+ _push2(` Reset `);
270
+ } else {
271
+ return [
272
+ createTextVNode(" Reset ")
273
+ ];
274
+ }
275
+ }),
276
+ _: 1
277
+ }, _parent));
278
+ } else {
279
+ _push(`<!---->`);
280
+ }
281
+ _push(`</div>`);
148
282
  };
149
283
  }
150
284
  });
@@ -155,43 +289,6 @@ _sfc_main$b.setup = (props, ctx) => {
155
289
  return _sfc_setup$b ? _sfc_setup$b(props, ctx) : void 0;
156
290
  };
157
291
  const __nuxt_component_5 = Object.assign(_sfc_main$b, { __name: "AnalyticsScopeBar" });
158
- const DEFAULT_STATE = {
159
- days: DEFAULT_ANALYTICS_DAYS,
160
- environment: null,
161
- fullRunsOnly: true
162
- };
163
- function useAnalyticsScope() {
164
- const state = useCookie("piwi-analytics-scope", {
165
- default: () => ({ ...DEFAULT_STATE }),
166
- encode: (v) => JSON.stringify(v),
167
- decode: (v) => {
168
- try {
169
- return v ? { ...DEFAULT_STATE, ...JSON.parse(v) } : { ...DEFAULT_STATE };
170
- } catch {
171
- return { ...DEFAULT_STATE };
172
- }
173
- }
174
- });
175
- const scope = computed(() => ({
176
- days: state.value.days,
177
- environment: state.value.environment,
178
- fullRunsOnly: state.value.fullRunsOnly
179
- }));
180
- const scopeQuery = computed(() => analyticsScopeToQuery(scope.value));
181
- return { state, scope, scopeQuery };
182
- }
183
- function useAnalyticsWidget(widget, query) {
184
- return useFetch(
185
- `/api/analytics/${widget}`,
186
- {
187
- query: computed(query),
188
- lazy: true,
189
- server: false
190
- },
191
- "$EEH4o0rJ7t"
192
- /* nuxt-injected */
193
- );
194
- }
195
292
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
196
293
  __name: "InsightsFeed",
197
294
  __ssrInlineRender: true,
@@ -1500,6 +1597,11 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1500
1597
  const label = total < 60 ? `${Math.round(total)} min` : `${Math.round(total / 60 * 10) / 10} h`;
1501
1598
  return `${label} of CI time produced no signal`;
1502
1599
  });
1600
+ const reclaim = computed(() => wasted.value?.timeoutReclaimable ?? null);
1601
+ const reclaimLabel = computed(() => {
1602
+ const m = reclaim.value?.estimatedMinutes ?? 0;
1603
+ return m < 60 ? `${Math.round(m)} min` : `${Math.round(m / 60 * 10) / 10} h`;
1604
+ });
1503
1605
  return (_ctx, _push, _parent, _attrs) => {
1504
1606
  const _component_ChartCard = __nuxt_component_0;
1505
1607
  const _component_ChartLegend = __nuxt_component_1$1;
@@ -1507,6 +1609,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1507
1609
  const _component_ErrorState = __nuxt_component_5$1;
1508
1610
  const _component_UButton = _sfc_main$k;
1509
1611
  const _component_EmptyState = __nuxt_component_8;
1612
+ const _component_UIcon = _sfc_main$p;
1510
1613
  const _component_NuxtLink = __nuxt_component_12;
1511
1614
  _push(ssrRenderComponent(_component_ChartCard, mergeProps({
1512
1615
  icon: "i-lucide-hourglass",
@@ -1632,6 +1735,36 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1632
1735
  } else {
1633
1736
  _push2(`<!---->`);
1634
1737
  }
1738
+ if (unref(reclaim)) {
1739
+ _push2(`<div class="mt-4 flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50 p-2.5 text-sm dark:border-amber-900/50 dark:bg-amber-950/30"${_scopeId}>`);
1740
+ _push2(ssrRenderComponent(_component_UIcon, {
1741
+ name: "i-lucide-scissors",
1742
+ class: "mt-0.5 shrink-0 text-amber-500"
1743
+ }, null, _parent2, _scopeId));
1744
+ _push2(`<div class="text-gray-700 dark:text-gray-300"${_scopeId}> Up to <span class="font-semibold"${_scopeId}>≈${ssrInterpolate(unref(reclaimLabel))}</span> of this is avoidable — ${ssrInterpolate(unref(reclaim).oversizedCount)} oversized ${ssrInterpolate(unref(reclaim).oversizedCount === 1 ? "timeout" : "timeouts")} and ${ssrInterpolate(unref(reclaim).staleSlowCount)} stale <code class="text-xs"${_scopeId}>test.slow()</code> ${ssrInterpolate(unref(reclaim).staleSlowCount === 1 ? "mark" : "marks")} inflate the failed-attempt time above. `);
1745
+ if (unref(reclaim).topProjectId) {
1746
+ _push2(ssrRenderComponent(_component_NuxtLink, {
1747
+ to: `/projects/${unref(reclaim).topProjectId}#performance`,
1748
+ class: "text-primary hover:underline"
1749
+ }, {
1750
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
1751
+ if (_push3) {
1752
+ _push3(`Review`);
1753
+ } else {
1754
+ return [
1755
+ createTextVNode("Review")
1756
+ ];
1757
+ }
1758
+ }),
1759
+ _: 1
1760
+ }, _parent2, _scopeId));
1761
+ } else {
1762
+ _push2(`<!---->`);
1763
+ }
1764
+ _push2(`</div></div>`);
1765
+ } else {
1766
+ _push2(`<!---->`);
1767
+ }
1635
1768
  if (unref(wasted) && unref(wasted).byProject.length > 0) {
1636
1769
  _push2(`<div class="mt-4 space-y-1"${_scopeId}><!--[-->`);
1637
1770
  ssrRenderList(unref(wasted).byProject.slice(0, 5), (project) => {
@@ -1731,8 +1864,34 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1731
1864
  ])
1732
1865
  ])
1733
1866
  ], 4)) : createCommentVNode("", true),
1734
- unref(wasted) && unref(wasted).byProject.length > 0 ? (openBlock(), createBlock("div", {
1867
+ unref(reclaim) ? (openBlock(), createBlock("div", {
1735
1868
  key: 1,
1869
+ class: "mt-4 flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50 p-2.5 text-sm dark:border-amber-900/50 dark:bg-amber-950/30"
1870
+ }, [
1871
+ createVNode(_component_UIcon, {
1872
+ name: "i-lucide-scissors",
1873
+ class: "mt-0.5 shrink-0 text-amber-500"
1874
+ }),
1875
+ createVNode("div", { class: "text-gray-700 dark:text-gray-300" }, [
1876
+ createTextVNode(" Up to "),
1877
+ createVNode("span", { class: "font-semibold" }, "≈" + toDisplayString(unref(reclaimLabel)), 1),
1878
+ createTextVNode(" of this is avoidable — " + toDisplayString(unref(reclaim).oversizedCount) + " oversized " + toDisplayString(unref(reclaim).oversizedCount === 1 ? "timeout" : "timeouts") + " and " + toDisplayString(unref(reclaim).staleSlowCount) + " stale ", 1),
1879
+ createVNode("code", { class: "text-xs" }, "test.slow()"),
1880
+ createTextVNode(" " + toDisplayString(unref(reclaim).staleSlowCount === 1 ? "mark" : "marks") + " inflate the failed-attempt time above. ", 1),
1881
+ unref(reclaim).topProjectId ? (openBlock(), createBlock(_component_NuxtLink, {
1882
+ key: 0,
1883
+ to: `/projects/${unref(reclaim).topProjectId}#performance`,
1884
+ class: "text-primary hover:underline"
1885
+ }, {
1886
+ default: withCtx(() => [
1887
+ createTextVNode("Review")
1888
+ ]),
1889
+ _: 1
1890
+ }, 8, ["to"])) : createCommentVNode("", true)
1891
+ ])
1892
+ ])) : createCommentVNode("", true),
1893
+ unref(wasted) && unref(wasted).byProject.length > 0 ? (openBlock(), createBlock("div", {
1894
+ key: 2,
1736
1895
  class: "mt-4 space-y-1"
1737
1896
  }, [
1738
1897
  (openBlock(true), createBlock(Fragment, null, renderList(unref(wasted).byProject.slice(0, 5), (project) => {
@@ -3163,6 +3322,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3163
3322
  let __temp, __restore;
3164
3323
  useHead({ title: "Analytics - Piwi Dashboard" });
3165
3324
  const { state, scopeQuery } = useAnalyticsScope();
3325
+ const { data: availableProjects } = ([__temp, __restore] = withAsyncContext(() => useFetch(
3326
+ "/api/projects/menu",
3327
+ {
3328
+ lazy: true,
3329
+ server: false,
3330
+ default: () => []
3331
+ },
3332
+ "$jZuDAh0IrH"
3333
+ /* nuxt-injected */
3334
+ )), __temp = await __temp, __restore(), __temp);
3166
3335
  const { data: recentTestRuns } = ([__temp, __restore] = withAsyncContext(() => useFetch(
3167
3336
  "/api/test-runs/recent",
3168
3337
  {
@@ -3170,7 +3339,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3170
3339
  server: false,
3171
3340
  default: () => []
3172
3341
  },
3173
- "$jZuDAh0IrH"
3342
+ "$lmj5ErCURQ"
3174
3343
  /* nuxt-injected */
3175
3344
  )), __temp = await __temp, __restore(), __temp);
3176
3345
  const availableEnvironments = computed(() => {
@@ -3245,13 +3414,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3245
3414
  }),
3246
3415
  body: withCtx((_, _push2, _parent2, _scopeId) => {
3247
3416
  if (_push2) {
3248
- _push2(`<div class="p-6 space-y-6"${_scopeId}>`);
3417
+ _push2(`<div class="space-y-6"${_scopeId}>`);
3249
3418
  _push2(ssrRenderComponent(_component_FilterToolbar, null, {
3250
3419
  default: withCtx((_2, _push3, _parent3, _scopeId2) => {
3251
3420
  if (_push3) {
3252
3421
  _push3(ssrRenderComponent(_component_AnalyticsScopeBar, {
3253
3422
  modelValue: unref(state),
3254
3423
  "onUpdate:modelValue": ($event) => isRef(state) ? state.value = $event : null,
3424
+ "available-projects": unref(availableProjects),
3255
3425
  "available-environments": unref(availableEnvironments)
3256
3426
  }, null, _parent3, _scopeId2));
3257
3427
  } else {
@@ -3259,8 +3429,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3259
3429
  createVNode(_component_AnalyticsScopeBar, {
3260
3430
  modelValue: unref(state),
3261
3431
  "onUpdate:modelValue": ($event) => isRef(state) ? state.value = $event : null,
3432
+ "available-projects": unref(availableProjects),
3262
3433
  "available-environments": unref(availableEnvironments)
3263
- }, null, 8, ["modelValue", "onUpdate:modelValue", "available-environments"])
3434
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "available-projects", "available-environments"])
3264
3435
  ];
3265
3436
  }
3266
3437
  }),
@@ -3289,14 +3460,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3289
3460
  _push2(`<!--]--></div></div>`);
3290
3461
  } else {
3291
3462
  return [
3292
- createVNode("div", { class: "p-6 space-y-6" }, [
3463
+ createVNode("div", { class: "space-y-6" }, [
3293
3464
  createVNode(_component_FilterToolbar, null, {
3294
3465
  default: withCtx(() => [
3295
3466
  createVNode(_component_AnalyticsScopeBar, {
3296
3467
  modelValue: unref(state),
3297
3468
  "onUpdate:modelValue": ($event) => isRef(state) ? state.value = $event : null,
3469
+ "available-projects": unref(availableProjects),
3298
3470
  "available-environments": unref(availableEnvironments)
3299
- }, null, 8, ["modelValue", "onUpdate:modelValue", "available-environments"])
3471
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "available-projects", "available-environments"])
3300
3472
  ]),
3301
3473
  _: 1
3302
3474
  }),
@@ -3338,4 +3510,4 @@ _sfc_main.setup = (props, ctx) => {
3338
3510
  };
3339
3511
 
3340
3512
  export { _sfc_main as default };
3341
- //# sourceMappingURL=analytics-BbT2-Tr-.mjs.map
3513
+ //# sourceMappingURL=analytics-B276WPeU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-B276WPeU.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/analytics-B276WPeU.js"],"names":["_sfc_main$c","_sfc_main$d","_sfc_main$e","_sfc_main$f","_sfc_main$g","__nuxt_component_4","_sfc_main$h","_sfc_main$i","_sfc_main$k","_sfc_main$l","_sfc_main$m","__nuxt_component_4$1","_sfc_main$j"],"mappings":"","x_google_ignoreList":[0]}