@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
@@ -5273,7 +5273,7 @@ function _expandFromEnv(value) {
5273
5273
  const _inlineRuntimeConfig = {
5274
5274
  "app": {
5275
5275
  "baseURL": "/",
5276
- "buildId": "f549de31-8db6-4504-b526-482778a55eba",
5276
+ "buildId": "5182c9fb-56a6-4df2-9685-4020a08ce7a5",
5277
5277
  "buildAssetsDir": "/_nuxt/",
5278
5278
  "cdnURL": ""
5279
5279
  },
@@ -5283,7 +5283,7 @@ const _inlineRuntimeConfig = {
5283
5283
  "meta": {
5284
5284
  "title": "Piwi Dashboard API",
5285
5285
  "description": "REST API for storing and querying Playwright test results, traces, failure diagnoses, and project statistics.",
5286
- "version": "0.15.0",
5286
+ "version": "0.16.0",
5287
5287
  "components": {
5288
5288
  "securitySchemes": {
5289
5289
  "bearerAuth": {
@@ -5369,9 +5369,9 @@ const _inlineRuntimeConfig = {
5369
5369
  "authEnabled": false,
5370
5370
  "demoMode": false,
5371
5371
  "demoDataVersion": "",
5372
- "appVersion": "0.15.0",
5372
+ "appVersion": "0.16.0",
5373
5373
  "buildSha": "",
5374
- "buildTime": "2026-07-19T17:17:41.733Z",
5374
+ "buildTime": "2026-07-22T19:18:23.349Z",
5375
5375
  "nodeVersion": "v24.18.0",
5376
5376
  "oauthProviders": []
5377
5377
  },
@@ -5868,6 +5868,7 @@ const _WgvfLNp3SmDTLye_f1QGq1eHSQe4XXM1Axoz6HsoqJc = (function(nitro) {
5868
5868
  const MAX_ENTRIES = 50;
5869
5869
  const MAX_MSG_LENGTH = 500;
5870
5870
  const MAX_STACK_FRAMES = 5;
5871
+ const MAX_SPANS = 100;
5871
5872
  function shrinkStack(stack) {
5872
5873
  if (!stack) return void 0;
5873
5874
  const lines = stack.split("\n");
@@ -5885,6 +5886,13 @@ function extractStack(err) {
5885
5886
  if (err instanceof Error && err.stack) return shrinkStack(err.stack);
5886
5887
  return void 0;
5887
5888
  }
5889
+ function parseTraceparent(tp) {
5890
+ const value = Array.isArray(tp) ? tp[0] : tp;
5891
+ if (!value) return void 0;
5892
+ const parts = value.split("-");
5893
+ if (parts.length >= 3 && parts[1] && /^[0-9a-f]{32}$/i.test(parts[1])) return parts[1];
5894
+ return void 0;
5895
+ }
5888
5896
  const als = new AsyncLocalStorage();
5889
5897
  let reporterAdded = false;
5890
5898
  const TEST_LOGS_DISABLED = process.env.PIWI_TEST_LOGS_DISABLED === "true" || process.env.PIWI_TEST_LOGS_DISABLED !== "false";
@@ -5900,7 +5908,7 @@ const piwiTestLogs = (nitroApp) => {
5900
5908
  if (!store) return;
5901
5909
  const msg = logObj.args.map(String).join(" ");
5902
5910
  const stack = logObj.args.map(extractStack).find(Boolean);
5903
- store.push({
5911
+ store.logs.push({
5904
5912
  timestamp: Date.now(),
5905
5913
  level: logObj.level <= 0 ? "Error" : "Warning",
5906
5914
  category: (_a = logObj.tag) != null ? _a : "",
@@ -5912,18 +5920,19 @@ const piwiTestLogs = (nitroApp) => {
5912
5920
  }
5913
5921
  const originalHandler = nitroApp.h3App.handler;
5914
5922
  nitroApp.h3App.handler = ((event) => {
5915
- const logs = [];
5916
- event.context._piwiLogs = logs;
5923
+ const store = { logs: [], spans: [], startMs: Date.now() };
5924
+ event.context._piwiLogs = store.logs;
5925
+ event.context._piwiSpans = store.spans;
5917
5926
  const res = event.node.res;
5918
5927
  const originalEnd = res.end.bind(res);
5919
5928
  res.end = (...args) => {
5920
- var _a;
5929
+ var _a, _b, _c, _d, _e, _f, _g;
5921
5930
  if (!res.headersSent) {
5922
5931
  const nitroErrors = (_a = event.context.nitro) == null ? void 0 : _a.errors;
5923
5932
  if (nitroErrors == null ? void 0 : nitroErrors.length) {
5924
5933
  for (const { error } of nitroErrors) {
5925
5934
  const msg = error instanceof Error ? error.message || String(error) : String(error);
5926
- logs.push({
5935
+ store.logs.push({
5927
5936
  timestamp: Date.now(),
5928
5937
  level: "Error",
5929
5938
  category: "server",
@@ -5932,12 +5941,30 @@ const piwiTestLogs = (nitroApp) => {
5932
5941
  });
5933
5942
  }
5934
5943
  }
5935
- const payload = logs.length > MAX_ENTRIES ? logs.slice(0, MAX_ENTRIES) : logs;
5936
- res.setHeader("X-Piwi-Logs", gzipSync(Buffer.from(JSON.stringify(payload))).toString("base64"));
5944
+ const logPayload = store.logs.length > MAX_ENTRIES ? store.logs.slice(0, MAX_ENTRIES) : store.logs;
5945
+ res.setHeader("X-Piwi-Logs", gzipSync(Buffer.from(JSON.stringify(logPayload))).toString("base64"));
5946
+ const endMs = Date.now();
5947
+ const method = String((_c = (_b = event.method) != null ? _b : event.node.req.method) != null ? _c : "GET");
5948
+ const path = (_f = String((_e = (_d = event.path) != null ? _d : event.node.req.url) != null ? _e : "").split("?")[0]) != null ? _f : "";
5949
+ const statusCode = Number(res.statusCode) || 0;
5950
+ const traceId = (_g = parseTraceparent(event.node.req.headers["traceparent"])) != null ? _g : randomBytes$1(16).toString("hex");
5951
+ const rootSpan = {
5952
+ id: randomBytes$1(8).toString("hex"),
5953
+ name: `${method} ${path}`.trim(),
5954
+ kind: "server",
5955
+ startMs: store.startMs,
5956
+ durMs: Math.max(0, endMs - store.startMs),
5957
+ status: statusCode >= 500 ? "error" : "ok",
5958
+ traceId,
5959
+ attrs: { "http.method": method, "http.route": path, "http.status_code": statusCode }
5960
+ };
5961
+ for (const s of store.spans) if (!s.parentId) s.parentId = rootSpan.id;
5962
+ const spanPayload = [rootSpan, ...store.spans].slice(0, MAX_SPANS);
5963
+ res.setHeader("X-Piwi-Trace", gzipSync(Buffer.from(JSON.stringify(spanPayload))).toString("base64"));
5937
5964
  }
5938
5965
  return originalEnd(...args);
5939
5966
  };
5940
- return als.run(logs, () => originalHandler(event));
5967
+ return als.run(store, () => originalHandler(event));
5941
5968
  });
5942
5969
  };
5943
5970
 
@@ -6261,6 +6288,8 @@ const testRunsCases$2 = sqliteTable(
6261
6288
  // 'passed', 'failed', 'timedout', 'skipped'
6262
6289
  duration: integer("duration"),
6263
6290
  // in milliseconds
6291
+ timeout: integer("timeout"),
6292
+ // Effective per-test timeout in ms (TestCase.timeout); 0 = unbounded, null = unknown/legacy
6264
6293
  error: text("error"),
6265
6294
  failureClusterId: integer("failure_cluster_id").references(() => failureClusters$2.id),
6266
6295
  // set for failed rows with an error — groups rows sharing a fingerprint
@@ -6378,8 +6407,10 @@ const networkRequests$2 = sqliteTable(
6378
6407
  // 'fetch', 'xhr', 'document', 'other'
6379
6408
  contentType: text("content_type"),
6380
6409
  // Response content-type header
6381
- serverLogs: text("server_logs", { mode: "json" })
6410
+ serverLogs: text("server_logs", { mode: "json" }),
6382
6411
  // Backend server logs from X-Piwi-Logs header
6412
+ serverTraces: text("server_traces", { mode: "json" })
6413
+ // Server-side spans from X-Piwi-Trace header
6383
6414
  },
6384
6415
  (t) => ({
6385
6416
  runIdx: index("idx_nr_run").on(t.testRunId),
@@ -7032,6 +7063,8 @@ const testRunsCases$1 = pgTable(
7032
7063
  // 'passed', 'failed', 'timedout', 'skipped'
7033
7064
  duration: integer$1("duration"),
7034
7065
  // in milliseconds
7066
+ timeout: integer$1("timeout"),
7067
+ // Effective per-test timeout in ms (TestCase.timeout); 0 = unbounded, null = unknown/legacy
7035
7068
  error: text$1("error"),
7036
7069
  failureClusterId: integer$1("failure_cluster_id").references(() => failureClusters$1.id),
7037
7070
  // set for failed rows with an error — groups rows sharing a fingerprint
@@ -7144,7 +7177,8 @@ const networkRequests$1 = pgTable(
7144
7177
  duration: integer$1("duration"),
7145
7178
  resourceType: text$1("resource_type"),
7146
7179
  contentType: text$1("content_type"),
7147
- serverLogs: jsonb("server_logs")
7180
+ serverLogs: jsonb("server_logs"),
7181
+ serverTraces: jsonb("server_traces")
7148
7182
  },
7149
7183
  (t) => ({
7150
7184
  runIdx: index$1("idx_nr_run").on(t.testRunId),
@@ -8306,1127 +8340,1134 @@ const assets = {
8306
8340
  "/favicon.ico": {
8307
8341
  "type": "image/vnd.microsoft.icon",
8308
8342
  "etag": "\"10be-n8egyE9tcb7sKGr/pYCaQ4uWqxI\"",
8309
- "mtime": "2026-07-19T17:18:25.166Z",
8343
+ "mtime": "2026-07-22T19:19:08.403Z",
8310
8344
  "size": 4286,
8311
8345
  "path": "../public/favicon.ico"
8312
8346
  },
8313
8347
  "/logo-wide.svg": {
8314
8348
  "type": "image/svg+xml",
8315
8349
  "etag": "\"2be-KTnO7suQYXn/8/4nVAlxEu9SjHE\"",
8316
- "mtime": "2026-07-19T17:18:25.166Z",
8350
+ "mtime": "2026-07-22T19:19:08.403Z",
8317
8351
  "size": 702,
8318
8352
  "path": "../public/logo-wide.svg"
8319
8353
  },
8320
- "/sw.js": {
8321
- "type": "text/javascript; charset=utf-8",
8322
- "etag": "\"437-iydkLBMw9CHS4OVOsdBYBALuE3k\"",
8323
- "mtime": "2026-07-19T17:18:26.549Z",
8324
- "size": 1079,
8325
- "path": "../public/sw.js"
8326
- },
8327
8354
  "/logo.svg": {
8328
8355
  "type": "image/svg+xml",
8329
8356
  "etag": "\"227-zf2iTCS774TQ8KzCfu7lZwo7+m4\"",
8330
- "mtime": "2026-07-19T17:18:25.166Z",
8357
+ "mtime": "2026-07-22T19:19:08.403Z",
8331
8358
  "size": 551,
8332
8359
  "path": "../public/logo.svg"
8333
8360
  },
8361
+ "/sw.js": {
8362
+ "type": "text/javascript; charset=utf-8",
8363
+ "etag": "\"437-z2GvK2F/DGA8rJG6RvcEvvJycLc\"",
8364
+ "mtime": "2026-07-22T19:19:09.788Z",
8365
+ "size": 1079,
8366
+ "path": "../public/sw.js"
8367
+ },
8334
8368
  "/_fonts/57NSSoFy1VLVs2gqly8Ls9awBnZMFyXGrefpmqvdqmc-zJfbBtpgM4cDmcXBsqZNW79_kFnlpPd62b48glgdydA.woff2": {
8335
8369
  "type": "font/woff2",
8336
8370
  "etag": "\"4b5c-TAo9mx7r3xQs52+HbHcHJ52z8Qo\"",
8337
- "mtime": "2026-07-19T17:18:25.116Z",
8371
+ "mtime": "2026-07-22T19:19:08.353Z",
8338
8372
  "size": 19292,
8339
8373
  "path": "../public/_fonts/57NSSoFy1VLVs2gqly8Ls9awBnZMFyXGrefpmqvdqmc-zJfbBtpgM4cDmcXBsqZNW79_kFnlpPd62b48glgdydA.woff2"
8340
8374
  },
8341
8375
  "/workbox-2fbc6a65.js": {
8342
8376
  "type": "text/javascript; charset=utf-8",
8343
8377
  "etag": "\"3ab2-qopfhM6PZXJ/QrCpZcyxeNwDC3M\"",
8344
- "mtime": "2026-07-19T17:18:26.550Z",
8378
+ "mtime": "2026-07-22T19:19:09.790Z",
8345
8379
  "size": 15026,
8346
8380
  "path": "../public/workbox-2fbc6a65.js"
8347
8381
  },
8348
- "/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2": {
8349
- "type": "font/woff2",
8350
- "etag": "\"212c-FshXJibFzNhd2HEIMP8C3JR5PYg\"",
8351
- "mtime": "2026-07-19T17:18:25.117Z",
8352
- "size": 8492,
8353
- "path": "../public/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2"
8354
- },
8355
8382
  "/_fonts/GsKUclqeNLJ96g5AU593ug6yanivOiwjW_7zESNPChw-jHA4tBeM1bjF7LATGUpfBuSTyomIFrWBTzjF7txVYfg.woff2": {
8356
8383
  "type": "font/woff2",
8357
8384
  "etag": "\"680c-mJtsV33lkTAKSmfq5k3lKHSllcU\"",
8358
- "mtime": "2026-07-19T17:18:25.117Z",
8385
+ "mtime": "2026-07-22T19:19:08.354Z",
8359
8386
  "size": 26636,
8360
8387
  "path": "../public/_fonts/GsKUclqeNLJ96g5AU593ug6yanivOiwjW_7zESNPChw-jHA4tBeM1bjF7LATGUpfBuSTyomIFrWBTzjF7txVYfg.woff2"
8361
8388
  },
8362
8389
  "/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2": {
8363
8390
  "type": "font/woff2",
8364
8391
  "etag": "\"6ec4-8OoFFPZKF1grqmfGVjh5JDE6DOU\"",
8365
- "mtime": "2026-07-19T17:18:25.117Z",
8392
+ "mtime": "2026-07-22T19:19:08.354Z",
8366
8393
  "size": 28356,
8367
8394
  "path": "../public/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2"
8368
8395
  },
8369
- "/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2": {
8396
+ "/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2": {
8370
8397
  "type": "font/woff2",
8371
- "etag": "\"1d98-cDZfMibtk4T04FTTAmlfhWDpkN0\"",
8372
- "mtime": "2026-07-19T17:18:25.117Z",
8373
- "size": 7576,
8374
- "path": "../public/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2"
8398
+ "etag": "\"212c-FshXJibFzNhd2HEIMP8C3JR5PYg\"",
8399
+ "mtime": "2026-07-22T19:19:08.354Z",
8400
+ "size": 8492,
8401
+ "path": "../public/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2"
8375
8402
  },
8376
8403
  "/_fonts/iTkrULNFJJkTvihIg1Vqi5IODRH_9btXCioVF5l98I8-AndUyau2HR2felA_ra8V2mutQgschhasE5FD1dXGJX8.woff2": {
8377
8404
  "type": "font/woff2",
8378
8405
  "etag": "\"47c4-5xyngHnzzhetUee74tMx9OTgqNQ\"",
8379
- "mtime": "2026-07-19T17:18:25.117Z",
8406
+ "mtime": "2026-07-22T19:19:08.354Z",
8380
8407
  "size": 18372,
8381
8408
  "path": "../public/_fonts/iTkrULNFJJkTvihIg1Vqi5IODRH_9btXCioVF5l98I8-AndUyau2HR2felA_ra8V2mutQgschhasE5FD1dXGJX8.woff2"
8382
8409
  },
8383
8410
  "/demo/seed.version.json": {
8384
8411
  "type": "application/json",
8385
- "etag": "\"7e-wGoV43mcf/vGHdJSIy6SmjQicpY\"",
8386
- "mtime": "2026-07-19T17:18:25.164Z",
8412
+ "etag": "\"7e-BBP5m7zHBfIWjeUA0tW/WtLhoaE\"",
8413
+ "mtime": "2026-07-22T19:19:08.401Z",
8387
8414
  "size": 126,
8388
8415
  "path": "../public/demo/seed.version.json"
8389
8416
  },
8390
- "/trace-viewer/codicon.DCmgc-ay.ttf": {
8391
- "type": "font/ttf",
8392
- "etag": "\"139d4-58fQ8Ohjcapek6AgDzlcXTeWfi4\"",
8393
- "mtime": "2026-07-19T17:18:25.111Z",
8394
- "size": 80340,
8395
- "path": "../public/trace-viewer/codicon.DCmgc-ay.ttf"
8396
- },
8397
- "/trace-viewer/defaultSettingsView.CjdS-WJx.css": {
8398
- "type": "text/css; charset=utf-8",
8399
- "etag": "\"1b682-zyUKJhc3Kd7Eth4Nja/XwcNwaZE\"",
8400
- "mtime": "2026-07-19T17:18:25.111Z",
8401
- "size": 112258,
8402
- "path": "../public/trace-viewer/defaultSettingsView.CjdS-WJx.css"
8417
+ "/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2": {
8418
+ "type": "font/woff2",
8419
+ "etag": "\"1d98-cDZfMibtk4T04FTTAmlfhWDpkN0\"",
8420
+ "mtime": "2026-07-22T19:19:08.354Z",
8421
+ "size": 7576,
8422
+ "path": "../public/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2"
8403
8423
  },
8404
8424
  "/trace-viewer/codeMirrorModule.DYBRYzYX.css": {
8405
8425
  "type": "text/css; charset=utf-8",
8406
8426
  "etag": "\"1915-JpgSazNhdn4V/MJ1ywYmFDwc5S0\"",
8407
- "mtime": "2026-07-19T17:18:25.111Z",
8427
+ "mtime": "2026-07-22T19:19:08.348Z",
8408
8428
  "size": 6421,
8409
8429
  "path": "../public/trace-viewer/codeMirrorModule.DYBRYzYX.css"
8410
8430
  },
8431
+ "/trace-viewer/codicon.DCmgc-ay.ttf": {
8432
+ "type": "font/ttf",
8433
+ "etag": "\"139d4-58fQ8Ohjcapek6AgDzlcXTeWfi4\"",
8434
+ "mtime": "2026-07-22T19:19:08.348Z",
8435
+ "size": 80340,
8436
+ "path": "../public/trace-viewer/codicon.DCmgc-ay.ttf"
8437
+ },
8411
8438
  "/trace-viewer/index.CzXZzn5A.css": {
8412
8439
  "type": "text/css; charset=utf-8",
8413
8440
  "etag": "\"83f-TIEqGFSCI/y9wLlWQ9KI9rhgzhM\"",
8414
- "mtime": "2026-07-19T17:18:25.111Z",
8441
+ "mtime": "2026-07-22T19:19:08.349Z",
8415
8442
  "size": 2111,
8416
8443
  "path": "../public/trace-viewer/index.CzXZzn5A.css"
8417
8444
  },
8445
+ "/trace-viewer/defaultSettingsView.CjdS-WJx.css": {
8446
+ "type": "text/css; charset=utf-8",
8447
+ "etag": "\"1b682-zyUKJhc3Kd7Eth4Nja/XwcNwaZE\"",
8448
+ "mtime": "2026-07-22T19:19:08.348Z",
8449
+ "size": 112258,
8450
+ "path": "../public/trace-viewer/defaultSettingsView.CjdS-WJx.css"
8451
+ },
8418
8452
  "/trace-viewer/index.DMMX1gXU.js": {
8419
8453
  "type": "text/javascript; charset=utf-8",
8420
8454
  "etag": "\"1993-TVjRxPdbBj8eZVBjEl2tQwn2+Qw\"",
8421
- "mtime": "2026-07-19T17:18:25.111Z",
8455
+ "mtime": "2026-07-22T19:19:08.348Z",
8422
8456
  "size": 6547,
8423
8457
  "path": "../public/trace-viewer/index.DMMX1gXU.js"
8424
8458
  },
8425
8459
  "/trace-viewer/index.html": {
8426
8460
  "type": "text/html; charset=utf-8",
8427
8461
  "etag": "\"93b-Q9Kwvw0usHS0Gpqr0UX9oQYEdiE\"",
8428
- "mtime": "2026-07-19T17:18:25.111Z",
8462
+ "mtime": "2026-07-22T19:19:08.348Z",
8429
8463
  "size": 2363,
8430
8464
  "path": "../public/trace-viewer/index.html"
8431
8465
  },
8432
8466
  "/trace-viewer/manifest.webmanifest": {
8433
8467
  "type": "application/manifest+json",
8434
8468
  "etag": "\"1ad-65iJMnlapJdso52CYCVqmQAQiig\"",
8435
- "mtime": "2026-07-19T17:18:25.112Z",
8469
+ "mtime": "2026-07-22T19:19:08.348Z",
8436
8470
  "size": 429,
8437
8471
  "path": "../public/trace-viewer/manifest.webmanifest"
8438
8472
  },
8439
8473
  "/trace-viewer/playwright-logo.svg": {
8440
8474
  "type": "image/svg+xml",
8441
8475
  "etag": "\"13a9-ahY66UsN8jwB5B3d0GQXCkwKGOM\"",
8442
- "mtime": "2026-07-19T17:18:25.112Z",
8476
+ "mtime": "2026-07-22T19:19:08.348Z",
8443
8477
  "size": 5033,
8444
8478
  "path": "../public/trace-viewer/playwright-logo.svg"
8445
8479
  },
8446
8480
  "/trace-viewer/snapshot.html": {
8447
8481
  "type": "text/html; charset=utf-8",
8448
8482
  "etag": "\"185-MntsrIp+O191dZtafoNfenGydFQ\"",
8449
- "mtime": "2026-07-19T17:18:25.112Z",
8483
+ "mtime": "2026-07-22T19:19:08.348Z",
8450
8484
  "size": 389,
8451
8485
  "path": "../public/trace-viewer/snapshot.html"
8452
8486
  },
8453
8487
  "/trace-viewer/snapshot.v8KI4P3m.js": {
8454
8488
  "type": "text/javascript; charset=utf-8",
8455
8489
  "etag": "\"294-M6/AA4CNcP3qe4KtsgBVT9ULEr8\"",
8456
- "mtime": "2026-07-19T17:18:25.112Z",
8490
+ "mtime": "2026-07-22T19:19:08.348Z",
8457
8491
  "size": 660,
8458
8492
  "path": "../public/trace-viewer/snapshot.v8KI4P3m.js"
8459
8493
  },
8460
8494
  "/trace-viewer/sw.bundle.js": {
8461
8495
  "type": "text/javascript; charset=utf-8",
8462
8496
  "etag": "\"1766f-LYVOPlllQ6HbWu8/sYA+ucNpwXA\"",
8463
- "mtime": "2026-07-19T17:18:25.112Z",
8497
+ "mtime": "2026-07-22T19:19:08.349Z",
8464
8498
  "size": 95855,
8465
8499
  "path": "../public/trace-viewer/sw.bundle.js"
8466
8500
  },
8467
- "/demo/sql-wasm.wasm": {
8501
+ "/demo/sql-wasm-browser.wasm": {
8468
8502
  "type": "application/wasm",
8469
8503
  "etag": "\"a1112-VgEjQHIPAH2iURZvQudNOn9Qkq8\"",
8470
- "mtime": "2026-07-19T17:18:25.165Z",
8504
+ "mtime": "2026-07-22T19:19:08.401Z",
8471
8505
  "size": 659730,
8472
- "path": "../public/demo/sql-wasm.wasm"
8506
+ "path": "../public/demo/sql-wasm-browser.wasm"
8473
8507
  },
8474
- "/demo/sql-wasm-browser.wasm": {
8508
+ "/demo/sql-wasm.wasm": {
8475
8509
  "type": "application/wasm",
8476
8510
  "etag": "\"a1112-VgEjQHIPAH2iURZvQudNOn9Qkq8\"",
8477
- "mtime": "2026-07-19T17:18:25.165Z",
8511
+ "mtime": "2026-07-22T19:19:08.402Z",
8478
8512
  "size": 659730,
8479
- "path": "../public/demo/sql-wasm-browser.wasm"
8513
+ "path": "../public/demo/sql-wasm.wasm"
8480
8514
  },
8481
8515
  "/trace-viewer/uiMode.BZQ54Kgt.css": {
8482
8516
  "type": "text/css; charset=utf-8",
8483
8517
  "etag": "\"eb97-4dDnRPJVbG+rvNdHYx00H5WYGog\"",
8484
- "mtime": "2026-07-19T17:18:25.112Z",
8518
+ "mtime": "2026-07-22T19:19:08.349Z",
8485
8519
  "size": 60311,
8486
8520
  "path": "../public/trace-viewer/uiMode.BZQ54Kgt.css"
8487
8521
  },
8488
- "/trace-viewer/uiMode.Ut8wwJNp.js": {
8489
- "type": "text/javascript; charset=utf-8",
8490
- "etag": "\"9672-TS3PNm5O6a2xQC4AjO4bzA6v+fo\"",
8491
- "mtime": "2026-07-19T17:18:25.112Z",
8492
- "size": 38514,
8493
- "path": "../public/trace-viewer/uiMode.Ut8wwJNp.js"
8494
- },
8495
8522
  "/trace-viewer/uiMode.html": {
8496
8523
  "type": "text/html; charset=utf-8",
8497
8524
  "etag": "\"2d7-1Qho/xV0zcgOFBmSyQY+lVCKvd0\"",
8498
- "mtime": "2026-07-19T17:18:25.112Z",
8525
+ "mtime": "2026-07-22T19:19:08.349Z",
8499
8526
  "size": 727,
8500
8527
  "path": "../public/trace-viewer/uiMode.html"
8501
8528
  },
8529
+ "/trace-viewer/uiMode.Ut8wwJNp.js": {
8530
+ "type": "text/javascript; charset=utf-8",
8531
+ "etag": "\"9672-TS3PNm5O6a2xQC4AjO4bzA6v+fo\"",
8532
+ "mtime": "2026-07-22T19:19:08.349Z",
8533
+ "size": 38514,
8534
+ "path": "../public/trace-viewer/uiMode.Ut8wwJNp.js"
8535
+ },
8502
8536
  "/trace-viewer/xtermModule.DYP7pi_n.css": {
8503
8537
  "type": "text/css; charset=utf-8",
8504
8538
  "etag": "\"1036-kB8yYI/542OISyd/8mW1esbgl4Y\"",
8505
- "mtime": "2026-07-19T17:18:25.112Z",
8539
+ "mtime": "2026-07-22T19:19:08.349Z",
8506
8540
  "size": 4150,
8507
8541
  "path": "../public/trace-viewer/xtermModule.DYP7pi_n.css"
8508
8542
  },
8509
- "/_nuxt/0KrkW531.js": {
8543
+ "/_nuxt/1AB111xL.js": {
8510
8544
  "type": "text/javascript; charset=utf-8",
8511
- "etag": "\"9f87-QNrVDNe92oeJa6JFihvgs3ip8vE\"",
8512
- "mtime": "2026-07-19T17:18:25.152Z",
8513
- "size": 40839,
8514
- "path": "../public/_nuxt/0KrkW531.js"
8545
+ "etag": "\"ef7-wQEmT4+YOrty/sve3l+pbkS6tuY\"",
8546
+ "mtime": "2026-07-22T19:19:08.389Z",
8547
+ "size": 3831,
8548
+ "path": "../public/_nuxt/1AB111xL.js"
8515
8549
  },
8516
- "/_nuxt/2PU-adwy.js": {
8550
+ "/_nuxt/-KQO1A4C.js": {
8517
8551
  "type": "text/javascript; charset=utf-8",
8518
- "etag": "\"13ef-voP0B3DEr6VFVR0hnLup1AhQX6w\"",
8519
- "mtime": "2026-07-19T17:18:25.152Z",
8520
- "size": 5103,
8521
- "path": "../public/_nuxt/2PU-adwy.js"
8552
+ "etag": "\"10b6a-kR83JD1foViwXEKVb7l4q5m2XsY\"",
8553
+ "mtime": "2026-07-22T19:19:08.393Z",
8554
+ "size": 68458,
8555
+ "path": "../public/_nuxt/-KQO1A4C.js"
8522
8556
  },
8523
- "/_nuxt/2kfkdDTz.js": {
8557
+ "/_nuxt/2xvsvjLO.js": {
8524
8558
  "type": "text/javascript; charset=utf-8",
8525
- "etag": "\"9c3-NMom9ymzqGfkeCkopU3rZA3zox4\"",
8526
- "mtime": "2026-07-19T17:18:25.152Z",
8527
- "size": 2499,
8528
- "path": "../public/_nuxt/2kfkdDTz.js"
8559
+ "etag": "\"2b8-zVQrovi06YdRMmgjQ7tH8NGJeXw\"",
8560
+ "mtime": "2026-07-22T19:19:08.389Z",
8561
+ "size": 696,
8562
+ "path": "../public/_nuxt/2xvsvjLO.js"
8529
8563
  },
8530
- "/_nuxt/4fB15L_7.js": {
8564
+ "/_nuxt/ABGJk0pu.js": {
8531
8565
  "type": "text/javascript; charset=utf-8",
8532
- "etag": "\"57c8-/12lIx6YjC4GV1+A9AKe4Upzb94\"",
8533
- "mtime": "2026-07-19T17:18:25.152Z",
8534
- "size": 22472,
8535
- "path": "../public/_nuxt/4fB15L_7.js"
8566
+ "etag": "\"2609-SOA6gSTRkWhzEIcvNzrtAAYSBCw\"",
8567
+ "mtime": "2026-07-22T19:19:08.389Z",
8568
+ "size": 9737,
8569
+ "path": "../public/_nuxt/ABGJk0pu.js"
8536
8570
  },
8537
- "/_nuxt/3SnTawZW.js": {
8571
+ "/_nuxt/B2lYFco4.js": {
8538
8572
  "type": "text/javascript; charset=utf-8",
8539
- "etag": "\"6918-1Qfv+CYLLRNB+qTX9sOGzL3k4XE\"",
8540
- "mtime": "2026-07-19T17:18:25.152Z",
8541
- "size": 26904,
8542
- "path": "../public/_nuxt/3SnTawZW.js"
8573
+ "etag": "\"43f-jXlyaS7tKkYHTtmetzSn8SRBGNg\"",
8574
+ "mtime": "2026-07-22T19:19:08.389Z",
8575
+ "size": 1087,
8576
+ "path": "../public/_nuxt/B2lYFco4.js"
8543
8577
  },
8544
- "/_nuxt/60-Zii7v.js": {
8578
+ "/_nuxt/B3NbDoBP.js": {
8545
8579
  "type": "text/javascript; charset=utf-8",
8546
- "etag": "\"629-YEJPzzQLQfBpZdIawYJuEumPV0Q\"",
8547
- "mtime": "2026-07-19T17:18:25.152Z",
8548
- "size": 1577,
8549
- "path": "../public/_nuxt/60-Zii7v.js"
8580
+ "etag": "\"19a5-rAWYXkAoYPfBw0EWYbx87Wf2Iig\"",
8581
+ "mtime": "2026-07-22T19:19:08.389Z",
8582
+ "size": 6565,
8583
+ "path": "../public/_nuxt/B3NbDoBP.js"
8550
8584
  },
8551
- "/_nuxt/B32-7cBF.js": {
8585
+ "/_nuxt/B3sNtVnf.js": {
8552
8586
  "type": "text/javascript; charset=utf-8",
8553
- "etag": "\"18d2-yWp8Yc61pzCEKzHSvID77Hksa48\"",
8554
- "mtime": "2026-07-19T17:18:25.152Z",
8555
- "size": 6354,
8556
- "path": "../public/_nuxt/B32-7cBF.js"
8587
+ "etag": "\"126d5-0OBcn72tnqGgWdrwrFB7nTQI6fg\"",
8588
+ "mtime": "2026-07-22T19:19:08.389Z",
8589
+ "size": 75477,
8590
+ "path": "../public/_nuxt/B3sNtVnf.js"
8557
8591
  },
8558
- "/_nuxt/B32ySRXg.js": {
8592
+ "/_nuxt/B33X4zrC.js": {
8559
8593
  "type": "text/javascript; charset=utf-8",
8560
- "etag": "\"7e5-vtToKRqiWqGytTnEVrwrjDHAmQk\"",
8561
- "mtime": "2026-07-19T17:18:25.152Z",
8562
- "size": 2021,
8563
- "path": "../public/_nuxt/B32ySRXg.js"
8594
+ "etag": "\"139d3-eflqtFWhLww0w2wNBzs/IzYUVuE\"",
8595
+ "mtime": "2026-07-22T19:19:08.389Z",
8596
+ "size": 80339,
8597
+ "path": "../public/_nuxt/B33X4zrC.js"
8564
8598
  },
8565
- "/_nuxt/B59-l1Cv.js": {
8599
+ "/_nuxt/B43OGXzV.js": {
8566
8600
  "type": "text/javascript; charset=utf-8",
8567
- "etag": "\"7ce4-SJ/bYJBY1NkjcvvZ4UBjKuWot3s\"",
8568
- "mtime": "2026-07-19T17:18:25.152Z",
8569
- "size": 31972,
8570
- "path": "../public/_nuxt/B59-l1Cv.js"
8601
+ "etag": "\"45c-HPQOjY/mTHQ+/uqL1FA3fGy7qhs\"",
8602
+ "mtime": "2026-07-22T19:19:08.389Z",
8603
+ "size": 1116,
8604
+ "path": "../public/_nuxt/B43OGXzV.js"
8571
8605
  },
8572
- "/_nuxt/B9Q_4Mjt.js": {
8606
+ "/_nuxt/B6Jp7fpa.js": {
8573
8607
  "type": "text/javascript; charset=utf-8",
8574
- "etag": "\"5460-M+HSROZISUAJg5QiXTqWsM6ddzw\"",
8575
- "mtime": "2026-07-19T17:18:25.152Z",
8576
- "size": 21600,
8577
- "path": "../public/_nuxt/B9Q_4Mjt.js"
8608
+ "etag": "\"6893-I95Rq/TGkn7d8iRK4lctXypzM8U\"",
8609
+ "mtime": "2026-07-22T19:19:08.389Z",
8610
+ "size": 26771,
8611
+ "path": "../public/_nuxt/B6Jp7fpa.js"
8578
8612
  },
8579
- "/_nuxt/BBJ9Pu3M.js": {
8613
+ "/_nuxt/B7yG1G_l.js": {
8580
8614
  "type": "text/javascript; charset=utf-8",
8581
- "etag": "\"54d-00spgXjGtYHih2jT1vItZWdfkUg\"",
8582
- "mtime": "2026-07-19T17:18:25.152Z",
8583
- "size": 1357,
8584
- "path": "../public/_nuxt/BBJ9Pu3M.js"
8615
+ "etag": "\"7e5-MerHXTFKGjFo5zqb7e6TsfFx9JA\"",
8616
+ "mtime": "2026-07-22T19:19:08.389Z",
8617
+ "size": 2021,
8618
+ "path": "../public/_nuxt/B7yG1G_l.js"
8585
8619
  },
8586
8620
  "/_nuxt/BBnX5xw4.js": {
8587
8621
  "type": "text/javascript; charset=utf-8",
8588
8622
  "etag": "\"1674-HyZL1eUl9QW4o4RCa0ogOE8HLCk\"",
8589
- "mtime": "2026-07-19T17:18:25.152Z",
8623
+ "mtime": "2026-07-22T19:19:08.389Z",
8590
8624
  "size": 5748,
8591
8625
  "path": "../public/_nuxt/BBnX5xw4.js"
8592
8626
  },
8593
- "/_nuxt/BCK4f6Y3.js": {
8627
+ "/_nuxt/BBdfPriC.js": {
8594
8628
  "type": "text/javascript; charset=utf-8",
8595
- "etag": "\"3f70-9qmxZjdfkLbuYw37PgK7RU3h/Dg\"",
8596
- "mtime": "2026-07-19T17:18:25.152Z",
8597
- "size": 16240,
8598
- "path": "../public/_nuxt/BCK4f6Y3.js"
8629
+ "etag": "\"1a2-R2dQbQCtcLRhrto3LkE4QqolR6I\"",
8630
+ "mtime": "2026-07-22T19:19:08.389Z",
8631
+ "size": 418,
8632
+ "path": "../public/_nuxt/BBdfPriC.js"
8599
8633
  },
8600
- "/_nuxt/BC_Wu-fv.js": {
8634
+ "/_nuxt/BGYbnqA7.js": {
8601
8635
  "type": "text/javascript; charset=utf-8",
8602
- "etag": "\"1b9-DRgFXl8uOCYnVDYzPHKUqeRso5k\"",
8603
- "mtime": "2026-07-19T17:18:25.152Z",
8604
- "size": 441,
8605
- "path": "../public/_nuxt/BC_Wu-fv.js"
8636
+ "etag": "\"2624-jkRnewu4YTwaJGTj7ofUR4wqC6c\"",
8637
+ "mtime": "2026-07-22T19:19:08.389Z",
8638
+ "size": 9764,
8639
+ "path": "../public/_nuxt/BGYbnqA7.js"
8606
8640
  },
8607
- "/_nuxt/BEKwVcvQ.js": {
8641
+ "/_nuxt/BIksQZfR.js": {
8608
8642
  "type": "text/javascript; charset=utf-8",
8609
- "etag": "\"ef7-S0yI4J6eyoLZOEEtuuNFuzOdY2g\"",
8610
- "mtime": "2026-07-19T17:18:25.152Z",
8611
- "size": 3831,
8612
- "path": "../public/_nuxt/BEKwVcvQ.js"
8643
+ "etag": "\"30a-NALlPxDLAbGFzRZvAHuHcLLHeWQ\"",
8644
+ "mtime": "2026-07-22T19:19:08.389Z",
8645
+ "size": 778,
8646
+ "path": "../public/_nuxt/BIksQZfR.js"
8613
8647
  },
8614
- "/_nuxt/BGsuOpiq.js": {
8648
+ "/_nuxt/BIf1R_fu.js": {
8615
8649
  "type": "text/javascript; charset=utf-8",
8616
- "etag": "\"3a76-lbimLCryWjcqI3SY0V8sfbea8UE\"",
8617
- "mtime": "2026-07-19T17:18:25.152Z",
8618
- "size": 14966,
8619
- "path": "../public/_nuxt/BGsuOpiq.js"
8650
+ "etag": "\"6d0-SIoRUFAHvJX8/LVkkDfarLTV0zU\"",
8651
+ "mtime": "2026-07-22T19:19:08.389Z",
8652
+ "size": 1744,
8653
+ "path": "../public/_nuxt/BIf1R_fu.js"
8620
8654
  },
8621
- "/_nuxt/BMQIO38j.js": {
8655
+ "/_nuxt/BP_SWi7S.js": {
8622
8656
  "type": "text/javascript; charset=utf-8",
8623
- "etag": "\"852-r5FNlLteUEaWDVYCL583QrO6/rM\"",
8624
- "mtime": "2026-07-19T17:18:25.152Z",
8625
- "size": 2130,
8626
- "path": "../public/_nuxt/BMQIO38j.js"
8657
+ "etag": "\"be18-gGYpxxv7vpSqCkQ4RsZhaTsD4ig\"",
8658
+ "mtime": "2026-07-22T19:19:08.389Z",
8659
+ "size": 48664,
8660
+ "path": "../public/_nuxt/BP_SWi7S.js"
8627
8661
  },
8628
- "/_nuxt/BW1UOxWn.js": {
8662
+ "/_nuxt/BQrSEuzu.js": {
8629
8663
  "type": "text/javascript; charset=utf-8",
8630
- "etag": "\"2c6bd-WnV4QGxQS7t+29GlIex/rrCesbs\"",
8631
- "mtime": "2026-07-19T17:18:25.153Z",
8632
- "size": 181949,
8633
- "path": "../public/_nuxt/BW1UOxWn.js"
8664
+ "etag": "\"4ed-jzYP1jvIPukVvgyAIClOOAYiW6E\"",
8665
+ "mtime": "2026-07-22T19:19:08.389Z",
8666
+ "size": 1261,
8667
+ "path": "../public/_nuxt/BQrSEuzu.js"
8634
8668
  },
8635
- "/_nuxt/B8fs6GU9.js": {
8669
+ "/_nuxt/BR9H8k-L.js": {
8636
8670
  "type": "text/javascript; charset=utf-8",
8637
- "etag": "\"c583e-rqYmKV0I9ZW3yWUC0YUUNXuq0BY\"",
8638
- "mtime": "2026-07-19T17:18:25.152Z",
8639
- "size": 809022,
8640
- "path": "../public/_nuxt/B8fs6GU9.js"
8671
+ "etag": "\"15d7-DWE5JQvW0o4F+jim61I2sYhK3J8\"",
8672
+ "mtime": "2026-07-22T19:19:08.389Z",
8673
+ "size": 5591,
8674
+ "path": "../public/_nuxt/BR9H8k-L.js"
8641
8675
  },
8642
- "/_nuxt/BY0AkhJh.js": {
8676
+ "/_nuxt/BRKa6EQR.js": {
8643
8677
  "type": "text/javascript; charset=utf-8",
8644
- "etag": "\"549-cNEOmbx0g8du/LwLdBG/7Q/pGko\"",
8645
- "mtime": "2026-07-19T17:18:25.153Z",
8646
- "size": 1353,
8647
- "path": "../public/_nuxt/BY0AkhJh.js"
8678
+ "etag": "\"c979-wDt52AOugBgA4Q3+MEyc2FZxlBw\"",
8679
+ "mtime": "2026-07-22T19:19:08.389Z",
8680
+ "size": 51577,
8681
+ "path": "../public/_nuxt/BRKa6EQR.js"
8648
8682
  },
8649
- "/_nuxt/BXEDsEwG.js": {
8683
+ "/_nuxt/BPKwYP2Q.js": {
8650
8684
  "type": "text/javascript; charset=utf-8",
8651
- "etag": "\"15b2-ZB13Y59+UMHcKNaSQSaI9XhQiDw\"",
8652
- "mtime": "2026-07-19T17:18:25.152Z",
8653
- "size": 5554,
8654
- "path": "../public/_nuxt/BXEDsEwG.js"
8685
+ "etag": "\"c5bc4-C5UxQnHH6gwB3oRJZh9ctM1HOoA\"",
8686
+ "mtime": "2026-07-22T19:19:08.390Z",
8687
+ "size": 809924,
8688
+ "path": "../public/_nuxt/BPKwYP2Q.js"
8655
8689
  },
8656
- "/_nuxt/B_80i5Ge.js": {
8690
+ "/_nuxt/BS0gKVuF.js": {
8657
8691
  "type": "text/javascript; charset=utf-8",
8658
- "etag": "\"6ed-q53YWhMP2iMxtGGl1f7GG3BHVww\"",
8659
- "mtime": "2026-07-19T17:18:25.153Z",
8660
- "size": 1773,
8661
- "path": "../public/_nuxt/B_80i5Ge.js"
8692
+ "etag": "\"852-S1RyfNTBRA3LrDE2b/yqB1NnzRk\"",
8693
+ "mtime": "2026-07-22T19:19:08.390Z",
8694
+ "size": 2130,
8695
+ "path": "../public/_nuxt/BS0gKVuF.js"
8662
8696
  },
8663
- "/_nuxt/BbgBGuMG.js": {
8697
+ "/_nuxt/BVW5qIDP.js": {
8664
8698
  "type": "text/javascript; charset=utf-8",
8665
- "etag": "\"760b-8suOxLlywsRbtzy7vf+n+0TzaiA\"",
8666
- "mtime": "2026-07-19T17:18:25.153Z",
8667
- "size": 30219,
8668
- "path": "../public/_nuxt/BbgBGuMG.js"
8699
+ "etag": "\"364-mPRD7uzrDW37m9/+rtvD9I/c9no\"",
8700
+ "mtime": "2026-07-22T19:19:08.390Z",
8701
+ "size": 868,
8702
+ "path": "../public/_nuxt/BVW5qIDP.js"
8669
8703
  },
8670
- "/_nuxt/BfshMo9k.js": {
8704
+ "/_nuxt/BY4oA2IH.js": {
8671
8705
  "type": "text/javascript; charset=utf-8",
8672
- "etag": "\"da9c-znrHZx9DdJooc0i2rdMVFpL3MCI\"",
8673
- "mtime": "2026-07-19T17:18:25.153Z",
8674
- "size": 55964,
8675
- "path": "../public/_nuxt/BfshMo9k.js"
8706
+ "etag": "\"27e0-evbE5MCOqM+Cpja9jTzjF1vEfBg\"",
8707
+ "mtime": "2026-07-22T19:19:08.390Z",
8708
+ "size": 10208,
8709
+ "path": "../public/_nuxt/BY4oA2IH.js"
8676
8710
  },
8677
- "/_nuxt/BgR7oL4p.js": {
8711
+ "/_nuxt/BZekCf_x.js": {
8678
8712
  "type": "text/javascript; charset=utf-8",
8679
- "etag": "\"1a2-E2wEEpg+BL6dLPUrMDHTh678bHI\"",
8680
- "mtime": "2026-07-19T17:18:25.153Z",
8681
- "size": 418,
8682
- "path": "../public/_nuxt/BgR7oL4p.js"
8713
+ "etag": "\"8a2-Tx6qBk9Mr7sZ/CaxLQQs3r73ILA\"",
8714
+ "mtime": "2026-07-22T19:19:08.390Z",
8715
+ "size": 2210,
8716
+ "path": "../public/_nuxt/BZekCf_x.js"
8683
8717
  },
8684
- "/_nuxt/BpepjHwc.js": {
8718
+ "/_nuxt/Bb64FEFL.js": {
8685
8719
  "type": "text/javascript; charset=utf-8",
8686
- "etag": "\"15d7-63zj/AncJi68oIPvuR9p0Ld8r0E\"",
8687
- "mtime": "2026-07-19T17:18:25.153Z",
8688
- "size": 5591,
8689
- "path": "../public/_nuxt/BpepjHwc.js"
8720
+ "etag": "\"181d-a1a6yhX7krZ51GUlcQYIvhDRMNY\"",
8721
+ "mtime": "2026-07-22T19:19:08.390Z",
8722
+ "size": 6173,
8723
+ "path": "../public/_nuxt/Bb64FEFL.js"
8690
8724
  },
8691
- "/_nuxt/Bq2ZPvIH.js": {
8725
+ "/_nuxt/BV83yObd.js": {
8692
8726
  "type": "text/javascript; charset=utf-8",
8693
- "etag": "\"597-lgvLm3VlNNs6YNGrkufpUa/qISw\"",
8694
- "mtime": "2026-07-19T17:18:25.153Z",
8695
- "size": 1431,
8696
- "path": "../public/_nuxt/Bq2ZPvIH.js"
8727
+ "etag": "\"2c6bd-e0CrgpczaQjDnld8q9YwaTNjSuw\"",
8728
+ "mtime": "2026-07-22T19:19:08.390Z",
8729
+ "size": 181949,
8730
+ "path": "../public/_nuxt/BV83yObd.js"
8697
8731
  },
8698
- "/_nuxt/BkhdAGx0.js": {
8732
+ "/_nuxt/BdFEUAlx.js": {
8699
8733
  "type": "text/javascript; charset=utf-8",
8700
- "etag": "\"772-9Qeg4ZCDZvrN9jUtp0BYKwClqnE\"",
8701
- "mtime": "2026-07-19T17:18:25.153Z",
8702
- "size": 1906,
8703
- "path": "../public/_nuxt/BkhdAGx0.js"
8734
+ "etag": "\"13ef-bTm32e6ZjlK3iko8PSv/1sMF38c\"",
8735
+ "mtime": "2026-07-22T19:19:08.390Z",
8736
+ "size": 5103,
8737
+ "path": "../public/_nuxt/BdFEUAlx.js"
8704
8738
  },
8705
- "/_nuxt/BtJkQ3to.js": {
8739
+ "/_nuxt/Bf62wdzp.js": {
8706
8740
  "type": "text/javascript; charset=utf-8",
8707
- "etag": "\"2e31-fvF/elmMiZdvsah2gdPy0kdjF8g\"",
8708
- "mtime": "2026-07-19T17:18:25.153Z",
8709
- "size": 11825,
8710
- "path": "../public/_nuxt/BtJkQ3to.js"
8741
+ "etag": "\"d30-GEsMtu/fnpK1XXzfI+Y0x7HZ4/Q\"",
8742
+ "mtime": "2026-07-22T19:19:08.390Z",
8743
+ "size": 3376,
8744
+ "path": "../public/_nuxt/Bf62wdzp.js"
8711
8745
  },
8712
- "/_nuxt/C7RarFGi.js": {
8746
+ "/_nuxt/BkDfdHFm.js": {
8713
8747
  "type": "text/javascript; charset=utf-8",
8714
- "etag": "\"231c-XGGwmmz9MIrZoQCqtfZ/xFahr6Y\"",
8715
- "mtime": "2026-07-19T17:18:25.153Z",
8716
- "size": 8988,
8717
- "path": "../public/_nuxt/C7RarFGi.js"
8748
+ "etag": "\"c3a-jPLkSgUS4r6MQibGcJPJbb02oeI\"",
8749
+ "mtime": "2026-07-22T19:19:08.390Z",
8750
+ "size": 3130,
8751
+ "path": "../public/_nuxt/BkDfdHFm.js"
8718
8752
  },
8719
- "/_nuxt/C9jjVEQU.js": {
8753
+ "/_nuxt/BpIsBP5g.js": {
8720
8754
  "type": "text/javascript; charset=utf-8",
8721
- "etag": "\"1060-0xezKjENzW5r5/rbcCIhLSYLFdA\"",
8722
- "mtime": "2026-07-19T17:18:25.153Z",
8723
- "size": 4192,
8724
- "path": "../public/_nuxt/C9jjVEQU.js"
8755
+ "etag": "\"6d6-8CX4TzIP3M1WAJ7ifQzvA28j0mg\"",
8756
+ "mtime": "2026-07-22T19:19:08.390Z",
8757
+ "size": 1750,
8758
+ "path": "../public/_nuxt/BpIsBP5g.js"
8725
8759
  },
8726
- "/_nuxt/CBrCcDzR.js": {
8760
+ "/_nuxt/BoRFLTAO.js": {
8727
8761
  "type": "text/javascript; charset=utf-8",
8728
- "etag": "\"c24-+seO0poRmzczXp4t2TF4KMTfSJc\"",
8729
- "mtime": "2026-07-19T17:18:25.153Z",
8730
- "size": 3108,
8731
- "path": "../public/_nuxt/CBrCcDzR.js"
8762
+ "etag": "\"2b9-gLQyu4L5tliZb0jtRXV8nerD98o\"",
8763
+ "mtime": "2026-07-22T19:19:08.390Z",
8764
+ "size": 697,
8765
+ "path": "../public/_nuxt/BoRFLTAO.js"
8732
8766
  },
8733
- "/_nuxt/CD-xwM9N.js": {
8767
+ "/_nuxt/BpNqHxg2.js": {
8734
8768
  "type": "text/javascript; charset=utf-8",
8735
- "etag": "\"39cc-DtlUBTRQsLO01ZlZoIlKS29jCP4\"",
8736
- "mtime": "2026-07-19T17:18:25.153Z",
8737
- "size": 14796,
8738
- "path": "../public/_nuxt/CD-xwM9N.js"
8769
+ "etag": "\"1cdf-Xzk2beUNLkBIMN3zCIBYCU0370s\"",
8770
+ "mtime": "2026-07-22T19:19:08.390Z",
8771
+ "size": 7391,
8772
+ "path": "../public/_nuxt/BpNqHxg2.js"
8739
8773
  },
8740
- "/_nuxt/CFXonrwQ.js": {
8774
+ "/_nuxt/BpceIssd.js": {
8741
8775
  "type": "text/javascript; charset=utf-8",
8742
- "etag": "\"6163-dzGkoIAnh7a1u7EWAUkvXdkMrWU\"",
8743
- "mtime": "2026-07-19T17:18:25.153Z",
8744
- "size": 24931,
8745
- "path": "../public/_nuxt/CFXonrwQ.js"
8776
+ "etag": "\"2a7e-h53aqNvz3jX5S4ZWTpw45802tDY\"",
8777
+ "mtime": "2026-07-22T19:19:08.390Z",
8778
+ "size": 10878,
8779
+ "path": "../public/_nuxt/BpceIssd.js"
8746
8780
  },
8747
- "/_nuxt/CFn3w5jn.js": {
8781
+ "/_nuxt/Br2K9yi_.js": {
8748
8782
  "type": "text/javascript; charset=utf-8",
8749
- "etag": "\"149-y15qE/SoBrk/9XCDVtghG1REVa8\"",
8750
- "mtime": "2026-07-19T17:18:25.153Z",
8751
- "size": 329,
8752
- "path": "../public/_nuxt/CFn3w5jn.js"
8783
+ "etag": "\"1836-nVEAAtmt5Mp9MULVNWfs1SenJNY\"",
8784
+ "mtime": "2026-07-22T19:19:08.390Z",
8785
+ "size": 6198,
8786
+ "path": "../public/_nuxt/Br2K9yi_.js"
8753
8787
  },
8754
- "/_nuxt/CHMpVLqo.js": {
8788
+ "/_nuxt/BuZOa2M3.js": {
8755
8789
  "type": "text/javascript; charset=utf-8",
8756
- "etag": "\"289-Zciagnfu7P9EigxK/LmWOBI2aso\"",
8757
- "mtime": "2026-07-19T17:18:25.153Z",
8758
- "size": 649,
8759
- "path": "../public/_nuxt/CHMpVLqo.js"
8790
+ "etag": "\"10f88-EF516sM52Wk5cFqudpjy3dADtYQ\"",
8791
+ "mtime": "2026-07-22T19:19:08.390Z",
8792
+ "size": 69512,
8793
+ "path": "../public/_nuxt/BuZOa2M3.js"
8760
8794
  },
8761
- "/_nuxt/CHSkT2s0.js": {
8795
+ "/_nuxt/Bzl2H_vl.js": {
8762
8796
  "type": "text/javascript; charset=utf-8",
8763
- "etag": "\"262-0QiDlO3ODQtJEpmTrdFPWJl/wGE\"",
8764
- "mtime": "2026-07-19T17:18:25.153Z",
8765
- "size": 610,
8766
- "path": "../public/_nuxt/CHSkT2s0.js"
8797
+ "etag": "\"144c-6fduzev5s8w8OJXo2tNqErglhyM\"",
8798
+ "mtime": "2026-07-22T19:19:08.390Z",
8799
+ "size": 5196,
8800
+ "path": "../public/_nuxt/Bzl2H_vl.js"
8767
8801
  },
8768
- "/_nuxt/CHgsEM4U.js": {
8802
+ "/_nuxt/Bvfmwzgw.js": {
8769
8803
  "type": "text/javascript; charset=utf-8",
8770
- "etag": "\"366-x2zxY/LTSVFVD5nQk9vFI0v4tKY\"",
8771
- "mtime": "2026-07-19T17:18:25.153Z",
8772
- "size": 870,
8773
- "path": "../public/_nuxt/CHgsEM4U.js"
8804
+ "etag": "\"18d2-cJqEulk1Wv2eCgiJ5Oj4KMS4Jc8\"",
8805
+ "mtime": "2026-07-22T19:19:08.390Z",
8806
+ "size": 6354,
8807
+ "path": "../public/_nuxt/Bvfmwzgw.js"
8774
8808
  },
8775
- "/_nuxt/CIOQo6gB.js": {
8809
+ "/_nuxt/C1K3r_fc.js": {
8776
8810
  "type": "text/javascript; charset=utf-8",
8777
- "etag": "\"1dad-xL7+UwCAOLEbF5BRZBuMcEkBp/A\"",
8778
- "mtime": "2026-07-19T17:18:25.153Z",
8779
- "size": 7597,
8780
- "path": "../public/_nuxt/CIOQo6gB.js"
8811
+ "etag": "\"9e85-WCgO1MBKooH4R6tiK8p0YXRAWJw\"",
8812
+ "mtime": "2026-07-22T19:19:08.390Z",
8813
+ "size": 40581,
8814
+ "path": "../public/_nuxt/C1K3r_fc.js"
8781
8815
  },
8782
- "/_nuxt/CJGJI2Of.js": {
8816
+ "/_nuxt/C219JuBV.js": {
8783
8817
  "type": "text/javascript; charset=utf-8",
8784
- "etag": "\"a9b7-R7ESc3YhMvuK161heHLCTb1ZVyk\"",
8785
- "mtime": "2026-07-19T17:18:25.153Z",
8786
- "size": 43447,
8787
- "path": "../public/_nuxt/CJGJI2Of.js"
8818
+ "etag": "\"71-+e2QXwzpCITVhAEKqvFVoB3Fblo\"",
8819
+ "mtime": "2026-07-22T19:19:08.391Z",
8820
+ "size": 113,
8821
+ "path": "../public/_nuxt/C219JuBV.js"
8788
8822
  },
8789
- "/_nuxt/CKZn0TUX.js": {
8823
+ "/_nuxt/C38aZbFJ.js": {
8790
8824
  "type": "text/javascript; charset=utf-8",
8791
- "etag": "\"84-lQFnxj1JUr89OAM5A+1yt4bjbec\"",
8792
- "mtime": "2026-07-19T17:18:25.153Z",
8793
- "size": 132,
8794
- "path": "../public/_nuxt/CKZn0TUX.js"
8825
+ "etag": "\"6ed-6WL5iQRTruhvzjkaeohie3X+mmg\"",
8826
+ "mtime": "2026-07-22T19:19:08.391Z",
8827
+ "size": 1773,
8828
+ "path": "../public/_nuxt/C38aZbFJ.js"
8795
8829
  },
8796
- "/_nuxt/CU-OXXdh.js": {
8830
+ "/_nuxt/C3r_Sv1p.js": {
8797
8831
  "type": "text/javascript; charset=utf-8",
8798
- "etag": "\"1e50-/wK9JXvRyuFcpHlZJm86h6okqcY\"",
8799
- "mtime": "2026-07-19T17:18:25.153Z",
8800
- "size": 7760,
8801
- "path": "../public/_nuxt/CU-OXXdh.js"
8832
+ "etag": "\"99f0-MkozJQZ5DgJpBKHlsKoccIq3YY0\"",
8833
+ "mtime": "2026-07-22T19:19:08.391Z",
8834
+ "size": 39408,
8835
+ "path": "../public/_nuxt/C3r_Sv1p.js"
8802
8836
  },
8803
- "/_nuxt/CNzoIhwN.js": {
8837
+ "/_nuxt/C8RBRg7I.js": {
8804
8838
  "type": "text/javascript; charset=utf-8",
8805
- "etag": "\"2609-IaRRd8SFDjbTcv+/oCnZ4MUX1rM\"",
8806
- "mtime": "2026-07-19T17:18:25.153Z",
8807
- "size": 9737,
8808
- "path": "../public/_nuxt/CNzoIhwN.js"
8839
+ "etag": "\"5bf-TzXBj+b+yzYTbbq0aOjP5FZnDEM\"",
8840
+ "mtime": "2026-07-22T19:19:08.391Z",
8841
+ "size": 1471,
8842
+ "path": "../public/_nuxt/C8RBRg7I.js"
8809
8843
  },
8810
- "/_nuxt/Ce4EdfL_.js": {
8844
+ "/_nuxt/CCRRqXez.js": {
8811
8845
  "type": "text/javascript; charset=utf-8",
8812
- "etag": "\"131b5-Kkmc526eYVsWuzb3FYQLHVD74q8\"",
8813
- "mtime": "2026-07-19T17:18:25.154Z",
8814
- "size": 78261,
8815
- "path": "../public/_nuxt/Ce4EdfL_.js"
8846
+ "etag": "\"629-Fj6skFkNtlZLHL4goXqKGDGsJeU\"",
8847
+ "mtime": "2026-07-22T19:19:08.391Z",
8848
+ "size": 1577,
8849
+ "path": "../public/_nuxt/CCRRqXez.js"
8816
8850
  },
8817
- "/_nuxt/Cf3RuiXF.js": {
8851
+ "/_nuxt/CJFqA_QW.js": {
8818
8852
  "type": "text/javascript; charset=utf-8",
8819
- "etag": "\"6893-jFWx79lzYFietkubc7Ry6L6vcuw\"",
8820
- "mtime": "2026-07-19T17:18:25.154Z",
8821
- "size": 26771,
8822
- "path": "../public/_nuxt/Cf3RuiXF.js"
8853
+ "etag": "\"a7b-zORyb7dVHzLYLv6BcLoG/mffb6U\"",
8854
+ "mtime": "2026-07-22T19:19:08.391Z",
8855
+ "size": 2683,
8856
+ "path": "../public/_nuxt/CJFqA_QW.js"
8823
8857
  },
8824
- "/_nuxt/Cfk2_UCm.js": {
8858
+ "/_nuxt/CKB_doYB.js": {
8825
8859
  "type": "text/javascript; charset=utf-8",
8826
- "etag": "\"7089-8ZPgCDA02JC4FjXuhAAaXWG59Dw\"",
8827
- "mtime": "2026-07-19T17:18:25.154Z",
8828
- "size": 28809,
8829
- "path": "../public/_nuxt/Cfk2_UCm.js"
8860
+ "etag": "\"239-QviGWLmOhot6Iq4lgm5dEp+msr0\"",
8861
+ "mtime": "2026-07-22T19:19:08.391Z",
8862
+ "size": 569,
8863
+ "path": "../public/_nuxt/CKB_doYB.js"
8830
8864
  },
8831
- "/_nuxt/Cgr8IKY4.js": {
8865
+ "/_nuxt/CMYQpoOI.js": {
8832
8866
  "type": "text/javascript; charset=utf-8",
8833
- "etag": "\"43f-420LF4tOFNlVy0uxkpfWoamxaag\"",
8834
- "mtime": "2026-07-19T17:18:25.154Z",
8835
- "size": 1087,
8836
- "path": "../public/_nuxt/Cgr8IKY4.js"
8867
+ "etag": "\"d67-FjY8j66S8v3MII4aD56vszOlVcA\"",
8868
+ "mtime": "2026-07-22T19:19:08.391Z",
8869
+ "size": 3431,
8870
+ "path": "../public/_nuxt/CMYQpoOI.js"
8837
8871
  },
8838
- "/_nuxt/ChWPXucC.js": {
8872
+ "/_nuxt/CQeMb57w.js": {
8839
8873
  "type": "text/javascript; charset=utf-8",
8840
- "etag": "\"126d5-VQC+3fn8GB30WaGerDMbyMVPlsQ\"",
8841
- "mtime": "2026-07-19T17:18:25.154Z",
8842
- "size": 75477,
8843
- "path": "../public/_nuxt/ChWPXucC.js"
8874
+ "etag": "\"5647-bwAmQkA8NM/Td18+SrZKKNKG+ek\"",
8875
+ "mtime": "2026-07-22T19:19:08.391Z",
8876
+ "size": 22087,
8877
+ "path": "../public/_nuxt/CQeMb57w.js"
8844
8878
  },
8845
- "/_nuxt/CkpB9oBr.js": {
8879
+ "/_nuxt/CSYJwpXG.js": {
8846
8880
  "type": "text/javascript; charset=utf-8",
8847
- "etag": "\"7a2-9GZLSWvufR94MdrN8Ap6moVNM0E\"",
8848
- "mtime": "2026-07-19T17:18:25.154Z",
8849
- "size": 1954,
8850
- "path": "../public/_nuxt/CkpB9oBr.js"
8881
+ "etag": "\"597-EY2/sOqtuxD7MwWtk3FLsoE/8Q8\"",
8882
+ "mtime": "2026-07-22T19:19:08.391Z",
8883
+ "size": 1431,
8884
+ "path": "../public/_nuxt/CSYJwpXG.js"
8851
8885
  },
8852
- "/_nuxt/CokbKVE6.js": {
8886
+ "/_nuxt/CTdvGdc2.js": {
8853
8887
  "type": "text/javascript; charset=utf-8",
8854
- "etag": "\"2b8-PkS6RDeXL7/lMt0MhaFanGobCHw\"",
8855
- "mtime": "2026-07-19T17:18:25.154Z",
8856
- "size": 696,
8857
- "path": "../public/_nuxt/CokbKVE6.js"
8888
+ "etag": "\"462-vG3Xb9RCF3U3QzaoJMbPO2l1Maw\"",
8889
+ "mtime": "2026-07-22T19:19:08.391Z",
8890
+ "size": 1122,
8891
+ "path": "../public/_nuxt/CTdvGdc2.js"
8858
8892
  },
8859
- "/_nuxt/CqA3gM8h.js": {
8893
+ "/_nuxt/CX1dcT4v.js": {
8860
8894
  "type": "text/javascript; charset=utf-8",
8861
- "etag": "\"2b9-8nqB98QKS6MTJP9ZkG73ysbswjc\"",
8862
- "mtime": "2026-07-19T17:18:25.154Z",
8863
- "size": 697,
8864
- "path": "../public/_nuxt/CqA3gM8h.js"
8895
+ "etag": "\"9d8-pDf4RJSO2v9zu7vbvV0XsVSz7rE\"",
8896
+ "mtime": "2026-07-22T19:19:08.391Z",
8897
+ "size": 2520,
8898
+ "path": "../public/_nuxt/CX1dcT4v.js"
8865
8899
  },
8866
- "/_nuxt/Cpquifvd.js": {
8900
+ "/_nuxt/CdME81ij.js": {
8867
8901
  "type": "text/javascript; charset=utf-8",
8868
- "etag": "\"2330-3A7LSNkoH3XwHorWbijePe5/D5A\"",
8869
- "mtime": "2026-07-19T17:18:25.154Z",
8870
- "size": 9008,
8871
- "path": "../public/_nuxt/Cpquifvd.js"
8902
+ "etag": "\"1c260-XRgfa4hxDA4WHgaHTZEeK8n/xi8\"",
8903
+ "mtime": "2026-07-22T19:19:08.391Z",
8904
+ "size": 115296,
8905
+ "path": "../public/_nuxt/CdME81ij.js"
8872
8906
  },
8873
- "/_nuxt/CrFCPOnY.js": {
8907
+ "/_nuxt/CgoAUz76.js": {
8874
8908
  "type": "text/javascript; charset=utf-8",
8875
- "etag": "\"4ed-WjyBy+T3jfejXWq5agvijq9ubAA\"",
8876
- "mtime": "2026-07-19T17:18:25.154Z",
8877
- "size": 1261,
8878
- "path": "../public/_nuxt/CrFCPOnY.js"
8909
+ "etag": "\"21f-0nT8w0kucxFrm3lUuFHRZEi8AIo\"",
8910
+ "mtime": "2026-07-22T19:19:08.391Z",
8911
+ "size": 543,
8912
+ "path": "../public/_nuxt/CgoAUz76.js"
8879
8913
  },
8880
- "/_nuxt/CvCF77E-.js": {
8914
+ "/_nuxt/CoHGrO41.js": {
8881
8915
  "type": "text/javascript; charset=utf-8",
8882
- "etag": "\"4033-6wR19LZ7iEMzyXYogj2RoZqsJlU\"",
8883
- "mtime": "2026-07-19T17:18:25.154Z",
8884
- "size": 16435,
8885
- "path": "../public/_nuxt/CvCF77E-.js"
8916
+ "etag": "\"9f87-LDCNsZpIvpYHFdiHxkYh5JNx5FE\"",
8917
+ "mtime": "2026-07-22T19:19:08.391Z",
8918
+ "size": 40839,
8919
+ "path": "../public/_nuxt/CoHGrO41.js"
8886
8920
  },
8887
- "/_nuxt/D1tZEdSi.js": {
8921
+ "/_nuxt/CpO-ABDW.js": {
8888
8922
  "type": "text/javascript; charset=utf-8",
8889
- "etag": "\"7e-m5KMSLwZl9Q8mkVUbv9yy3Ae9Ss\"",
8890
- "mtime": "2026-07-19T17:18:25.154Z",
8891
- "size": 126,
8892
- "path": "../public/_nuxt/D1tZEdSi.js"
8923
+ "etag": "\"3a76-vs/Fq7ZAUzZ3eDpWBPewhEYiWtA\"",
8924
+ "mtime": "2026-07-22T19:19:08.391Z",
8925
+ "size": 14966,
8926
+ "path": "../public/_nuxt/CpO-ABDW.js"
8893
8927
  },
8894
- "/_nuxt/D4nLD93c.js": {
8928
+ "/_nuxt/CuYYdFBL.js": {
8895
8929
  "type": "text/javascript; charset=utf-8",
8896
- "etag": "\"10f88-C06rdxjeAE5atFtc+LMswYrSn50\"",
8897
- "mtime": "2026-07-19T17:18:25.154Z",
8898
- "size": 69512,
8899
- "path": "../public/_nuxt/D4nLD93c.js"
8930
+ "etag": "\"dfa-3i9S6FVfAoPU/GyPbEIzPz1koDI\"",
8931
+ "mtime": "2026-07-22T19:19:08.391Z",
8932
+ "size": 3578,
8933
+ "path": "../public/_nuxt/CuYYdFBL.js"
8900
8934
  },
8901
- "/_nuxt/DAeYEeCC.js": {
8935
+ "/_nuxt/D33On6AX.js": {
8902
8936
  "type": "text/javascript; charset=utf-8",
8903
- "etag": "\"6d0-/HnSshKgfU5OVjCt7JCXqyZGuqo\"",
8904
- "mtime": "2026-07-19T17:18:25.154Z",
8905
- "size": 1744,
8906
- "path": "../public/_nuxt/DAeYEeCC.js"
8937
+ "etag": "\"231c-ga25s3pjvqz+HTQZr/yX4dBWlHQ\"",
8938
+ "mtime": "2026-07-22T19:19:08.391Z",
8939
+ "size": 8988,
8940
+ "path": "../public/_nuxt/D33On6AX.js"
8941
+ },
8942
+ "/_nuxt/D2jhe9JK.js": {
8943
+ "type": "text/javascript; charset=utf-8",
8944
+ "etag": "\"289-U66jksd17/ITJG2FEax8VivL6P8\"",
8945
+ "mtime": "2026-07-22T19:19:08.391Z",
8946
+ "size": 649,
8947
+ "path": "../public/_nuxt/D2jhe9JK.js"
8907
8948
  },
8908
8949
  "/_nuxt/D7W_4Sqc.js": {
8909
8950
  "type": "text/javascript; charset=utf-8",
8910
8951
  "etag": "\"296-MEW58xwcF9oONLZ10XXXEBy/ICo\"",
8911
- "mtime": "2026-07-19T17:18:25.154Z",
8952
+ "mtime": "2026-07-22T19:19:08.391Z",
8912
8953
  "size": 662,
8913
8954
  "path": "../public/_nuxt/D7W_4Sqc.js"
8914
8955
  },
8915
- "/_nuxt/DCCMLWel.js": {
8916
- "type": "text/javascript; charset=utf-8",
8917
- "etag": "\"25c1-nyWculW9lPsqt6qpmXlkaD3U9Z0\"",
8918
- "mtime": "2026-07-19T17:18:25.154Z",
8919
- "size": 9665,
8920
- "path": "../public/_nuxt/DCCMLWel.js"
8921
- },
8922
- "/_nuxt/DFw8I2FL.js": {
8923
- "type": "text/javascript; charset=utf-8",
8924
- "etag": "\"2a7e-dDoNXF2iRpwCjgnnUv4bETKOtTI\"",
8925
- "mtime": "2026-07-19T17:18:25.154Z",
8926
- "size": 10878,
8927
- "path": "../public/_nuxt/DFw8I2FL.js"
8928
- },
8929
- "/_nuxt/DHVmXA9K.js": {
8930
- "type": "text/javascript; charset=utf-8",
8931
- "etag": "\"99f0-Qzw8Hl910AYPV9sdyCuCljJNvtw\"",
8932
- "mtime": "2026-07-19T17:18:25.154Z",
8933
- "size": 39408,
8934
- "path": "../public/_nuxt/DHVmXA9K.js"
8935
- },
8936
- "/_nuxt/DI_-kFec.js": {
8956
+ "/_nuxt/D4VpoHDP.js": {
8937
8957
  "type": "text/javascript; charset=utf-8",
8938
- "etag": "\"554-dIa2161IbXo7SoU3cZM4Z5lfzew\"",
8939
- "mtime": "2026-07-19T17:18:25.154Z",
8940
- "size": 1364,
8941
- "path": "../public/_nuxt/DI_-kFec.js"
8958
+ "etag": "\"19fa3-UhI401GDaErG2z7I11oIoC/C4kg\"",
8959
+ "mtime": "2026-07-22T19:19:08.391Z",
8960
+ "size": 106403,
8961
+ "path": "../public/_nuxt/D4VpoHDP.js"
8942
8962
  },
8943
- "/_nuxt/DKTDub7I.js": {
8963
+ "/_nuxt/DAWn6Z7h.js": {
8944
8964
  "type": "text/javascript; charset=utf-8",
8945
- "etag": "\"21f-pdYkCakfe/2XunXvSu/zIyo1zd8\"",
8946
- "mtime": "2026-07-19T17:18:25.154Z",
8947
- "size": 543,
8948
- "path": "../public/_nuxt/DKTDub7I.js"
8965
+ "etag": "\"84-yrdPpNIaGtI4p2IuSI8n90vWmpc\"",
8966
+ "mtime": "2026-07-22T19:19:08.391Z",
8967
+ "size": 132,
8968
+ "path": "../public/_nuxt/DAWn6Z7h.js"
8949
8969
  },
8950
- "/_nuxt/DK9uMTYX.js": {
8970
+ "/_nuxt/DCpmQ47_.js": {
8951
8971
  "type": "text/javascript; charset=utf-8",
8952
- "etag": "\"12d0a-VPT6TYxSj3PHllu5fSQEn3cJEd4\"",
8953
- "mtime": "2026-07-19T17:18:25.154Z",
8954
- "size": 77066,
8955
- "path": "../public/_nuxt/DK9uMTYX.js"
8972
+ "etag": "\"1a7-cnyk1oQUF9vDlbMD4ZeivEGpHIs\"",
8973
+ "mtime": "2026-07-22T19:19:08.391Z",
8974
+ "size": 423,
8975
+ "path": "../public/_nuxt/DCpmQ47_.js"
8956
8976
  },
8957
- "/_nuxt/DNP5tTJo.js": {
8977
+ "/_nuxt/DIkLLyR6.js": {
8958
8978
  "type": "text/javascript; charset=utf-8",
8959
- "etag": "\"2624-5FbHLX+7hlhI7yZEjX4xLuMCkgU\"",
8960
- "mtime": "2026-07-19T17:18:25.154Z",
8961
- "size": 9764,
8962
- "path": "../public/_nuxt/DNP5tTJo.js"
8979
+ "etag": "\"7ce4-pk3hNgqnunQsa3N+NQ6O4CZHABA\"",
8980
+ "mtime": "2026-07-22T19:19:08.391Z",
8981
+ "size": 31972,
8982
+ "path": "../public/_nuxt/DIkLLyR6.js"
8963
8983
  },
8964
- "/_nuxt/DQpa8F03.js": {
8984
+ "/_nuxt/DJS3Bf50.js": {
8965
8985
  "type": "text/javascript; charset=utf-8",
8966
- "etag": "\"331-xN2bB14pBjvKgO58NAzNv+iQbrw\"",
8967
- "mtime": "2026-07-19T17:18:25.154Z",
8968
- "size": 817,
8969
- "path": "../public/_nuxt/DQpa8F03.js"
8986
+ "etag": "\"149-3haqSjzKmW8p1FTqq8Asoea7fcQ\"",
8987
+ "mtime": "2026-07-22T19:19:08.391Z",
8988
+ "size": 329,
8989
+ "path": "../public/_nuxt/DJS3Bf50.js"
8970
8990
  },
8971
- "/_nuxt/DVdOm5Bg.js": {
8991
+ "/_nuxt/DL20rwkA.js": {
8972
8992
  "type": "text/javascript; charset=utf-8",
8973
- "etag": "\"86b-vnf4wf9K9qrk6KRAYszcdm5J8hI\"",
8974
- "mtime": "2026-07-19T17:18:25.155Z",
8975
- "size": 2155,
8976
- "path": "../public/_nuxt/DVdOm5Bg.js"
8993
+ "etag": "\"2fc7-F1kPL7XzEfbQc/5qSU3v7w74YjE\"",
8994
+ "mtime": "2026-07-22T19:19:08.391Z",
8995
+ "size": 12231,
8996
+ "path": "../public/_nuxt/DL20rwkA.js"
8977
8997
  },
8978
- "/_nuxt/DWzdeQ3Z.js": {
8998
+ "/_nuxt/DOuoR2Pk.js": {
8979
8999
  "type": "text/javascript; charset=utf-8",
8980
- "etag": "\"186-eW/QVtstF7hLI8Pj7lDt7Hn/MF0\"",
8981
- "mtime": "2026-07-19T17:18:25.155Z",
8982
- "size": 390,
8983
- "path": "../public/_nuxt/DWzdeQ3Z.js"
9000
+ "etag": "\"b44b-5DZONH61SVIgyIOwh4ud60ZgmmU\"",
9001
+ "mtime": "2026-07-22T19:19:08.392Z",
9002
+ "size": 46155,
9003
+ "path": "../public/_nuxt/DOuoR2Pk.js"
8984
9004
  },
8985
- "/_nuxt/DYDGGqZ3.js": {
9005
+ "/_nuxt/DbeHHTk-.js": {
8986
9006
  "type": "text/javascript; charset=utf-8",
8987
- "etag": "\"c3a-RjDN+37Usj4P/i8p7fnhk1nEwQM\"",
8988
- "mtime": "2026-07-19T17:18:25.155Z",
8989
- "size": 3130,
8990
- "path": "../public/_nuxt/DYDGGqZ3.js"
9007
+ "etag": "\"1f2-T+ndrr/GtPNsqbzD750Pb+nFBYM\"",
9008
+ "mtime": "2026-07-22T19:19:08.392Z",
9009
+ "size": 498,
9010
+ "path": "../public/_nuxt/DbeHHTk-.js"
8991
9011
  },
8992
- "/_nuxt/DZLrAp2i.js": {
9012
+ "/_nuxt/DRtTLQri.js": {
8993
9013
  "type": "text/javascript; charset=utf-8",
8994
- "etag": "\"231-LMo/R2fdVtsD4I9bK6C1jlx6zmg\"",
8995
- "mtime": "2026-07-19T17:18:25.155Z",
8996
- "size": 561,
8997
- "path": "../public/_nuxt/DZLrAp2i.js"
9014
+ "etag": "\"1b9-89tVquwZW/a+0PE/g/7/ZkBImFk\"",
9015
+ "mtime": "2026-07-22T19:19:08.392Z",
9016
+ "size": 441,
9017
+ "path": "../public/_nuxt/DRtTLQri.js"
8998
9018
  },
8999
- "/_nuxt/DZoSxwj6.js": {
9019
+ "/_nuxt/DcCNnjKl.js": {
9000
9020
  "type": "text/javascript; charset=utf-8",
9001
- "etag": "\"8a2-Uf6740t6RgzegoFZjdb0v3pmmMc\"",
9002
- "mtime": "2026-07-19T17:18:25.155Z",
9003
- "size": 2210,
9004
- "path": "../public/_nuxt/DZoSxwj6.js"
9021
+ "etag": "\"79d-y2EspMMD/sifqtiQjg84xi4g+YM\"",
9022
+ "mtime": "2026-07-22T19:19:08.392Z",
9023
+ "size": 1949,
9024
+ "path": "../public/_nuxt/DcCNnjKl.js"
9005
9025
  },
9006
- "/_nuxt/DaKVSp-6.js": {
9026
+ "/_nuxt/DdbrJwT-.js": {
9007
9027
  "type": "text/javascript; charset=utf-8",
9008
- "etag": "\"d67-yIWQHndZQyMrT3RGzyHGt37itxw\"",
9009
- "mtime": "2026-07-19T17:18:25.155Z",
9010
- "size": 3431,
9011
- "path": "../public/_nuxt/DaKVSp-6.js"
9028
+ "etag": "\"eea-xlIjoyIF+BwB3FyfT+so4Zs9TcY\"",
9029
+ "mtime": "2026-07-22T19:19:08.392Z",
9030
+ "size": 3818,
9031
+ "path": "../public/_nuxt/DdbrJwT-.js"
9012
9032
  },
9013
- "/_nuxt/Dejf0f7D.js": {
9033
+ "/_nuxt/DfcAIbcX.js": {
9014
9034
  "type": "text/javascript; charset=utf-8",
9015
- "etag": "\"c960-ntL87hKaGSr/aTfJuLCT9gWpGTs\"",
9016
- "mtime": "2026-07-19T17:18:25.155Z",
9017
- "size": 51552,
9018
- "path": "../public/_nuxt/Dejf0f7D.js"
9035
+ "etag": "\"7089-RbU1TMi5g8+7tUrSVnbKigb4Bh0\"",
9036
+ "mtime": "2026-07-22T19:19:08.392Z",
9037
+ "size": 28809,
9038
+ "path": "../public/_nuxt/DfcAIbcX.js"
9019
9039
  },
9020
- "/_nuxt/DgZlpN9l.js": {
9040
+ "/_nuxt/DgYM3eyi.js": {
9021
9041
  "type": "text/javascript; charset=utf-8",
9022
- "etag": "\"7e8-qHqIrX4QQUkXgu3YVpr69LMbzE8\"",
9023
- "mtime": "2026-07-19T17:18:25.155Z",
9024
- "size": 2024,
9025
- "path": "../public/_nuxt/DgZlpN9l.js"
9042
+ "etag": "\"13c3-XmHrfYqV+K5V84elGxxSaPIWBws\"",
9043
+ "mtime": "2026-07-22T19:19:08.392Z",
9044
+ "size": 5059,
9045
+ "path": "../public/_nuxt/DgYM3eyi.js"
9026
9046
  },
9027
- "/_nuxt/DiUGa0CT.js": {
9047
+ "/_nuxt/DhA17dqR.js": {
9028
9048
  "type": "text/javascript; charset=utf-8",
9029
- "etag": "\"1f2-xsYJ1MvRG/Myq78xdFw6689zEoA\"",
9030
- "mtime": "2026-07-19T17:18:25.155Z",
9031
- "size": 498,
9032
- "path": "../public/_nuxt/DiUGa0CT.js"
9049
+ "etag": "\"54d-DdooCakma4flmzZtsJL7836k3ZM\"",
9050
+ "mtime": "2026-07-22T19:19:08.392Z",
9051
+ "size": 1357,
9052
+ "path": "../public/_nuxt/DhA17dqR.js"
9033
9053
  },
9034
- "/_nuxt/DjCfCT_5.js": {
9054
+ "/_nuxt/DqnyWaSQ.js": {
9035
9055
  "type": "text/javascript; charset=utf-8",
9036
- "etag": "\"be18-xmj2qh4Nyn20mnmkfTorfLVCMms\"",
9037
- "mtime": "2026-07-19T17:18:25.155Z",
9038
- "size": 48664,
9039
- "path": "../public/_nuxt/DjCfCT_5.js"
9056
+ "etag": "\"25c1-2OCsloqS9CrBDSEkKEA/p+MFLng\"",
9057
+ "mtime": "2026-07-22T19:19:08.392Z",
9058
+ "size": 9665,
9059
+ "path": "../public/_nuxt/DqnyWaSQ.js"
9040
9060
  },
9041
- "/_nuxt/DkFbpSsi.js": {
9061
+ "/_nuxt/DjZKuUMz.js": {
9042
9062
  "type": "text/javascript; charset=utf-8",
9043
- "etag": "\"1cdf-NKo/M865WTG2G8KZ+u4ozcbvFYY\"",
9044
- "mtime": "2026-07-19T17:18:25.155Z",
9045
- "size": 7391,
9046
- "path": "../public/_nuxt/DkFbpSsi.js"
9063
+ "etag": "\"7d17-Edn4SnXJI2ourKExgPRnr1+Jq0U\"",
9064
+ "mtime": "2026-07-22T19:19:08.392Z",
9065
+ "size": 32023,
9066
+ "path": "../public/_nuxt/DjZKuUMz.js"
9047
9067
  },
9048
- "/_nuxt/DvdOsTLb.js": {
9068
+ "/_nuxt/Dsk4Ic18.js": {
9049
9069
  "type": "text/javascript; charset=utf-8",
9050
- "etag": "\"7d17-oYeWshPnHn3hn/FNLIHKfMTR7hM\"",
9051
- "mtime": "2026-07-19T17:18:25.155Z",
9052
- "size": 32023,
9053
- "path": "../public/_nuxt/DvdOsTLb.js"
9070
+ "etag": "\"1fd7-LxXL02nUNN9rcsuOlRicgQirgj8\"",
9071
+ "mtime": "2026-07-22T19:19:08.392Z",
9072
+ "size": 8151,
9073
+ "path": "../public/_nuxt/Dsk4Ic18.js"
9054
9074
  },
9055
- "/_nuxt/DxXZN6ed.js": {
9075
+ "/_nuxt/DszOHBMG.js": {
9056
9076
  "type": "text/javascript; charset=utf-8",
9057
- "etag": "\"6d6-eJ5mtAvlisaLfk5eL906S7Rhcbw\"",
9058
- "mtime": "2026-07-19T17:18:25.155Z",
9059
- "size": 1750,
9060
- "path": "../public/_nuxt/DxXZN6ed.js"
9077
+ "etag": "\"3f70-JdGy6UbYbANpuZhllwioILkzsHA\"",
9078
+ "mtime": "2026-07-22T19:19:08.392Z",
9079
+ "size": 16240,
9080
+ "path": "../public/_nuxt/DszOHBMG.js"
9061
9081
  },
9062
- "/_nuxt/DzbOHjZH.js": {
9082
+ "/_nuxt/DuMv-ugy.js": {
9063
9083
  "type": "text/javascript; charset=utf-8",
9064
- "etag": "\"10b6a-WtZGESOMKbfO/KdMwiXl356mJzQ\"",
9065
- "mtime": "2026-07-19T17:18:25.155Z",
9066
- "size": 68458,
9067
- "path": "../public/_nuxt/DzbOHjZH.js"
9084
+ "etag": "\"186-AnK1r1CyngFZ5giC20+pJ4CNgBM\"",
9085
+ "mtime": "2026-07-22T19:19:08.392Z",
9086
+ "size": 390,
9087
+ "path": "../public/_nuxt/DuMv-ugy.js"
9068
9088
  },
9069
- "/_nuxt/ETOCcsVw.js": {
9089
+ "/_nuxt/DuBBqqbF.js": {
9070
9090
  "type": "text/javascript; charset=utf-8",
9071
- "etag": "\"462-qPoQpXjimuE+5865oE7UPFNJ2SM\"",
9072
- "mtime": "2026-07-19T17:18:25.155Z",
9073
- "size": 1122,
9074
- "path": "../public/_nuxt/ETOCcsVw.js"
9091
+ "etag": "\"2330-mgXzzHx1CTGVIvMoMF43ahPIkSU\"",
9092
+ "mtime": "2026-07-22T19:19:08.392Z",
9093
+ "size": 9008,
9094
+ "path": "../public/_nuxt/DuBBqqbF.js"
9075
9095
  },
9076
- "/_nuxt/Dv2B_nw_.js": {
9096
+ "/_nuxt/Dz55UR7w.js": {
9077
9097
  "type": "text/javascript; charset=utf-8",
9078
- "etag": "\"19fa3-jTQbMAYhGKIhtKvUK71qodkP+ek\"",
9079
- "mtime": "2026-07-19T17:18:25.155Z",
9080
- "size": 106403,
9081
- "path": "../public/_nuxt/Dv2B_nw_.js"
9098
+ "etag": "\"daec-JUXqnwt6rDXeQtjdca1AtCWfjlE\"",
9099
+ "mtime": "2026-07-22T19:19:08.392Z",
9100
+ "size": 56044,
9101
+ "path": "../public/_nuxt/Dz55UR7w.js"
9082
9102
  },
9083
- "/_nuxt/F07TcX0U.js": {
9103
+ "/_nuxt/Dzz9_Z0u.js": {
9084
9104
  "type": "text/javascript; charset=utf-8",
9085
- "etag": "\"2fc7-AWH9JIULd/SVXAxP1waF0WQDcTk\"",
9086
- "mtime": "2026-07-19T17:18:25.156Z",
9087
- "size": 12231,
9088
- "path": "../public/_nuxt/F07TcX0U.js"
9105
+ "etag": "\"772-oD0gk+UUpBmeoMGO7Ef1k+Tdajc\"",
9106
+ "mtime": "2026-07-22T19:19:08.392Z",
9107
+ "size": 1906,
9108
+ "path": "../public/_nuxt/Dzz9_Z0u.js"
9089
9109
  },
9090
- "/_nuxt/IdQR_Djw.js": {
9110
+ "/_nuxt/HoKG9cc2.js": {
9091
9111
  "type": "text/javascript; charset=utf-8",
9092
- "etag": "\"9e85-8hQpOqehheLotvcyRjFoQQ4REMk\"",
9093
- "mtime": "2026-07-19T17:18:25.155Z",
9094
- "size": 40581,
9095
- "path": "../public/_nuxt/IdQR_Djw.js"
9112
+ "etag": "\"7e8-GtvsDFXcKMm4yAtRo/s3BiMQqsQ\"",
9113
+ "mtime": "2026-07-22T19:19:08.392Z",
9114
+ "size": 2024,
9115
+ "path": "../public/_nuxt/HoKG9cc2.js"
9096
9116
  },
9097
- "/_nuxt/O1A-LRgV.js": {
9117
+ "/_nuxt/IFqRT_xJ.js": {
9098
9118
  "type": "text/javascript; charset=utf-8",
9099
- "etag": "\"5bf-iwiFpV506MJFeEhICkM20FGWdDs\"",
9100
- "mtime": "2026-07-19T17:18:25.155Z",
9101
- "size": 1471,
9102
- "path": "../public/_nuxt/O1A-LRgV.js"
9119
+ "etag": "\"1060-t2q87U7f83yqgnIE7hDcsD54VxI\"",
9120
+ "mtime": "2026-07-22T19:19:08.392Z",
9121
+ "size": 4192,
9122
+ "path": "../public/_nuxt/IFqRT_xJ.js"
9103
9123
  },
9104
- "/_nuxt/OG2n3p77.js": {
9124
+ "/_nuxt/JCFZINev.js": {
9105
9125
  "type": "text/javascript; charset=utf-8",
9106
- "etag": "\"13c3-vDkPAstsXyA+M0fW2Zkv9umsoSs\"",
9107
- "mtime": "2026-07-19T17:18:25.155Z",
9108
- "size": 5059,
9109
- "path": "../public/_nuxt/OG2n3p77.js"
9126
+ "etag": "\"241f-cfncduTWZrsZQsLrbhWGlEuytfs\"",
9127
+ "mtime": "2026-07-22T19:19:08.392Z",
9128
+ "size": 9247,
9129
+ "path": "../public/_nuxt/JCFZINev.js"
9110
9130
  },
9111
- "/_nuxt/PPFO8UVt.js": {
9131
+ "/_nuxt/Kc7La4sL.js": {
9112
9132
  "type": "text/javascript; charset=utf-8",
9113
- "etag": "\"eea-sBHh27bMANRkgs912gBYcRsHihQ\"",
9114
- "mtime": "2026-07-19T17:18:25.155Z",
9115
- "size": 3818,
9116
- "path": "../public/_nuxt/PPFO8UVt.js"
9133
+ "etag": "\"5460-fE8pSD4Aoha8vxgtp4zpud+UhS8\"",
9134
+ "mtime": "2026-07-22T19:19:08.392Z",
9135
+ "size": 21600,
9136
+ "path": "../public/_nuxt/Kc7La4sL.js"
9117
9137
  },
9118
9138
  "/_nuxt/PageStateCard.BrM5HWjY.css": {
9119
9139
  "type": "text/css; charset=utf-8",
9120
9140
  "etag": "\"c1-U1JlPq8PmBEG9/xBeQjfV2c0srg\"",
9121
- "mtime": "2026-07-19T17:18:25.155Z",
9141
+ "mtime": "2026-07-22T19:19:08.392Z",
9122
9142
  "size": 193,
9123
9143
  "path": "../public/_nuxt/PageStateCard.BrM5HWjY.css"
9124
9144
  },
9125
- "/_nuxt/Surk4Lw-.js": {
9126
- "type": "text/javascript; charset=utf-8",
9127
- "etag": "\"239-3uaxd4R1Wee5Pim79TOeGuJt1Ik\"",
9128
- "mtime": "2026-07-19T17:18:25.155Z",
9129
- "size": 569,
9130
- "path": "../public/_nuxt/Surk4Lw-.js"
9131
- },
9132
- "/_nuxt/V1BQiRoh.js": {
9133
- "type": "text/javascript; charset=utf-8",
9134
- "etag": "\"19a5-ZvR7yBdQflhswxXmB8WN/d4pXeM\"",
9135
- "mtime": "2026-07-19T17:18:25.155Z",
9136
- "size": 6565,
9137
- "path": "../public/_nuxt/V1BQiRoh.js"
9138
- },
9139
- "/_nuxt/YDWXnWou.js": {
9145
+ "/_nuxt/WctJXszi.js": {
9140
9146
  "type": "text/javascript; charset=utf-8",
9141
- "etag": "\"71-u1zrfqJZ0eBUX7qbIqvDEkI7T4s\"",
9142
- "mtime": "2026-07-19T17:18:25.155Z",
9143
- "size": 113,
9144
- "path": "../public/_nuxt/YDWXnWou.js"
9147
+ "etag": "\"6163-gcSX+5lTMmJac8aXpu57ng4NHqc\"",
9148
+ "mtime": "2026-07-22T19:19:08.392Z",
9149
+ "size": 24931,
9150
+ "path": "../public/_nuxt/WctJXszi.js"
9145
9151
  },
9146
- "/_nuxt/__m3KqHO.js": {
9152
+ "/_nuxt/N3pCB6-m.js": {
9147
9153
  "type": "text/javascript; charset=utf-8",
9148
- "etag": "\"a7b-6Wa7PbryRTo22DSK5SFcMkNUhfo\"",
9149
- "mtime": "2026-07-19T17:18:25.155Z",
9150
- "size": 2683,
9151
- "path": "../public/_nuxt/__m3KqHO.js"
9154
+ "etag": "\"140af-oK3SVwhryngJZSK/6piPBiBy3LU\"",
9155
+ "mtime": "2026-07-22T19:19:08.392Z",
9156
+ "size": 82095,
9157
+ "path": "../public/_nuxt/N3pCB6-m.js"
9152
9158
  },
9153
9159
  "/_nuxt/_id_.BJYGcue8.css": {
9154
9160
  "type": "text/css; charset=utf-8",
9155
9161
  "etag": "\"63-amyfCk360mo1yjc9FXgsZbTSXE4\"",
9156
- "mtime": "2026-07-19T17:18:25.156Z",
9162
+ "mtime": "2026-07-22T19:19:08.392Z",
9157
9163
  "size": 99,
9158
9164
  "path": "../public/_nuxt/_id_.BJYGcue8.css"
9159
9165
  },
9160
- "/_nuxt/entry.BxXHl1Vy.css": {
9161
- "type": "text/css; charset=utf-8",
9162
- "etag": "\"3ffbd-fuNi3KJRHSwe5oDxZW3XUjxeKjk\"",
9163
- "mtime": "2026-07-19T17:18:25.156Z",
9164
- "size": 262077,
9165
- "path": "../public/_nuxt/entry.BxXHl1Vy.css"
9166
- },
9167
- "/_nuxt/evCxpgbd.js": {
9166
+ "/_nuxt/bAfTAihV.js": {
9168
9167
  "type": "text/javascript; charset=utf-8",
9169
- "etag": "\"1c271-BJTDyNDHKfAE4v6uDz4zX5Vvs5c\"",
9170
- "mtime": "2026-07-19T17:18:25.156Z",
9171
- "size": 115313,
9172
- "path": "../public/_nuxt/evCxpgbd.js"
9168
+ "etag": "\"366-tCfMon3ZLnBpgGRnb/Eis4kK4BM\"",
9169
+ "mtime": "2026-07-22T19:19:08.392Z",
9170
+ "size": 870,
9171
+ "path": "../public/_nuxt/bAfTAihV.js"
9173
9172
  },
9174
- "/_nuxt/h-e-Ca3f.js": {
9173
+ "/_nuxt/d5ZB3uxF.js": {
9175
9174
  "type": "text/javascript; charset=utf-8",
9176
- "etag": "\"144c-Gqx4jGTKzjQ5h6LY8z2U9F/xCWY\"",
9177
- "mtime": "2026-07-19T17:18:25.156Z",
9178
- "size": 5196,
9179
- "path": "../public/_nuxt/h-e-Ca3f.js"
9175
+ "etag": "\"57c8-n2uSEnXfD5kPUhE1FIBqRS5Owjc\"",
9176
+ "mtime": "2026-07-22T19:19:08.392Z",
9177
+ "size": 22472,
9178
+ "path": "../public/_nuxt/d5ZB3uxF.js"
9180
9179
  },
9181
- "/_nuxt/i38YGG9S.js": {
9180
+ "/_nuxt/e1zUTrBb.js": {
9182
9181
  "type": "text/javascript; charset=utf-8",
9183
- "etag": "\"241f-xD+YRwx+NbDTLS/FX9fMYhWuwB4\"",
9184
- "mtime": "2026-07-19T17:18:25.156Z",
9185
- "size": 9247,
9186
- "path": "../public/_nuxt/i38YGG9S.js"
9182
+ "etag": "\"1dad-bQ31/mYV1tenHsiHlv0nDHDZSw0\"",
9183
+ "mtime": "2026-07-22T19:19:08.392Z",
9184
+ "size": 7597,
9185
+ "path": "../public/_nuxt/e1zUTrBb.js"
9186
+ },
9187
+ "/_nuxt/entry.BsmKRJzR.css": {
9188
+ "type": "text/css; charset=utf-8",
9189
+ "etag": "\"405a3-6mhjHm9k8jaEOGYYc+dWnv+BT4Q\"",
9190
+ "mtime": "2026-07-22T19:19:08.393Z",
9191
+ "size": 263587,
9192
+ "path": "../public/_nuxt/entry.BsmKRJzR.css"
9187
9193
  },
9188
9194
  "/_nuxt/index.BiXg7rd-.css": {
9189
9195
  "type": "text/css; charset=utf-8",
9190
9196
  "etag": "\"2a-YsoB3fpQHrPNafdrSIeNjMdN0Nk\"",
9191
- "mtime": "2026-07-19T17:18:25.156Z",
9197
+ "mtime": "2026-07-22T19:19:08.393Z",
9192
9198
  "size": 42,
9193
9199
  "path": "../public/_nuxt/index.BiXg7rd-.css"
9194
9200
  },
9195
- "/_nuxt/lRMjXqiA.js": {
9201
+ "/_nuxt/iwD5atI2.js": {
9196
9202
  "type": "text/javascript; charset=utf-8",
9197
- "etag": "\"181d-K2sw1vulAOD0GCXr5EgjJpOU2wM\"",
9198
- "mtime": "2026-07-19T17:18:25.156Z",
9199
- "size": 6173,
9200
- "path": "../public/_nuxt/lRMjXqiA.js"
9203
+ "etag": "\"2e31-O9upSkMHW3M/X46CoLU7AgXPK+s\"",
9204
+ "mtime": "2026-07-22T19:19:08.393Z",
9205
+ "size": 11825,
9206
+ "path": "../public/_nuxt/iwD5atI2.js"
9201
9207
  },
9202
- "/_nuxt/n7Htv9PJ.js": {
9208
+ "/_nuxt/jIF87ALb.js": {
9203
9209
  "type": "text/javascript; charset=utf-8",
9204
- "etag": "\"1836-vhum8CeQF9S2M2Eg6GkVribFACQ\"",
9205
- "mtime": "2026-07-19T17:18:25.156Z",
9206
- "size": 6198,
9207
- "path": "../public/_nuxt/n7Htv9PJ.js"
9210
+ "etag": "\"7e-AIISKyme3njZFocNXdXcN5hU8cI\"",
9211
+ "mtime": "2026-07-22T19:19:08.393Z",
9212
+ "size": 126,
9213
+ "path": "../public/_nuxt/jIF87ALb.js"
9208
9214
  },
9209
- "/_nuxt/nUsJV5qo.js": {
9215
+ "/_nuxt/l0gdGdar.js": {
9210
9216
  "type": "text/javascript; charset=utf-8",
9211
- "etag": "\"30a-n3T/d9s8rGabp+ihvoR07O+xMIM\"",
9212
- "mtime": "2026-07-19T17:18:25.156Z",
9213
- "size": 778,
9214
- "path": "../public/_nuxt/nUsJV5qo.js"
9217
+ "etag": "\"262-PQjrRi/+8w3aOUCq2Io+55puQ24\"",
9218
+ "mtime": "2026-07-22T19:19:08.393Z",
9219
+ "size": 610,
9220
+ "path": "../public/_nuxt/l0gdGdar.js"
9215
9221
  },
9216
- "/_nuxt/o5WQ5Z7k.js": {
9222
+ "/_nuxt/k-z_VVTK.js": {
9217
9223
  "type": "text/javascript; charset=utf-8",
9218
- "etag": "\"364-kR3HHjD/xDFaWoHHkn42Lw5BfjY\"",
9219
- "mtime": "2026-07-19T17:18:25.156Z",
9220
- "size": 868,
9221
- "path": "../public/_nuxt/o5WQ5Z7k.js"
9224
+ "etag": "\"4120-d7yDZ2gdzDbWHBOZgkwXyeMpmpI\"",
9225
+ "mtime": "2026-07-22T19:19:08.393Z",
9226
+ "size": 16672,
9227
+ "path": "../public/_nuxt/k-z_VVTK.js"
9222
9228
  },
9223
- "/_nuxt/rWwWS3Kj.js": {
9229
+ "/_nuxt/mGJLLqyN.js": {
9224
9230
  "type": "text/javascript; charset=utf-8",
9225
- "etag": "\"1a7-X37ndjagxlcs1CwmP2La3WDdxyA\"",
9226
- "mtime": "2026-07-19T17:18:25.156Z",
9227
- "size": 423,
9228
- "path": "../public/_nuxt/rWwWS3Kj.js"
9231
+ "etag": "\"86b-O+pvFV0TZN5lcCzCqgauf8CVjR0\"",
9232
+ "mtime": "2026-07-22T19:19:08.393Z",
9233
+ "size": 2155,
9234
+ "path": "../public/_nuxt/mGJLLqyN.js"
9229
9235
  },
9230
- "/_nuxt/rvaZFYoE.js": {
9236
+ "/_nuxt/mfzslNx_.js": {
9231
9237
  "type": "text/javascript; charset=utf-8",
9232
- "etag": "\"27e0-oqN5au00tbZcaafjKYi66IOte+g\"",
9233
- "mtime": "2026-07-19T17:18:25.156Z",
9234
- "size": 10208,
9235
- "path": "../public/_nuxt/rvaZFYoE.js"
9238
+ "etag": "\"1e50-zL9mChBU15FUG13WOaKUqVloYME\"",
9239
+ "mtime": "2026-07-22T19:19:08.393Z",
9240
+ "size": 7760,
9241
+ "path": "../public/_nuxt/mfzslNx_.js"
9242
+ },
9243
+ "/_nuxt/nCjfWTGm.js": {
9244
+ "type": "text/javascript; charset=utf-8",
9245
+ "etag": "\"39cc-f6iY4FoUDrRXPdx+mtsvuhXMP28\"",
9246
+ "mtime": "2026-07-22T19:19:08.393Z",
9247
+ "size": 14796,
9248
+ "path": "../public/_nuxt/nCjfWTGm.js"
9249
+ },
9250
+ "/_nuxt/oNq5pd3r.js": {
9251
+ "type": "text/javascript; charset=utf-8",
9252
+ "etag": "\"331-Z3LVy0NXe/GeNDTsG8UhKA1X+ZY\"",
9253
+ "mtime": "2026-07-22T19:19:08.393Z",
9254
+ "size": 817,
9255
+ "path": "../public/_nuxt/oNq5pd3r.js"
9256
+ },
9257
+ "/_nuxt/qzAP_nm7.js": {
9258
+ "type": "text/javascript; charset=utf-8",
9259
+ "etag": "\"76ce-sUW4bIcQGSTwYo0DvtMZ8DnRW6g\"",
9260
+ "mtime": "2026-07-22T19:19:08.393Z",
9261
+ "size": 30414,
9262
+ "path": "../public/_nuxt/qzAP_nm7.js"
9263
+ },
9264
+ "/_nuxt/uKeO2H7F.js": {
9265
+ "type": "text/javascript; charset=utf-8",
9266
+ "etag": "\"554-AO4p2TooSM2CZiIROTGP0TtHHOo\"",
9267
+ "mtime": "2026-07-22T19:19:08.393Z",
9268
+ "size": 1364,
9269
+ "path": "../public/_nuxt/uKeO2H7F.js"
9236
9270
  },
9237
- "/_nuxt/wCQds5_f.js": {
9271
+ "/_nuxt/r3SBLxtE.js": {
9238
9272
  "type": "text/javascript; charset=utf-8",
9239
- "etag": "\"5461-zwKt6XRVSc0JzawWqCvNnfAx8Es\"",
9240
- "mtime": "2026-07-19T17:18:25.156Z",
9241
- "size": 21601,
9242
- "path": "../public/_nuxt/wCQds5_f.js"
9273
+ "etag": "\"6a1d-kBNzoiCbTLb4/nTv4FvHplL89Gk\"",
9274
+ "mtime": "2026-07-22T19:19:08.393Z",
9275
+ "size": 27165,
9276
+ "path": "../public/_nuxt/r3SBLxtE.js"
9277
+ },
9278
+ "/_nuxt/ze9-Ill2.js": {
9279
+ "type": "text/javascript; charset=utf-8",
9280
+ "etag": "\"549-wYVXKiSnf7E0/zPmD+Cj0FwyiQU\"",
9281
+ "mtime": "2026-07-22T19:19:08.393Z",
9282
+ "size": 1353,
9283
+ "path": "../public/_nuxt/ze9-Ill2.js"
9284
+ },
9285
+ "/_nuxt/xUrLy-Zn.js": {
9286
+ "type": "text/javascript; charset=utf-8",
9287
+ "etag": "\"231-5UCoTLGzXQjiH9MzAdgJraq6vak\"",
9288
+ "mtime": "2026-07-22T19:19:08.393Z",
9289
+ "size": 561,
9290
+ "path": "../public/_nuxt/xUrLy-Zn.js"
9243
9291
  },
9244
9292
  "/demo/screenshots/admin-dark-dashboard.png": {
9245
9293
  "type": "image/png",
9246
9294
  "etag": "\"13fa-LlxTvAXVWEO73a3agPvttg2XVgE\"",
9247
- "mtime": "2026-07-19T17:18:25.164Z",
9295
+ "mtime": "2026-07-22T19:19:08.401Z",
9248
9296
  "size": 5114,
9249
9297
  "path": "../public/demo/screenshots/admin-dark-dashboard.png"
9250
9298
  },
9251
- "/_nuxt/too3WhRB.js": {
9252
- "type": "text/javascript; charset=utf-8",
9253
- "etag": "\"45c-8FiAFYXKE5MGu25eQoayPh89sH0\"",
9254
- "mtime": "2026-07-19T17:18:25.156Z",
9255
- "size": 1116,
9256
- "path": "../public/_nuxt/too3WhRB.js"
9299
+ "/demo/screenshots/button-gallery-strict.png": {
9300
+ "type": "image/png",
9301
+ "etag": "\"1edf-/0PFEjE2Nk8b8CZTYbjurlHCFlI\"",
9302
+ "mtime": "2026-07-22T19:19:08.401Z",
9303
+ "size": 7903,
9304
+ "path": "../public/demo/screenshots/button-gallery-strict.png"
9257
9305
  },
9258
9306
  "/demo/screenshots/admin-users-table.png": {
9259
9307
  "type": "image/png",
9260
9308
  "etag": "\"edbd-BNe6rlHCAAGrinCn5KlzbaXMhAw\"",
9261
- "mtime": "2026-07-19T17:18:25.165Z",
9309
+ "mtime": "2026-07-22T19:19:08.401Z",
9262
9310
  "size": 60861,
9263
9311
  "path": "../public/demo/screenshots/admin-users-table.png"
9264
9312
  },
9265
9313
  "/demo/screenshots/cart-summary.png": {
9266
9314
  "type": "image/png",
9267
9315
  "etag": "\"2f8b-DRb9tjPRp/LkprJH5eJGDqYohWI\"",
9268
- "mtime": "2026-07-19T17:18:25.165Z",
9316
+ "mtime": "2026-07-22T19:19:08.401Z",
9269
9317
  "size": 12171,
9270
9318
  "path": "../public/demo/screenshots/cart-summary.png"
9271
9319
  },
9272
- "/demo/screenshots/button-gallery-strict.png": {
9273
- "type": "image/png",
9274
- "etag": "\"1edf-/0PFEjE2Nk8b8CZTYbjurlHCFlI\"",
9275
- "mtime": "2026-07-19T17:18:25.165Z",
9276
- "size": 7903,
9277
- "path": "../public/demo/screenshots/button-gallery-strict.png"
9278
- },
9279
9320
  "/demo/screenshots/checkout-contact-restructured.png": {
9280
9321
  "type": "image/png",
9281
9322
  "etag": "\"4af4-jmrP3jYO2MONGY5Gys7LXicISpI\"",
9282
- "mtime": "2026-07-19T17:18:25.165Z",
9323
+ "mtime": "2026-07-22T19:19:08.402Z",
9283
9324
  "size": 19188,
9284
9325
  "path": "../public/demo/screenshots/checkout-contact-restructured.png"
9285
9326
  },
9286
9327
  "/demo/screenshots/checkout-error-banner.png": {
9287
9328
  "type": "image/png",
9288
9329
  "etag": "\"5197-5Hbv9Db+OwsWFcN3sIMVm4ROPhQ\"",
9289
- "mtime": "2026-07-19T17:18:25.165Z",
9330
+ "mtime": "2026-07-22T19:19:08.401Z",
9290
9331
  "size": 20887,
9291
9332
  "path": "../public/demo/screenshots/checkout-error-banner.png"
9292
9333
  },
9334
+ "/demo/screenshots/components-modal-stuck.png": {
9335
+ "type": "image/png",
9336
+ "etag": "\"1886-rUw/v/eNB+KmThyLT9awG406OSo\"",
9337
+ "mtime": "2026-07-22T19:19:08.402Z",
9338
+ "size": 6278,
9339
+ "path": "../public/demo/screenshots/components-modal-stuck.png"
9340
+ },
9293
9341
  "/demo/screenshots/checkout-form-filled.png": {
9294
9342
  "type": "image/png",
9295
9343
  "etag": "\"4484-kYLRdXcGeZ5Pvc3vpvRwDo2WKuA\"",
9296
- "mtime": "2026-07-19T17:18:25.165Z",
9344
+ "mtime": "2026-07-22T19:19:08.402Z",
9297
9345
  "size": 17540,
9298
9346
  "path": "../public/demo/screenshots/checkout-form-filled.png"
9299
9347
  },
9300
9348
  "/demo/screenshots/checkout-order-confirmed.png": {
9301
9349
  "type": "image/png",
9302
9350
  "etag": "\"2b3e-LQkDUObWuBY0t8/qqC+ygQ1O8MI\"",
9303
- "mtime": "2026-07-19T17:18:25.165Z",
9351
+ "mtime": "2026-07-22T19:19:08.402Z",
9304
9352
  "size": 11070,
9305
9353
  "path": "../public/demo/screenshots/checkout-order-confirmed.png"
9306
9354
  },
9307
9355
  "/demo/screenshots/login-form.png": {
9308
9356
  "type": "image/png",
9309
9357
  "etag": "\"1be4-M7S7DCbRBiIQZV8o+IOB648YtDI\"",
9310
- "mtime": "2026-07-19T17:18:25.165Z",
9358
+ "mtime": "2026-07-22T19:19:08.402Z",
9311
9359
  "size": 7140,
9312
9360
  "path": "../public/demo/screenshots/login-form.png"
9313
9361
  },
9314
- "/demo/screenshots/components-modal-stuck.png": {
9315
- "type": "image/png",
9316
- "etag": "\"1886-rUw/v/eNB+KmThyLT9awG406OSo\"",
9317
- "mtime": "2026-07-19T17:18:25.165Z",
9318
- "size": 6278,
9319
- "path": "../public/demo/screenshots/components-modal-stuck.png"
9320
- },
9321
9362
  "/demo/screenshots/mobile-form-keyboard.png": {
9322
9363
  "type": "image/png",
9323
9364
  "etag": "\"22f1-Gfb+ZhZ05qZaA44LUll0aFFxCoA\"",
9324
- "mtime": "2026-07-19T17:18:25.166Z",
9365
+ "mtime": "2026-07-22T19:19:08.402Z",
9325
9366
  "size": 8945,
9326
9367
  "path": "../public/demo/screenshots/mobile-form-keyboard.png"
9327
9368
  },
9328
9369
  "/demo/screenshots/mobile-nav-loading.png": {
9329
9370
  "type": "image/png",
9330
9371
  "etag": "\"657a-TOY8F52S5ySqCxGVcH8D/8qtFw0\"",
9331
- "mtime": "2026-07-19T17:18:25.166Z",
9372
+ "mtime": "2026-07-22T19:19:08.402Z",
9332
9373
  "size": 25978,
9333
9374
  "path": "../public/demo/screenshots/mobile-nav-loading.png"
9334
9375
  },
9335
9376
  "/demo/screenshots/visual-diff-checkout.png": {
9336
9377
  "type": "image/png",
9337
9378
  "etag": "\"2fa6-4cd0Tag/77M7msnxptz+mrRMnvs\"",
9338
- "mtime": "2026-07-19T17:18:25.166Z",
9379
+ "mtime": "2026-07-22T19:19:08.402Z",
9339
9380
  "size": 12198,
9340
9381
  "path": "../public/demo/screenshots/visual-diff-checkout.png"
9341
9382
  },
9342
9383
  "/demo/traces/admin-dark-dashboard.zip": {
9343
9384
  "type": "application/zip",
9344
9385
  "etag": "\"3ad5-fdph4y8slB8EFVUU59jLCMHwAdw\"",
9345
- "mtime": "2026-07-19T17:18:25.164Z",
9386
+ "mtime": "2026-07-22T19:19:08.401Z",
9346
9387
  "size": 15061,
9347
9388
  "path": "../public/demo/traces/admin-dark-dashboard.zip"
9348
9389
  },
9349
9390
  "/demo/traces/button-strict-mode.zip": {
9350
9391
  "type": "application/zip",
9351
9392
  "etag": "\"3c72-jr5ob2yiUi+RC5b6JBKTc5NhkY8\"",
9352
- "mtime": "2026-07-19T17:18:25.166Z",
9393
+ "mtime": "2026-07-22T19:19:08.402Z",
9353
9394
  "size": 15474,
9354
9395
  "path": "../public/demo/traces/button-strict-mode.zip"
9355
9396
  },
9356
9397
  "/demo/traces/checkout-pay-timeout.zip": {
9357
9398
  "type": "application/zip",
9358
9399
  "etag": "\"230e8-Jj3Q+DnsWbSnNbEm6EicV7MWBWE\"",
9359
- "mtime": "2026-07-19T17:18:25.166Z",
9400
+ "mtime": "2026-07-22T19:19:08.402Z",
9360
9401
  "size": 143592,
9361
9402
  "path": "../public/demo/traces/checkout-pay-timeout.zip"
9362
9403
  },
9363
9404
  "/demo/videos/button-strict-mode.webm": {
9364
9405
  "type": "video/webm",
9365
9406
  "etag": "\"312b-BVfDGZGsbYFSEHl16DTP2QikmA4\"",
9366
- "mtime": "2026-07-19T17:18:25.164Z",
9407
+ "mtime": "2026-07-22T19:19:08.401Z",
9367
9408
  "size": 12587,
9368
9409
  "path": "../public/demo/videos/button-strict-mode.webm"
9369
9410
  },
9370
9411
  "/demo/traces/email-label-renamed.zip": {
9371
9412
  "type": "application/zip",
9372
9413
  "etag": "\"97e8-/qseRrlAuiZ/AIdAgA2g9YpVCyk\"",
9373
- "mtime": "2026-07-19T17:18:25.166Z",
9414
+ "mtime": "2026-07-22T19:19:08.402Z",
9374
9415
  "size": 38888,
9375
9416
  "path": "../public/demo/traces/email-label-renamed.zip"
9376
9417
  },
9377
- "/demo/videos/checkout-pay-timeout.webm": {
9378
- "type": "video/webm",
9379
- "etag": "\"c563-bTz/MA5vC7D8ysE7idPyY5QRrB8\"",
9380
- "mtime": "2026-07-19T17:18:25.165Z",
9381
- "size": 50531,
9382
- "path": "../public/demo/videos/checkout-pay-timeout.webm"
9383
- },
9384
9418
  "/demo/videos/mobile-nav-timeout.webm": {
9385
9419
  "type": "video/webm",
9386
9420
  "etag": "\"26e5-JTbNn9wtK0qUSS5FkW9utALUptI\"",
9387
- "mtime": "2026-07-19T17:18:25.166Z",
9421
+ "mtime": "2026-07-22T19:19:08.402Z",
9388
9422
  "size": 9957,
9389
9423
  "path": "../public/demo/videos/mobile-nav-timeout.webm"
9390
9424
  },
9425
+ "/demo/videos/checkout-pay-timeout.webm": {
9426
+ "type": "video/webm",
9427
+ "etag": "\"c563-bTz/MA5vC7D8ysE7idPyY5QRrB8\"",
9428
+ "mtime": "2026-07-22T19:19:08.402Z",
9429
+ "size": 50531,
9430
+ "path": "../public/demo/videos/checkout-pay-timeout.webm"
9431
+ },
9391
9432
  "/trace-viewer/assets/codeMirrorModule-LEHpjmcn.js": {
9392
9433
  "type": "text/javascript; charset=utf-8",
9393
9434
  "etag": "\"4c6de-a6ay4zcBO/eHUwOhnnT5yaG3Kyw\"",
9394
- "mtime": "2026-07-19T17:18:25.111Z",
9435
+ "mtime": "2026-07-22T19:19:08.348Z",
9395
9436
  "size": 313054,
9396
9437
  "path": "../public/trace-viewer/assets/codeMirrorModule-LEHpjmcn.js"
9397
9438
  },
9398
9439
  "/trace-viewer/assets/urlMatch-BYQrIQwR.js": {
9399
9440
  "type": "text/javascript; charset=utf-8",
9400
9441
  "etag": "\"333-Dbnx7qnjoKtZmj/ddsF8HdiIdMc\"",
9401
- "mtime": "2026-07-19T17:18:25.112Z",
9442
+ "mtime": "2026-07-22T19:19:08.349Z",
9402
9443
  "size": 819,
9403
9444
  "path": "../public/trace-viewer/assets/urlMatch-BYQrIQwR.js"
9404
9445
  },
9405
9446
  "/_nuxt/builds/latest.json": {
9406
9447
  "type": "application/json",
9407
- "etag": "\"47-LmJCdRni6Y9rGjW7ek2P/jNIic0\"",
9408
- "mtime": "2026-07-19T17:18:25.105Z",
9448
+ "etag": "\"47-s73vOI6N+6k6rRWSAjIdnMGasHI\"",
9449
+ "mtime": "2026-07-22T19:19:08.342Z",
9409
9450
  "size": 71,
9410
9451
  "path": "../public/_nuxt/builds/latest.json"
9411
9452
  },
9453
+ "/_nuxt/builds/meta/5182c9fb-56a6-4df2-9685-4020a08ce7a5.json": {
9454
+ "type": "application/json",
9455
+ "etag": "\"58-n477CDf7sA8okERObkpJp3E+i5k\"",
9456
+ "mtime": "2026-07-22T19:19:08.337Z",
9457
+ "size": 88,
9458
+ "path": "../public/_nuxt/builds/meta/5182c9fb-56a6-4df2-9685-4020a08ce7a5.json"
9459
+ },
9412
9460
  "/trace-viewer/assets/xtermModule-CsJ4vdCR.js": {
9413
9461
  "type": "text/javascript; charset=utf-8",
9414
9462
  "etag": "\"47594-Raxj+Ri2E1/vI/4Ab8DhN976/qU\"",
9415
- "mtime": "2026-07-19T17:18:25.112Z",
9463
+ "mtime": "2026-07-22T19:19:08.349Z",
9416
9464
  "size": 292244,
9417
9465
  "path": "../public/trace-viewer/assets/xtermModule-CsJ4vdCR.js"
9418
9466
  },
9419
- "/_nuxt/builds/meta/f549de31-8db6-4504-b526-482778a55eba.json": {
9420
- "type": "application/json",
9421
- "etag": "\"58-950DhTUxmB+0TQVT1FS512ynNEw\"",
9422
- "mtime": "2026-07-19T17:18:25.100Z",
9423
- "size": 88,
9424
- "path": "../public/_nuxt/builds/meta/f549de31-8db6-4504-b526-482778a55eba.json"
9425
- },
9426
9467
  "/trace-viewer/assets/defaultSettingsView-BNmKHKpQ.js": {
9427
9468
  "type": "text/javascript; charset=utf-8",
9428
9469
  "etag": "\"a0a90-D1grrkOnpDrfDCNopsr3kVuVNvw\"",
9429
- "mtime": "2026-07-19T17:18:25.112Z",
9470
+ "mtime": "2026-07-22T19:19:08.349Z",
9430
9471
  "size": 658064,
9431
9472
  "path": "../public/trace-viewer/assets/defaultSettingsView-BNmKHKpQ.js"
9432
9473
  }
@@ -9622,6 +9663,19 @@ const _iGKZkl = eventHandler((event) => {
9622
9663
  return readAsset(id);
9623
9664
  });
9624
9665
 
9666
+ const _2nofeF = defineEventHandler((event) => {
9667
+ const token = process.env.PIWI_DESKTOP_TOKEN;
9668
+ if (!token) return;
9669
+ const path = event.path || "";
9670
+ if (!path.startsWith("/api/") && !path.startsWith("/mcp")) return;
9671
+ if (path === "/api/health") return;
9672
+ const authz = getRequestHeader(event, "authorization");
9673
+ const bearer = authz && authz.startsWith("Bearer ") ? authz.slice("Bearer ".length) : void 0;
9674
+ const presented = getCookie(event, "piwi_token") || getRequestHeader(event, "x-piwi-token") || bearer;
9675
+ if (presented === token) return;
9676
+ throw createError$1({ statusCode: 401, statusMessage: "Desktop access token required" });
9677
+ });
9678
+
9625
9679
  function defineRenderHandler(render) {
9626
9680
  const runtimeConfig = useRuntimeConfig();
9627
9681
  return eventHandler(async (event) => {
@@ -10010,6 +10064,7 @@ const DEFAULT_CONTEXT_LIMITS = {
10010
10064
  sourceFileChars: 12e3,
10011
10065
  serverLogEntries: 50,
10012
10066
  serverLogEntryChars: 1e3,
10067
+ serverTraceSpans: 40,
10013
10068
  maxImages: 5,
10014
10069
  maxPassedPeers: 20,
10015
10070
  maxConsoleWindow: 50,
@@ -10126,6 +10181,14 @@ const CONTEXT_LIMIT_FIELDS = [
10126
10181
  min: 50,
10127
10182
  max: 5e3
10128
10183
  },
10184
+ {
10185
+ key: "serverTraceSpans",
10186
+ label: "Server trace spans",
10187
+ envVar: "PIWI_AI_MAX_SERVER_TRACE_SPANS",
10188
+ description: "Max backend server spans (from X-Piwi-Trace header) included (0 disables).",
10189
+ min: 0,
10190
+ max: 500
10191
+ },
10129
10192
  {
10130
10193
  key: "maxImages",
10131
10194
  label: "Max screenshots",
@@ -10273,6 +10336,7 @@ const DIAGNOSIS_SECTIONS = [
10273
10336
  { id: "console", label: "Browser console logs", short: "Console" },
10274
10337
  { id: "networkRequests", label: "Network requests", short: "Network" },
10275
10338
  { id: "serverLogs", label: "Backend server logs", short: "Server logs" },
10339
+ { id: "serverTraces", label: "Server traces (spans)", short: "Traces" },
10276
10340
  { id: "webVitals", label: "Web vitals", short: "Web vitals" },
10277
10341
  { id: "appState", label: "App state at test end (URL/storage/cookies)", short: "App state" },
10278
10342
  { id: "ariaSnapshot", label: "ARIA snapshot", short: "ARIA" },
@@ -13162,7 +13226,8 @@ async function getTestRunCase(db, id, wastedPatterns = null) {
13162
13226
  duration: nr.duration,
13163
13227
  resourceType: nr.resourceType,
13164
13228
  contentType: nr.contentType,
13165
- serverLogs: nr.serverLogs
13229
+ serverLogs: nr.serverLogs,
13230
+ serverTraces: nr.serverTraces
13166
13231
  }));
13167
13232
  return {
13168
13233
  id: trc.id,
@@ -14396,6 +14461,7 @@ const SECTION_ORDER = [
14396
14461
  "networkRequests",
14397
14462
  "traceNetwork",
14398
14463
  "serverLogs",
14464
+ "serverTraces",
14399
14465
  "webVitals",
14400
14466
  "appState",
14401
14467
  "retryProgression",
@@ -15479,6 +15545,28 @@ ${networkLines.join("\n")}` });
15479
15545
  ${lines.join("\n")}` });
15480
15546
  }
15481
15547
  }
15548
+ if (limits.serverTraceSpans > 0) {
15549
+ const spanLines = [];
15550
+ let shown = 0;
15551
+ for (const req of nrItems) {
15552
+ const spans = req.serverTraces;
15553
+ if (!Array.isArray(spans) || spans.length === 0) continue;
15554
+ const sorted = [...spans].sort((a, b) => (a.parentId ? 1 : 0) - (b.parentId ? 1 : 0) || a.startMs - b.startMs);
15555
+ for (const s of sorted) {
15556
+ if (shown >= limits.serverTraceSpans) break;
15557
+ const indent = s.parentId ? " " : "";
15558
+ const kind = s.kind ? `[${s.kind}] ` : "";
15559
+ const err = s.status === "error" ? " [error]" : "";
15560
+ spanLines.push(`${indent}- ${kind}${s.name} (${s.durMs}ms)${err}`);
15561
+ shown++;
15562
+ }
15563
+ if (shown >= limits.serverTraceSpans) break;
15564
+ }
15565
+ if (spanLines.length > 0) {
15566
+ out.push({ id: "serverTraces", markdown: `### Server Traces
15567
+ ${spanLines.join("\n")}` });
15568
+ }
15569
+ }
15482
15570
  const webVitals = rep.webVitals;
15483
15571
  if (webVitals && (webVitals.navigation || webVitals.paint || webVitals.vitals)) {
15484
15572
  const lines = [];
@@ -15514,6 +15602,7 @@ const REP_SECTION_TITLES = {
15514
15602
  console: "Console",
15515
15603
  networkRequests: "Network Requests",
15516
15604
  serverLogs: "Backend Server Logs",
15605
+ serverTraces: "Server Traces",
15517
15606
  webVitals: "Web Vitals",
15518
15607
  ariaSnapshot: "ARIA Snapshot"
15519
15608
  };
@@ -16174,6 +16263,9 @@ Pixel comparison of the failing screenshot against the same test's last passing
16174
16263
  if (!sectionIds.has("networkRequests")) {
16175
16264
  absentReasons.networkRequests = "no network data captured \u2014 collectPerformanceMetrics may be disabled in reporter options";
16176
16265
  }
16266
+ if (!sectionIds.has("serverTraces")) {
16267
+ absentReasons.serverTraces = "no server-side spans captured \u2014 install a Piwi backend integration to emit the X-Piwi-Trace header";
16268
+ }
16177
16269
  if (!sectionIds.has("environmentDiff")) {
16178
16270
  absentReasons.environmentDiff = "no passing baseline execution recorded for this test to compare against";
16179
16271
  }
@@ -17463,6 +17555,8 @@ function matchRequiredRoles(router, method, pathname) {
17463
17555
  return (_b = (_a = findRoute(router, (method || "").toUpperCase(), pathname)) == null ? void 0 : _a.data) != null ? _b : null;
17464
17556
  }
17465
17557
 
17558
+ const _2nofeFMeta = null;
17559
+
17466
17560
  const _XPFbyRMeta = {"openAPI":{"tags":["Admin"],"summary":"Cleanup old test data","description":"Deletes test runs older than a specified number of days, including associated files, traces, and reports. Optionally runs a full VACUUM (SQLite) to return freed space to the filesystem. Requires administrator role.","x-required-roles":["administrator"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"olderThanDays":{"type":"integer","description":"Delete runs older than this many days"},"vacuum":{"type":"boolean","description":"Run a blocking full VACUUM after cleanup (SQLite only; ignored on PostgreSQL)"}},"required":["olderThanDays"]}}}}}};
17467
17561
 
17468
17562
  const _BIvaNFMeta = {"openAPI":{"tags":["Admin"],"summary":"Get admin statistics","description":"Returns aggregate statistics about projects, test runs, test cases, files, and storage disk usage. Requires administrator role.","x-required-roles":["administrator"]}};
@@ -17509,6 +17603,8 @@ const _Qz0pd1Meta = {"openAPI":{"tags":["Failure Clusters"],"summary":"Approve a
17509
17603
 
17510
17604
  const _E0afM7Meta = {"openAPI":{"tags":["Failure Clusters"],"summary":"Reject a cluster merge suggestion","description":"Marks the suggestion as rejected; both clusters are left untouched. Requires reporter or administrator role.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter"]}};
17511
17605
 
17606
+ const _Nkq_uuMeta = {"openAPI":{"tags":["System"],"summary":"Get reporter configuration for the desktop app","description":"Desktop build only. Returns the local server URL and the access token to point the Playwright reporter at this app. 404 on the server build.","x-required-roles":[],"security":[]}};
17607
+
17512
17608
  const _KVGsIsMeta = {"openAPI":{"tags":["Failure Clusters"],"summary":"Get failure cluster detail","description":"Returns detailed information about a failure cluster including affected tests, last seen run status, project info, and diagnosis.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter","user"]}};
17513
17609
 
17514
17610
  const _PiTjofMeta = {"openAPI":{"tags":["Failure Clusters"],"summary":"Update manual base commit for a cluster","description":"Persists a manual baseline commit SHA for a failure cluster used in AI diagnosis context.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter"]}};
@@ -17589,6 +17685,8 @@ const _64C54HMeta = {"openAPI":{"tags":["Projects"],"summary":"Spec health overv
17589
17685
 
17590
17686
  const _KVMz3bMeta = {"openAPI":{"tags":["Test Cases"],"summary":"List test cases for a project with aggregated stats","description":"Paginated test-case catalog with per-case aggregates: total runs, pass/fail/skip/flaky counts, executed-only pass rate and average duration, derived status category, and last run. Returns `{ items, total, limit, offset }`. Timed-out runs are folded into the failed counts.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"minimum":1,"maximum":1000},"description":"Page size"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"minimum":0},"description":"Row offset for paging"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Case-insensitive substring filter on title or file path"},{"name":"status","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated status categories to include: passed, failed, flaky, skipped, didnotrun"},{"name":"maxAgeDays","in":"query","required":false,"schema":{"type":"integer","default":0,"minimum":0},"description":"Only include cases executed within the last N days (0 = all time)"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["lastRun","title","totalRuns","passRate","avgDuration","status"],"default":"lastRun"},"description":"Sort column"},{"name":"dir","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Sort direction"}],"x-required-roles":["administrator","reporter","user"]}};
17591
17687
 
17688
+ const _ISG3AaMeta = {"openAPI":{"tags":["Test Cases"],"summary":"Timeout-reduction opportunities","description":"Ranks a project’s tests whose configured per-test timeout far exceeds their real p95 duration (so failures waste time waiting), plus tests still carrying a stale test.slow() mark. Each row includes p50/p95/max duration, the effective timeout, a recommended new timeout, and an impact score. Thresholds are configurable in Settings.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"runs","in":"query","required":false,"schema":{"type":"integer","default":20,"maximum":100},"description":"How many recent runs to analyse"}],"x-required-roles":["administrator","reporter","user"]}};
17689
+
17592
17690
  const _bASoKnMeta = {"openAPI":{"tags":["Projects"],"summary":"Create a new project","description":"Creates a project with optional label, description, and tag associations. Requires administrator role.","x-required-roles":["administrator"]}};
17593
17691
 
17594
17692
  const _9pyP9cMeta = {"openAPI":{"tags":["Projects"],"summary":"List projects for sidebar navigation","description":"Returns a slim list of all projects (id, name, label) ordered by last update. Used by the sidebar menu — much lighter than GET /api/projects.","x-required-roles":["administrator","reporter","user"]}};
@@ -17615,6 +17713,10 @@ const _ctSg1FMeta = {"openAPI":{"tags":["Settings"],"summary":"Get SMTP configur
17615
17713
 
17616
17714
  const _EcdZ5kMeta = {"openAPI":{"tags":["Settings"],"summary":"Send test email","description":"Sends a test email via the env-configured SMTP settings to verify the configuration. Requires administrator role.","x-required-roles":["administrator"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["to"],"properties":{"to":{"type":"string","format":"email"}}}}}}}};
17617
17715
 
17716
+ const _CWQsGaMeta = {"openAPI":{"tags":["Settings"],"summary":"Get timeout-hygiene thresholds","description":"Returns the thresholds used to flag oversized per-test timeouts and stale test.slow() marks, plus the built-in defaults. Requires administrator role.","x-required-roles":["administrator"]}};
17717
+
17718
+ const _eunZZkMeta = {"openAPI":{"tags":["Settings"],"summary":"Save timeout-hygiene thresholds","description":"Updates the thresholds used to flag oversized per-test timeouts and stale test.slow() marks. Send `thresholds: null` to reset to the built-in defaults. Opportunities are recomputed at read time, so changes apply to historical runs immediately. Requires administrator role.","x-required-roles":["administrator"]}};
17719
+
17618
17720
  const _Hoh9WKMeta = {"openAPI":{"tags":["Settings"],"summary":"Get wasted-time settings","description":"Returns the allowlist of glob patterns that classify wait steps as wasted time, whether it is managed by the PIWI_WASTED_WAIT_PATTERNS environment variable, and the built-in defaults. Patterns match a wait step title or its source location. Requires administrator role.","x-required-roles":["administrator"]}};
17619
17721
 
17620
17722
  const _4Fwa00Meta = {"openAPI":{"tags":["Settings"],"summary":"Save wasted-time settings","description":"Updates the allowlist of glob patterns used to classify wait steps as wasted time. Send `patterns: null` to reset to the built-in defaults. Wasted time is recomputed at read time, so changes apply to historical runs immediately. Not available when managed via PIWI_WASTED_WAIT_PATTERNS. Requires administrator role.","x-required-roles":["administrator"]}};
@@ -17733,6 +17835,8 @@ const _dwebH9Meta = {"openAPI":{"tags":["Users"],"summary":"Create a user","desc
17733
17835
 
17734
17836
  const _DWnRMGMeta = {"openAPI":{"tags":["System"],"summary":"Get server version and runtime info","description":"Returns the dashboard application version, build provenance, and live runtime info (Node version, database backend). Public — used by the Settings → About page and external monitors.","x-required-roles":[],"security":[]}};
17735
17837
 
17838
+ const _yz3feMMeta = null;
17839
+
17736
17840
  const _vthjh6Meta = null;
17737
17841
 
17738
17842
  const _fUjhReMeta = null;
@@ -17744,7 +17848,8 @@ const _SxA8c9Meta = null;
17744
17848
  const _TblLsfMeta = null;
17745
17849
 
17746
17850
  const handlersMeta = [
17747
- { route: "/api/admin/cleanup", method: "delete", meta: _XPFbyRMeta },
17851
+ { route: undefined, method: undefined, meta: _2nofeFMeta },
17852
+ { route: "/api/admin/cleanup", method: "delete", meta: _XPFbyRMeta },
17748
17853
  { route: "/api/admin/stats", method: "get", meta: _BIvaNFMeta },
17749
17854
  { route: "/api/ai/status", method: "get", meta: _DuNpFFMeta },
17750
17855
  { route: "/api/analytics/:widget", method: "get", meta: _OizakiMeta },
@@ -17767,6 +17872,7 @@ const handlersMeta = [
17767
17872
  { route: "/api/channels", method: "post", meta: _9fNfcAMeta },
17768
17873
  { route: "/api/cluster-merge-suggestions/:id/approve", method: "post", meta: _Qz0pd1Meta },
17769
17874
  { route: "/api/cluster-merge-suggestions/:id/reject", method: "post", meta: _E0afM7Meta },
17875
+ { route: "/api/desktop/reporter-config", method: "get", meta: _Nkq_uuMeta },
17770
17876
  { route: "/api/failure-clusters/:id", method: "get", meta: _KVGsIsMeta },
17771
17877
  { route: "/api/failure-clusters/:id/base-commit", method: "patch", meta: _PiTjofMeta },
17772
17878
  { route: "/api/failure-clusters/:id/branches", method: "get", meta: _yZAusmMeta },
@@ -17807,6 +17913,7 @@ const handlersMeta = [
17807
17913
  { route: "/api/projects/:id/slow-tests", method: "get", meta: _KKHWGjMeta },
17808
17914
  { route: "/api/projects/:id/spec-health", method: "get", meta: _64C54HMeta },
17809
17915
  { route: "/api/projects/:id/test-cases", method: "get", meta: _KVMz3bMeta },
17916
+ { route: "/api/projects/:id/timeout-opportunities", method: "get", meta: _ISG3AaMeta },
17810
17917
  { route: "/api/projects", method: "post", meta: _bASoKnMeta },
17811
17918
  { route: "/api/projects/menu", method: "get", meta: _9pyP9cMeta },
17812
17919
  { route: "/api/projects/overview", method: "get", meta: _bsDJl2Meta },
@@ -17820,6 +17927,8 @@ const handlersMeta = [
17820
17927
  { route: "/api/settings/ai/usage", method: "get", meta: _WlKb59Meta },
17821
17928
  { route: "/api/settings/smtp", method: "get", meta: _ctSg1FMeta },
17822
17929
  { route: "/api/settings/smtp/test", method: "post", meta: _EcdZ5kMeta },
17930
+ { route: "/api/settings/timeout-hygiene", method: "get", meta: _CWQsGaMeta },
17931
+ { route: "/api/settings/timeout-hygiene", method: "put", meta: _eunZZkMeta },
17823
17932
  { route: "/api/settings/wasted-waits", method: "get", meta: _Hoh9WKMeta },
17824
17933
  { route: "/api/settings/wasted-waits", method: "put", meta: _4Fwa00Meta },
17825
17934
  { route: "/api/stream", method: "get", meta: _fTOoqmMeta },
@@ -17879,6 +17988,7 @@ const handlersMeta = [
17879
17988
  { route: "/api/users", method: "get", meta: _JtsXxXMeta },
17880
17989
  { route: "/api/users", method: "post", meta: _dwebH9Meta },
17881
17990
  { route: "/api/version", method: "get", meta: _DWnRMGMeta },
17991
+ { route: "/__piwi/session", method: "get", meta: _yz3feMMeta },
17882
17992
  { route: "/mcp", method: "post", meta: _vthjh6Meta },
17883
17993
  { route: "/__nuxt_error", method: undefined, meta: _fUjhReMeta },
17884
17994
  { route: "/api/_nuxt_icon/:collection", method: undefined, meta: _AfV6W2Meta },
@@ -19183,6 +19293,81 @@ async function computeRegressionSignals(db, runId) {
19183
19293
  await Promise.all(pending);
19184
19294
  }
19185
19295
 
19296
+ const DEFAULT_TIMEOUT_THRESHOLDS = {
19297
+ minRuns: 5,
19298
+ factor: 3,
19299
+ floorMs: 2e4,
19300
+ safety: 2,
19301
+ recommendedFloorMs: 5e3,
19302
+ slowStaleP95Ms: 1e4
19303
+ };
19304
+ const TIMEOUT_THRESHOLDS_KEY = "timeout_hygiene_thresholds";
19305
+ function resolveTimeoutThresholds(stored) {
19306
+ const out = { ...DEFAULT_TIMEOUT_THRESHOLDS };
19307
+ if (!stored || typeof stored !== "object") return out;
19308
+ for (const key of Object.keys(out)) {
19309
+ const v = stored[key];
19310
+ if (typeof v === "number" && Number.isFinite(v) && v >= 0) out[key] = v;
19311
+ }
19312
+ return out;
19313
+ }
19314
+ function round1(n) {
19315
+ return Math.round(n * 10) / 10;
19316
+ }
19317
+ function detectTimeoutOpportunity(agg, thresholds = DEFAULT_TIMEOUT_THRESHOLDS) {
19318
+ var _a;
19319
+ const durations = agg.durations.filter((d) => typeof d === "number" && Number.isFinite(d) && d >= 0);
19320
+ if (durations.length < thresholds.minRuns) return null;
19321
+ const sorted = [...durations].sort((a, b) => a - b);
19322
+ const p50 = percentile(sorted, 50);
19323
+ const p95 = percentile(sorted, 95);
19324
+ const maxDuration = (_a = sorted[sorted.length - 1]) != null ? _a : 0;
19325
+ const timeout = agg.timeout != null && agg.timeout > 0 ? agg.timeout : null;
19326
+ const base = {
19327
+ testCaseId: agg.testCaseId,
19328
+ title: agg.title,
19329
+ filePath: agg.filePath,
19330
+ timeout,
19331
+ p50,
19332
+ p95,
19333
+ maxDuration,
19334
+ runCount: durations.length,
19335
+ failCount: agg.failCount,
19336
+ hasSlowAnnotation: agg.hasSlowAnnotation
19337
+ };
19338
+ if (agg.hasSlowAnnotation && p95 < thresholds.slowStaleP95Ms) {
19339
+ const estimatedSavingMs = timeout != null ? Math.round(timeout * 2 / 3) : 0;
19340
+ const impact = estimatedSavingMs > 0 ? Math.round(estimatedSavingMs / 1e3 * (agg.failCount + 1)) : agg.failCount + 1;
19341
+ return {
19342
+ ...base,
19343
+ kind: "stale-slow",
19344
+ recommendedTimeout: null,
19345
+ headroomRatio: timeout != null && p95 > 0 ? round1(timeout / p95) : null,
19346
+ estimatedSavingMs,
19347
+ impact
19348
+ };
19349
+ }
19350
+ if (timeout != null && p95 > 0 && timeout >= thresholds.factor * p95 && timeout - p95 >= thresholds.floorMs) {
19351
+ const recommended = Math.max(thresholds.recommendedFloorMs, Math.round(p95 * thresholds.safety));
19352
+ if (recommended < timeout) {
19353
+ const estimatedSavingMs = timeout - recommended;
19354
+ return {
19355
+ ...base,
19356
+ kind: "oversized-timeout",
19357
+ recommendedTimeout: recommended,
19358
+ headroomRatio: round1(timeout / p95),
19359
+ estimatedSavingMs,
19360
+ impact: Math.round(estimatedSavingMs / 1e3 * (agg.failCount + 1))
19361
+ };
19362
+ }
19363
+ }
19364
+ return null;
19365
+ }
19366
+ function hasSlowMark(annotations) {
19367
+ if (!Array.isArray(annotations)) return false;
19368
+ return annotations.some((a) => a && typeof a.type === "string" && a.type.toLowerCase() === "slow");
19369
+ }
19370
+
19186
19371
  async function getProjects(db, scope = "all") {
19187
19372
  let allProjects = await db.select().from(projects).orderBy(desc(projects.updatedAt));
19188
19373
  if (scope !== "all") {
@@ -19653,6 +19838,67 @@ async function getProjectSlowTests(db, projectId, runsCount) {
19653
19838
  }
19654
19839
  ).sort((a, b) => b.avgDuration - a.avgDuration).slice(0, 20);
19655
19840
  }
19841
+ async function getProjectTimeoutOpportunities(db, projectId, runsCount, thresholds) {
19842
+ var _a;
19843
+ const projectResults = await db.select({ id: projects.id }).from(projects).where(eq(projects.id, projectId));
19844
+ if (!projectResults[0]) throw new Error("Project not found");
19845
+ const effectiveLimit = Math.min(runsCount, 100);
19846
+ const recentRuns = await db.select({ id: testRuns.id }).from(testRuns).where(eq(testRuns.projectId, projectId)).orderBy(desc(testRuns.startTime)).limit(effectiveLimit);
19847
+ const runIds = recentRuns.map((r) => r.id);
19848
+ if (runIds.length === 0) return [];
19849
+ const results = await db.select({
19850
+ testCaseId: testRunsCases.testCaseId,
19851
+ duration: testRunsCases.duration,
19852
+ timeout: testRunsCases.timeout,
19853
+ status: testRunsCases.status,
19854
+ testAnnotations: testRunsCases.testAnnotations,
19855
+ startTime: testRuns.startTime,
19856
+ title: testCases.title,
19857
+ filePath: testCases.filePath
19858
+ }).from(testRunsCases).innerJoin(testCases, eq(testRunsCases.testCaseId, testCases.id)).innerJoin(testRuns, eq(testRunsCases.testRunId, testRuns.id)).where(and(inArray(testRunsCases.testRunId, runIds), eq(testCases.projectId, projectId)));
19859
+ const byCase = /* @__PURE__ */ new Map();
19860
+ for (const row of results) {
19861
+ let acc = byCase.get(row.testCaseId);
19862
+ if (!acc) {
19863
+ acc = {
19864
+ testCaseId: row.testCaseId,
19865
+ title: row.title,
19866
+ filePath: row.filePath,
19867
+ durations: [],
19868
+ failCount: 0,
19869
+ latestTime: -Infinity,
19870
+ timeout: null,
19871
+ hasSlowAnnotation: false
19872
+ };
19873
+ byCase.set(row.testCaseId, acc);
19874
+ }
19875
+ if (row.duration !== null && row.duration !== void 0) acc.durations.push(row.duration);
19876
+ if (row.status === "failed" || row.status === "timedout" || row.status === "timedOut") acc.failCount++;
19877
+ const t = new Date(row.startTime).getTime();
19878
+ if (t >= acc.latestTime) {
19879
+ acc.latestTime = t;
19880
+ acc.timeout = (_a = row.timeout) != null ? _a : null;
19881
+ acc.hasSlowAnnotation = hasSlowMark(row.testAnnotations);
19882
+ }
19883
+ }
19884
+ const opportunities = [];
19885
+ for (const acc of byCase.values()) {
19886
+ const opp = detectTimeoutOpportunity(
19887
+ {
19888
+ testCaseId: acc.testCaseId,
19889
+ title: acc.title,
19890
+ filePath: acc.filePath,
19891
+ durations: acc.durations,
19892
+ timeout: acc.timeout,
19893
+ hasSlowAnnotation: acc.hasSlowAnnotation,
19894
+ failCount: acc.failCount
19895
+ },
19896
+ thresholds
19897
+ );
19898
+ if (opp) opportunities.push(opp);
19899
+ }
19900
+ return opportunities.sort((a, b) => b.impact - a.impact).slice(0, 50);
19901
+ }
19656
19902
  async function getProjectFailureClusters(db, projectId, statusFilter) {
19657
19903
  const projectResults = await db.select({ id: projects.id }).from(projects).where(eq(projects.id, projectId));
19658
19904
  if (!projectResults[0]) throw new Error("Project not found");
@@ -20293,7 +20539,7 @@ function resolveIngestLimits() {
20293
20539
  }
20294
20540
 
20295
20541
  function mapCompleteEventToRunCase(tc) {
20296
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
20542
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
20297
20543
  return {
20298
20544
  filePath: tc.filePath,
20299
20545
  suitePath: (_a = tc.suitePath) != null ? _a : null,
@@ -20302,27 +20548,28 @@ function mapCompleteEventToRunCase(tc) {
20302
20548
  title: tc.title,
20303
20549
  status: tc.status,
20304
20550
  duration: tc.duration,
20551
+ timeout: (_d = tc.timeout) != null ? _d : null,
20305
20552
  error: tc.error,
20306
20553
  retries: tc.retries,
20307
20554
  line: tc.line,
20308
20555
  column: tc.column,
20309
20556
  steps: tc.steps,
20310
- stepEvents: (_d = tc.stepEvents) != null ? _d : null,
20557
+ stepEvents: (_e = tc.stepEvents) != null ? _e : null,
20311
20558
  slowestStep: tc.slowestStep,
20312
20559
  slowestStepDuration: tc.slowestStepDuration,
20313
- wastedTimeMs: (_e = tc.wastedTimeMs) != null ? _e : null,
20560
+ wastedTimeMs: (_f = tc.wastedTimeMs) != null ? _f : null,
20314
20561
  networkRequests: tc.networkRequests,
20315
20562
  webVitals: tc.webVitals,
20316
20563
  pageState: tc.pageState,
20317
20564
  consoleLogs: tc.consoleLogs,
20318
- ariaSnapshot: (_f = tc.ariaSnapshot) != null ? _f : null,
20319
- testSource: (_g = tc.testSource) != null ? _g : null,
20320
- testSourceFrames: (_h = tc.testSourceFrames) != null ? _h : null,
20321
- workerIndex: (_i = tc.workerIndex) != null ? _i : null,
20322
- shardIndex: (_j = tc.shardIndex) != null ? _j : null,
20323
- startedAt: (_k = tc.startedAt) != null ? _k : null,
20324
- browser: (_l = tc.browser) != null ? _l : null,
20325
- locatorSnapshots: (_m = tc.locatorSnapshots) != null ? _m : null
20565
+ ariaSnapshot: (_g = tc.ariaSnapshot) != null ? _g : null,
20566
+ testSource: (_h = tc.testSource) != null ? _h : null,
20567
+ testSourceFrames: (_i = tc.testSourceFrames) != null ? _i : null,
20568
+ workerIndex: (_j = tc.workerIndex) != null ? _j : null,
20569
+ shardIndex: (_k = tc.shardIndex) != null ? _k : null,
20570
+ startedAt: (_l = tc.startedAt) != null ? _l : null,
20571
+ browser: (_m = tc.browser) != null ? _m : null,
20572
+ locatorSnapshots: (_n = tc.locatorSnapshots) != null ? _n : null
20326
20573
  };
20327
20574
  }
20328
20575
 
@@ -23228,7 +23475,7 @@ function buildNetworkRequestItems(requests) {
23228
23475
  const sanitized = sanitizeNetworkRequests(rawReqs);
23229
23476
  if (!sanitized || sanitized.length === 0) return [];
23230
23477
  return sanitized.map((req) => {
23231
- var _a, _b, _c, _d, _e, _f;
23478
+ var _a, _b, _c, _d, _e, _f, _g;
23232
23479
  return {
23233
23480
  method: req.method,
23234
23481
  url: (_a = req.url) != null ? _a : null,
@@ -23237,7 +23484,8 @@ function buildNetworkRequestItems(requests) {
23237
23484
  duration: (_c = req.duration) != null ? _c : null,
23238
23485
  resourceType: (_d = req.resourceType) != null ? _d : null,
23239
23486
  contentType: (_e = req.contentType) != null ? _e : null,
23240
- serverLogs: (_f = req.serverLogs) != null ? _f : null
23487
+ serverLogs: (_f = req.serverLogs) != null ? _f : null,
23488
+ serverTraces: (_g = req.serverTraces) != null ? _g : null
23241
23489
  };
23242
23490
  });
23243
23491
  }
@@ -23920,7 +24168,7 @@ async function resolveSuites(db, projectId, cases) {
23920
24168
  return suiteIdMap;
23921
24169
  }
23922
24170
  async function persistRunCases(db, projectId, testRunId, cases) {
23923
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
24171
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
23924
24172
  if (cases.length === 0) return [];
23925
24173
  const limits = resolveIngestLimits();
23926
24174
  const suiteIdMap = await resolveSuites(db, projectId, cases);
@@ -23981,30 +24229,31 @@ async function persistRunCases(db, projectId, testRunId, cases) {
23981
24229
  testCaseId: caseId,
23982
24230
  status: c.status,
23983
24231
  duration: (_e = c.duration) != null ? _e : null,
24232
+ timeout: (_f = c.timeout) != null ? _f : null,
23984
24233
  error: capErrorText(c.error, limits.errorChars),
23985
- retries: (_f = c.retries) != null ? _f : 0,
24234
+ retries: (_g = c.retries) != null ? _g : 0,
23986
24235
  line: c.line,
23987
24236
  column: c.column,
23988
24237
  steps: capArray(c.steps, limits.steps),
23989
24238
  stepEvents: capArray(c.stepEvents, limits.stepEvents),
23990
- slowestStep: (_g = c.slowestStep) != null ? _g : null,
23991
- slowestStepDuration: (_h = c.slowestStepDuration) != null ? _h : null,
23992
- wastedTimeMs: (_i = c.wastedTimeMs) != null ? _i : null,
23993
- webVitals: (_j = sanitizeWebVitals(c.webVitals)) != null ? _j : null,
24239
+ slowestStep: (_h = c.slowestStep) != null ? _h : null,
24240
+ slowestStepDuration: (_i = c.slowestStepDuration) != null ? _i : null,
24241
+ wastedTimeMs: (_j = c.wastedTimeMs) != null ? _j : null,
24242
+ webVitals: (_k = sanitizeWebVitals(c.webVitals)) != null ? _k : null,
23994
24243
  pageState: sanitizePageState(c.pageState),
23995
- consoleLogs: (_k = capConsoleLogs(
24244
+ consoleLogs: (_l = capConsoleLogs(
23996
24245
  sanitizeConsoleLogs(c.consoleLogs),
23997
24246
  limits
23998
- )) != null ? _k : null,
24247
+ )) != null ? _l : null,
23999
24248
  ariaSnapshot: null,
24000
24249
  testSource: null,
24001
24250
  testSourceFrames: null,
24002
- testAnnotations: (_l = c.testAnnotations) != null ? _l : null,
24003
- browser: (_m = c.browser) != null ? _m : null,
24251
+ testAnnotations: (_m = c.testAnnotations) != null ? _m : null,
24252
+ browser: (_n = c.browser) != null ? _n : null,
24004
24253
  browserName: resolveBrowserName(c.browser),
24005
- workerIndex: (_n = c.workerIndex) != null ? _n : null,
24006
- shardIndex: (_o = c.shardIndex) != null ? _o : null,
24007
- startedAt: (_p = c.startedAt) != null ? _p : null
24254
+ workerIndex: (_o = c.workerIndex) != null ? _o : null,
24255
+ shardIndex: (_p = c.shardIndex) != null ? _p : null,
24256
+ startedAt: (_q = c.startedAt) != null ? _q : null
24008
24257
  });
24009
24258
  const nrItems = buildNetworkRequestItems(c.networkRequests);
24010
24259
  networkRequestBuilders.push({ items: nrItems });
@@ -24367,6 +24616,11 @@ async function authorizeStreamToken(db, runId, streamToken) {
24367
24616
  return { projectId: testRun.projectId };
24368
24617
  }
24369
24618
 
24619
+ async function getTimeoutThresholds(db) {
24620
+ const stored = await getAppSetting(db, TIMEOUT_THRESHOLDS_KEY);
24621
+ return resolveTimeoutThresholds(stored);
24622
+ }
24623
+
24370
24624
  async function checkExistingBlobs(projectId, hashes) {
24371
24625
  if (hashes.length === 0) return /* @__PURE__ */ new Set();
24372
24626
  const db = await getDatabase();
@@ -24968,6 +25222,7 @@ const _lazy_Sh8Rkj = () => import('../routes/api/index.get.mjs');
24968
25222
  const _lazy_9fNfcA = () => import('../routes/api/index.post.mjs');
24969
25223
  const _lazy_Qz0pd1 = () => import('../routes/api/cluster-merge-suggestions/_id/approve.post.mjs');
24970
25224
  const _lazy_E0afM7 = () => import('../routes/api/cluster-merge-suggestions/_id/reject.post.mjs');
25225
+ const _lazy_Nkq_uu = () => import('../routes/api/desktop/reporter-config.get.mjs');
24971
25226
  const _lazy_KVGsIs = () => import('../routes/api/failure-clusters/_id_.get.mjs');
24972
25227
  const _lazy_PiTjof = () => import('../routes/api/failure-clusters/_id/base-commit.patch.mjs');
24973
25228
  const _lazy_yZAusm = () => import('../routes/api/failure-clusters/_id/branches.get.mjs');
@@ -25008,6 +25263,7 @@ const _lazy_lXsFOO = () => import('../routes/api/projects/_id/performance.get.mj
25008
25263
  const _lazy_KKHWGj = () => import('../routes/api/projects/_id/slow-tests.get.mjs');
25009
25264
  const _lazy_64C54H = () => import('../routes/api/projects/_id/spec-health.get.mjs');
25010
25265
  const _lazy_KVMz3b = () => import('../routes/api/projects/_id/test-cases.get.mjs');
25266
+ const _lazy_ISG3Aa = () => import('../routes/api/projects/_id/timeout-opportunities.get.mjs');
25011
25267
  const _lazy_bASoKn = () => import('../routes/api/index.post3.mjs');
25012
25268
  const _lazy_9pyP9c = () => import('../routes/api/projects/menu.get.mjs');
25013
25269
  const _lazy_bsDJl2 = () => import('../routes/api/projects/overview.get.mjs');
@@ -25021,6 +25277,8 @@ const _lazy_RLk8T8 = () => import('../routes/api/settings/ai/test.post.mjs');
25021
25277
  const _lazy_WlKb59 = () => import('../routes/api/settings/ai/usage.get.mjs');
25022
25278
  const _lazy_ctSg1F = () => import('../routes/api/settings/smtp.get.mjs');
25023
25279
  const _lazy_EcdZ5k = () => import('../routes/api/settings/smtp/test.post.mjs');
25280
+ const _lazy_CWQsGa = () => import('../routes/api/settings/timeout-hygiene.get.mjs');
25281
+ const _lazy_eunZZk = () => import('../routes/api/settings/timeout-hygiene.put.mjs');
25024
25282
  const _lazy_Hoh9WK = () => import('../routes/api/settings/wasted-waits.get.mjs');
25025
25283
  const _lazy_4Fwa00 = () => import('../routes/api/settings/wasted-waits.put.mjs');
25026
25284
  const _lazy_fTOoqm = () => import('../routes/api/stream.get.mjs');
@@ -25080,11 +25338,13 @@ const _lazy_WoiEUP = () => import('../routes/api/users/_id/projects.put.mjs');
25080
25338
  const _lazy_JtsXxX = () => import('../routes/api/index.get5.mjs');
25081
25339
  const _lazy_dwebH9 = () => import('../routes/api/index.post6.mjs');
25082
25340
  const _lazy_DWnRMG = () => import('../routes/api/version.get.mjs');
25341
+ const _lazy_yz3feM = () => import('../routes/__piwi/session.get.mjs');
25083
25342
  const _lazy_vthjh6 = () => import('../routes/mcp.post.mjs');
25084
25343
  const _lazy_fUjhRe = () => import('../routes/renderer.mjs').then(function (n) { return n.r; });
25085
25344
 
25086
25345
  const handlers = [
25087
25346
  { route: '', handler: _iGKZkl, lazy: false, middleware: true, method: undefined },
25347
+ { route: '', handler: _2nofeF, lazy: false, middleware: true, method: undefined },
25088
25348
  { route: '/api/admin/cleanup', handler: _lazy_XPFbyR, lazy: true, middleware: false, method: "delete" },
25089
25349
  { route: '/api/admin/stats', handler: _lazy_BIvaNF, lazy: true, middleware: false, method: "get" },
25090
25350
  { route: '/api/ai/status', handler: _lazy_DuNpFF, lazy: true, middleware: false, method: "get" },
@@ -25108,6 +25368,7 @@ const handlers = [
25108
25368
  { route: '/api/channels', handler: _lazy_9fNfcA, lazy: true, middleware: false, method: "post" },
25109
25369
  { route: '/api/cluster-merge-suggestions/:id/approve', handler: _lazy_Qz0pd1, lazy: true, middleware: false, method: "post" },
25110
25370
  { route: '/api/cluster-merge-suggestions/:id/reject', handler: _lazy_E0afM7, lazy: true, middleware: false, method: "post" },
25371
+ { route: '/api/desktop/reporter-config', handler: _lazy_Nkq_uu, lazy: true, middleware: false, method: "get" },
25111
25372
  { route: '/api/failure-clusters/:id', handler: _lazy_KVGsIs, lazy: true, middleware: false, method: "get" },
25112
25373
  { route: '/api/failure-clusters/:id/base-commit', handler: _lazy_PiTjof, lazy: true, middleware: false, method: "patch" },
25113
25374
  { route: '/api/failure-clusters/:id/branches', handler: _lazy_yZAusm, lazy: true, middleware: false, method: "get" },
@@ -25148,6 +25409,7 @@ const handlers = [
25148
25409
  { route: '/api/projects/:id/slow-tests', handler: _lazy_KKHWGj, lazy: true, middleware: false, method: "get" },
25149
25410
  { route: '/api/projects/:id/spec-health', handler: _lazy_64C54H, lazy: true, middleware: false, method: "get" },
25150
25411
  { route: '/api/projects/:id/test-cases', handler: _lazy_KVMz3b, lazy: true, middleware: false, method: "get" },
25412
+ { route: '/api/projects/:id/timeout-opportunities', handler: _lazy_ISG3Aa, lazy: true, middleware: false, method: "get" },
25151
25413
  { route: '/api/projects', handler: _lazy_bASoKn, lazy: true, middleware: false, method: "post" },
25152
25414
  { route: '/api/projects/menu', handler: _lazy_9pyP9c, lazy: true, middleware: false, method: "get" },
25153
25415
  { route: '/api/projects/overview', handler: _lazy_bsDJl2, lazy: true, middleware: false, method: "get" },
@@ -25161,6 +25423,8 @@ const handlers = [
25161
25423
  { route: '/api/settings/ai/usage', handler: _lazy_WlKb59, lazy: true, middleware: false, method: "get" },
25162
25424
  { route: '/api/settings/smtp', handler: _lazy_ctSg1F, lazy: true, middleware: false, method: "get" },
25163
25425
  { route: '/api/settings/smtp/test', handler: _lazy_EcdZ5k, lazy: true, middleware: false, method: "post" },
25426
+ { route: '/api/settings/timeout-hygiene', handler: _lazy_CWQsGa, lazy: true, middleware: false, method: "get" },
25427
+ { route: '/api/settings/timeout-hygiene', handler: _lazy_eunZZk, lazy: true, middleware: false, method: "put" },
25164
25428
  { route: '/api/settings/wasted-waits', handler: _lazy_Hoh9WK, lazy: true, middleware: false, method: "get" },
25165
25429
  { route: '/api/settings/wasted-waits', handler: _lazy_4Fwa00, lazy: true, middleware: false, method: "put" },
25166
25430
  { route: '/api/stream', handler: _lazy_fTOoqm, lazy: true, middleware: false, method: "get" },
@@ -25220,6 +25484,7 @@ const handlers = [
25220
25484
  { route: '/api/users', handler: _lazy_JtsXxX, lazy: true, middleware: false, method: "get" },
25221
25485
  { route: '/api/users', handler: _lazy_dwebH9, lazy: true, middleware: false, method: "post" },
25222
25486
  { route: '/api/version', handler: _lazy_DWnRMG, lazy: true, middleware: false, method: "get" },
25487
+ { route: '/__piwi/session', handler: _lazy_yz3feM, lazy: true, middleware: false, method: "get" },
25223
25488
  { route: '/mcp', handler: _lazy_vthjh6, lazy: true, middleware: false, method: "post" },
25224
25489
  { route: '/__nuxt_error', handler: _lazy_fUjhRe, lazy: true, middleware: false, method: undefined },
25225
25490
  { route: '/api/_nuxt_icon/:collection', handler: _AfV6W2, lazy: false, middleware: false, method: undefined },
@@ -25644,5 +25909,5 @@ setupGracefulShutdown(listener, nitroApp);
25644
25909
  }
25645
25910
  const nodeServer = {};
25646
25911
 
25647
- export { renderTestEmail as $, getProjectScope as A, getQuery as B, users as C, verifyPassword as D, hashPassword as E, getRequestIP as F, checkRateLimit as G, isEmailConfigured as H, mintAccountToken as I, renderPasswordResetEmail as J, sendEmail as K, isAuthEnabled as L, verifyUser as M, setUserSession as N, clearUserSession as O, getCurrentUser as P, sendRedirect as Q, handleOAuthCallback as R, initiateOAuth as S, unlinkProvider as T, validateAccountToken as U, consumeAccountToken as V, renderVerifyEmail as W, needsInitialSetup as X, createUser as Y, Role as Z, notificationChannels as _, deleteRunsOlderThan as a, searchProjectsTestRunsCases as a$, decryptSecret as a0, getEncryptionKey as a1, encryptSecret as a2, requireRouteId as a3, requireResolvedProjectAccess as a4, approveMergeSuggestion as a5, getSuggestionProjectId as a6, rejectMergeSuggestion as a7, getFailureCluster as a8, resolveClusterProjectId as a9, entityLinks as aA, listLinks as aB, createLink as aC, resolveMarkerProjectId as aD, markers as aE, subscriptions as aF, createSSEEndpoint as aG, runEventBus as aH, listProjects as aI, deleteProject as aJ, getProject as aK, updateProject as aL, listMergeSuggestions as aM, getProjectFailureClusters as aN, testCases as aO, classifyFlakyRootCause as aP, getProjectLatestRun as aQ, getProjectMembers as aR, setProjectMembers as aS, getProjectPerformance as aT, getProjectSlowTests as aU, getProjectSpecHealth as aV, getProjectTestCases as aW, parseTestCasesQuery as aX, createProject as aY, getProjectMenu as aZ, getProjectsOverview as a_, patchClusterBaseCommit as aa, normalizeGitUrl as ab, createScmProvider as ac, buildDiagnosisContext as ad, isDiagnosisRunning as ae, failureDiagnoses as af, isDiagnosisStale as ag, runClusterDiagnosis as ah, setResponseHeaders as ai, streamClusterDiagnosis as aj, failureDiagnosisVersions as ak, getClusterDiagnosis as al, extractClusterCases as am, patchClusterStatus as an, resolveDiagnosisProjectId as ao, requireProjectAccess as ap, setResponseHeader as aq, getRequestHeader as ar, setResponseStatus as as, parseZip as at, buildZip as au, appSettings as av, deleteLink as aw, patchLink as ax, refreshLinkMeta as ay, unfurlUrl as az, sweepOrphans as b, getFailureGroups as b$, readAiSettings as b0, useRuntimeConfig as b1, setAppSetting as b2, deleteAppSetting as b3, getAppSetting as b4, storedRoles as b5, AI_ROLES as b6, CONTEXT_LIMIT_FIELDS as b7, DEFAULT_CONTEXT_LIMITS as b8, envManagedLimitKeys as b9, recomputeClusterOccurrences as bA, resolveRunProjectId as bB, getTestRun as bC, patchTestRun as bD, cancelInstanceRuns as bE, sanitizeMetadata as bF, persistShardToken as bG, readMultipartFormData as bH, sanitizeFilename as bI, validateAndReviveRun as bJ, parseLocation as bK, joinSuitePath as bL, upsertTraceBlob as bM, findTraceBlob as bN, resolveCasePayloadContents as bO, resolveCaseDomSnapshot as bP, getEnvironmentDiff as bQ, getLocatorHealing as bR, saveLocatorPick as bS, getTraceNetworkBodyFromBlob as bT, getTraceNetworkFromBlob as bU, getTraceCallStackFromBlob as bV, getOrComputeVisualDiff as bW, authorizeStreamToken as bX, mapCompleteEventToRunCase as bY, persistRunCases as bZ, countFailedFromTally as b_, resolveContextLimits as ba, mergeContextLimitsUpdate as bb, CONTEXT_LIMITS_SETTING_KEY as bc, embedTexts as bd, callAiProvider as be, getSmtpConfig as bf, resolveWastedSettings as bg, DEFAULT_WASTED_WAIT_PATTERNS as bh, parseWastedWaitPatterns as bi, WASTED_WAIT_PATTERNS_KEY as bj, NOTIFICATION_EVENTS as bk, deleteTag as bl, updateTag as bm, listTags as bn, createTag as bo, getTestCase as bp, resolveCaseProjectId as bq, getTestCaseHistory as br, getTestCaseStabilityTrend as bs, getTestRunCase as bt, resolveTestRunCaseProjectId as bu, isDiagnosisRunningForExecution as bv, getExecutionDiagnosis as bw, getTestRunCaseTraces as bx, files as by, deleteFileRow as bz, capDiagnosisVersions as c, DIAGNOSIS_SECTIONS as c$, readShardTokensFromMeta as c0, durationStats as c1, sumFailedAndTimedOut as c2, removeStoredShardToken as c3, computeRegressionSignals as c4, autoDiagnoseRun as c5, emitRunNotifications as c6, computeRunInsights as c7, getNetworkRequests as c8, computeRegressionContextForRun as c9, useNitroApp as cA, serialize$1 as cB, getRequestHeaders as cC, defu as cD, hasProtocol as cE, isEqual as cF, klona as cG, isScriptProtocol as cH, joinURL as cI, defuFn as cJ, parseQuery as cK, withQuery as cL, sanitizeStatusCode as cM, parseURL as cN, decodePath as cO, getContext as cP, hash$1 as cQ, withTrailingSlash as cR, withoutTrailingSlash as cS, $fetch$1 as cT, baseURL as cU, executeAsync as cV, setCookie as cW, getCookie as cX, deleteCookie as cY, upperFirst as cZ, DIAGNOSIS_SECTION_SHORT as c_, getTestRunSummary as ca, getRecentTestRuns as cb, scopeAllows as cc, decompressDirectory as cd, uploadDirectory as ce, checkExistingBlobs as cf, apiKeys as cg, generateApiKey as ch, renderInviteEmail as ci, getUserAssignments as cj, setUserAssignments as ck, RPC as cl, rpcErr as cm, ok as cn, toContent as co, MCP_TOOLS as cp, MCP_SERVER_INFO as cq, negotiateProtocolVersion as cr, buildAssetsURL as cs, publicAssetsURL as ct, encodePath as cu, defineRenderHandler as cv, destr as cw, getRouteRules as cx, getResponseStatusText as cy, getResponseStatus as cz, defineTask as d, isKnownSectionId as d0, recommendLocatorFix as d1, extractCitedSectionIds as d2, stripAnsi as d3, detectProvider as d4, getProviderIcon as d5, condenseErrorText as d6, isWastedWait as d7, MCP_TOOL_DEFS as d8, getRequestURL as d9, nodeServer as da, eventHandler as e, requireAuth as f, getDatabase as g, readBody as h, createError$1 as i, getAdminStats as j, getStorage as k, getDirectorySize as l, resolveAiConfig as m, projects as n, tags as o, pruneNotificationDeliveries as p, projectTags as q, reclaimSpace as r, sweepOutbox as s, testRuns as t, failureClusters as u, testRunsCases as v, getProjectFlakyTests as w, networkRequests as x, percentile as y, getRouterParam as z };
25912
+ export { notificationChannels as $, getRouterParam as A, getProjectScope as B, getQuery as C, users as D, verifyPassword as E, hashPassword as F, getRequestIP as G, checkRateLimit as H, isEmailConfigured as I, mintAccountToken as J, renderPasswordResetEmail as K, sendEmail as L, isAuthEnabled as M, verifyUser as N, setUserSession as O, clearUserSession as P, getCurrentUser as Q, sendRedirect as R, handleOAuthCallback as S, initiateOAuth as T, unlinkProvider as U, validateAccountToken as V, consumeAccountToken as W, renderVerifyEmail as X, needsInitialSetup as Y, createUser as Z, Role as _, deleteRunsOlderThan as a, getProjectMenu as a$, renderTestEmail as a0, decryptSecret as a1, getEncryptionKey as a2, encryptSecret as a3, requireRouteId as a4, requireResolvedProjectAccess as a5, approveMergeSuggestion as a6, getSuggestionProjectId as a7, rejectMergeSuggestion as a8, getFailureCluster as a9, unfurlUrl as aA, entityLinks as aB, listLinks as aC, createLink as aD, resolveMarkerProjectId as aE, markers as aF, subscriptions as aG, createSSEEndpoint as aH, runEventBus as aI, listProjects as aJ, deleteProject as aK, getProject as aL, updateProject as aM, listMergeSuggestions as aN, getProjectFailureClusters as aO, testCases as aP, classifyFlakyRootCause as aQ, getProjectLatestRun as aR, getProjectMembers as aS, setProjectMembers as aT, getProjectPerformance as aU, getProjectSlowTests as aV, getProjectSpecHealth as aW, getProjectTestCases as aX, parseTestCasesQuery as aY, getTimeoutThresholds as aZ, createProject as a_, resolveClusterProjectId as aa, patchClusterBaseCommit as ab, normalizeGitUrl as ac, createScmProvider as ad, buildDiagnosisContext as ae, isDiagnosisRunning as af, failureDiagnoses as ag, isDiagnosisStale as ah, runClusterDiagnosis as ai, setResponseHeaders as aj, streamClusterDiagnosis as ak, failureDiagnosisVersions as al, getClusterDiagnosis as am, extractClusterCases as an, patchClusterStatus as ao, resolveDiagnosisProjectId as ap, requireProjectAccess as aq, setResponseHeader as ar, getRequestHeader as as, setResponseStatus as at, parseZip as au, buildZip as av, appSettings as aw, deleteLink as ax, patchLink as ay, refreshLinkMeta as az, sweepOrphans as b, getOrComputeVisualDiff as b$, getProjectsOverview as b0, searchProjectsTestRunsCases as b1, readAiSettings as b2, useRuntimeConfig as b3, setAppSetting as b4, deleteAppSetting as b5, getAppSetting as b6, storedRoles as b7, AI_ROLES as b8, CONTEXT_LIMIT_FIELDS as b9, isDiagnosisRunningForExecution as bA, getExecutionDiagnosis as bB, getTestRunCaseTraces as bC, files as bD, deleteFileRow as bE, recomputeClusterOccurrences as bF, resolveRunProjectId as bG, getTestRun as bH, patchTestRun as bI, cancelInstanceRuns as bJ, sanitizeMetadata as bK, persistShardToken as bL, readMultipartFormData as bM, sanitizeFilename as bN, validateAndReviveRun as bO, parseLocation as bP, joinSuitePath as bQ, upsertTraceBlob as bR, findTraceBlob as bS, resolveCasePayloadContents as bT, resolveCaseDomSnapshot as bU, getEnvironmentDiff as bV, getLocatorHealing as bW, saveLocatorPick as bX, getTraceNetworkBodyFromBlob as bY, getTraceNetworkFromBlob as bZ, getTraceCallStackFromBlob as b_, DEFAULT_CONTEXT_LIMITS as ba, envManagedLimitKeys as bb, resolveContextLimits as bc, mergeContextLimitsUpdate as bd, CONTEXT_LIMITS_SETTING_KEY as be, embedTexts as bf, callAiProvider as bg, getSmtpConfig as bh, DEFAULT_TIMEOUT_THRESHOLDS as bi, resolveTimeoutThresholds as bj, TIMEOUT_THRESHOLDS_KEY as bk, resolveWastedSettings as bl, DEFAULT_WASTED_WAIT_PATTERNS as bm, parseWastedWaitPatterns as bn, WASTED_WAIT_PATTERNS_KEY as bo, NOTIFICATION_EVENTS as bp, deleteTag as bq, updateTag as br, listTags as bs, createTag as bt, getTestCase as bu, resolveCaseProjectId as bv, getTestCaseHistory as bw, getTestCaseStabilityTrend as bx, getTestRunCase as by, resolveTestRunCaseProjectId as bz, capDiagnosisVersions as c, baseURL as c$, authorizeStreamToken as c0, mapCompleteEventToRunCase as c1, persistRunCases as c2, countFailedFromTally as c3, getFailureGroups as c4, readShardTokensFromMeta as c5, durationStats as c6, sumFailedAndTimedOut as c7, removeStoredShardToken as c8, computeRegressionSignals as c9, publicAssetsURL as cA, encodePath as cB, defineRenderHandler as cC, destr as cD, getRouteRules as cE, getResponseStatusText as cF, getResponseStatus as cG, useNitroApp as cH, serialize$1 as cI, getRequestHeaders as cJ, defu as cK, hasProtocol as cL, isEqual as cM, klona as cN, isScriptProtocol as cO, joinURL as cP, defuFn as cQ, parseQuery as cR, withQuery as cS, sanitizeStatusCode as cT, parseURL as cU, decodePath as cV, getContext as cW, hash$1 as cX, withTrailingSlash as cY, withoutTrailingSlash as cZ, $fetch$1 as c_, autoDiagnoseRun as ca, emitRunNotifications as cb, computeRunInsights as cc, getNetworkRequests as cd, computeRegressionContextForRun as ce, getTestRunSummary as cf, getRecentTestRuns as cg, scopeAllows as ch, decompressDirectory as ci, uploadDirectory as cj, checkExistingBlobs as ck, apiKeys as cl, generateApiKey as cm, renderInviteEmail as cn, getUserAssignments as co, setUserAssignments as cp, defineEventHandler as cq, setCookie as cr, RPC as cs, rpcErr as ct, ok as cu, toContent as cv, MCP_TOOLS as cw, MCP_SERVER_INFO as cx, negotiateProtocolVersion as cy, buildAssetsURL as cz, defineTask as d, executeAsync as d0, getCookie as d1, deleteCookie as d2, upperFirst as d3, DIAGNOSIS_SECTION_SHORT as d4, DIAGNOSIS_SECTIONS as d5, isKnownSectionId as d6, recommendLocatorFix as d7, extractCitedSectionIds as d8, stripAnsi as d9, detectProvider as da, getProviderIcon as db, condenseErrorText as dc, hasSlowMark as dd, isWastedWait as de, MCP_TOOL_DEFS as df, getRequestURL as dg, nodeServer as dh, eventHandler as e, requireAuth as f, getDatabase as g, readBody as h, createError$1 as i, getAdminStats as j, getStorage as k, getDirectorySize as l, resolveAiConfig as m, projects as n, tags as o, pruneNotificationDeliveries as p, projectTags as q, reclaimSpace as r, sweepOutbox as s, testRuns as t, failureClusters as u, getProjectTimeoutOpportunities as v, testRunsCases as w, getProjectFlakyTests as x, networkRequests as y, percentile as z };
25648
25913
  //# sourceMappingURL=nitro.mjs.map