@piwitests/server 0.18.1 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (773) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BaDv5D7A.js → -09h6CA9.js} +1 -1
  3. package/.output/public/_nuxt/279D2RYp.js +1 -0
  4. package/.output/public/_nuxt/81InBX9v.js +1 -0
  5. package/.output/public/_nuxt/{CRpbGS75.js → Ar3IelOY.js} +1 -1
  6. package/.output/public/_nuxt/B33iXw77.js +1 -0
  7. package/.output/public/_nuxt/B3B9Ii2A.js +1 -0
  8. package/.output/public/_nuxt/B3HO8kuh.js +1 -0
  9. package/.output/public/_nuxt/B44A4LSJ.js +1 -0
  10. package/.output/public/_nuxt/{CPZ5wygb.js → B7NBP1C-.js} +1 -1
  11. package/.output/public/_nuxt/{Db_-yjYg.js → B9WhzpKO.js} +1 -1
  12. package/.output/public/_nuxt/{DoYgYLOd.js → BCMuIgP5.js} +1 -1
  13. package/.output/public/_nuxt/BDicZ1gQ.js +1 -0
  14. package/.output/public/_nuxt/BJ0XQElc.js +1 -0
  15. package/.output/public/_nuxt/{D4SFgXAf.js → BMvCSA6h.js} +1 -1
  16. package/.output/public/_nuxt/BPQoBGg5.js +1 -0
  17. package/.output/public/_nuxt/BPRffDuo.js +1 -0
  18. package/.output/public/_nuxt/BSIxhGsh.js +1 -0
  19. package/.output/public/_nuxt/BVaxh6Nl.js +4 -0
  20. package/.output/public/_nuxt/{BReNbog6.js → BX9ZXe98.js} +1 -1
  21. package/.output/public/_nuxt/{rm7OkgDG.js → BYDaY0Z7.js} +1 -1
  22. package/.output/public/_nuxt/{WAaPPk0g.js → Bc8mOoz9.js} +2 -2
  23. package/.output/public/_nuxt/BccXfBfI.js +1 -0
  24. package/.output/public/_nuxt/{Dbg8z684.js → BeLWlVK0.js} +1 -1
  25. package/.output/public/_nuxt/{CP0vUzbd.js → BfTuX0wq.js} +1 -1
  26. package/.output/public/_nuxt/BjaRappk.js +1 -0
  27. package/.output/public/_nuxt/{D3MWm6JP.js → Bn0YQDyy.js} +1 -1
  28. package/.output/public/_nuxt/Bp5ELvx9.js +1 -0
  29. package/.output/public/_nuxt/BpUaY9nH.js +2 -0
  30. package/.output/public/_nuxt/BqV0l12c.js +1 -0
  31. package/.output/public/_nuxt/{D8YZvjas.js → Bti38m-M.js} +1 -1
  32. package/.output/public/_nuxt/{DVgMaBxD.js → Bu2aaVIY.js} +3 -3
  33. package/.output/public/_nuxt/{CUDeMcEK.js → BuMC3WjZ.js} +1 -1
  34. package/.output/public/_nuxt/{Bi3i470l.js → BxCKKeYs.js} +1 -1
  35. package/.output/public/_nuxt/{BTYiG93l.js → C-elpgyr.js} +1 -1
  36. package/.output/public/_nuxt/C2_3mdPC.js +1 -0
  37. package/.output/public/_nuxt/{BoC6qaRF.js → C5iG7O4O.js} +4 -4
  38. package/.output/public/_nuxt/C7P1UCO2.js +1 -0
  39. package/.output/public/_nuxt/{BuuvTH9e.js → C95YAaJq.js} +1 -1
  40. package/.output/public/_nuxt/{DOr_4nln.js → C9_jrmk9.js} +2 -2
  41. package/.output/public/_nuxt/CDk0q2hV.js +2 -0
  42. package/.output/public/_nuxt/{DIA_NAIv.js → CGNkHojN.js} +3 -3
  43. package/.output/public/_nuxt/CHEFCN8Q.js +1 -0
  44. package/.output/public/_nuxt/CHNwfU1y.js +1 -0
  45. package/.output/public/_nuxt/CK_2LZBS.js +1 -0
  46. package/.output/public/_nuxt/CNFYDQmj.js +1 -0
  47. package/.output/public/_nuxt/{BfoG8R5a.js → CTxDO9fB.js} +1 -1
  48. package/.output/public/_nuxt/{B1CB30tg.js → CU5S9GCh.js} +1 -1
  49. package/.output/public/_nuxt/{BKaU95es.js → CUtJobDm.js} +1 -1
  50. package/.output/public/_nuxt/CV9-fTmY.js +1 -0
  51. package/.output/public/_nuxt/{BAkJhSAW.js → CYsTqbBS.js} +1 -1
  52. package/.output/public/_nuxt/{AjuKBlzz.js → CZfMdzfk.js} +1 -1
  53. package/.output/public/_nuxt/{lowCGL2S.js → Cdff9XNh.js} +1 -1
  54. package/.output/public/_nuxt/{quV6tp4n.js → ClOqkAcc.js} +1 -1
  55. package/.output/public/_nuxt/{Doul3p1_.js → CpjgB2aY.js} +1 -1
  56. package/.output/public/_nuxt/CrwJAwhk.js +1 -0
  57. package/.output/public/_nuxt/CtQBsNUb.js +1 -0
  58. package/.output/public/_nuxt/CuSVQEkS.js +3 -0
  59. package/.output/public/_nuxt/{wQZj69OY.js → CylWPruw.js} +1 -1
  60. package/.output/public/_nuxt/CzGyac8q.js +1 -0
  61. package/.output/public/_nuxt/D-c8ZSws.js +1 -0
  62. package/.output/public/_nuxt/{B6IHiVa1.js → D0HNloZ9.js} +1 -1
  63. package/.output/public/_nuxt/{ClIKZ4qY.js → D55D4EYo.js} +1 -1
  64. package/.output/public/_nuxt/{Bi9DO8jm.js → DDDpCFpF.js} +1 -1
  65. package/.output/public/_nuxt/{va1mwSm9.js → DEFEpYzn.js} +1 -1
  66. package/.output/public/_nuxt/DGfAxLHV.js +1 -0
  67. package/.output/public/_nuxt/DHDtnj7p.js +1 -0
  68. package/.output/public/_nuxt/DLSrtpsA.js +1 -0
  69. package/.output/public/_nuxt/DP8hfJ9h.js +1 -0
  70. package/.output/public/_nuxt/DS636elg.js +1 -0
  71. package/.output/public/_nuxt/{D51_cB9D.js → DT53RWbC.js} +1 -1
  72. package/.output/public/_nuxt/DVDXJYq2.js +2 -0
  73. package/.output/public/_nuxt/DW0xl3I6.js +17 -0
  74. package/.output/public/_nuxt/{BEB2Mv6B.js → DX-MDGb3.js} +1 -1
  75. package/.output/public/_nuxt/DcmZRa_F.js +1 -0
  76. package/.output/public/_nuxt/DgE2YE3R.js +1 -0
  77. package/.output/public/_nuxt/Dgf5N4Ng.js +1 -0
  78. package/.output/public/_nuxt/DiOLdHBC.js +1 -0
  79. package/.output/public/_nuxt/DiZyJYez.js +1 -0
  80. package/.output/public/_nuxt/Dk9fwOCm.js +34 -0
  81. package/.output/public/_nuxt/{DRE6Aqqp.js → Dnpkl-1q.js} +1 -1
  82. package/.output/public/_nuxt/DoUy4UHi.js +44 -0
  83. package/.output/public/_nuxt/{empGC_x-.js → DprVVyUQ.js} +1 -1
  84. package/.output/public/_nuxt/{BVDBIVAQ.js → DslPMqfa.js} +1 -1
  85. package/.output/public/_nuxt/{Vnfkr1pJ.js → FUXhyidq.js} +1 -1
  86. package/.output/public/_nuxt/HXerICAi.js +79 -0
  87. package/.output/public/_nuxt/{Do6zIWQf.js → IvQlbZk6.js} +1 -1
  88. package/.output/public/_nuxt/{n-QWmQgc.js → Jo8kRmHz.js} +1 -1
  89. package/.output/public/_nuxt/{BsDB_eCd.js → KnfsST6Y.js} +1 -1
  90. package/.output/public/_nuxt/NQikbhmK.js +253 -0
  91. package/.output/public/_nuxt/OSduWzyz.js +1 -0
  92. package/.output/public/_nuxt/SfMRXW25.js +5 -0
  93. package/.output/public/_nuxt/{mlAADjK3.js → SlIRLREZ.js} +2 -2
  94. package/.output/public/_nuxt/TagBadge.By1E6r4y.css +1 -0
  95. package/.output/public/_nuxt/WsxFTEFq.js +10 -0
  96. package/.output/public/_nuxt/YVN7WG7q.js +1 -0
  97. package/.output/public/_nuxt/{CRcjGmf7.js → ZFiQCMUB.js} +1 -1
  98. package/.output/public/_nuxt/aQgs_c6e.js +9 -0
  99. package/.output/public/_nuxt/builds/latest.json +1 -1
  100. package/.output/public/_nuxt/builds/meta/ab473028-4b37-4884-b243-b8f6e5046e5e.json +1 -0
  101. package/.output/public/_nuxt/{Dwp3GkV-.js → cHAnlQbv.js} +1 -1
  102. package/.output/public/_nuxt/dYCKgE-3.js +5 -0
  103. package/.output/public/_nuxt/{DnThe2U0.js → eaVkJRSa.js} +1 -1
  104. package/.output/public/_nuxt/entry.CPhW41mh.css +1 -0
  105. package/.output/public/_nuxt/{DoFSKAvY.js → eptP4pGv.js} +1 -1
  106. package/.output/public/_nuxt/fVcG504p.js +1 -0
  107. package/.output/public/_nuxt/g26aVPxc.js +1 -0
  108. package/.output/public/_nuxt/{wGpfdK6o.js → ndShiWE8.js} +1 -1
  109. package/.output/public/_nuxt/nv9-6vBK.js +1 -0
  110. package/.output/public/_nuxt/rWNTSFD6.js +3 -0
  111. package/.output/public/_nuxt/tvgqrYDd.js +1 -0
  112. package/.output/public/_nuxt/{DCMFuzDI.js → y17lMTFy.js} +1 -1
  113. package/.output/public/_nuxt/{DM_YaJgJ.js → ybDYeNxd.js} +1 -1
  114. package/.output/public/_nuxt/{B_aSGB8S.js → zQyPuvV1.js} +1 -1
  115. package/.output/public/demo/seed.version.json +2 -2
  116. package/.output/server/chunks/_/ai-prompt-preview.mjs +38 -0
  117. package/.output/server/chunks/_/ai-prompt-preview.mjs.map +1 -0
  118. package/.output/server/chunks/_/collect.mjs +122 -0
  119. package/.output/server/chunks/_/collect.mjs.map +1 -0
  120. package/.output/server/chunks/_/import-runs.mjs +351 -0
  121. package/.output/server/chunks/_/import-runs.mjs.map +1 -0
  122. package/.output/server/chunks/_/markers.mjs +1 -1
  123. package/.output/server/chunks/_/quarantine.mjs +112 -0
  124. package/.output/server/chunks/_/quarantine.mjs.map +1 -0
  125. package/.output/server/chunks/_/users.mjs +1 -1
  126. package/.output/server/chunks/build/{Alert-Bp1Wz_sq.mjs → Alert-C4xq8lao.mjs} +2 -2
  127. package/.output/server/chunks/build/Alert-C4xq8lao.mjs.map +1 -0
  128. package/.output/server/chunks/build/{Breadcrumb-C9ZPTLym.mjs → Breadcrumb-Ak2Lg3oM.mjs} +3 -3
  129. package/.output/server/chunks/build/Breadcrumb-Ak2Lg3oM.mjs.map +1 -0
  130. package/.output/server/chunks/build/{BreadcrumbNav-C3y42Vun.mjs → BreadcrumbNav-DO7I_z-n.mjs} +3 -3
  131. package/.output/server/chunks/build/BreadcrumbNav-DO7I_z-n.mjs.map +1 -0
  132. package/.output/server/chunks/build/{BrowserBadge-DNCp9pF-.mjs → BrowserBadge-D33lqUcj.mjs} +5 -5
  133. package/.output/server/chunks/build/BrowserBadge-D33lqUcj.mjs.map +1 -0
  134. package/.output/server/chunks/build/{ChartCard-Fr557IbV.mjs → ChartCard-Y1UKwMsf.mjs} +2 -2
  135. package/.output/server/chunks/build/ChartCard-Y1UKwMsf.mjs.map +1 -0
  136. package/.output/server/chunks/build/{Checkbox-cVOSIY93.mjs → Checkbox-DvUBGagc.mjs} +8 -8
  137. package/.output/server/chunks/build/Checkbox-DvUBGagc.mjs.map +1 -0
  138. package/.output/server/chunks/build/{CiEnvCard-DXPOhdSG.mjs → CiEnvCard-CrjOM17n.mjs} +25 -34
  139. package/.output/server/chunks/build/CiEnvCard-CrjOM17n.mjs.map +1 -0
  140. package/.output/server/chunks/build/{CodeBlock-BGwNmJ8J.mjs → CodeBlock-BgE-NSmE.mjs} +7 -22
  141. package/.output/server/chunks/build/CodeBlock-BgE-NSmE.mjs.map +1 -0
  142. package/.output/server/chunks/build/{DashboardNavbar-Bdp-OwTN.mjs → DashboardNavbar-BHmMSPX7.mjs} +3 -3
  143. package/.output/server/chunks/build/DashboardNavbar-BHmMSPX7.mjs.map +1 -0
  144. package/.output/server/chunks/build/{DashboardSidebarToggle-Ji6ADuqF.mjs → DashboardSidebarToggle-DCTnHiIv.mjs} +3 -3
  145. package/.output/server/chunks/build/DashboardSidebarToggle-DCTnHiIv.mjs.map +1 -0
  146. package/.output/server/chunks/build/{DataLocationCard-D6xSOrme.mjs → DataLocationCard-B_YHdzSz.mjs} +3 -3
  147. package/.output/server/chunks/build/DataLocationCard-B_YHdzSz.mjs.map +1 -0
  148. package/.output/server/chunks/build/{DiagnosisPanel-DV1xwGu4.mjs → DiagnosisPanel-B646dK4p.mjs} +17 -528
  149. package/.output/server/chunks/build/DiagnosisPanel-B646dK4p.mjs.map +1 -0
  150. package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs +43 -0
  151. package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs.map +1 -0
  152. package/.output/server/chunks/build/{EmptyState-DV3oT_xz.mjs → EmptyState-Dtlab7S9.mjs} +3 -3
  153. package/.output/server/chunks/build/EmptyState-Dtlab7S9.mjs.map +1 -0
  154. package/.output/server/chunks/build/{EntityLinks-DeOP13Kr.mjs → EntityLinks-D3fp57pR.mjs} +6 -6
  155. package/.output/server/chunks/build/EntityLinks-D3fp57pR.mjs.map +1 -0
  156. package/.output/server/chunks/build/{EnvManagedBadge-Qpn58Nmr.mjs → EnvManagedBadge-Bg3FSiU1.mjs} +3 -3
  157. package/.output/server/chunks/build/EnvManagedBadge-Bg3FSiU1.mjs.map +1 -0
  158. package/.output/server/chunks/build/{FormField-B-GSn_VR.mjs → FormField-B0HKsdMd.mjs} +3 -3
  159. package/.output/server/chunks/build/FormField-B0HKsdMd.mjs.map +1 -0
  160. package/.output/server/chunks/build/{HelpHint-YEMWtKu1.mjs → HelpHint-DrcIv-Oj.mjs} +53 -6
  161. package/.output/server/chunks/build/HelpHint-DrcIv-Oj.mjs.map +1 -0
  162. package/.output/server/chunks/build/{Label-DBvbHd3A.mjs → Label-DYDR1Oeh.mjs} +2 -2
  163. package/.output/server/chunks/build/Label-DYDR1Oeh.mjs.map +1 -0
  164. package/.output/server/chunks/build/{MiniRunBars-C3HG-EYm.mjs → MiniRunBars-CZMugDrh.mjs} +2 -2
  165. package/.output/server/chunks/build/MiniRunBars-CZMugDrh.mjs.map +1 -0
  166. package/.output/server/chunks/build/{Modal-CfA78Hm1.mjs → Modal-Ck2XLt8d.mjs} +2 -2
  167. package/.output/server/chunks/build/Modal-Ck2XLt8d.mjs.map +1 -0
  168. package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs → OpenInIdeLink-C4MXA8ya.mjs} +6 -6
  169. package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs.map → OpenInIdeLink-C4MXA8ya.mjs.map} +1 -1
  170. package/.output/server/chunks/build/{ProjectTestCasesTable-9Ia825h8.mjs → ProjectTestCasesTable-CxfQ5wtN.mjs} +120 -45
  171. package/.output/server/chunks/build/ProjectTestCasesTable-CxfQ5wtN.mjs.map +1 -0
  172. package/.output/server/chunks/build/{RovingFocusItem-CxhHdNGo.mjs → RovingFocusItem-BJSzTBjy.mjs} +2 -2
  173. package/.output/server/chunks/build/RovingFocusItem-BJSzTBjy.mjs.map +1 -0
  174. package/.output/server/chunks/build/{RunReports-BpJqLHY9.mjs → RunReports-DFLv51TX.mjs} +8 -6
  175. package/.output/server/chunks/build/RunReports-DFLv51TX.mjs.map +1 -0
  176. package/.output/server/chunks/build/{RunStatusBadge-BhmJ_RKM.mjs → RunStatusBadge-FfGb6bkW.mjs} +3 -2
  177. package/.output/server/chunks/build/RunStatusBadge-FfGb6bkW.mjs.map +1 -0
  178. package/.output/server/chunks/build/{SectionCard-COd9TuDq.mjs → SectionCard-CN-v0FZ_.mjs} +2 -2
  179. package/.output/server/chunks/build/SectionCard-CN-v0FZ_.mjs.map +1 -0
  180. package/.output/server/chunks/build/{Select-ppPz926C.mjs → Select-CUqj50wi.mjs} +4 -4
  181. package/.output/server/chunks/build/Select-CUqj50wi.mjs.map +1 -0
  182. package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs → SelectMenu-Db7osY7J.mjs} +4 -4
  183. package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs.map → SelectMenu-Db7osY7J.mjs.map} +1 -1
  184. package/.output/server/chunks/build/{Separator-CxZdx8kw.mjs → Separator-CR4WcEKD.mjs} +2 -2
  185. package/.output/server/chunks/build/Separator-CR4WcEKD.mjs.map +1 -0
  186. package/.output/server/chunks/build/{SettingsField-DDD4oqys.mjs → SettingsField-D6iEYbEc.mjs} +6 -6
  187. package/.output/server/chunks/build/SettingsField-D6iEYbEc.mjs.map +1 -0
  188. package/.output/server/chunks/build/{Slideover-B95Rj237.mjs → Slideover-DgCa80mf.mjs} +3 -3
  189. package/.output/server/chunks/build/Slideover-DgCa80mf.mjs.map +1 -0
  190. package/.output/server/chunks/build/{Switch-xQQ3_ME1.mjs → Switch-CgUioOYB.mjs} +5 -5
  191. package/.output/server/chunks/build/Switch-CgUioOYB.mjs.map +1 -0
  192. package/.output/server/chunks/build/{Table-CPhhVzDv.mjs → Table-BRk04Hd2.mjs} +3 -3
  193. package/.output/server/chunks/build/Table-BRk04Hd2.mjs.map +1 -0
  194. package/.output/server/chunks/build/{Tabs-BV9XqjoO.mjs → Tabs-Bbsg9wag.mjs} +3 -3
  195. package/.output/server/chunks/build/Tabs-Bbsg9wag.mjs.map +1 -0
  196. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs +31 -0
  197. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs.map +1 -0
  198. package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs +8 -0
  199. package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs.map +1 -0
  200. package/.output/server/chunks/build/{TestCaseHistoryChart-DMb-xSJa.mjs → TestCaseHistoryChart-nMLPhdvD.mjs} +6 -6
  201. package/.output/server/chunks/build/TestCaseHistoryChart-nMLPhdvD.mjs.map +1 -0
  202. package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs +200 -0
  203. package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs.map +1 -0
  204. package/.output/server/chunks/build/{TestStatusBar-CEzt76wk.mjs → TestStatusBar-j6h2Jp6A.mjs} +15 -15
  205. package/.output/server/chunks/build/TestStatusBar-j6h2Jp6A.mjs.map +1 -0
  206. package/.output/server/chunks/build/{Textarea-DrrqQUVG.mjs → Textarea-Dv2-lOvW.mjs} +2 -2
  207. package/.output/server/chunks/build/Textarea-Dv2-lOvW.mjs.map +1 -0
  208. package/.output/server/chunks/build/{Tooltip-7vwuDPrZ.mjs → Tooltip-BOazooWP.mjs} +3 -3
  209. package/.output/server/chunks/build/Tooltip-BOazooWP.mjs.map +1 -0
  210. package/.output/server/chunks/build/{VisuallyHiddenInput-C9eJVpPW.mjs → VisuallyHiddenInput-D6kBJxVd.mjs} +2 -2
  211. package/.output/server/chunks/build/VisuallyHiddenInput-D6kBJxVd.mjs.map +1 -0
  212. package/.output/server/chunks/build/{_id_-B2yirIuA.mjs → _id_-B78ky13D.mjs} +798 -358
  213. package/.output/server/chunks/build/_id_-B78ky13D.mjs.map +1 -0
  214. package/.output/server/chunks/build/{_id_-bWcP2xFl.mjs → _id_-BHh65pfg.mjs} +690 -443
  215. package/.output/server/chunks/build/_id_-BHh65pfg.mjs.map +1 -0
  216. package/.output/server/chunks/build/{_id_-B4V5fop6.mjs → _id_-Rzkqx55x.mjs} +297 -60
  217. package/.output/server/chunks/build/{_id_-B4V5fop6.mjs.map → _id_-Rzkqx55x.mjs.map} +1 -1
  218. package/.output/server/chunks/build/{_id_-CE0Gso6i.mjs → _id_-z5N6HPyC.mjs} +89 -40
  219. package/.output/server/chunks/build/_id_-z5N6HPyC.mjs.map +1 -0
  220. package/.output/server/chunks/build/{about-CoJjvUwM.mjs → about-CvSP73Ug.mjs} +100 -52
  221. package/.output/server/chunks/build/about-CvSP73Ug.mjs.map +1 -0
  222. package/.output/server/chunks/build/{account-Cn-eZqXM.mjs → account-DAfvaD-F.mjs} +21 -9
  223. package/.output/server/chunks/build/account-DAfvaD-F.mjs.map +1 -0
  224. package/.output/server/chunks/build/{ai-7jdaPOmj.mjs → ai-B4VJ9K1K.mjs} +45 -23
  225. package/.output/server/chunks/build/{ai-7jdaPOmj.mjs.map → ai-B4VJ9K1K.mjs.map} +1 -1
  226. package/.output/server/chunks/build/{analytics-B276WPeU.mjs → analytics-CJPC6t4L.mjs} +65 -39
  227. package/.output/server/chunks/build/{analytics-B276WPeU.mjs.map → analytics-CJPC6t4L.mjs.map} +1 -1
  228. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  229. package/.output/server/chunks/build/compare-RxHSOdsO.mjs +12 -0
  230. package/.output/server/chunks/build/{db.client-aHcD0wyX.mjs → db.client-CQoVTYB9.mjs} +83 -5
  231. package/.output/server/chunks/build/db.client-CQoVTYB9.mjs.map +1 -0
  232. package/.output/server/chunks/build/{default-BSzdkM_L.mjs → default-zvbFgDJG.mjs} +36 -24
  233. package/.output/server/chunks/build/default-zvbFgDJG.mjs.map +1 -0
  234. package/.output/server/chunks/build/{docs-BN_x1OW3.mjs → docs-DyuVEgtB.mjs} +30 -49
  235. package/.output/server/chunks/build/{docs-BN_x1OW3.mjs.map → docs-DyuVEgtB.mjs.map} +1 -1
  236. package/.output/server/chunks/build/{edit-C9Z7oZeu.mjs → edit-CFR5g2Qf.mjs} +30 -18
  237. package/.output/server/chunks/build/edit-CFR5g2Qf.mjs.map +1 -0
  238. package/.output/server/chunks/build/{fetch-8kznMtBM.mjs → fetch-B4FwBOzu.mjs} +3 -3
  239. package/.output/server/chunks/build/fetch-B4FwBOzu.mjs.map +1 -0
  240. package/.output/server/chunks/build/{forgot-password-BqPF4Rxs.mjs → forgot-password-CC__1OnV.mjs} +17 -5
  241. package/.output/server/chunks/build/forgot-password-CC__1OnV.mjs.map +1 -0
  242. package/.output/server/chunks/build/{help-content-DmFnuhNu.mjs → help-content-C876a9WD.mjs} +37 -8
  243. package/.output/server/chunks/build/help-content-C876a9WD.mjs.map +1 -0
  244. package/.output/server/chunks/build/import-CZo3djDi.mjs +1021 -0
  245. package/.output/server/chunks/build/import-CZo3djDi.mjs.map +1 -0
  246. package/.output/server/chunks/build/{index-CULN3-en.mjs → index-CU2nZhAa.mjs} +113 -42
  247. package/.output/server/chunks/build/index-CU2nZhAa.mjs.map +1 -0
  248. package/.output/server/chunks/build/{index-DVUtBexc.mjs → index-D7fe97l3.mjs} +1305 -281
  249. package/.output/server/chunks/build/index-D7fe97l3.mjs.map +1 -0
  250. package/.output/server/chunks/build/{index-BR9hw6qk.mjs → index-Stqw0dEI.mjs} +50 -30
  251. package/.output/server/chunks/build/index-Stqw0dEI.mjs.map +1 -0
  252. package/.output/server/chunks/build/{index-BK9PTRpd.mjs → index-gCw_y4ZJ.mjs} +87 -70
  253. package/.output/server/chunks/build/{index-BK9PTRpd.mjs.map → index-gCw_y4ZJ.mjs.map} +1 -1
  254. package/.output/server/chunks/build/{index-Ba-Fifra.mjs → index-tR6owKzj.mjs} +18 -6
  255. package/.output/server/chunks/build/index-tR6owKzj.mjs.map +1 -0
  256. package/.output/server/chunks/build/{isValueEqualOrExist-DBZjbD_3.mjs → isValueEqualOrExist-D2qw9YEr.mjs} +3 -3
  257. package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs.map +1 -0
  258. package/.output/server/chunks/build/{login-D2XZDuek.mjs → login-Da4u1IlW.mjs} +19 -7
  259. package/.output/server/chunks/build/login-Da4u1IlW.mjs.map +1 -0
  260. package/.output/server/chunks/build/{mcp-_o6cMS6m.mjs → mcp-B3IUvRgD.mjs} +27 -21
  261. package/.output/server/chunks/build/mcp-B3IUvRgD.mjs.map +1 -0
  262. package/.output/server/chunks/build/{notifications-Dzm9c0u_.mjs → notifications-abDv0id8.mjs} +27 -21
  263. package/.output/server/chunks/build/notifications-abDv0id8.mjs.map +1 -0
  264. package/.output/server/chunks/build/pr-feedback-DjZID6q-.mjs +368 -0
  265. package/.output/server/chunks/build/pr-feedback-DjZID6q-.mjs.map +1 -0
  266. package/.output/server/chunks/build/{reset-password-gpFzIEDj.mjs → reset-password-BmrUS4ZD.mjs} +17 -5
  267. package/.output/server/chunks/build/reset-password-BmrUS4ZD.mjs.map +1 -0
  268. package/.output/server/chunks/build/server.mjs +238 -36
  269. package/.output/server/chunks/build/{settings-pNyPBXVa.mjs → settings-Du7YqF8i.mjs} +23 -10
  270. package/.output/server/chunks/build/settings-Du7YqF8i.mjs.map +1 -0
  271. package/.output/server/chunks/build/{settings-metadata-B0wo5R-W.mjs → settings-metadata-DrEqWcW-.mjs} +11 -2
  272. package/.output/server/chunks/build/settings-metadata-DrEqWcW-.mjs.map +1 -0
  273. package/.output/server/chunks/build/{storage-XelzuyPy.mjs → storage-B4vzxd8G.mjs} +41 -31
  274. package/.output/server/chunks/build/storage-B4vzxd8G.mjs.map +1 -0
  275. package/.output/server/chunks/build/styles.mjs +1 -0
  276. package/.output/server/chunks/build/{tags-DrCQ7QSw.mjs → tags-DauTe_F-.mjs} +22 -10
  277. package/.output/server/chunks/build/tags-DauTe_F-.mjs.map +1 -0
  278. package/.output/server/chunks/build/{test-cases-pmOxi-AN.mjs → test-cases-DUvaO1He.mjs} +38 -24
  279. package/.output/server/chunks/build/test-cases-DUvaO1He.mjs.map +1 -0
  280. package/.output/server/chunks/build/{timeout-hygiene-CNs71Iah.mjs → timeout-hygiene-CbnSaVbK.mjs} +20 -8
  281. package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs.map +1 -0
  282. package/.output/server/chunks/build/{useAiStatus-ZO987RY7.mjs → useAiStatus-CWvIo32Q.mjs} +89 -89
  283. package/.output/server/chunks/build/useAiStatus-CWvIo32Q.mjs.map +1 -0
  284. package/.output/server/chunks/build/{useCopy-BQQKcwlq.mjs → useCopy-CeKWgHyT.mjs} +2 -2
  285. package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs.map +1 -0
  286. package/.output/server/chunks/build/{PageStateCard-Bwee6JTk.mjs → useCopyRich-BemRsKgv.mjs} +418 -39
  287. package/.output/server/chunks/build/useCopyRich-BemRsKgv.mjs.map +1 -0
  288. package/.output/server/chunks/build/useDesktopDownload-D49JRQSw.mjs +46 -0
  289. package/.output/server/chunks/build/useDesktopDownload-D49JRQSw.mjs.map +1 -0
  290. package/.output/server/chunks/build/{useFormControl-BLpq1s4O.mjs → useFormControl-CZ9So7iX.mjs} +2 -2
  291. package/.output/server/chunks/build/useFormControl-CZ9So7iX.mjs.map +1 -0
  292. package/.output/server/chunks/build/{useOpenInIde-kMZ7Jw5c.mjs → useOpenInIde-4GFf-kdi.mjs} +2 -2
  293. package/.output/server/chunks/build/useOpenInIde-4GFf-kdi.mjs.map +1 -0
  294. package/.output/server/chunks/build/{useSettingsNav-NjI2seBy.mjs → useSettingsNav-C3O866KC.mjs} +6 -6
  295. package/.output/server/chunks/build/useSettingsNav-C3O866KC.mjs.map +1 -0
  296. package/.output/server/chunks/build/{useTreeViewCookie-DVYpxW-p.mjs → useTreeViewCookie-CQjQdTkH.mjs} +2 -2
  297. package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs.map +1 -0
  298. package/.output/server/chunks/build/{users-NmAUZs3i.mjs → users-CTUqXyGh.mjs} +22 -10
  299. package/.output/server/chunks/build/users-CTUqXyGh.mjs.map +1 -0
  300. package/.output/server/chunks/build/{virtualizer-ZaqK4guJ.mjs → virtualizer-Cd1hhlxC.mjs} +5 -5
  301. package/.output/server/chunks/build/virtualizer-Cd1hhlxC.mjs.map +1 -0
  302. package/.output/server/chunks/build/{wasted-time-CguAF9zc.mjs → wasted-time-lYkx5YO4.mjs} +26 -14
  303. package/.output/server/chunks/build/wasted-time-lYkx5YO4.mjs.map +1 -0
  304. package/.output/server/chunks/nitro/nitro.mjs +4914 -1102
  305. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  306. package/.output/server/chunks/routes/__piwi/session.get.mjs +13 -1
  307. package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
  308. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +12 -0
  309. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/admin/stats.get.mjs +12 -0
  311. package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
  312. package/.output/server/chunks/routes/api/ai/status.get.mjs +12 -0
  313. package/.output/server/chunks/routes/api/ai/status.get.mjs.map +1 -1
  314. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +12 -0
  315. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
  316. package/.output/server/chunks/routes/api/auth/change-password.post.mjs +12 -0
  317. package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
  318. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +12 -0
  319. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
  320. package/.output/server/chunks/routes/api/auth/login.post.mjs +12 -0
  321. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
  322. package/.output/server/chunks/routes/api/auth/logout.post.mjs +12 -0
  323. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
  324. package/.output/server/chunks/routes/api/auth/me.get.mjs +12 -0
  325. package/.output/server/chunks/routes/api/auth/me.get.mjs.map +1 -1
  326. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +12 -0
  327. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs.map +1 -1
  328. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +12 -0
  329. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
  330. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +12 -0
  331. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
  332. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +12 -0
  333. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
  334. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +12 -0
  335. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
  336. package/.output/server/chunks/routes/api/auth/setup.get.mjs +12 -0
  337. package/.output/server/chunks/routes/api/auth/setup.get.mjs.map +1 -1
  338. package/.output/server/chunks/routes/api/auth/setup.post.mjs +12 -0
  339. package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
  340. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +12 -0
  341. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
  342. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +12 -0
  343. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
  344. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +12 -0
  345. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
  346. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +12 -0
  347. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
  348. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +12 -0
  349. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
  350. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +12 -0
  351. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -1
  352. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +12 -0
  353. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
  354. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +12 -0
  355. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
  356. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +12 -0
  357. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
  358. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +12 -0
  359. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
  360. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +24 -1
  361. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
  362. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +13 -1
  363. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
  364. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +13 -1
  365. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
  366. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +13 -1
  367. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +13 -1
  369. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +64 -0
  371. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -0
  372. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +13 -1
  373. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
  374. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +56 -0
  375. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -0
  376. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +13 -1
  377. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
  378. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +12 -0
  379. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
  380. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +13 -1
  381. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
  382. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +13 -32
  383. package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
  384. package/.output/server/chunks/routes/api/health.get.mjs +13 -1
  385. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  386. package/.output/server/chunks/routes/api/index.get.mjs +12 -0
  387. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  388. package/.output/server/chunks/routes/api/index.get2.mjs +13 -1
  389. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
  390. package/.output/server/chunks/routes/api/index.get3.mjs +13 -1
  391. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  392. package/.output/server/chunks/routes/api/index.get4.mjs +13 -1
  393. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
  394. package/.output/server/chunks/routes/api/index.get5.mjs +12 -0
  395. package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
  396. package/.output/server/chunks/routes/api/index.post.mjs +12 -0
  397. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  398. package/.output/server/chunks/routes/api/index.post2.mjs +13 -1
  399. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  400. package/.output/server/chunks/routes/api/index.post3.mjs +13 -1
  401. package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
  402. package/.output/server/chunks/routes/api/index.post4.mjs +13 -1
  403. package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/index.post5.mjs +13 -1
  405. package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/index.post6.mjs +12 -0
  407. package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
  408. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +13 -1
  409. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
  410. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +13 -1
  411. package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
  412. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +13 -1
  413. package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
  414. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +13 -1
  415. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
  416. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +13 -1
  417. package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +1 -1
  418. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +13 -1
  419. package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
  420. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +13 -1
  421. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
  422. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +13 -1
  423. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
  424. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +13 -1
  425. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
  426. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +22 -2
  427. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
  428. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +13 -1
  429. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs.map +1 -1
  430. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +13 -1
  431. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
  432. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +13 -1
  433. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
  434. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +13 -1
  435. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
  436. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +13 -1
  437. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
  438. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +13 -1
  439. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
  440. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +58 -0
  441. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -0
  442. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +57 -0
  443. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -0
  444. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +72 -0
  445. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -0
  446. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +13 -1
  447. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
  448. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +13 -1
  449. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
  450. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +13 -1
  451. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
  452. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +13 -1
  453. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
  454. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +13 -1
  455. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
  456. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +13 -1
  457. package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
  458. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +13 -1
  459. package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +1 -1
  460. package/.output/server/chunks/routes/api/projects/menu.get.mjs +13 -1
  461. package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
  462. package/.output/server/chunks/routes/api/projects/overview.get.mjs +13 -1
  463. package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
  464. package/.output/server/chunks/routes/api/projects.get.mjs +13 -1
  465. package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
  466. package/.output/server/chunks/routes/api/search.get.mjs +13 -1
  467. package/.output/server/chunks/routes/api/search.get.mjs.map +1 -1
  468. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +13 -1
  469. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs.map +1 -1
  470. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +13 -1
  471. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs.map +1 -1
  472. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +12 -0
  473. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs.map +1 -1
  474. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +13 -1
  475. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
  476. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +13 -1
  477. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
  478. package/.output/server/chunks/routes/api/settings/ai.get.mjs +13 -1
  479. package/.output/server/chunks/routes/api/settings/ai.get.mjs.map +1 -1
  480. package/.output/server/chunks/routes/api/settings/ai.put.mjs +13 -1
  481. package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
  482. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +57 -0
  483. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs.map +1 -0
  484. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +63 -0
  485. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs.map +1 -0
  486. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +12 -0
  487. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
  488. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +13 -1
  489. package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
  490. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +13 -1
  491. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -1
  492. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +13 -1
  493. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +13 -1
  495. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +13 -1
  497. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
  498. package/.output/server/chunks/routes/api/stream.get.mjs +13 -1
  499. package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
  500. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +13 -1
  501. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
  502. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +13 -1
  503. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
  504. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +13 -1
  505. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
  506. package/.output/server/chunks/routes/api/tags/_id_.put.mjs +13 -1
  507. package/.output/server/chunks/routes/api/tags/_id_.put.mjs.map +1 -1
  508. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +13 -1
  509. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs.map +1 -1
  510. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +13 -1
  511. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs.map +1 -1
  512. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +13 -1
  513. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
  514. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +13 -1
  515. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
  516. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +25 -3
  517. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
  518. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +13 -1
  519. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs.map +1 -1
  520. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +60 -0
  521. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -0
  522. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +13 -1
  523. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
  524. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +13 -1
  525. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
  526. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +13 -1
  527. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
  528. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +13 -1
  529. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
  530. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +13 -1
  531. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
  532. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +13 -1
  533. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +1 -1
  534. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +13 -1
  535. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +1 -1
  536. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +13 -1
  537. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +1 -1
  538. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +13 -1
  539. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +1 -1
  540. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +13 -1
  541. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +1 -1
  542. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +13 -1
  543. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +1 -1
  544. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +13 -1
  545. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +1 -1
  546. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +13 -1
  547. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
  548. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +13 -1
  549. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
  550. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +15 -1
  551. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
  552. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +196 -0
  553. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -0
  554. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +13 -1
  555. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
  556. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +13 -1
  557. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
  558. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +13 -1
  559. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
  560. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +13 -1
  561. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
  562. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +13 -1
  563. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
  564. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +13 -1
  565. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
  566. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +13 -1
  567. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
  568. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +13 -1
  569. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
  570. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +13 -1
  571. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
  572. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +78 -0
  573. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -0
  574. package/.output/server/chunks/routes/api/test-runs/import.post.mjs +201 -0
  575. package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -0
  576. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +13 -1
  577. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
  578. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +13 -1
  579. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
  580. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +13 -1
  581. package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
  582. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +32 -15
  583. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
  584. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +21 -6
  585. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
  586. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +154 -3
  587. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
  588. package/.output/server/chunks/routes/api/traces/check.post.mjs +13 -1
  589. package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
  590. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +12 -0
  591. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
  592. package/.output/server/chunks/routes/api/users/_id/index.get.mjs +12 -0
  593. package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
  594. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +13 -1
  595. package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
  596. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +13 -1
  597. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
  598. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +13 -1
  599. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
  600. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +13 -1
  601. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
  602. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +12 -0
  603. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  604. package/.output/server/chunks/routes/api/users/_id_.patch.mjs +12 -0
  605. package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
  606. package/.output/server/chunks/routes/api/version.get.mjs +13 -1
  607. package/.output/server/chunks/routes/api/version.get.mjs.map +1 -1
  608. package/.output/server/chunks/routes/mcp.post.mjs +13 -1
  609. package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
  610. package/.output/server/chunks/routes/renderer.mjs +1 -1
  611. package/.output/server/chunks/tasks/sweep.mjs +12 -0
  612. package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
  613. package/.output/server/chunks/tasks/sweep2.mjs +12 -0
  614. package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
  615. package/.output/server/database/migrations/0039_remarkable_jean_grey.sql +2 -0
  616. package/.output/server/database/migrations/0040_organic_phalanx.sql +8 -0
  617. package/.output/server/database/migrations/0041_tense_gravity.sql +5 -0
  618. package/.output/server/database/migrations/0042_burly_hemingway.sql +19 -0
  619. package/.output/server/database/migrations/meta/0039_snapshot.json +3403 -0
  620. package/.output/server/database/migrations/meta/0040_snapshot.json +3457 -0
  621. package/.output/server/database/migrations/meta/0041_snapshot.json +3492 -0
  622. package/.output/server/database/migrations/meta/0042_snapshot.json +3618 -0
  623. package/.output/server/database/migrations/meta/_journal.json +28 -0
  624. package/.output/server/database/migrations-pg/0040_lazy_layla_miller.sql +2 -0
  625. package/.output/server/database/migrations-pg/0041_light_screwball.sql +8 -0
  626. package/.output/server/database/migrations-pg/0042_serious_layla_miller.sql +5 -0
  627. package/.output/server/database/migrations-pg/0043_wonderful_mordo.sql +19 -0
  628. package/.output/server/database/migrations-pg/meta/0040_snapshot.json +4060 -0
  629. package/.output/server/database/migrations-pg/meta/0041_snapshot.json +4123 -0
  630. package/.output/server/database/migrations-pg/meta/0042_snapshot.json +4153 -0
  631. package/.output/server/database/migrations-pg/meta/0043_snapshot.json +4308 -0
  632. package/.output/server/database/migrations-pg/meta/_journal.json +28 -0
  633. package/.output/server/index.mjs +13 -1
  634. package/.output/server/index.mjs.map +1 -1
  635. package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
  636. package/.output/server/node_modules/fflate/package.json +128 -0
  637. package/.output/server/node_modules/highlight.js/es/languages/yaml.js +213 -0
  638. package/.output/server/node_modules/marked/lib/marked.esm.js +72 -0
  639. package/.output/server/node_modules/marked/package.json +103 -0
  640. package/.output/server/package.json +3 -1
  641. package/package.json +2 -2
  642. package/.output/public/_nuxt/36cXPVrY.js +0 -26
  643. package/.output/public/_nuxt/87SGk1nu.js +0 -1
  644. package/.output/public/_nuxt/B6rt3IcG.js +0 -1
  645. package/.output/public/_nuxt/BAaSmp8J.js +0 -1
  646. package/.output/public/_nuxt/BBnX5xw4.js +0 -2
  647. package/.output/public/_nuxt/BCArQk0c.js +0 -1
  648. package/.output/public/_nuxt/BFjmLXYo.js +0 -8
  649. package/.output/public/_nuxt/BJltXwHg.js +0 -1
  650. package/.output/public/_nuxt/BUMZHDRC.js +0 -2
  651. package/.output/public/_nuxt/BdHdHyop.js +0 -34
  652. package/.output/public/_nuxt/BiX7c2qU.js +0 -1
  653. package/.output/public/_nuxt/C11lmBd4.js +0 -4
  654. package/.output/public/_nuxt/C4AfzZER.js +0 -47
  655. package/.output/public/_nuxt/C7ZVzS0K.js +0 -1
  656. package/.output/public/_nuxt/C8cz5feG.js +0 -1
  657. package/.output/public/_nuxt/C9EpbPNU.js +0 -1
  658. package/.output/public/_nuxt/C9ahP7km.js +0 -1
  659. package/.output/public/_nuxt/CBEM3L1q.js +0 -4
  660. package/.output/public/_nuxt/CCsl9MOZ.js +0 -1
  661. package/.output/public/_nuxt/CCw3Tx4S.js +0 -1
  662. package/.output/public/_nuxt/CGq9qR-0.js +0 -1
  663. package/.output/public/_nuxt/CLdGRzLL.js +0 -1
  664. package/.output/public/_nuxt/CTgM5Fke.js +0 -2
  665. package/.output/public/_nuxt/CU3W9YrI.js +0 -1
  666. package/.output/public/_nuxt/CYIR2GbL.js +0 -1
  667. package/.output/public/_nuxt/Ccit_CX1.js +0 -1
  668. package/.output/public/_nuxt/CiPH-swI.js +0 -1
  669. package/.output/public/_nuxt/ClVRQpP_.js +0 -1
  670. package/.output/public/_nuxt/CmbjAoQu.js +0 -1
  671. package/.output/public/_nuxt/Cx65B3c3.js +0 -1
  672. package/.output/public/_nuxt/D1ttGJfs.js +0 -5
  673. package/.output/public/_nuxt/D3SYPlEB.js +0 -114
  674. package/.output/public/_nuxt/DB3ljns7.js +0 -1
  675. package/.output/public/_nuxt/DC51KKt4.js +0 -1
  676. package/.output/public/_nuxt/DaewB_zT.js +0 -1
  677. package/.output/public/_nuxt/DcfRfTaA.js +0 -34
  678. package/.output/public/_nuxt/Dm1_3W9g.js +0 -1
  679. package/.output/public/_nuxt/DraETso1.js +0 -1
  680. package/.output/public/_nuxt/Dy4TloG3.js +0 -1
  681. package/.output/public/_nuxt/EltzgiyS.js +0 -1
  682. package/.output/public/_nuxt/HTQtMbWb.js +0 -1
  683. package/.output/public/_nuxt/KYucVFu7.js +0 -1
  684. package/.output/public/_nuxt/TBDx0s9p.js +0 -3
  685. package/.output/public/_nuxt/Tt5LX5Y-.js +0 -1
  686. package/.output/public/_nuxt/builds/meta/2f517ae9-c342-457e-b4c5-6301728179f5.json +0 -1
  687. package/.output/public/_nuxt/entry.ChQMshd4.css +0 -1
  688. package/.output/public/_nuxt/l0QnzFNM.js +0 -1
  689. package/.output/public/_nuxt/oFIS9u6t.js +0 -3
  690. package/.output/public/_nuxt/oWY3I9uX.js +0 -1
  691. package/.output/public/_nuxt/q0DPzLKN.js +0 -2
  692. package/.output/public/_nuxt/r3SBLxtE.js +0 -1
  693. package/.output/public/_nuxt/riEUDnED.js +0 -1
  694. package/.output/public/_nuxt/uaqMzXqE.js +0 -5
  695. package/.output/public/_nuxt/wgcgHmRR.js +0 -1
  696. package/.output/public/sw.js +0 -1
  697. package/.output/public/workbox-2fbc6a65.js +0 -1
  698. package/.output/server/chunks/build/Alert-Bp1Wz_sq.mjs.map +0 -1
  699. package/.output/server/chunks/build/Breadcrumb-C9ZPTLym.mjs.map +0 -1
  700. package/.output/server/chunks/build/BreadcrumbNav-C3y42Vun.mjs.map +0 -1
  701. package/.output/server/chunks/build/BrowserBadge-DNCp9pF-.mjs.map +0 -1
  702. package/.output/server/chunks/build/ChartCard-Fr557IbV.mjs.map +0 -1
  703. package/.output/server/chunks/build/Checkbox-cVOSIY93.mjs.map +0 -1
  704. package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs.map +0 -1
  705. package/.output/server/chunks/build/CodeBlock-BGwNmJ8J.mjs.map +0 -1
  706. package/.output/server/chunks/build/DashboardNavbar-Bdp-OwTN.mjs.map +0 -1
  707. package/.output/server/chunks/build/DashboardSidebarToggle-Ji6ADuqF.mjs.map +0 -1
  708. package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs.map +0 -1
  709. package/.output/server/chunks/build/DiagnosisPanel-DV1xwGu4.mjs.map +0 -1
  710. package/.output/server/chunks/build/EmptyState-DV3oT_xz.mjs.map +0 -1
  711. package/.output/server/chunks/build/EntityLinks-DeOP13Kr.mjs.map +0 -1
  712. package/.output/server/chunks/build/EnvManagedBadge-Qpn58Nmr.mjs.map +0 -1
  713. package/.output/server/chunks/build/FormField-B-GSn_VR.mjs.map +0 -1
  714. package/.output/server/chunks/build/HelpHint-YEMWtKu1.mjs.map +0 -1
  715. package/.output/server/chunks/build/Label-DBvbHd3A.mjs.map +0 -1
  716. package/.output/server/chunks/build/MiniRunBars-C3HG-EYm.mjs.map +0 -1
  717. package/.output/server/chunks/build/Modal-CfA78Hm1.mjs.map +0 -1
  718. package/.output/server/chunks/build/PageStateCard-Bwee6JTk.mjs.map +0 -1
  719. package/.output/server/chunks/build/ProjectTestCasesTable-9Ia825h8.mjs.map +0 -1
  720. package/.output/server/chunks/build/RovingFocusItem-CxhHdNGo.mjs.map +0 -1
  721. package/.output/server/chunks/build/RunReports-BpJqLHY9.mjs.map +0 -1
  722. package/.output/server/chunks/build/RunStatusBadge-BhmJ_RKM.mjs.map +0 -1
  723. package/.output/server/chunks/build/SectionCard-COd9TuDq.mjs.map +0 -1
  724. package/.output/server/chunks/build/Select-ppPz926C.mjs.map +0 -1
  725. package/.output/server/chunks/build/Separator-CxZdx8kw.mjs.map +0 -1
  726. package/.output/server/chunks/build/SettingsField-DDD4oqys.mjs.map +0 -1
  727. package/.output/server/chunks/build/Slideover-B95Rj237.mjs.map +0 -1
  728. package/.output/server/chunks/build/Switch-xQQ3_ME1.mjs.map +0 -1
  729. package/.output/server/chunks/build/Table-CPhhVzDv.mjs.map +0 -1
  730. package/.output/server/chunks/build/Tabs-BV9XqjoO.mjs.map +0 -1
  731. package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs +0 -47
  732. package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs.map +0 -1
  733. package/.output/server/chunks/build/TestCaseHistoryChart-DMb-xSJa.mjs.map +0 -1
  734. package/.output/server/chunks/build/TestStatusBar-CEzt76wk.mjs.map +0 -1
  735. package/.output/server/chunks/build/Textarea-DrrqQUVG.mjs.map +0 -1
  736. package/.output/server/chunks/build/Tooltip-7vwuDPrZ.mjs.map +0 -1
  737. package/.output/server/chunks/build/VisuallyHiddenInput-C9eJVpPW.mjs.map +0 -1
  738. package/.output/server/chunks/build/_id_-B2yirIuA.mjs.map +0 -1
  739. package/.output/server/chunks/build/_id_-CE0Gso6i.mjs.map +0 -1
  740. package/.output/server/chunks/build/_id_-bWcP2xFl.mjs.map +0 -1
  741. package/.output/server/chunks/build/about-CoJjvUwM.mjs.map +0 -1
  742. package/.output/server/chunks/build/account-Cn-eZqXM.mjs.map +0 -1
  743. package/.output/server/chunks/build/db.client-aHcD0wyX.mjs.map +0 -1
  744. package/.output/server/chunks/build/default-BSzdkM_L.mjs.map +0 -1
  745. package/.output/server/chunks/build/edit-C9Z7oZeu.mjs.map +0 -1
  746. package/.output/server/chunks/build/fetch-8kznMtBM.mjs.map +0 -1
  747. package/.output/server/chunks/build/forgot-password-BqPF4Rxs.mjs.map +0 -1
  748. package/.output/server/chunks/build/help-content-DmFnuhNu.mjs.map +0 -1
  749. package/.output/server/chunks/build/index-BR9hw6qk.mjs.map +0 -1
  750. package/.output/server/chunks/build/index-Ba-Fifra.mjs.map +0 -1
  751. package/.output/server/chunks/build/index-CULN3-en.mjs.map +0 -1
  752. package/.output/server/chunks/build/index-DVUtBexc.mjs.map +0 -1
  753. package/.output/server/chunks/build/isValueEqualOrExist-DBZjbD_3.mjs.map +0 -1
  754. package/.output/server/chunks/build/login-D2XZDuek.mjs.map +0 -1
  755. package/.output/server/chunks/build/mcp-_o6cMS6m.mjs.map +0 -1
  756. package/.output/server/chunks/build/notifications-Dzm9c0u_.mjs.map +0 -1
  757. package/.output/server/chunks/build/reset-password-gpFzIEDj.mjs.map +0 -1
  758. package/.output/server/chunks/build/settings-metadata-B0wo5R-W.mjs.map +0 -1
  759. package/.output/server/chunks/build/settings-pNyPBXVa.mjs.map +0 -1
  760. package/.output/server/chunks/build/storage-XelzuyPy.mjs.map +0 -1
  761. package/.output/server/chunks/build/tags-DrCQ7QSw.mjs.map +0 -1
  762. package/.output/server/chunks/build/test-cases-pmOxi-AN.mjs.map +0 -1
  763. package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs.map +0 -1
  764. package/.output/server/chunks/build/useAiStatus-ZO987RY7.mjs.map +0 -1
  765. package/.output/server/chunks/build/useCopy-BQQKcwlq.mjs.map +0 -1
  766. package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs.map +0 -1
  767. package/.output/server/chunks/build/useOpenInIde-kMZ7Jw5c.mjs.map +0 -1
  768. package/.output/server/chunks/build/useSettingsNav-NjI2seBy.mjs.map +0 -1
  769. package/.output/server/chunks/build/useTreeViewCookie-DVYpxW-p.mjs.map +0 -1
  770. package/.output/server/chunks/build/users-NmAUZs3i.mjs.map +0 -1
  771. package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs.map +0 -1
  772. package/.output/server/chunks/build/wasted-time-CguAF9zc.mjs.map +0 -1
  773. /package/.output/public/_nuxt/{PageStateCard.BrM5HWjY.css → useCopyRich.BrM5HWjY.css} +0 -0
@@ -1,36 +1,38 @@
1
- import { _ as _sfc_main$1$1, a as _sfc_main$g } from './DashboardNavbar-Bdp-OwTN.mjs';
2
- import { _ as _sfc_main$1$2 } from './Breadcrumb-C9ZPTLym.mjs';
3
- import { _ as __nuxt_component_3$1 } from './BreadcrumbNav-C3y42Vun.mjs';
4
- import { u as useRoute, k as useRouter, l as useHead, r as useRuntimeConfig, m as _sfc_main$k, p as __nuxt_component_12$1, n as _sfc_main$7$1, o as _sfc_main$p, w as __nuxt_component_7, j as useToast } from './server.mjs';
1
+ import { _ as _sfc_main$1$1, a as _sfc_main$f } from './DashboardNavbar-BHmMSPX7.mjs';
2
+ import { _ as _sfc_main$1$2 } from './Breadcrumb-Ak2Lg3oM.mjs';
3
+ import { _ as __nuxt_component_3$2 } from './BreadcrumbNav-DO7I_z-n.mjs';
4
+ import { u as useRoute, k as useRouter, l as useHead, r as useRuntimeConfig, m as _sfc_main$k, s as __nuxt_component_12, n as _sfc_main$7$1, o as _sfc_main$p, y as __nuxt_component_7, j as useToast } from './server.mjs';
5
+ import { u as useCopyRich, n as __nuxt_component_23, a as __nuxt_component_18, b as __nuxt_component_19, c as __nuxt_component_20, _ as __nuxt_component_24, d as __nuxt_component_26, e as __nuxt_component_6$1, p as __nuxt_component_1$2, i as isImageFile, f as isVideoFile, q as __nuxt_component_3$2$1, r as __nuxt_component_4$2, l as __nuxt_component_3$4, m as __nuxt_component_4$3, g as __nuxt_component_1$1$1, h as __nuxt_component_2$2, j as __nuxt_component_3$1$1, k as __nuxt_component_4$1$1 } from './useCopyRich-BemRsKgv.mjs';
5
6
  import { _ as __nuxt_component_4$1 } from './NavbarActions-_YjrSUat.mjs';
6
- import { _ as __nuxt_component_8$1, a as __nuxt_component_1$4, b as __nuxt_component_13$1, c as __nuxt_component_12$2, d as __nuxt_component_14$1 } from './CiEnvCard-DXPOhdSG.mjs';
7
- import { u as useCopyRich, c as clusterSectionLocatorKey, b as __nuxt_component_24, e as useAiStatus, f as __nuxt_component_3$3, h as __nuxt_component_5, g as __nuxt_component_7$1, a as useDetailGrid, _ as __nuxt_component_0 } from './useAiStatus-ZO987RY7.mjs';
8
- import { _ as __nuxt_component_2$4 } from './BrowserBadge-DNCp9pF-.mjs';
9
- import { _ as _sfc_main$j } from './Card-BQP_oZkQ.mjs';
10
- import { a as __nuxt_component_9, _ as __nuxt_component_2$2 } from './HelpHint-YEMWtKu1.mjs';
11
- import { _ as __nuxt_component_16$1 } from './EntityLinks-DeOP13Kr.mjs';
12
- import { a as formatDuration, j as getStatusColor, c as renderAnsi, l as fileApiUrl, y as httpMethodColor, z as httpStatusColor, f as formatRelativeTime, g as clusterErrorTypeColor, q as formatBytes, e as errorMessage, A as splitDuration } from './index-CULN3-en.mjs';
7
+ import { _ as __nuxt_component_8, a as __nuxt_component_1$5, b as __nuxt_component_14$2, c as __nuxt_component_13$1, d as __nuxt_component_15$1 } from './CiEnvCard-CrjOM17n.mjs';
8
+ import { c as clusterSectionLocatorKey, a as __nuxt_component_25, d as useAiStatus, f as __nuxt_component_3$3, h as __nuxt_component_6, g as __nuxt_component_8$1, e as __nuxt_component_1$4, u as useDetailGrid, _ as __nuxt_component_0 } from './useAiStatus-CWvIo32Q.mjs';
9
+ import { _ as __nuxt_component_14$1 } from './DurationValue-D20oGbnc.mjs';
10
+ import { _ as __nuxt_component_3$5 } from './BrowserBadge-D33lqUcj.mjs';
11
+ import { _ as _sfc_main$i } from './Card-BQP_oZkQ.mjs';
12
+ import { _ as __nuxt_component_2$3 } from './TestMetaBadges-D5_yUtIP.mjs';
13
+ import { a as __nuxt_component_9$2, _ as __nuxt_component_2$1 } from './HelpHint-DrcIv-Oj.mjs';
14
+ import { _ as __nuxt_component_17$1 } from './EntityLinks-D3fp57pR.mjs';
15
+ import { v as getStatusColor, g as renderAnsi, n as fileApiUrl, A as httpMethodColor, B as httpStatusColor, f as formatRelativeTime, i as clusterErrorTypeColor, C as isPiwiAnnotation, e as errorMessage, d as formatDuration } from './index-CU2nZhAa.mjs';
13
16
  import { defineComponent, withAsyncContext, ref, watch, computed, provide, mergeProps, withCtx, unref, isRef, createTextVNode, openBlock, createBlock, toDisplayString, createCommentVNode, createVNode, Fragment, renderList, createSlots, toValue, useSSRContext } from 'vue';
14
17
  import { ssrRenderComponent, ssrRenderAttr, ssrInterpolate, ssrRenderList, ssrRenderClass, ssrRenderStyle, ssrIncludeBooleanAttr, ssrRenderAttrs } from 'vue/server-renderer';
15
- import { _ as __nuxt_component_11 } from './SectionCard-COd9TuDq.mjs';
16
- import { _ as _sfc_main$f } from './Tooltip-7vwuDPrZ.mjs';
17
- import { _ as _sfc_main$i } from './Textarea-DrrqQUVG.mjs';
18
- import { dc as condenseErrorText, dd as hasSlowMark, d8 as extractCitedSectionIds } from '../nitro/nitro.mjs';
19
- import { u as useCopy } from './useCopy-BQQKcwlq.mjs';
20
- import { m as __nuxt_component_22, a as __nuxt_component_17, b as __nuxt_component_18, c as __nuxt_component_19, _ as __nuxt_component_23, d as __nuxt_component_25, o as __nuxt_component_1$2, i as isImageFile, e as isVideoFile, p as __nuxt_component_3$2, q as __nuxt_component_4$2, k as __nuxt_component_3$4, l as __nuxt_component_4$3, f as __nuxt_component_1$1$1, g as __nuxt_component_2$3, h as __nuxt_component_3$1$1, j as __nuxt_component_4$1$1 } from './PageStateCard-Bwee6JTk.mjs';
21
- import { _ as _sfc_main$h } from './Tabs-BV9XqjoO.mjs';
18
+ import { _ as __nuxt_component_11 } from './SectionCard-CN-v0FZ_.mjs';
19
+ import { _ as _sfc_main$e } from './Tooltip-BOazooWP.mjs';
20
+ import { _ as _sfc_main$h } from './Textarea-Dv2-lOvW.mjs';
21
+ import { dN as condenseErrorText, dO as hasSlowMark, dK as extractCitedSectionIds, cB as formatBytes } from '../nitro/nitro.mjs';
22
+ import { _ as _sfc_main$g } from './Tabs-Bbsg9wag.mjs';
22
23
  import { _ as __nuxt_component_1$3 } from './LoadingState-C3pBSuOO.mjs';
23
- import { _ as __nuxt_component_8$2 } from './EmptyState-DV3oT_xz.mjs';
24
- import { _ as _sfc_main$l } from './Slideover-B95Rj237.mjs';
25
- import { _ as __nuxt_component_5$1 } from './CodeBlock-BGwNmJ8J.mjs';
26
- import { _ as __nuxt_component_3 } from './TableScroller-DMcdCVrH.mjs';
27
- import { _ as _sfc_main$e } from './Table-CPhhVzDv.mjs';
28
- import { _ as __nuxt_component_1$1 } from './OpenInIdeLink-B92wosXu.mjs';
29
- import { _ as __nuxt_component_1, a as __nuxt_component_2$1 } from './StatTile-D61Vzo6e.mjs';
30
- import { _ as __nuxt_component_36 } from './TestCaseHistoryChart-DMb-xSJa.mjs';
31
- import { b as buildRetryCommand } from './useOpenInIde-kMZ7Jw5c.mjs';
32
- import { u as useFetch } from './fetch-8kznMtBM.mjs';
33
- import './DashboardSidebarToggle-Ji6ADuqF.mjs';
24
+ import { _ as __nuxt_component_9$1 } from './EmptyState-Dtlab7S9.mjs';
25
+ import { _ as _sfc_main$j } from './Slideover-DgCa80mf.mjs';
26
+ import { _ as __nuxt_component_5 } from './CodeBlock-BgE-NSmE.mjs';
27
+ import { _ as __nuxt_component_3$1 } from './TableScroller-DMcdCVrH.mjs';
28
+ import { _ as _sfc_main$d } from './Table-BRk04Hd2.mjs';
29
+ import { _ as __nuxt_component_1$1 } from './OpenInIdeLink-C4MXA8ya.mjs';
30
+ import { _ as __nuxt_component_1, a as __nuxt_component_2 } from './StatTile-D61Vzo6e.mjs';
31
+ import { _ as __nuxt_component_38 } from './TestCaseHistoryChart-nMLPhdvD.mjs';
32
+ import { b as buildRetryCommand } from './useOpenInIde-4GFf-kdi.mjs';
33
+ import { u as useFetch } from './fetch-B4FwBOzu.mjs';
34
+ import { u as useCopy } from './useCopy-CeKWgHyT.mjs';
35
+ import './DashboardSidebarToggle-DCTnHiIv.mjs';
34
36
  import 'vue-router';
35
37
  import '@iconify/vue';
36
38
  import 'tailwindcss/colors';
@@ -51,6 +53,18 @@ import 'path';
51
53
  import 'fs/promises';
52
54
  import 'zlib';
53
55
  import 'util';
56
+ import 'marked';
57
+ import 'highlight.js/lib/core';
58
+ import 'highlight.js/lib/languages/bash';
59
+ import 'highlight.js/lib/languages/css';
60
+ import 'highlight.js/lib/languages/diff';
61
+ import 'highlight.js/lib/languages/javascript';
62
+ import 'highlight.js/lib/languages/json';
63
+ import 'highlight.js/lib/languages/python';
64
+ import 'highlight.js/lib/languages/typescript';
65
+ import 'highlight.js/lib/languages/xml';
66
+ import 'highlight.js/lib/languages/yaml';
67
+ import 'fflate';
54
68
  import 'pixelmatch';
55
69
  import 'sharp';
56
70
  import '@anthropic-ai/sdk';
@@ -74,26 +88,20 @@ import 'node:zlib';
74
88
  import 'consola';
75
89
  import 'node:url';
76
90
  import '@iconify/utils';
77
- import './Select-ppPz926C.mjs';
78
- import './useFormControl-BLpq1s4O.mjs';
91
+ import './Separator-CR4WcEKD.mjs';
92
+ import './useDesktopDownload-D49JRQSw.mjs';
93
+ import './useIsDesktop-BS13spVj.mjs';
94
+ import './useTauri-lRT8zkLv.mjs';
95
+ import './Alert-C4xq8lao.mjs';
96
+ import './Modal-Ck2XLt8d.mjs';
97
+ import './Select-CUqj50wi.mjs';
98
+ import './useFormControl-CZ9So7iX.mjs';
79
99
  import './handleAndDispatchCustomEvent-Bk_AVSSo.mjs';
80
- import './Modal-CfA78Hm1.mjs';
81
- import './Alert-Bp1Wz_sq.mjs';
82
- import 'highlight.js/lib/core';
83
- import 'highlight.js/lib/languages/javascript';
84
- import 'highlight.js/lib/languages/typescript';
85
- import 'highlight.js/lib/languages/python';
86
- import 'highlight.js/lib/languages/bash';
87
- import 'highlight.js/lib/languages/json';
88
- import 'highlight.js/lib/languages/css';
89
- import 'highlight.js/lib/languages/xml';
90
- import 'highlight.js/lib/languages/diff';
91
- import './help-content-DmFnuhNu.mjs';
100
+ import './help-content-C876a9WD.mjs';
92
101
  import 'date-fns';
93
- import './RovingFocusItem-CxhHdNGo.mjs';
102
+ import './RovingFocusItem-BJSzTBjy.mjs';
94
103
  import '@tanstack/vue-table';
95
104
  import '@tanstack/vue-virtual';
96
- import './Separator-CxZdx8kw.mjs';
97
105
  import './ChartMarkerTooltip-0DcMfD_6.mjs';
98
106
  import './MarkerBadge-D7meXy4u.mjs';
99
107
  import '../_/marker-categories.mjs';
@@ -102,7 +110,7 @@ import '@unovis/vue';
102
110
  import '@unovis/ts';
103
111
  import '@vue/shared';
104
112
 
105
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
113
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
106
114
  __name: "TestCaseSummary",
107
115
  __ssrInlineRender: true,
108
116
  props: {
@@ -133,7 +141,9 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
133
141
  out.push({ label: "Passed on retry", color: "warning", title: "This test failed then passed on a retry" });
134
142
  return out;
135
143
  });
136
- const annotations = computed(() => props.testCase?.testAnnotations ?? []);
144
+ const annotations = computed(
145
+ () => (props.testCase?.testAnnotations ?? []).filter((ann) => !isPiwiAnnotation(ann.type))
146
+ );
137
147
  const startedAtMs = computed(() => props.testCase?.startedAt ?? null);
138
148
  const { summaryColSpanClass, blockColSpanClass } = useDetailGrid(() => {
139
149
  let count = 0;
@@ -144,17 +154,19 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
144
154
  });
145
155
  return (_ctx, _push, _parent, _attrs) => {
146
156
  const _component_FoldableSummary = __nuxt_component_0;
147
- const _component_StatusBlock = __nuxt_component_1$4;
148
- const _component_BrowserBadge = __nuxt_component_2$4;
149
- const _component_UCard = _sfc_main$j;
157
+ const _component_StatusBlock = __nuxt_component_1$5;
158
+ const _component_DurationValue = __nuxt_component_14$1;
159
+ const _component_BrowserBadge = __nuxt_component_3$5;
160
+ const _component_UCard = _sfc_main$i;
150
161
  const _component_UBadge = _sfc_main$7$1;
162
+ const _component_TestMetaBadges = __nuxt_component_2$3;
151
163
  const _component_ClientOnly = __nuxt_component_7;
152
164
  const _component_UIcon = _sfc_main$p;
153
- const _component_HelpHint = __nuxt_component_2$2;
154
- const _component_SourceInfoCard = __nuxt_component_13$1;
155
- const _component_CiEnvCard = __nuxt_component_12$2;
156
- const _component_BlockCard = __nuxt_component_14$1;
157
- const _component_EntityLinks = __nuxt_component_16$1;
165
+ const _component_HelpHint = __nuxt_component_2$1;
166
+ const _component_SourceInfoCard = __nuxt_component_14$2;
167
+ const _component_CiEnvCard = __nuxt_component_13$1;
168
+ const _component_BlockCard = __nuxt_component_15$1;
169
+ const _component_EntityLinks = __nuxt_component_17$1;
158
170
  _push(ssrRenderComponent(_component_FoldableSummary, mergeProps({ "storage-key": "test-case" }, _attrs), {
159
171
  folded: withCtx((_, _push2, _parent2, _scopeId) => {
160
172
  if (_push2) {
@@ -162,7 +174,12 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
162
174
  status: __props.testCase?.status ?? "",
163
175
  size: "sm"
164
176
  }, null, _parent2, _scopeId));
165
- _push2(`<span class="text-sm font-semibold truncate min-w-0"${_scopeId}>${ssrInterpolate(__props.testCase?.title)}</span><div class="flex items-center gap-3 ml-auto max-sm:hidden"${_scopeId}><span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}> Dur: <strong class="text-gray-700 dark:text-gray-300"${_scopeId}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase?.duration))}</strong></span><span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}> Retries: <strong class="text-gray-700 dark:text-gray-300"${_scopeId}>${ssrInterpolate(__props.testCase?.retries ?? 0)}</strong></span><span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}> Steps: <strong class="text-gray-700 dark:text-gray-300"${_scopeId}>${ssrInterpolate(__props.stepsCount)}</strong></span><span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}> Worker: <strong class="text-gray-700 dark:text-gray-300"${_scopeId}>${ssrInterpolate(__props.testCase?.workerIndex ?? "—")}</strong></span>`);
177
+ _push2(`<span class="text-sm font-semibold truncate min-w-0"${_scopeId}>${ssrInterpolate(__props.testCase?.title)}</span><div class="flex items-center gap-3 ml-auto max-sm:hidden"${_scopeId}><span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}> Dur: `);
178
+ _push2(ssrRenderComponent(_component_DurationValue, {
179
+ ms: __props.testCase?.duration,
180
+ class: "font-bold text-gray-700 dark:text-gray-300"
181
+ }, null, _parent2, _scopeId));
182
+ _push2(`</span><span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}> Retries: <strong class="text-gray-700 dark:text-gray-300"${_scopeId}>${ssrInterpolate(__props.testCase?.retries ?? 0)}</strong></span><span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}> Steps: <strong class="text-gray-700 dark:text-gray-300"${_scopeId}>${ssrInterpolate(__props.stepsCount)}</strong></span><span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}> Worker: <strong class="text-gray-700 dark:text-gray-300"${_scopeId}>${ssrInterpolate(__props.testCase?.workerIndex ?? "—")}</strong></span>`);
166
183
  if (__props.testCase?.shardIndex != null) {
167
184
  _push2(`<span class="text-xs text-gray-500 tabular-nums whitespace-nowrap"${_scopeId}> Shard: <strong class="text-gray-700 dark:text-gray-300"${_scopeId}>${ssrInterpolate(__props.testCase.shardIndex)}</strong></span>`);
168
185
  } else {
@@ -188,7 +205,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
188
205
  createVNode("div", { class: "flex items-center gap-3 ml-auto max-sm:hidden" }, [
189
206
  createVNode("span", { class: "text-xs text-gray-500 tabular-nums whitespace-nowrap" }, [
190
207
  createTextVNode(" Dur: "),
191
- createVNode("strong", { class: "text-gray-700 dark:text-gray-300" }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase?.duration)), 1)
208
+ createVNode(_component_DurationValue, {
209
+ ms: __props.testCase?.duration,
210
+ class: "font-bold text-gray-700 dark:text-gray-300"
211
+ }, null, 8, ["ms"])
192
212
  ]),
193
213
  createVNode("span", { class: "text-xs text-gray-500 tabular-nums whitespace-nowrap" }, [
194
214
  createTextVNode(" Retries: "),
@@ -273,7 +293,12 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
273
293
  _: 2
274
294
  }, _parent3, _scopeId2));
275
295
  });
276
- _push3(`<!--]--></div><p class="text-xs text-gray-500 mt-0.5"${_scopeId2}>`);
296
+ _push3(`<!--]-->`);
297
+ _push3(ssrRenderComponent(_component_TestMetaBadges, {
298
+ tags: __props.testCase?.tags,
299
+ meta: __props.testCase?.testMeta
300
+ }, null, _parent3, _scopeId2));
301
+ _push3(`</div><p class="text-xs text-gray-500 mt-0.5"${_scopeId2}>`);
277
302
  if (__props.testCase?.location) {
278
303
  _push3(`<span${_scopeId2}>${ssrInterpolate(__props.testCase.location)}</span>`);
279
304
  } else {
@@ -281,11 +306,19 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
281
306
  }
282
307
  _push3(ssrRenderComponent(_component_ClientOnly, null, {}, _parent3, _scopeId2));
283
308
  if (__props.historicalTiming) {
284
- _push3(`<span class="ml-2"${_scopeId2}> Avg ${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.historicalTiming.avg))} · <span class="${ssrRenderClass(__props.historicalTiming.diff > 0 ? "text-red-600" : "text-green-600")}"${_scopeId2}>${ssrInterpolate(__props.historicalTiming.diff > 0 ? "+" : "")}${ssrInterpolate(__props.historicalTiming.pct)}% </span></span>`);
309
+ _push3(`<span class="ml-2"${_scopeId2}> Avg `);
310
+ _push3(ssrRenderComponent(_component_DurationValue, {
311
+ ms: __props.historicalTiming.avg
312
+ }, null, _parent3, _scopeId2));
313
+ _push3(` · <span class="${ssrRenderClass(__props.historicalTiming.diff > 0 ? "text-red-600" : "text-green-600")}"${_scopeId2}>${ssrInterpolate(__props.historicalTiming.diff > 0 ? "+" : "")}${ssrInterpolate(__props.historicalTiming.pct)}% </span></span>`);
285
314
  } else {
286
315
  _push3(`<!---->`);
287
316
  }
288
- _push3(`</p></div></div><div class="grid grid-cols-2 sm:grid-cols-4 gap-2"${_scopeId2}><div class="rounded-lg bg-gray-50 dark:bg-gray-900 p-3"${_scopeId2}><p class="text-xs font-medium text-gray-500 uppercase tracking-wider"${_scopeId2}>Duration</p><p class="text-xl font-bold mt-0.5"${_scopeId2}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase?.duration))}</p></div><div class="rounded-lg bg-gray-50 dark:bg-gray-900 p-3"${_scopeId2}><p class="text-xs font-medium text-gray-500 uppercase tracking-wider"${_scopeId2}>Retries</p><p class="text-xl font-bold mt-0.5"${_scopeId2}>${ssrInterpolate(__props.testCase?.retries ?? 0)}</p></div><div class="rounded-lg bg-gray-50 dark:bg-gray-900 p-3"${_scopeId2}><p class="text-xs font-medium text-gray-500 uppercase tracking-wider"${_scopeId2}>Steps</p><p class="text-xl font-bold mt-0.5"${_scopeId2}>${ssrInterpolate(__props.stepsCount)}</p></div><div class="rounded-lg bg-gray-50 dark:bg-gray-900 p-3"${_scopeId2}><p class="text-xs font-medium text-gray-500 uppercase tracking-wider"${_scopeId2}>Worker</p><p class="text-xl font-bold mt-0.5"${_scopeId2}>${ssrInterpolate(__props.testCase?.workerIndex ?? "—")}</p></div></div>`);
317
+ _push3(`</p></div></div><div class="grid grid-cols-2 sm:grid-cols-4 gap-2"${_scopeId2}><div class="rounded-lg bg-gray-50 dark:bg-gray-900 p-3"${_scopeId2}><p class="text-xs font-medium text-gray-500 uppercase tracking-wider"${_scopeId2}>Duration</p><p class="text-xl font-bold mt-0.5"${_scopeId2}>`);
318
+ _push3(ssrRenderComponent(_component_DurationValue, {
319
+ ms: __props.testCase?.duration
320
+ }, null, _parent3, _scopeId2));
321
+ _push3(`</p></div><div class="rounded-lg bg-gray-50 dark:bg-gray-900 p-3"${_scopeId2}><p class="text-xs font-medium text-gray-500 uppercase tracking-wider"${_scopeId2}>Retries</p><p class="text-xl font-bold mt-0.5"${_scopeId2}>${ssrInterpolate(__props.testCase?.retries ?? 0)}</p></div><div class="rounded-lg bg-gray-50 dark:bg-gray-900 p-3"${_scopeId2}><p class="text-xs font-medium text-gray-500 uppercase tracking-wider"${_scopeId2}>Steps</p><p class="text-xl font-bold mt-0.5"${_scopeId2}>${ssrInterpolate(__props.stepsCount)}</p></div><div class="rounded-lg bg-gray-50 dark:bg-gray-900 p-3"${_scopeId2}><p class="text-xs font-medium text-gray-500 uppercase tracking-wider"${_scopeId2}>Worker</p><p class="text-xl font-bold mt-0.5"${_scopeId2}>${ssrInterpolate(__props.testCase?.workerIndex ?? "—")}</p></div></div>`);
289
322
  if (__props.testCase?.slowestStep) {
290
323
  _push3(`<div class="flex items-center gap-2 text-sm"${_scopeId2}>`);
291
324
  _push3(ssrRenderComponent(_component_UIcon, {
@@ -294,7 +327,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
294
327
  }, null, _parent3, _scopeId2));
295
328
  _push3(`<span class="font-medium text-amber-700 dark:text-amber-300"${_scopeId2}>Slowest step:</span><span class="text-gray-700 dark:text-gray-300 truncate"${_scopeId2}>${ssrInterpolate(__props.testCase.slowestStep)}</span>`);
296
329
  if (__props.testCase.slowestStepDuration) {
297
- _push3(`<span class="text-gray-500 shrink-0"${_scopeId2}>(${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase.slowestStepDuration))})</span>`);
330
+ _push3(`<span class="text-gray-500 shrink-0"${_scopeId2}>(`);
331
+ _push3(ssrRenderComponent(_component_DurationValue, {
332
+ ms: __props.testCase.slowestStepDuration
333
+ }, null, _parent3, _scopeId2));
334
+ _push3(`)</span>`);
298
335
  } else {
299
336
  _push3(`<!---->`);
300
337
  }
@@ -308,7 +345,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
308
345
  name: "i-lucide-hourglass",
309
346
  class: "size-4 text-amber-500 shrink-0"
310
347
  }, null, _parent3, _scopeId2));
311
- _push3(`<span class="font-medium text-amber-700 dark:text-amber-300"${_scopeId2}>Wasted in fixed waits:</span><span class="text-gray-700 dark:text-gray-300"${_scopeId2}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase?.wastedTimeMs))}</span>`);
348
+ _push3(`<span class="font-medium text-amber-700 dark:text-amber-300"${_scopeId2}>Wasted in fixed waits:</span>`);
349
+ _push3(ssrRenderComponent(_component_DurationValue, {
350
+ ms: __props.testCase?.wastedTimeMs,
351
+ class: "text-gray-700 dark:text-gray-300"
352
+ }, null, _parent3, _scopeId2));
312
353
  _push3(ssrRenderComponent(_component_HelpHint, { topic: "case.wasted-time" }, null, _parent3, _scopeId2));
313
354
  _push3(`</div>`);
314
355
  } else {
@@ -354,7 +395,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
354
395
  ]),
355
396
  _: 2
356
397
  }, 1032, ["title"]);
357
- }), 128))
398
+ }), 128)),
399
+ createVNode(_component_TestMetaBadges, {
400
+ tags: __props.testCase?.tags,
401
+ meta: __props.testCase?.testMeta
402
+ }, null, 8, ["tags", "meta"])
358
403
  ]),
359
404
  createVNode("p", { class: "text-xs text-gray-500 mt-0.5" }, [
360
405
  __props.testCase?.location ? (openBlock(), createBlock("span", { key: 0 }, toDisplayString(__props.testCase.location), 1)) : createCommentVNode("", true),
@@ -372,7 +417,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
372
417
  key: 1,
373
418
  class: "ml-2"
374
419
  }, [
375
- createTextVNode(" Avg " + toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.historicalTiming.avg)) + " · ", 1),
420
+ createTextVNode(" Avg "),
421
+ createVNode(_component_DurationValue, {
422
+ ms: __props.historicalTiming.avg
423
+ }, null, 8, ["ms"]),
424
+ createTextVNode(" · "),
376
425
  createVNode("span", {
377
426
  class: __props.historicalTiming.diff > 0 ? "text-red-600" : "text-green-600"
378
427
  }, toDisplayString(__props.historicalTiming.diff > 0 ? "+" : "") + toDisplayString(__props.historicalTiming.pct) + "% ", 3)
@@ -383,7 +432,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
383
432
  createVNode("div", { class: "grid grid-cols-2 sm:grid-cols-4 gap-2" }, [
384
433
  createVNode("div", { class: "rounded-lg bg-gray-50 dark:bg-gray-900 p-3" }, [
385
434
  createVNode("p", { class: "text-xs font-medium text-gray-500 uppercase tracking-wider" }, "Duration"),
386
- createVNode("p", { class: "text-xl font-bold mt-0.5" }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase?.duration)), 1)
435
+ createVNode("p", { class: "text-xl font-bold mt-0.5" }, [
436
+ createVNode(_component_DurationValue, {
437
+ ms: __props.testCase?.duration
438
+ }, null, 8, ["ms"])
439
+ ])
387
440
  ]),
388
441
  createVNode("div", { class: "rounded-lg bg-gray-50 dark:bg-gray-900 p-3" }, [
389
442
  createVNode("p", { class: "text-xs font-medium text-gray-500 uppercase tracking-wider" }, "Retries"),
@@ -411,7 +464,13 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
411
464
  __props.testCase.slowestStepDuration ? (openBlock(), createBlock("span", {
412
465
  key: 0,
413
466
  class: "text-gray-500 shrink-0"
414
- }, "(" + toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase.slowestStepDuration)) + ")", 1)) : createCommentVNode("", true)
467
+ }, [
468
+ createTextVNode("("),
469
+ createVNode(_component_DurationValue, {
470
+ ms: __props.testCase.slowestStepDuration
471
+ }, null, 8, ["ms"]),
472
+ createTextVNode(")")
473
+ ])) : createCommentVNode("", true)
415
474
  ])) : createCommentVNode("", true),
416
475
  (__props.testCase?.wastedTimeMs ?? 0) > 0 ? (openBlock(), createBlock("div", {
417
476
  key: 1,
@@ -422,7 +481,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
422
481
  class: "size-4 text-amber-500 shrink-0"
423
482
  }),
424
483
  createVNode("span", { class: "font-medium text-amber-700 dark:text-amber-300" }, "Wasted in fixed waits:"),
425
- createVNode("span", { class: "text-gray-700 dark:text-gray-300" }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase?.wastedTimeMs)), 1),
484
+ createVNode(_component_DurationValue, {
485
+ ms: __props.testCase?.wastedTimeMs,
486
+ class: "text-gray-700 dark:text-gray-300"
487
+ }, null, 8, ["ms"]),
426
488
  createVNode(_component_HelpHint, { topic: "case.wasted-time" })
427
489
  ])) : createCommentVNode("", true)
428
490
  ])
@@ -523,7 +585,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
523
585
  ]),
524
586
  _: 2
525
587
  }, 1032, ["title"]);
526
- }), 128))
588
+ }), 128)),
589
+ createVNode(_component_TestMetaBadges, {
590
+ tags: __props.testCase?.tags,
591
+ meta: __props.testCase?.testMeta
592
+ }, null, 8, ["tags", "meta"])
527
593
  ]),
528
594
  createVNode("p", { class: "text-xs text-gray-500 mt-0.5" }, [
529
595
  __props.testCase?.location ? (openBlock(), createBlock("span", { key: 0 }, toDisplayString(__props.testCase.location), 1)) : createCommentVNode("", true),
@@ -541,7 +607,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
541
607
  key: 1,
542
608
  class: "ml-2"
543
609
  }, [
544
- createTextVNode(" Avg " + toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.historicalTiming.avg)) + " · ", 1),
610
+ createTextVNode(" Avg "),
611
+ createVNode(_component_DurationValue, {
612
+ ms: __props.historicalTiming.avg
613
+ }, null, 8, ["ms"]),
614
+ createTextVNode(" · "),
545
615
  createVNode("span", {
546
616
  class: __props.historicalTiming.diff > 0 ? "text-red-600" : "text-green-600"
547
617
  }, toDisplayString(__props.historicalTiming.diff > 0 ? "+" : "") + toDisplayString(__props.historicalTiming.pct) + "% ", 3)
@@ -552,7 +622,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
552
622
  createVNode("div", { class: "grid grid-cols-2 sm:grid-cols-4 gap-2" }, [
553
623
  createVNode("div", { class: "rounded-lg bg-gray-50 dark:bg-gray-900 p-3" }, [
554
624
  createVNode("p", { class: "text-xs font-medium text-gray-500 uppercase tracking-wider" }, "Duration"),
555
- createVNode("p", { class: "text-xl font-bold mt-0.5" }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase?.duration)), 1)
625
+ createVNode("p", { class: "text-xl font-bold mt-0.5" }, [
626
+ createVNode(_component_DurationValue, {
627
+ ms: __props.testCase?.duration
628
+ }, null, 8, ["ms"])
629
+ ])
556
630
  ]),
557
631
  createVNode("div", { class: "rounded-lg bg-gray-50 dark:bg-gray-900 p-3" }, [
558
632
  createVNode("p", { class: "text-xs font-medium text-gray-500 uppercase tracking-wider" }, "Retries"),
@@ -580,7 +654,13 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
580
654
  __props.testCase.slowestStepDuration ? (openBlock(), createBlock("span", {
581
655
  key: 0,
582
656
  class: "text-gray-500 shrink-0"
583
- }, "(" + toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase.slowestStepDuration)) + ")", 1)) : createCommentVNode("", true)
657
+ }, [
658
+ createTextVNode("("),
659
+ createVNode(_component_DurationValue, {
660
+ ms: __props.testCase.slowestStepDuration
661
+ }, null, 8, ["ms"]),
662
+ createTextVNode(")")
663
+ ])) : createCommentVNode("", true)
584
664
  ])) : createCommentVNode("", true),
585
665
  (__props.testCase?.wastedTimeMs ?? 0) > 0 ? (openBlock(), createBlock("div", {
586
666
  key: 1,
@@ -591,7 +671,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
591
671
  class: "size-4 text-amber-500 shrink-0"
592
672
  }),
593
673
  createVNode("span", { class: "font-medium text-amber-700 dark:text-amber-300" }, "Wasted in fixed waits:"),
594
- createVNode("span", { class: "text-gray-700 dark:text-gray-300" }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase?.wastedTimeMs)), 1),
674
+ createVNode(_component_DurationValue, {
675
+ ms: __props.testCase?.wastedTimeMs,
676
+ class: "text-gray-700 dark:text-gray-300"
677
+ }, null, 8, ["ms"]),
595
678
  createVNode(_component_HelpHint, { topic: "case.wasted-time" })
596
679
  ])) : createCommentVNode("", true)
597
680
  ])
@@ -635,14 +718,14 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
635
718
  };
636
719
  }
637
720
  });
638
- const _sfc_setup$d = _sfc_main$d.setup;
639
- _sfc_main$d.setup = (props, ctx) => {
721
+ const _sfc_setup$c = _sfc_main$c.setup;
722
+ _sfc_main$c.setup = (props, ctx) => {
640
723
  const ssrContext = useSSRContext();
641
724
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseSummary.vue");
642
- return _sfc_setup$d ? _sfc_setup$d(props, ctx) : void 0;
725
+ return _sfc_setup$c ? _sfc_setup$c(props, ctx) : void 0;
643
726
  };
644
- const __nuxt_component_8 = Object.assign(_sfc_main$d, { __name: "TestCaseSummary" });
645
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
727
+ const __nuxt_component_9 = Object.assign(_sfc_main$c, { __name: "TestCaseSummary" });
728
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
646
729
  __name: "TestCaseVerdictCard",
647
730
  __ssrInlineRender: true,
648
731
  props: {
@@ -720,8 +803,8 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
720
803
  const _component_UBadge = _sfc_main$7$1;
721
804
  const _component_UIcon = _sfc_main$p;
722
805
  const _component_ClientOnly = __nuxt_component_7;
723
- const _component_NuxtLink = __nuxt_component_12$1;
724
- const _component_UTooltip = _sfc_main$f;
806
+ const _component_NuxtLink = __nuxt_component_12;
807
+ const _component_UTooltip = _sfc_main$e;
725
808
  _push(ssrRenderComponent(_component_SectionCard, mergeProps({
726
809
  icon: "i-lucide-clipboard-check",
727
810
  "icon-class": "text-amber-500",
@@ -857,14 +940,14 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
857
940
  };
858
941
  }
859
942
  });
860
- const _sfc_setup$c = _sfc_main$c.setup;
861
- _sfc_main$c.setup = (props, ctx) => {
943
+ const _sfc_setup$b = _sfc_main$b.setup;
944
+ _sfc_main$b.setup = (props, ctx) => {
862
945
  const ssrContext = useSSRContext();
863
946
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseVerdictCard.vue");
864
- return _sfc_setup$c ? _sfc_setup$c(props, ctx) : void 0;
947
+ return _sfc_setup$b ? _sfc_setup$b(props, ctx) : void 0;
865
948
  };
866
- const __nuxt_component_12 = Object.assign(_sfc_main$c, { __name: "TestCaseVerdictCard" });
867
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
949
+ const __nuxt_component_13 = Object.assign(_sfc_main$b, { __name: "TestCaseVerdictCard" });
950
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
868
951
  __name: "FailureClusterCard",
869
952
  __ssrInlineRender: true,
870
953
  props: {
@@ -881,7 +964,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
881
964
  return (_ctx, _push, _parent, _attrs) => {
882
965
  const _component_SectionCard = __nuxt_component_11;
883
966
  const _component_UBadge = _sfc_main$7$1;
884
- const _component_NuxtLink = __nuxt_component_12$1;
967
+ const _component_NuxtLink = __nuxt_component_12;
885
968
  const _component_UIcon = _sfc_main$p;
886
969
  const _component_UButton = _sfc_main$k;
887
970
  _push(ssrRenderComponent(_component_SectionCard, mergeProps({
@@ -1201,14 +1284,14 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
1201
1284
  };
1202
1285
  }
1203
1286
  });
1204
- const _sfc_setup$b = _sfc_main$b.setup;
1205
- _sfc_main$b.setup = (props, ctx) => {
1287
+ const _sfc_setup$a = _sfc_main$a.setup;
1288
+ _sfc_main$a.setup = (props, ctx) => {
1206
1289
  const ssrContext = useSSRContext();
1207
1290
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/FailureClusterCard.vue");
1208
- return _sfc_setup$b ? _sfc_setup$b(props, ctx) : void 0;
1291
+ return _sfc_setup$a ? _sfc_setup$a(props, ctx) : void 0;
1209
1292
  };
1210
- const __nuxt_component_13 = Object.assign(_sfc_main$b, { __name: "FailureClusterCard" });
1211
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
1293
+ const __nuxt_component_14 = Object.assign(_sfc_main$a, { __name: "FailureClusterCard" });
1294
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1212
1295
  __name: "TestCaseAiCard",
1213
1296
  __ssrInlineRender: true,
1214
1297
  props: {
@@ -1218,7 +1301,6 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1218
1301
  const props = __props;
1219
1302
  const { aiStatus } = useAiStatus();
1220
1303
  const toast = useToast();
1221
- const { copy: copyContext, copied: contextCopied } = useCopy();
1222
1304
  const diagnosis = ref(null);
1223
1305
  const posting = ref(false);
1224
1306
  const contextText = ref(null);
@@ -1280,9 +1362,6 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1280
1362
  ${text}` : text;
1281
1363
  showAdditionalContext.value = true;
1282
1364
  }
1283
- function copyAiContext() {
1284
- if (contextText.value) copyContext(contextText.value, { toast: "AI context copied" });
1285
- }
1286
1365
  async function diagnose(force = false) {
1287
1366
  posting.value = true;
1288
1367
  try {
@@ -1317,14 +1396,15 @@ ${text}` : text;
1317
1396
  );
1318
1397
  return (_ctx, _push, _parent, _attrs) => {
1319
1398
  const _component_SectionCard = __nuxt_component_11;
1320
- const _component_UButton = _sfc_main$k;
1399
+ const _component_CopyAiPromptButton = __nuxt_component_1$4;
1321
1400
  const _component_UIcon = _sfc_main$p;
1322
1401
  const _component_DiagnosisCoverageStrip = __nuxt_component_3$3;
1323
- const _component_UTextarea = _sfc_main$i;
1324
- const _component_DiagnosisResult = __nuxt_component_5;
1325
- const _component_HelpHint = __nuxt_component_2$2;
1326
- const _component_DiagnosisContextModal = __nuxt_component_7$1;
1327
- const _component_NuxtLink = __nuxt_component_12$1;
1402
+ const _component_UTextarea = _sfc_main$h;
1403
+ const _component_UButton = _sfc_main$k;
1404
+ const _component_DiagnosisResult = __nuxt_component_6;
1405
+ const _component_HelpHint = __nuxt_component_2$1;
1406
+ const _component_DiagnosisContextModal = __nuxt_component_8$1;
1407
+ const _component_NuxtLink = __nuxt_component_12;
1328
1408
  _push(ssrRenderComponent(_component_SectionCard, mergeProps({
1329
1409
  icon: "i-lucide-sparkles",
1330
1410
  "icon-class": "text-primary",
@@ -1333,44 +1413,14 @@ ${text}` : text;
1333
1413
  }, _attrs), {
1334
1414
  actions: withCtx((_, _push2, _parent2, _scopeId) => {
1335
1415
  if (_push2) {
1336
- _push2(ssrRenderComponent(_component_UButton, {
1337
- size: "xs",
1338
- color: "neutral",
1339
- variant: "outline",
1340
- icon: unref(contextCopied) ? "i-lucide-check" : "i-lucide-clipboard",
1341
- loading: unref(contextLoading),
1342
- disabled: !unref(contextText),
1343
- title: "Copy the full evidence context to paste into your own AI assistant",
1344
- onClick: copyAiContext
1345
- }, {
1346
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
1347
- if (_push3) {
1348
- _push3(`${ssrInterpolate(unref(contextCopied) ? "Copied" : "Copy AI context")}`);
1349
- } else {
1350
- return [
1351
- createTextVNode(toDisplayString(unref(contextCopied) ? "Copied" : "Copy AI context"), 1)
1352
- ];
1353
- }
1354
- }),
1355
- _: 1
1356
- }, _parent2, _scopeId));
1416
+ _push2(ssrRenderComponent(_component_CopyAiPromptButton, {
1417
+ "context-endpoint": `/api/test-run-cases/${__props.testRunsCaseId}/diagnosis-context`
1418
+ }, null, _parent2, _scopeId));
1357
1419
  } else {
1358
1420
  return [
1359
- createVNode(_component_UButton, {
1360
- size: "xs",
1361
- color: "neutral",
1362
- variant: "outline",
1363
- icon: unref(contextCopied) ? "i-lucide-check" : "i-lucide-clipboard",
1364
- loading: unref(contextLoading),
1365
- disabled: !unref(contextText),
1366
- title: "Copy the full evidence context to paste into your own AI assistant",
1367
- onClick: copyAiContext
1368
- }, {
1369
- default: withCtx(() => [
1370
- createTextVNode(toDisplayString(unref(contextCopied) ? "Copied" : "Copy AI context"), 1)
1371
- ]),
1372
- _: 1
1373
- }, 8, ["icon", "loading", "disabled"])
1421
+ createVNode(_component_CopyAiPromptButton, {
1422
+ "context-endpoint": `/api/test-run-cases/${__props.testRunsCaseId}/diagnosis-context`
1423
+ }, null, 8, ["context-endpoint"])
1374
1424
  ];
1375
1425
  }
1376
1426
  }),
@@ -1506,7 +1556,7 @@ ${text}` : text;
1506
1556
  } else {
1507
1557
  _push2(`<div class="rounded-lg border border-dashed border-default p-4 text-center text-gray-400"${_scopeId}><p class="text-sm inline-flex items-center gap-1 justify-center"${_scopeId}> AI diagnosis is not configured `);
1508
1558
  _push2(ssrRenderComponent(_component_HelpHint, { topic: "cluster.ai-setup" }, null, _parent2, _scopeId));
1509
- _push2(`</p><p class="text-xs mt-2 max-w-xs mx-auto"${_scopeId}> Use <strong${_scopeId}>Copy AI context</strong> above to grab the full evidence bundle for your own AI tool, or configure a provider. </p>`);
1559
+ _push2(`</p><p class="text-xs mt-2 max-w-xs mx-auto"${_scopeId}> Use <strong${_scopeId}>Export AI context</strong> in the header to grab the full evidence bundle for your own AI tool, or configure a provider. </p>`);
1510
1560
  _push2(ssrRenderComponent(_component_UButton, {
1511
1561
  to: "/settings/ai",
1512
1562
  size: "xs",
@@ -1683,8 +1733,8 @@ ${text}` : text;
1683
1733
  ]),
1684
1734
  createVNode("p", { class: "text-xs mt-2 max-w-xs mx-auto" }, [
1685
1735
  createTextVNode(" Use "),
1686
- createVNode("strong", null, "Copy AI context"),
1687
- createTextVNode(" above to grab the full evidence bundle for your own AI tool, or configure a provider. ")
1736
+ createVNode("strong", null, "Export AI context"),
1737
+ createTextVNode(" in the header to grab the full evidence bundle for your own AI tool, or configure a provider. ")
1688
1738
  ]),
1689
1739
  createVNode(_component_UButton, {
1690
1740
  to: "/settings/ai",
@@ -1738,13 +1788,13 @@ ${text}` : text;
1738
1788
  };
1739
1789
  }
1740
1790
  });
1741
- const _sfc_setup$a = _sfc_main$a.setup;
1742
- _sfc_main$a.setup = (props, ctx) => {
1791
+ const _sfc_setup$9 = _sfc_main$9.setup;
1792
+ _sfc_main$9.setup = (props, ctx) => {
1743
1793
  const ssrContext = useSSRContext();
1744
1794
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseAiCard.vue");
1745
- return _sfc_setup$a ? _sfc_setup$a(props, ctx) : void 0;
1795
+ return _sfc_setup$9 ? _sfc_setup$9(props, ctx) : void 0;
1746
1796
  };
1747
- const __nuxt_component_14 = Object.assign(_sfc_main$a, { __name: "TestCaseAiCard" });
1797
+ const __nuxt_component_15 = Object.assign(_sfc_main$9, { __name: "TestCaseAiCard" });
1748
1798
  function useTraceEndpoint(path, enabled, auto) {
1749
1799
  const data = ref(null);
1750
1800
  const pending = ref(false);
@@ -1776,7 +1826,7 @@ function useTraceNetwork(runId, testRunsCaseId, enabled, options = {}) {
1776
1826
  options.auto ?? false
1777
1827
  );
1778
1828
  }
1779
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1829
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1780
1830
  __name: "TestSourceCard",
1781
1831
  __ssrInlineRender: true,
1782
1832
  props: {
@@ -1818,14 +1868,14 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1818
1868
  const card = ref(null);
1819
1869
  __expose({ reveal: () => card.value?.reveal() });
1820
1870
  return (_ctx, _push, _parent, _attrs) => {
1821
- const _component_CollapsibleSectionCard = __nuxt_component_23;
1822
- const _component_UTabs = _sfc_main$h;
1871
+ const _component_CollapsibleSectionCard = __nuxt_component_24;
1872
+ const _component_UTabs = _sfc_main$g;
1823
1873
  const _component_UIcon = _sfc_main$p;
1824
1874
  const _component_TraceCallStack = __nuxt_component_3$4;
1825
1875
  const _component_TestSourceStack = __nuxt_component_4$3;
1826
- const _component_MarkdownPreview = __nuxt_component_24;
1876
+ const _component_MarkdownPreview = __nuxt_component_25;
1827
1877
  const _component_LoadingState = __nuxt_component_1$3;
1828
- const _component_DocLink = __nuxt_component_9;
1878
+ const _component_DocLink = __nuxt_component_9$2;
1829
1879
  _push(ssrRenderComponent(_component_CollapsibleSectionCard, mergeProps({
1830
1880
  ref_key: "card",
1831
1881
  ref: card,
@@ -2018,14 +2068,14 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2018
2068
  };
2019
2069
  }
2020
2070
  });
2021
- const _sfc_setup$9 = _sfc_main$9.setup;
2022
- _sfc_main$9.setup = (props, ctx) => {
2071
+ const _sfc_setup$8 = _sfc_main$8.setup;
2072
+ _sfc_main$8.setup = (props, ctx) => {
2023
2073
  const ssrContext = useSSRContext();
2024
2074
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestSourceCard.vue");
2025
- return _sfc_setup$9 ? _sfc_setup$9(props, ctx) : void 0;
2075
+ return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0;
2026
2076
  };
2027
- const __nuxt_component_15 = Object.assign(_sfc_main$9, { __name: "TestSourceCard" });
2028
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2077
+ const __nuxt_component_16 = Object.assign(_sfc_main$8, { __name: "TestSourceCard" });
2078
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2029
2079
  __name: "TestCaseEvidenceCard",
2030
2080
  __ssrInlineRender: true,
2031
2081
  props: {
@@ -2063,14 +2113,14 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2063
2113
  const card = ref(null);
2064
2114
  __expose({ reveal: () => card.value?.reveal?.() });
2065
2115
  return (_ctx, _push, _parent, _attrs) => {
2066
- const _component_CollapsibleSectionCard = __nuxt_component_23;
2116
+ const _component_CollapsibleSectionCard = __nuxt_component_24;
2067
2117
  const _component_TestEvidenceScreenshots = __nuxt_component_1$1$1;
2068
- const _component_TestEvidenceVideos = __nuxt_component_2$3;
2118
+ const _component_TestEvidenceVideos = __nuxt_component_2$2;
2069
2119
  const _component_TestEvidenceTraces = __nuxt_component_3$1$1;
2070
2120
  const _component_TestEvidenceSection = __nuxt_component_4$1$1;
2071
2121
  const _component_UIcon = _sfc_main$p;
2072
2122
  const _component_UButton = _sfc_main$k;
2073
- const _component_EmptyState = __nuxt_component_8$2;
2123
+ const _component_EmptyState = __nuxt_component_9$1;
2074
2124
  _push(ssrRenderComponent(_component_CollapsibleSectionCard, mergeProps({
2075
2125
  ref_key: "card",
2076
2126
  ref: card,
@@ -2238,14 +2288,14 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2238
2288
  };
2239
2289
  }
2240
2290
  });
2241
- const _sfc_setup$8 = _sfc_main$8.setup;
2242
- _sfc_main$8.setup = (props, ctx) => {
2291
+ const _sfc_setup$7 = _sfc_main$7.setup;
2292
+ _sfc_main$7.setup = (props, ctx) => {
2243
2293
  const ssrContext = useSSRContext();
2244
2294
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseEvidenceCard.vue");
2245
- return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0;
2295
+ return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0;
2246
2296
  };
2247
- const __nuxt_component_16 = Object.assign(_sfc_main$8, { __name: "TestCaseEvidenceCard" });
2248
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2297
+ const __nuxt_component_17 = Object.assign(_sfc_main$7, { __name: "TestCaseEvidenceCard" });
2298
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2249
2299
  __name: "TestCaseConsoleCard",
2250
2300
  __ssrInlineRender: true,
2251
2301
  props: {
@@ -2376,14 +2426,14 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2376
2426
  };
2377
2427
  }
2378
2428
  });
2379
- const _sfc_setup$7 = _sfc_main$7.setup;
2380
- _sfc_main$7.setup = (props, ctx) => {
2429
+ const _sfc_setup$6 = _sfc_main$6.setup;
2430
+ _sfc_main$6.setup = (props, ctx) => {
2381
2431
  const ssrContext = useSSRContext();
2382
2432
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseConsoleCard.vue");
2383
- return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0;
2433
+ return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
2384
2434
  };
2385
- const __nuxt_component_20 = Object.assign(_sfc_main$7, { __name: "TestCaseConsoleCard" });
2386
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2435
+ const __nuxt_component_21 = Object.assign(_sfc_main$6, { __name: "TestCaseConsoleCard" });
2436
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2387
2437
  __name: "TraceNetworkDrawer",
2388
2438
  __ssrInlineRender: true,
2389
2439
  props: {
@@ -2446,9 +2496,10 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2446
2496
  { immediate: true }
2447
2497
  );
2448
2498
  return (_ctx, _push, _parent, _attrs) => {
2449
- const _component_USlideover = _sfc_main$l;
2499
+ const _component_USlideover = _sfc_main$j;
2450
2500
  const _component_UBadge = _sfc_main$7$1;
2451
- const _component_CodeBlock = __nuxt_component_5$1;
2501
+ const _component_DurationValue = __nuxt_component_14$1;
2502
+ const _component_CodeBlock = __nuxt_component_5;
2452
2503
  const _component_LoadingState = __nuxt_component_1$3;
2453
2504
  _push(ssrRenderComponent(_component_USlideover, mergeProps({
2454
2505
  open: __props.open,
@@ -2526,7 +2577,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2526
2577
  } else {
2527
2578
  _push2(`<!---->`);
2528
2579
  }
2529
- _push2(`<span class="tabular-nums"${_scopeId}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.entry.duration))}</span>`);
2580
+ _push2(ssrRenderComponent(_component_DurationValue, {
2581
+ ms: __props.entry.duration
2582
+ }, null, _parent2, _scopeId));
2530
2583
  if (__props.entry.duringFailure) {
2531
2584
  _push2(ssrRenderComponent(_component_UBadge, {
2532
2585
  color: "error",
@@ -2555,7 +2608,12 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2555
2608
  });
2556
2609
  _push2(`<!--]--></div><div class="flex flex-wrap gap-x-3 gap-y-1 mt-1.5 text-xs text-gray-500"${_scopeId}><!--[-->`);
2557
2610
  ssrRenderList(unref(phases), (p) => {
2558
- _push2(`<span class="inline-flex items-center gap-1"${_scopeId}><span class="${ssrRenderClass([p.color, "size-2 rounded-full"])}"${_scopeId}></span> ${ssrInterpolate(p.label)} <span class="tabular-nums"${_scopeId}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(p.value))}</span></span>`);
2611
+ _push2(`<span class="inline-flex items-center gap-1"${_scopeId}><span class="${ssrRenderClass([p.color, "size-2 rounded-full"])}"${_scopeId}></span> ${ssrInterpolate(p.label)} `);
2612
+ _push2(ssrRenderComponent(_component_DurationValue, {
2613
+ ms: p.value,
2614
+ "no-title": ""
2615
+ }, null, _parent2, _scopeId));
2616
+ _push2(`</span>`);
2559
2617
  });
2560
2618
  _push2(`<!--]--></div></div>`);
2561
2619
  } else {
@@ -2675,7 +2733,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2675
2733
  key: 3,
2676
2734
  title: "Bytes on the wire"
2677
2735
  }, toDisplayString(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(__props.entry.transferSize)) + " transferred", 1)) : createCommentVNode("", true),
2678
- createVNode("span", { class: "tabular-nums" }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.entry.duration)), 1),
2736
+ createVNode(_component_DurationValue, {
2737
+ ms: __props.entry.duration
2738
+ }, null, 8, ["ms"]),
2679
2739
  __props.entry.duringFailure ? (openBlock(), createBlock(_component_UBadge, {
2680
2740
  key: 4,
2681
2741
  color: "error",
@@ -2711,7 +2771,10 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2711
2771
  class: ["size-2 rounded-full", p.color]
2712
2772
  }, null, 2),
2713
2773
  createTextVNode(" " + toDisplayString(p.label) + " ", 1),
2714
- createVNode("span", { class: "tabular-nums" }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(p.value)), 1)
2774
+ createVNode(_component_DurationValue, {
2775
+ ms: p.value,
2776
+ "no-title": ""
2777
+ }, null, 8, ["ms"])
2715
2778
  ]);
2716
2779
  }), 128))
2717
2780
  ])
@@ -2791,14 +2854,14 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2791
2854
  };
2792
2855
  }
2793
2856
  });
2794
- const _sfc_setup$6 = _sfc_main$6.setup;
2795
- _sfc_main$6.setup = (props, ctx) => {
2857
+ const _sfc_setup$5 = _sfc_main$5.setup;
2858
+ _sfc_main$5.setup = (props, ctx) => {
2796
2859
  const ssrContext = useSSRContext();
2797
2860
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TraceNetworkDrawer.vue");
2798
- return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
2861
+ return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
2799
2862
  };
2800
- const __nuxt_component_2 = Object.assign(_sfc_main$6, { __name: "TraceNetworkDrawer" });
2801
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2863
+ const __nuxt_component_3 = Object.assign(_sfc_main$5, { __name: "TraceNetworkDrawer" });
2864
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2802
2865
  __name: "TraceNetworkList",
2803
2866
  __ssrInlineRender: true,
2804
2867
  props: {
@@ -2862,9 +2925,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2862
2925
  const selected = ref(null);
2863
2926
  const drawerOpen = ref(false);
2864
2927
  return (_ctx, _push, _parent, _attrs) => {
2865
- const _component_UTabs = _sfc_main$h;
2928
+ const _component_UTabs = _sfc_main$g;
2866
2929
  const _component_UBadge = _sfc_main$7$1;
2867
- const _component_TraceNetworkDrawer = __nuxt_component_2;
2930
+ const _component_DurationValue = __nuxt_component_14$1;
2931
+ const _component_TraceNetworkDrawer = __nuxt_component_3;
2868
2932
  _push(`<div${ssrRenderAttrs(_attrs)}><div class="flex items-center justify-between gap-2 mb-2">`);
2869
2933
  _push(ssrRenderComponent(_component_UTabs, {
2870
2934
  modelValue: unref(filter),
@@ -2931,7 +2995,12 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2931
2995
  _push(`<span class="${ssrRenderClass([
2932
2996
  entry.duration > 1e3 ? "text-red-600 font-medium" : entry.duration > 500 ? "text-orange-500" : "text-gray-500",
2933
2997
  "ml-1 shrink-0 text-xs tabular-nums"
2934
- ])}">${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(entry.duration))}</span></div><div class="relative h-1.5 mt-1 rounded bg-gray-100 dark:bg-gray-800 overflow-hidden">`);
2998
+ ])}">`);
2999
+ _push(ssrRenderComponent(_component_DurationValue, {
3000
+ ms: entry.duration,
3001
+ "unit-class": "opacity-60"
3002
+ }, null, _parent));
3003
+ _push(`</span></div><div class="relative h-1.5 mt-1 rounded bg-gray-100 dark:bg-gray-800 overflow-hidden">`);
2935
3004
  if (unref(windowStyle)) {
2936
3005
  _push(`<div class="absolute inset-y-0 bg-red-500/10 border-x border-red-300/60 dark:border-red-800/60" style="${ssrRenderStyle(unref(windowStyle))}"></div>`);
2937
3006
  } else {
@@ -2956,42 +3025,13 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2956
3025
  };
2957
3026
  }
2958
3027
  });
2959
- const _sfc_setup$5 = _sfc_main$5.setup;
2960
- _sfc_main$5.setup = (props, ctx) => {
2961
- const ssrContext = useSSRContext();
2962
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TraceNetworkList.vue");
2963
- return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
2964
- };
2965
- const __nuxt_component_4 = Object.assign(_sfc_main$5, { __name: "TraceNetworkList" });
2966
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2967
- __name: "DurationValue",
2968
- __ssrInlineRender: true,
2969
- props: {
2970
- ms: { default: null },
2971
- fallback: { default: "—" },
2972
- unitClass: { default: "text-gray-400/70 dark:text-gray-500/70" }
2973
- },
2974
- setup(__props) {
2975
- const props = __props;
2976
- const parts = computed(() => splitDuration(props.ms));
2977
- return (_ctx, _push, _parent, _attrs) => {
2978
- _push(`<span${ssrRenderAttrs(mergeProps({ class: "tabular-nums" }, _attrs))}>`);
2979
- if (unref(parts)) {
2980
- _push(`<!--[-->${ssrInterpolate(unref(parts).value)}<span class="${ssrRenderClass(__props.unitClass)}">${ssrInterpolate(unref(parts).unit)}</span><!--]-->`);
2981
- } else {
2982
- _push(`<!--[-->${ssrInterpolate(__props.fallback)}<!--]-->`);
2983
- }
2984
- _push(`</span>`);
2985
- };
2986
- }
2987
- });
2988
3028
  const _sfc_setup$4 = _sfc_main$4.setup;
2989
3029
  _sfc_main$4.setup = (props, ctx) => {
2990
3030
  const ssrContext = useSSRContext();
2991
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/shared/DurationValue.vue");
3031
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TraceNetworkList.vue");
2992
3032
  return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
2993
3033
  };
2994
- const __nuxt_component_6 = Object.assign(_sfc_main$4, { __name: "DurationValue" });
3034
+ const __nuxt_component_4 = Object.assign(_sfc_main$4, { __name: "TraceNetworkList" });
2995
3035
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2996
3036
  __name: "TestCaseNetworkRequests",
2997
3037
  __ssrInlineRender: true,
@@ -3178,12 +3218,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3178
3218
  return (_ctx, _push, _parent, _attrs) => {
3179
3219
  const _component_SectionCard = __nuxt_component_11;
3180
3220
  const _component_UIcon = _sfc_main$p;
3181
- const _component_UTabs = _sfc_main$h;
3221
+ const _component_UTabs = _sfc_main$g;
3182
3222
  const _component_LoadingState = __nuxt_component_1$3;
3183
3223
  const _component_TraceNetworkList = __nuxt_component_4;
3184
3224
  const _component_UBadge = _sfc_main$7$1;
3185
- const _component_DurationValue = __nuxt_component_6;
3186
- const _component_DocLink = __nuxt_component_9;
3225
+ const _component_DurationValue = __nuxt_component_14$1;
3226
+ const _component_DocLink = __nuxt_component_9$2;
3187
3227
  _push(ssrRenderComponent(_component_SectionCard, mergeProps({
3188
3228
  icon: "i-lucide-network",
3189
3229
  title: "Network & backend logs",
@@ -3391,7 +3431,11 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3391
3431
  name: "i-lucide-server",
3392
3432
  class: "size-3.5"
3393
3433
  }, null, _parent2, _scopeId));
3394
- _push2(`${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(req.serverMs))}</span>`);
3434
+ _push2(ssrRenderComponent(_component_DurationValue, {
3435
+ ms: req.serverMs,
3436
+ "no-title": ""
3437
+ }, null, _parent2, _scopeId));
3438
+ _push2(`</span>`);
3395
3439
  } else {
3396
3440
  _push2(`<!---->`);
3397
3441
  }
@@ -3403,7 +3447,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3403
3447
  _push2(`<span class="${ssrRenderClass([
3404
3448
  (req.duration ?? 0) > 1e3 ? "text-red-600 font-medium" : (req.duration ?? 0) > 500 ? "text-orange-500" : "text-gray-500",
3405
3449
  "ml-1 shrink-0 text-xs tabular-nums"
3406
- ])}"${_scopeId}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(req.duration))}</span></button>`);
3450
+ ])}"${_scopeId}>`);
3451
+ _push2(ssrRenderComponent(_component_DurationValue, {
3452
+ ms: req.duration,
3453
+ "unit-class": "opacity-60"
3454
+ }, null, _parent2, _scopeId));
3455
+ _push2(`</span></button>`);
3407
3456
  if (req.spans.length > 0 && unref(expanded).has(req._index)) {
3408
3457
  _push2(`<div class="px-2 pt-1.5 pb-2 pl-7 space-y-1"${_scopeId}><div class="flex items-center gap-1.5 text-[11px] uppercase tracking-wide text-gray-400"${_scopeId}>`);
3409
3458
  _push2(ssrRenderComponent(_component_UIcon, {
@@ -3642,7 +3691,10 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3642
3691
  name: "i-lucide-server",
3643
3692
  class: "size-3.5"
3644
3693
  }),
3645
- createTextVNode(toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(req.serverMs)), 1)
3694
+ createVNode(_component_DurationValue, {
3695
+ ms: req.serverMs,
3696
+ "no-title": ""
3697
+ }, null, 8, ["ms"])
3646
3698
  ], 8, ["title"])) : createCommentVNode("", true),
3647
3699
  req.startTime ? (openBlock(), createBlock("span", {
3648
3700
  key: 6,
@@ -3654,7 +3706,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3654
3706
  "ml-1 shrink-0 text-xs tabular-nums",
3655
3707
  (req.duration ?? 0) > 1e3 ? "text-red-600 font-medium" : (req.duration ?? 0) > 500 ? "text-orange-500" : "text-gray-500"
3656
3708
  ]
3657
- }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(req.duration)), 3)
3709
+ }, [
3710
+ createVNode(_component_DurationValue, {
3711
+ ms: req.duration,
3712
+ "unit-class": "opacity-60"
3713
+ }, null, 8, ["ms"])
3714
+ ], 2)
3658
3715
  ], 10, ["disabled", "onClick"]),
3659
3716
  req.spans.length > 0 && unref(expanded).has(req._index) ? (openBlock(), createBlock("div", {
3660
3717
  key: 0,
@@ -3815,7 +3872,7 @@ _sfc_main$3.setup = (props, ctx) => {
3815
3872
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseNetworkRequests.vue");
3816
3873
  return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
3817
3874
  };
3818
- const __nuxt_component_21 = Object.assign(_sfc_main$3, { __name: "TestCaseNetworkRequests" });
3875
+ const __nuxt_component_22 = Object.assign(_sfc_main$3, { __name: "TestCaseNetworkRequests" });
3819
3876
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3820
3877
  __name: "TestCaseTracesCard",
3821
3878
  __ssrInlineRender: true,
@@ -3872,7 +3929,7 @@ _sfc_main$2.setup = (props, ctx) => {
3872
3929
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseTracesCard.vue");
3873
3930
  return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
3874
3931
  };
3875
- const __nuxt_component_31 = Object.assign(_sfc_main$2, { __name: "TestCaseTracesCard" });
3932
+ const __nuxt_component_33 = Object.assign(_sfc_main$2, { __name: "TestCaseTracesCard" });
3876
3933
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3877
3934
  __name: "TestCaseAttachmentsCard",
3878
3935
  __ssrInlineRender: true,
@@ -3946,7 +4003,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3946
4003
  const _component_SectionCard = __nuxt_component_11;
3947
4004
  const _component_UIcon = _sfc_main$p;
3948
4005
  const _component_UButton = _sfc_main$k;
3949
- const _component_VideoPlayer = __nuxt_component_3$2;
4006
+ const _component_VideoPlayer = __nuxt_component_3$2$1;
3950
4007
  const _component_ScreenshotLightbox = __nuxt_component_4$2;
3951
4008
  if (__props.attachments.length > 0) {
3952
4009
  _push(ssrRenderComponent(_component_SectionCard, mergeProps({
@@ -4134,7 +4191,7 @@ _sfc_main$1.setup = (props, ctx) => {
4134
4191
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseAttachmentsCard.vue");
4135
4192
  return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
4136
4193
  };
4137
- const __nuxt_component_32 = Object.assign(_sfc_main$1, { __name: "TestCaseAttachmentsCard" });
4194
+ const __nuxt_component_34 = Object.assign(_sfc_main$1, { __name: "TestCaseAttachmentsCard" });
4138
4195
  function getPerformanceHints(testCase) {
4139
4196
  const hints = [];
4140
4197
  if (!testCase) return hints;
@@ -4504,42 +4561,44 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4504
4561
  });
4505
4562
  return (_ctx, _push, _parent, _attrs) => {
4506
4563
  const _component_UDashboardPanel = _sfc_main$1$1;
4507
- const _component_UDashboardNavbar = _sfc_main$g;
4564
+ const _component_UDashboardNavbar = _sfc_main$f;
4508
4565
  const _component_UDashboardSidebarCollapse = _sfc_main$1$2;
4509
- const _component_BreadcrumbNav = __nuxt_component_3$1;
4510
- const _component_NuxtLink = __nuxt_component_12$1;
4566
+ const _component_BreadcrumbNav = __nuxt_component_3$2;
4567
+ const _component_NuxtLink = __nuxt_component_12;
4511
4568
  const _component_UIcon = _sfc_main$p;
4569
+ const _component_ExportMenu = __nuxt_component_6$1;
4512
4570
  const _component_NavbarActions = __nuxt_component_4$1;
4513
- const _component_DetailPageLayout = __nuxt_component_8$1;
4514
- const _component_TestCaseSummary = __nuxt_component_8;
4571
+ const _component_DetailPageLayout = __nuxt_component_8;
4572
+ const _component_TestCaseSummary = __nuxt_component_9;
4515
4573
  const _component_SectionCard = __nuxt_component_11;
4516
- const _component_UTooltip = _sfc_main$f;
4574
+ const _component_UTooltip = _sfc_main$e;
4517
4575
  const _component_UButton = _sfc_main$k;
4518
- const _component_TestCaseVerdictCard = __nuxt_component_12;
4519
- const _component_FailureClusterCard = __nuxt_component_13;
4520
- const _component_TestCaseAiCard = __nuxt_component_14;
4521
- const _component_TestSourceCard = __nuxt_component_15;
4522
- const _component_TestCaseEvidenceCard = __nuxt_component_16;
4523
- const _component_LocatorHealingPanel = __nuxt_component_17;
4524
- const _component_EnvironmentDiffCard = __nuxt_component_18;
4525
- const _component_VisualDiffCard = __nuxt_component_19;
4526
- const _component_TestCaseConsoleCard = __nuxt_component_20;
4527
- const _component_TestCaseNetworkRequests = __nuxt_component_21;
4528
- const _component_PageStateCard = __nuxt_component_22;
4529
- const _component_CollapsibleSectionCard = __nuxt_component_23;
4530
- const _component_MarkdownPreview = __nuxt_component_24;
4531
- const _component_DomSnapshotCard = __nuxt_component_25;
4576
+ const _component_TestCaseVerdictCard = __nuxt_component_13;
4577
+ const _component_FailureClusterCard = __nuxt_component_14;
4578
+ const _component_TestCaseAiCard = __nuxt_component_15;
4579
+ const _component_TestSourceCard = __nuxt_component_16;
4580
+ const _component_TestCaseEvidenceCard = __nuxt_component_17;
4581
+ const _component_LocatorHealingPanel = __nuxt_component_18;
4582
+ const _component_EnvironmentDiffCard = __nuxt_component_19;
4583
+ const _component_VisualDiffCard = __nuxt_component_20;
4584
+ const _component_TestCaseConsoleCard = __nuxt_component_21;
4585
+ const _component_TestCaseNetworkRequests = __nuxt_component_22;
4586
+ const _component_PageStateCard = __nuxt_component_23;
4587
+ const _component_CollapsibleSectionCard = __nuxt_component_24;
4588
+ const _component_MarkdownPreview = __nuxt_component_25;
4589
+ const _component_DomSnapshotCard = __nuxt_component_26;
4532
4590
  const _component_UBadge = _sfc_main$7$1;
4533
- const _component_TableScroller = __nuxt_component_3;
4534
- const _component_UTable = _sfc_main$e;
4591
+ const _component_DurationValue = __nuxt_component_14$1;
4592
+ const _component_TableScroller = __nuxt_component_3$1;
4593
+ const _component_UTable = _sfc_main$d;
4535
4594
  const _component_OpenInIdeLink = __nuxt_component_1$1;
4536
- const _component_EmptyState = __nuxt_component_8$2;
4537
- const _component_TestCaseTracesCard = __nuxt_component_31;
4538
- const _component_TestCaseAttachmentsCard = __nuxt_component_32;
4595
+ const _component_EmptyState = __nuxt_component_9$1;
4596
+ const _component_TestCaseTracesCard = __nuxt_component_33;
4597
+ const _component_TestCaseAttachmentsCard = __nuxt_component_34;
4539
4598
  const _component_StatTileGrid = __nuxt_component_1;
4540
- const _component_StatTile = __nuxt_component_2$1;
4541
- const _component_DocLink = __nuxt_component_9;
4542
- const _component_TestCaseHistoryChart = __nuxt_component_36;
4599
+ const _component_StatTile = __nuxt_component_2;
4600
+ const _component_DocLink = __nuxt_component_9$2;
4601
+ const _component_TestCaseHistoryChart = __nuxt_component_38;
4543
4602
  _push(ssrRenderComponent(_component_UDashboardPanel, mergeProps({ id: "test-run-case-detail" }, _attrs), {
4544
4603
  header: withCtx((_, _push2, _parent2, _scopeId) => {
4545
4604
  if (_push2) {
@@ -4621,6 +4680,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4621
4680
  } else {
4622
4681
  _push3(`<!---->`);
4623
4682
  }
4683
+ if (unref(testCase)) {
4684
+ _push3(ssrRenderComponent(_component_ExportMenu, {
4685
+ endpoint: `/api/test-run-cases/${unref(testCase).id}/export`,
4686
+ "base-name": `piwi-execution-${unref(testCase).id}`,
4687
+ class: "mr-2"
4688
+ }, null, _parent3, _scopeId2));
4689
+ } else {
4690
+ _push3(`<!---->`);
4691
+ }
4624
4692
  _push3(ssrRenderComponent(_component_NavbarActions, { actions: unref(navbarActions) }, null, _parent3, _scopeId2));
4625
4693
  } else {
4626
4694
  return [
@@ -4639,6 +4707,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4639
4707
  ]),
4640
4708
  _: 1
4641
4709
  }, 8, ["to"])) : createCommentVNode("", true),
4710
+ unref(testCase) ? (openBlock(), createBlock(_component_ExportMenu, {
4711
+ key: 1,
4712
+ endpoint: `/api/test-run-cases/${unref(testCase).id}/export`,
4713
+ "base-name": `piwi-execution-${unref(testCase).id}`,
4714
+ class: "mr-2"
4715
+ }, null, 8, ["endpoint", "base-name"])) : createCommentVNode("", true),
4642
4716
  createVNode(_component_NavbarActions, { actions: unref(navbarActions) }, null, 8, ["actions"])
4643
4717
  ];
4644
4718
  }
@@ -4686,6 +4760,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4686
4760
  ]),
4687
4761
  _: 1
4688
4762
  }, 8, ["to"])) : createCommentVNode("", true),
4763
+ unref(testCase) ? (openBlock(), createBlock(_component_ExportMenu, {
4764
+ key: 1,
4765
+ endpoint: `/api/test-run-cases/${unref(testCase).id}/export`,
4766
+ "base-name": `piwi-execution-${unref(testCase).id}`,
4767
+ class: "mr-2"
4768
+ }, null, 8, ["endpoint", "base-name"])) : createCommentVNode("", true),
4689
4769
  createVNode(_component_NavbarActions, { actions: unref(navbarActions) }, null, 8, ["actions"])
4690
4770
  ]),
4691
4771
  _: 1
@@ -5139,7 +5219,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5139
5219
  }),
5140
5220
  _: 2
5141
5221
  }, _parent3, _scopeId2));
5142
- _push3(`<span class="tabular-nums text-gray-500 dark:text-gray-400"${_scopeId2}>×${ssrInterpolate(c.count)} · ${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(c.duration))}</span></span>`);
5222
+ _push3(`<span class="tabular-nums text-gray-500 dark:text-gray-400"${_scopeId2}>×${ssrInterpolate(c.count)} · `);
5223
+ _push3(ssrRenderComponent(_component_DurationValue, {
5224
+ ms: c.duration
5225
+ }, null, _parent3, _scopeId2));
5226
+ _push3(`</span></span>`);
5143
5227
  });
5144
5228
  _push3(`<!--]--></div>`);
5145
5229
  _push3(ssrRenderComponent(_component_TableScroller, {
@@ -5299,7 +5383,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5299
5383
  }),
5300
5384
  "duration-cell": withCtx(({ row }, _push5, _parent5, _scopeId4) => {
5301
5385
  if (_push5) {
5302
- _push5(`<div class="min-w-[6rem]"${_scopeId4}><div class="flex items-center justify-between gap-2"${_scopeId4}><span class="${ssrRenderClass(`text-sm tabular-nums ${stepDurationTextClass(row.original.duration)}`)}"${_scopeId4}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration))}</span>`);
5386
+ _push5(`<div class="min-w-[6rem]"${_scopeId4}><div class="flex items-center justify-between gap-2"${_scopeId4}>`);
5387
+ _push5(ssrRenderComponent(_component_DurationValue, {
5388
+ ms: row.original.duration,
5389
+ class: `text-sm ${stepDurationTextClass(row.original.duration)}`,
5390
+ "unit-class": "opacity-60"
5391
+ }, null, _parent5, _scopeId4));
5303
5392
  if (stepPctOfTest(row.original.duration)) {
5304
5393
  _push5(`<span class="text-xs tabular-nums text-gray-400 dark:text-gray-500"${_scopeId4}>${ssrInterpolate(stepPctOfTest(row.original.duration))}</span>`);
5305
5394
  } else {
@@ -5310,9 +5399,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5310
5399
  return [
5311
5400
  createVNode("div", { class: "min-w-[6rem]" }, [
5312
5401
  createVNode("div", { class: "flex items-center justify-between gap-2" }, [
5313
- createVNode("span", {
5314
- class: `text-sm tabular-nums ${stepDurationTextClass(row.original.duration)}`
5315
- }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration)), 3),
5402
+ createVNode(_component_DurationValue, {
5403
+ ms: row.original.duration,
5404
+ class: `text-sm ${stepDurationTextClass(row.original.duration)}`,
5405
+ "unit-class": "opacity-60"
5406
+ }, null, 8, ["ms", "class"]),
5316
5407
  stepPctOfTest(row.original.duration) ? (openBlock(), createBlock("span", {
5317
5408
  key: 0,
5318
5409
  class: "text-xs tabular-nums text-gray-400 dark:text-gray-500"
@@ -5403,9 +5494,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5403
5494
  "duration-cell": withCtx(({ row }) => [
5404
5495
  createVNode("div", { class: "min-w-[6rem]" }, [
5405
5496
  createVNode("div", { class: "flex items-center justify-between gap-2" }, [
5406
- createVNode("span", {
5407
- class: `text-sm tabular-nums ${stepDurationTextClass(row.original.duration)}`
5408
- }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration)), 3),
5497
+ createVNode(_component_DurationValue, {
5498
+ ms: row.original.duration,
5499
+ class: `text-sm ${stepDurationTextClass(row.original.duration)}`,
5500
+ "unit-class": "opacity-60"
5501
+ }, null, 8, ["ms", "class"]),
5409
5502
  stepPctOfTest(row.original.duration) ? (openBlock(), createBlock("span", {
5410
5503
  key: 0,
5411
5504
  class: "text-xs tabular-nums text-gray-400 dark:text-gray-500"
@@ -5456,7 +5549,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5456
5549
  ]),
5457
5550
  _: 2
5458
5551
  }, 1032, ["color"]),
5459
- createVNode("span", { class: "tabular-nums text-gray-500 dark:text-gray-400" }, "×" + toDisplayString(c.count) + " · " + toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(c.duration)), 1)
5552
+ createVNode("span", { class: "tabular-nums text-gray-500 dark:text-gray-400" }, [
5553
+ createTextVNode("×" + toDisplayString(c.count) + " · ", 1),
5554
+ createVNode(_component_DurationValue, {
5555
+ ms: c.duration
5556
+ }, null, 8, ["ms"])
5557
+ ])
5460
5558
  ]);
5461
5559
  }), 128))
5462
5560
  ]),
@@ -5536,9 +5634,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5536
5634
  "duration-cell": withCtx(({ row }) => [
5537
5635
  createVNode("div", { class: "min-w-[6rem]" }, [
5538
5636
  createVNode("div", { class: "flex items-center justify-between gap-2" }, [
5539
- createVNode("span", {
5540
- class: `text-sm tabular-nums ${stepDurationTextClass(row.original.duration)}`
5541
- }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration)), 3),
5637
+ createVNode(_component_DurationValue, {
5638
+ ms: row.original.duration,
5639
+ class: `text-sm ${stepDurationTextClass(row.original.duration)}`,
5640
+ "unit-class": "opacity-60"
5641
+ }, null, 8, ["ms", "class"]),
5542
5642
  stepPctOfTest(row.original.duration) ? (openBlock(), createBlock("span", {
5543
5643
  key: 0,
5544
5644
  class: "text-xs tabular-nums text-gray-400 dark:text-gray-500"
@@ -5709,54 +5809,134 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5709
5809
  if (_push5) {
5710
5810
  _push5(ssrRenderComponent(_component_StatTile, {
5711
5811
  label: "TTFB",
5712
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.ttfb),
5713
5812
  hint: "Time to first byte",
5714
5813
  "value-class": unref(webVitals).navigation.ttfb > 600 ? "text-red-600" : unref(webVitals).navigation.ttfb > 200 ? "text-orange-500" : "text-green-600"
5715
- }, null, _parent5, _scopeId4));
5814
+ }, {
5815
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5816
+ if (_push6) {
5817
+ _push6(ssrRenderComponent(_component_DurationValue, {
5818
+ ms: unref(webVitals).navigation.ttfb
5819
+ }, null, _parent6, _scopeId5));
5820
+ } else {
5821
+ return [
5822
+ createVNode(_component_DurationValue, {
5823
+ ms: unref(webVitals).navigation.ttfb
5824
+ }, null, 8, ["ms"])
5825
+ ];
5826
+ }
5827
+ }),
5828
+ _: 1
5829
+ }, _parent5, _scopeId4));
5716
5830
  _push5(ssrRenderComponent(_component_StatTile, {
5717
5831
  label: "DOM Interactive",
5718
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domInteractive),
5719
5832
  hint: "DOM interactive",
5720
5833
  "value-class": unref(webVitals).navigation.domInteractive > 3e3 ? "text-red-600" : unref(webVitals).navigation.domInteractive > 1500 ? "text-orange-500" : "text-green-600"
5721
- }, null, _parent5, _scopeId4));
5834
+ }, {
5835
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5836
+ if (_push6) {
5837
+ _push6(ssrRenderComponent(_component_DurationValue, {
5838
+ ms: unref(webVitals).navigation.domInteractive
5839
+ }, null, _parent6, _scopeId5));
5840
+ } else {
5841
+ return [
5842
+ createVNode(_component_DurationValue, {
5843
+ ms: unref(webVitals).navigation.domInteractive
5844
+ }, null, 8, ["ms"])
5845
+ ];
5846
+ }
5847
+ }),
5848
+ _: 1
5849
+ }, _parent5, _scopeId4));
5722
5850
  _push5(ssrRenderComponent(_component_StatTile, {
5723
5851
  label: "DOMContentLoaded",
5724
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domContentLoaded),
5725
5852
  hint: "DOMContentLoaded",
5726
5853
  "value-class": unref(webVitals).navigation.domContentLoaded > 3e3 ? "text-red-600" : unref(webVitals).navigation.domContentLoaded > 1500 ? "text-orange-500" : "text-green-600"
5727
- }, null, _parent5, _scopeId4));
5854
+ }, {
5855
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5856
+ if (_push6) {
5857
+ _push6(ssrRenderComponent(_component_DurationValue, {
5858
+ ms: unref(webVitals).navigation.domContentLoaded
5859
+ }, null, _parent6, _scopeId5));
5860
+ } else {
5861
+ return [
5862
+ createVNode(_component_DurationValue, {
5863
+ ms: unref(webVitals).navigation.domContentLoaded
5864
+ }, null, 8, ["ms"])
5865
+ ];
5866
+ }
5867
+ }),
5868
+ _: 1
5869
+ }, _parent5, _scopeId4));
5728
5870
  _push5(ssrRenderComponent(_component_StatTile, {
5729
5871
  label: "Load Complete",
5730
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.loadComplete),
5731
5872
  hint: "Page fully loaded",
5732
5873
  "value-class": unref(webVitals).navigation.loadComplete > 5e3 ? "text-red-600" : unref(webVitals).navigation.loadComplete > 3e3 ? "text-orange-500" : "text-green-600"
5733
- }, null, _parent5, _scopeId4));
5874
+ }, {
5875
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5876
+ if (_push6) {
5877
+ _push6(ssrRenderComponent(_component_DurationValue, {
5878
+ ms: unref(webVitals).navigation.loadComplete
5879
+ }, null, _parent6, _scopeId5));
5880
+ } else {
5881
+ return [
5882
+ createVNode(_component_DurationValue, {
5883
+ ms: unref(webVitals).navigation.loadComplete
5884
+ }, null, 8, ["ms"])
5885
+ ];
5886
+ }
5887
+ }),
5888
+ _: 1
5889
+ }, _parent5, _scopeId4));
5734
5890
  } else {
5735
5891
  return [
5736
5892
  createVNode(_component_StatTile, {
5737
5893
  label: "TTFB",
5738
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.ttfb),
5739
5894
  hint: "Time to first byte",
5740
5895
  "value-class": unref(webVitals).navigation.ttfb > 600 ? "text-red-600" : unref(webVitals).navigation.ttfb > 200 ? "text-orange-500" : "text-green-600"
5741
- }, null, 8, ["value", "value-class"]),
5896
+ }, {
5897
+ default: withCtx(() => [
5898
+ createVNode(_component_DurationValue, {
5899
+ ms: unref(webVitals).navigation.ttfb
5900
+ }, null, 8, ["ms"])
5901
+ ]),
5902
+ _: 1
5903
+ }, 8, ["value-class"]),
5742
5904
  createVNode(_component_StatTile, {
5743
5905
  label: "DOM Interactive",
5744
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domInteractive),
5745
5906
  hint: "DOM interactive",
5746
5907
  "value-class": unref(webVitals).navigation.domInteractive > 3e3 ? "text-red-600" : unref(webVitals).navigation.domInteractive > 1500 ? "text-orange-500" : "text-green-600"
5747
- }, null, 8, ["value", "value-class"]),
5908
+ }, {
5909
+ default: withCtx(() => [
5910
+ createVNode(_component_DurationValue, {
5911
+ ms: unref(webVitals).navigation.domInteractive
5912
+ }, null, 8, ["ms"])
5913
+ ]),
5914
+ _: 1
5915
+ }, 8, ["value-class"]),
5748
5916
  createVNode(_component_StatTile, {
5749
5917
  label: "DOMContentLoaded",
5750
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domContentLoaded),
5751
5918
  hint: "DOMContentLoaded",
5752
5919
  "value-class": unref(webVitals).navigation.domContentLoaded > 3e3 ? "text-red-600" : unref(webVitals).navigation.domContentLoaded > 1500 ? "text-orange-500" : "text-green-600"
5753
- }, null, 8, ["value", "value-class"]),
5920
+ }, {
5921
+ default: withCtx(() => [
5922
+ createVNode(_component_DurationValue, {
5923
+ ms: unref(webVitals).navigation.domContentLoaded
5924
+ }, null, 8, ["ms"])
5925
+ ]),
5926
+ _: 1
5927
+ }, 8, ["value-class"]),
5754
5928
  createVNode(_component_StatTile, {
5755
5929
  label: "Load Complete",
5756
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.loadComplete),
5757
5930
  hint: "Page fully loaded",
5758
5931
  "value-class": unref(webVitals).navigation.loadComplete > 5e3 ? "text-red-600" : unref(webVitals).navigation.loadComplete > 3e3 ? "text-orange-500" : "text-green-600"
5759
- }, null, 8, ["value", "value-class"])
5932
+ }, {
5933
+ default: withCtx(() => [
5934
+ createVNode(_component_DurationValue, {
5935
+ ms: unref(webVitals).navigation.loadComplete
5936
+ }, null, 8, ["ms"])
5937
+ ]),
5938
+ _: 1
5939
+ }, 8, ["value-class"])
5760
5940
  ];
5761
5941
  }
5762
5942
  }),
@@ -5773,19 +5953,45 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5773
5953
  default: withCtx((_4, _push5, _parent5, _scopeId4) => {
5774
5954
  if (_push5) {
5775
5955
  if (unref(webVitals).paint.firstPaint !== void 0) {
5776
- _push5(ssrRenderComponent(_component_StatTile, {
5777
- label: "First Paint (FP)",
5778
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstPaint)
5779
- }, null, _parent5, _scopeId4));
5956
+ _push5(ssrRenderComponent(_component_StatTile, { label: "First Paint (FP)" }, {
5957
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5958
+ if (_push6) {
5959
+ _push6(ssrRenderComponent(_component_DurationValue, {
5960
+ ms: unref(webVitals).paint.firstPaint
5961
+ }, null, _parent6, _scopeId5));
5962
+ } else {
5963
+ return [
5964
+ createVNode(_component_DurationValue, {
5965
+ ms: unref(webVitals).paint.firstPaint
5966
+ }, null, 8, ["ms"])
5967
+ ];
5968
+ }
5969
+ }),
5970
+ _: 1
5971
+ }, _parent5, _scopeId4));
5780
5972
  } else {
5781
5973
  _push5(`<!---->`);
5782
5974
  }
5783
5975
  if (unref(webVitals).paint.firstContentfulPaint !== void 0) {
5784
5976
  _push5(ssrRenderComponent(_component_StatTile, {
5785
5977
  label: "First Contentful Paint (FCP)",
5786
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstContentfulPaint),
5787
5978
  "value-class": unref(webVitals).paint.firstContentfulPaint > 3e3 ? "text-red-600" : unref(webVitals).paint.firstContentfulPaint > 1800 ? "text-orange-500" : "text-green-600"
5788
- }, null, _parent5, _scopeId4));
5979
+ }, {
5980
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5981
+ if (_push6) {
5982
+ _push6(ssrRenderComponent(_component_DurationValue, {
5983
+ ms: unref(webVitals).paint.firstContentfulPaint
5984
+ }, null, _parent6, _scopeId5));
5985
+ } else {
5986
+ return [
5987
+ createVNode(_component_DurationValue, {
5988
+ ms: unref(webVitals).paint.firstContentfulPaint
5989
+ }, null, 8, ["ms"])
5990
+ ];
5991
+ }
5992
+ }),
5993
+ _: 1
5994
+ }, _parent5, _scopeId4));
5789
5995
  } else {
5790
5996
  _push5(`<!---->`);
5791
5997
  }
@@ -5793,15 +5999,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5793
5999
  return [
5794
6000
  unref(webVitals).paint.firstPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
5795
6001
  key: 0,
5796
- label: "First Paint (FP)",
5797
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstPaint)
5798
- }, null, 8, ["value"])) : createCommentVNode("", true),
6002
+ label: "First Paint (FP)"
6003
+ }, {
6004
+ default: withCtx(() => [
6005
+ createVNode(_component_DurationValue, {
6006
+ ms: unref(webVitals).paint.firstPaint
6007
+ }, null, 8, ["ms"])
6008
+ ]),
6009
+ _: 1
6010
+ })) : createCommentVNode("", true),
5799
6011
  unref(webVitals).paint.firstContentfulPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
5800
6012
  key: 1,
5801
6013
  label: "First Contentful Paint (FCP)",
5802
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstContentfulPaint),
5803
6014
  "value-class": unref(webVitals).paint.firstContentfulPaint > 3e3 ? "text-red-600" : unref(webVitals).paint.firstContentfulPaint > 1800 ? "text-orange-500" : "text-green-600"
5804
- }, null, 8, ["value", "value-class"])) : createCommentVNode("", true)
6015
+ }, {
6016
+ default: withCtx(() => [
6017
+ createVNode(_component_DurationValue, {
6018
+ ms: unref(webVitals).paint.firstContentfulPaint
6019
+ }, null, 8, ["ms"])
6020
+ ]),
6021
+ _: 1
6022
+ }, 8, ["value-class"])) : createCommentVNode("", true)
5805
6023
  ];
5806
6024
  }
5807
6025
  }),
@@ -5819,9 +6037,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5819
6037
  if (_push5) {
5820
6038
  _push5(ssrRenderComponent(_component_StatTile, {
5821
6039
  label: "Largest Contentful Paint (LCP)",
5822
- value: unref(webVitals).vitals.lcp != null ? ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).vitals.lcp) : "n/a",
5823
6040
  "value-class": unref(webVitals).vitals.lcp == null ? "text-gray-400" : unref(webVitals).vitals.lcp > 4e3 ? "text-red-600" : unref(webVitals).vitals.lcp > 2500 ? "text-orange-500" : "text-green-600"
5824
- }, null, _parent5, _scopeId4));
6041
+ }, {
6042
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
6043
+ if (_push6) {
6044
+ _push6(ssrRenderComponent(_component_DurationValue, {
6045
+ ms: unref(webVitals).vitals.lcp,
6046
+ fallback: "n/a"
6047
+ }, null, _parent6, _scopeId5));
6048
+ } else {
6049
+ return [
6050
+ createVNode(_component_DurationValue, {
6051
+ ms: unref(webVitals).vitals.lcp,
6052
+ fallback: "n/a"
6053
+ }, null, 8, ["ms"])
6054
+ ];
6055
+ }
6056
+ }),
6057
+ _: 1
6058
+ }, _parent5, _scopeId4));
5825
6059
  _push5(ssrRenderComponent(_component_StatTile, {
5826
6060
  label: "Cumulative Layout Shift (CLS)",
5827
6061
  value: unref(webVitals).vitals.cls != null ? String(unref(webVitals).vitals.cls) : "n/a",
@@ -5829,16 +6063,39 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5829
6063
  }, null, _parent5, _scopeId4));
5830
6064
  _push5(ssrRenderComponent(_component_StatTile, {
5831
6065
  label: "Interaction to Next Paint (INP)",
5832
- value: unref(webVitals).vitals.inp != null ? ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).vitals.inp) : "n/a",
5833
6066
  "value-class": unref(webVitals).vitals.inp == null ? "text-gray-400" : unref(webVitals).vitals.inp > 500 ? "text-red-600" : unref(webVitals).vitals.inp > 200 ? "text-orange-500" : "text-green-600"
5834
- }, null, _parent5, _scopeId4));
6067
+ }, {
6068
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
6069
+ if (_push6) {
6070
+ _push6(ssrRenderComponent(_component_DurationValue, {
6071
+ ms: unref(webVitals).vitals.inp,
6072
+ fallback: "n/a"
6073
+ }, null, _parent6, _scopeId5));
6074
+ } else {
6075
+ return [
6076
+ createVNode(_component_DurationValue, {
6077
+ ms: unref(webVitals).vitals.inp,
6078
+ fallback: "n/a"
6079
+ }, null, 8, ["ms"])
6080
+ ];
6081
+ }
6082
+ }),
6083
+ _: 1
6084
+ }, _parent5, _scopeId4));
5835
6085
  } else {
5836
6086
  return [
5837
6087
  createVNode(_component_StatTile, {
5838
6088
  label: "Largest Contentful Paint (LCP)",
5839
- value: unref(webVitals).vitals.lcp != null ? ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).vitals.lcp) : "n/a",
5840
6089
  "value-class": unref(webVitals).vitals.lcp == null ? "text-gray-400" : unref(webVitals).vitals.lcp > 4e3 ? "text-red-600" : unref(webVitals).vitals.lcp > 2500 ? "text-orange-500" : "text-green-600"
5841
- }, null, 8, ["value", "value-class"]),
6090
+ }, {
6091
+ default: withCtx(() => [
6092
+ createVNode(_component_DurationValue, {
6093
+ ms: unref(webVitals).vitals.lcp,
6094
+ fallback: "n/a"
6095
+ }, null, 8, ["ms"])
6096
+ ]),
6097
+ _: 1
6098
+ }, 8, ["value-class"]),
5842
6099
  createVNode(_component_StatTile, {
5843
6100
  label: "Cumulative Layout Shift (CLS)",
5844
6101
  value: unref(webVitals).vitals.cls != null ? String(unref(webVitals).vitals.cls) : "n/a",
@@ -5846,9 +6103,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5846
6103
  }, null, 8, ["value", "value-class"]),
5847
6104
  createVNode(_component_StatTile, {
5848
6105
  label: "Interaction to Next Paint (INP)",
5849
- value: unref(webVitals).vitals.inp != null ? ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).vitals.inp) : "n/a",
5850
6106
  "value-class": unref(webVitals).vitals.inp == null ? "text-gray-400" : unref(webVitals).vitals.inp > 500 ? "text-red-600" : unref(webVitals).vitals.inp > 200 ? "text-orange-500" : "text-green-600"
5851
- }, null, 8, ["value", "value-class"])
6107
+ }, {
6108
+ default: withCtx(() => [
6109
+ createVNode(_component_DurationValue, {
6110
+ ms: unref(webVitals).vitals.inp,
6111
+ fallback: "n/a"
6112
+ }, null, 8, ["ms"])
6113
+ ]),
6114
+ _: 1
6115
+ }, 8, ["value-class"])
5852
6116
  ];
5853
6117
  }
5854
6118
  }),
@@ -5873,28 +6137,52 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5873
6137
  default: withCtx(() => [
5874
6138
  createVNode(_component_StatTile, {
5875
6139
  label: "TTFB",
5876
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.ttfb),
5877
6140
  hint: "Time to first byte",
5878
6141
  "value-class": unref(webVitals).navigation.ttfb > 600 ? "text-red-600" : unref(webVitals).navigation.ttfb > 200 ? "text-orange-500" : "text-green-600"
5879
- }, null, 8, ["value", "value-class"]),
6142
+ }, {
6143
+ default: withCtx(() => [
6144
+ createVNode(_component_DurationValue, {
6145
+ ms: unref(webVitals).navigation.ttfb
6146
+ }, null, 8, ["ms"])
6147
+ ]),
6148
+ _: 1
6149
+ }, 8, ["value-class"]),
5880
6150
  createVNode(_component_StatTile, {
5881
6151
  label: "DOM Interactive",
5882
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domInteractive),
5883
6152
  hint: "DOM interactive",
5884
6153
  "value-class": unref(webVitals).navigation.domInteractive > 3e3 ? "text-red-600" : unref(webVitals).navigation.domInteractive > 1500 ? "text-orange-500" : "text-green-600"
5885
- }, null, 8, ["value", "value-class"]),
6154
+ }, {
6155
+ default: withCtx(() => [
6156
+ createVNode(_component_DurationValue, {
6157
+ ms: unref(webVitals).navigation.domInteractive
6158
+ }, null, 8, ["ms"])
6159
+ ]),
6160
+ _: 1
6161
+ }, 8, ["value-class"]),
5886
6162
  createVNode(_component_StatTile, {
5887
6163
  label: "DOMContentLoaded",
5888
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domContentLoaded),
5889
6164
  hint: "DOMContentLoaded",
5890
6165
  "value-class": unref(webVitals).navigation.domContentLoaded > 3e3 ? "text-red-600" : unref(webVitals).navigation.domContentLoaded > 1500 ? "text-orange-500" : "text-green-600"
5891
- }, null, 8, ["value", "value-class"]),
6166
+ }, {
6167
+ default: withCtx(() => [
6168
+ createVNode(_component_DurationValue, {
6169
+ ms: unref(webVitals).navigation.domContentLoaded
6170
+ }, null, 8, ["ms"])
6171
+ ]),
6172
+ _: 1
6173
+ }, 8, ["value-class"]),
5892
6174
  createVNode(_component_StatTile, {
5893
6175
  label: "Load Complete",
5894
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.loadComplete),
5895
6176
  hint: "Page fully loaded",
5896
6177
  "value-class": unref(webVitals).navigation.loadComplete > 5e3 ? "text-red-600" : unref(webVitals).navigation.loadComplete > 3e3 ? "text-orange-500" : "text-green-600"
5897
- }, null, 8, ["value", "value-class"])
6178
+ }, {
6179
+ default: withCtx(() => [
6180
+ createVNode(_component_DurationValue, {
6181
+ ms: unref(webVitals).navigation.loadComplete
6182
+ }, null, 8, ["ms"])
6183
+ ]),
6184
+ _: 1
6185
+ }, 8, ["value-class"])
5898
6186
  ]),
5899
6187
  _: 1
5900
6188
  })) : createCommentVNode("", true),
@@ -5906,15 +6194,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5906
6194
  default: withCtx(() => [
5907
6195
  unref(webVitals).paint.firstPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
5908
6196
  key: 0,
5909
- label: "First Paint (FP)",
5910
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstPaint)
5911
- }, null, 8, ["value"])) : createCommentVNode("", true),
6197
+ label: "First Paint (FP)"
6198
+ }, {
6199
+ default: withCtx(() => [
6200
+ createVNode(_component_DurationValue, {
6201
+ ms: unref(webVitals).paint.firstPaint
6202
+ }, null, 8, ["ms"])
6203
+ ]),
6204
+ _: 1
6205
+ })) : createCommentVNode("", true),
5912
6206
  unref(webVitals).paint.firstContentfulPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
5913
6207
  key: 1,
5914
6208
  label: "First Contentful Paint (FCP)",
5915
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstContentfulPaint),
5916
6209
  "value-class": unref(webVitals).paint.firstContentfulPaint > 3e3 ? "text-red-600" : unref(webVitals).paint.firstContentfulPaint > 1800 ? "text-orange-500" : "text-green-600"
5917
- }, null, 8, ["value", "value-class"])) : createCommentVNode("", true)
6210
+ }, {
6211
+ default: withCtx(() => [
6212
+ createVNode(_component_DurationValue, {
6213
+ ms: unref(webVitals).paint.firstContentfulPaint
6214
+ }, null, 8, ["ms"])
6215
+ ]),
6216
+ _: 1
6217
+ }, 8, ["value-class"])) : createCommentVNode("", true)
5918
6218
  ]),
5919
6219
  _: 1
5920
6220
  })) : createCommentVNode("", true),
@@ -5926,9 +6226,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5926
6226
  default: withCtx(() => [
5927
6227
  createVNode(_component_StatTile, {
5928
6228
  label: "Largest Contentful Paint (LCP)",
5929
- value: unref(webVitals).vitals.lcp != null ? ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).vitals.lcp) : "n/a",
5930
6229
  "value-class": unref(webVitals).vitals.lcp == null ? "text-gray-400" : unref(webVitals).vitals.lcp > 4e3 ? "text-red-600" : unref(webVitals).vitals.lcp > 2500 ? "text-orange-500" : "text-green-600"
5931
- }, null, 8, ["value", "value-class"]),
6230
+ }, {
6231
+ default: withCtx(() => [
6232
+ createVNode(_component_DurationValue, {
6233
+ ms: unref(webVitals).vitals.lcp,
6234
+ fallback: "n/a"
6235
+ }, null, 8, ["ms"])
6236
+ ]),
6237
+ _: 1
6238
+ }, 8, ["value-class"]),
5932
6239
  createVNode(_component_StatTile, {
5933
6240
  label: "Cumulative Layout Shift (CLS)",
5934
6241
  value: unref(webVitals).vitals.cls != null ? String(unref(webVitals).vitals.cls) : "n/a",
@@ -5936,9 +6243,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5936
6243
  }, null, 8, ["value", "value-class"]),
5937
6244
  createVNode(_component_StatTile, {
5938
6245
  label: "Interaction to Next Paint (INP)",
5939
- value: unref(webVitals).vitals.inp != null ? ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).vitals.inp) : "n/a",
5940
6246
  "value-class": unref(webVitals).vitals.inp == null ? "text-gray-400" : unref(webVitals).vitals.inp > 500 ? "text-red-600" : unref(webVitals).vitals.inp > 200 ? "text-orange-500" : "text-green-600"
5941
- }, null, 8, ["value", "value-class"])
6247
+ }, {
6248
+ default: withCtx(() => [
6249
+ createVNode(_component_DurationValue, {
6250
+ ms: unref(webVitals).vitals.inp,
6251
+ fallback: "n/a"
6252
+ }, null, 8, ["ms"])
6253
+ ]),
6254
+ _: 1
6255
+ }, 8, ["value-class"])
5942
6256
  ]),
5943
6257
  _: 1
5944
6258
  })) : createCommentVNode("", true),
@@ -6050,28 +6364,52 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6050
6364
  default: withCtx(() => [
6051
6365
  createVNode(_component_StatTile, {
6052
6366
  label: "TTFB",
6053
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.ttfb),
6054
6367
  hint: "Time to first byte",
6055
6368
  "value-class": unref(webVitals).navigation.ttfb > 600 ? "text-red-600" : unref(webVitals).navigation.ttfb > 200 ? "text-orange-500" : "text-green-600"
6056
- }, null, 8, ["value", "value-class"]),
6369
+ }, {
6370
+ default: withCtx(() => [
6371
+ createVNode(_component_DurationValue, {
6372
+ ms: unref(webVitals).navigation.ttfb
6373
+ }, null, 8, ["ms"])
6374
+ ]),
6375
+ _: 1
6376
+ }, 8, ["value-class"]),
6057
6377
  createVNode(_component_StatTile, {
6058
6378
  label: "DOM Interactive",
6059
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domInteractive),
6060
6379
  hint: "DOM interactive",
6061
6380
  "value-class": unref(webVitals).navigation.domInteractive > 3e3 ? "text-red-600" : unref(webVitals).navigation.domInteractive > 1500 ? "text-orange-500" : "text-green-600"
6062
- }, null, 8, ["value", "value-class"]),
6381
+ }, {
6382
+ default: withCtx(() => [
6383
+ createVNode(_component_DurationValue, {
6384
+ ms: unref(webVitals).navigation.domInteractive
6385
+ }, null, 8, ["ms"])
6386
+ ]),
6387
+ _: 1
6388
+ }, 8, ["value-class"]),
6063
6389
  createVNode(_component_StatTile, {
6064
6390
  label: "DOMContentLoaded",
6065
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domContentLoaded),
6066
6391
  hint: "DOMContentLoaded",
6067
6392
  "value-class": unref(webVitals).navigation.domContentLoaded > 3e3 ? "text-red-600" : unref(webVitals).navigation.domContentLoaded > 1500 ? "text-orange-500" : "text-green-600"
6068
- }, null, 8, ["value", "value-class"]),
6393
+ }, {
6394
+ default: withCtx(() => [
6395
+ createVNode(_component_DurationValue, {
6396
+ ms: unref(webVitals).navigation.domContentLoaded
6397
+ }, null, 8, ["ms"])
6398
+ ]),
6399
+ _: 1
6400
+ }, 8, ["value-class"]),
6069
6401
  createVNode(_component_StatTile, {
6070
6402
  label: "Load Complete",
6071
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.loadComplete),
6072
6403
  hint: "Page fully loaded",
6073
6404
  "value-class": unref(webVitals).navigation.loadComplete > 5e3 ? "text-red-600" : unref(webVitals).navigation.loadComplete > 3e3 ? "text-orange-500" : "text-green-600"
6074
- }, null, 8, ["value", "value-class"])
6405
+ }, {
6406
+ default: withCtx(() => [
6407
+ createVNode(_component_DurationValue, {
6408
+ ms: unref(webVitals).navigation.loadComplete
6409
+ }, null, 8, ["ms"])
6410
+ ]),
6411
+ _: 1
6412
+ }, 8, ["value-class"])
6075
6413
  ]),
6076
6414
  _: 1
6077
6415
  })) : createCommentVNode("", true),
@@ -6083,15 +6421,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6083
6421
  default: withCtx(() => [
6084
6422
  unref(webVitals).paint.firstPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
6085
6423
  key: 0,
6086
- label: "First Paint (FP)",
6087
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstPaint)
6088
- }, null, 8, ["value"])) : createCommentVNode("", true),
6424
+ label: "First Paint (FP)"
6425
+ }, {
6426
+ default: withCtx(() => [
6427
+ createVNode(_component_DurationValue, {
6428
+ ms: unref(webVitals).paint.firstPaint
6429
+ }, null, 8, ["ms"])
6430
+ ]),
6431
+ _: 1
6432
+ })) : createCommentVNode("", true),
6089
6433
  unref(webVitals).paint.firstContentfulPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
6090
6434
  key: 1,
6091
6435
  label: "First Contentful Paint (FCP)",
6092
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstContentfulPaint),
6093
6436
  "value-class": unref(webVitals).paint.firstContentfulPaint > 3e3 ? "text-red-600" : unref(webVitals).paint.firstContentfulPaint > 1800 ? "text-orange-500" : "text-green-600"
6094
- }, null, 8, ["value", "value-class"])) : createCommentVNode("", true)
6437
+ }, {
6438
+ default: withCtx(() => [
6439
+ createVNode(_component_DurationValue, {
6440
+ ms: unref(webVitals).paint.firstContentfulPaint
6441
+ }, null, 8, ["ms"])
6442
+ ]),
6443
+ _: 1
6444
+ }, 8, ["value-class"])) : createCommentVNode("", true)
6095
6445
  ]),
6096
6446
  _: 1
6097
6447
  })) : createCommentVNode("", true),
@@ -6103,9 +6453,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6103
6453
  default: withCtx(() => [
6104
6454
  createVNode(_component_StatTile, {
6105
6455
  label: "Largest Contentful Paint (LCP)",
6106
- value: unref(webVitals).vitals.lcp != null ? ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).vitals.lcp) : "n/a",
6107
6456
  "value-class": unref(webVitals).vitals.lcp == null ? "text-gray-400" : unref(webVitals).vitals.lcp > 4e3 ? "text-red-600" : unref(webVitals).vitals.lcp > 2500 ? "text-orange-500" : "text-green-600"
6108
- }, null, 8, ["value", "value-class"]),
6457
+ }, {
6458
+ default: withCtx(() => [
6459
+ createVNode(_component_DurationValue, {
6460
+ ms: unref(webVitals).vitals.lcp,
6461
+ fallback: "n/a"
6462
+ }, null, 8, ["ms"])
6463
+ ]),
6464
+ _: 1
6465
+ }, 8, ["value-class"]),
6109
6466
  createVNode(_component_StatTile, {
6110
6467
  label: "Cumulative Layout Shift (CLS)",
6111
6468
  value: unref(webVitals).vitals.cls != null ? String(unref(webVitals).vitals.cls) : "n/a",
@@ -6113,9 +6470,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6113
6470
  }, null, 8, ["value", "value-class"]),
6114
6471
  createVNode(_component_StatTile, {
6115
6472
  label: "Interaction to Next Paint (INP)",
6116
- value: unref(webVitals).vitals.inp != null ? ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).vitals.inp) : "n/a",
6117
6473
  "value-class": unref(webVitals).vitals.inp == null ? "text-gray-400" : unref(webVitals).vitals.inp > 500 ? "text-red-600" : unref(webVitals).vitals.inp > 200 ? "text-orange-500" : "text-green-600"
6118
- }, null, 8, ["value", "value-class"])
6474
+ }, {
6475
+ default: withCtx(() => [
6476
+ createVNode(_component_DurationValue, {
6477
+ ms: unref(webVitals).vitals.inp,
6478
+ fallback: "n/a"
6479
+ }, null, 8, ["ms"])
6480
+ ]),
6481
+ _: 1
6482
+ }, 8, ["value-class"])
6119
6483
  ]),
6120
6484
  _: 1
6121
6485
  })) : createCommentVNode("", true),
@@ -6230,6 +6594,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6230
6594
  if (_push5) {
6231
6595
  _push5(ssrRenderComponent(_component_UBadge, {
6232
6596
  color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.status),
6597
+ variant: "subtle",
6233
6598
  class: "capitalize"
6234
6599
  }, {
6235
6600
  default: withCtx((_4, _push6, _parent6, _scopeId5) => {
@@ -6247,6 +6612,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6247
6612
  return [
6248
6613
  createVNode(_component_UBadge, {
6249
6614
  color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.status),
6615
+ variant: "subtle",
6250
6616
  class: "capitalize"
6251
6617
  }, {
6252
6618
  default: withCtx(() => [
@@ -6260,13 +6626,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6260
6626
  "duration-cell": withCtx(({ row }, _push5, _parent5, _scopeId4) => {
6261
6627
  if (_push5) {
6262
6628
  if (row.original.duration !== null) {
6263
- _push5(`<span${_scopeId4}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration))}</span>`);
6629
+ _push5(ssrRenderComponent(_component_DurationValue, {
6630
+ ms: row.original.duration
6631
+ }, null, _parent5, _scopeId4));
6264
6632
  } else {
6265
6633
  _push5(`<span class="text-gray-400"${_scopeId4}>—</span>`);
6266
6634
  }
6267
6635
  } else {
6268
6636
  return [
6269
- row.original.duration !== null ? (openBlock(), createBlock("span", { key: 0 }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration)), 1)) : (openBlock(), createBlock("span", {
6637
+ row.original.duration !== null ? (openBlock(), createBlock(_component_DurationValue, {
6638
+ key: 0,
6639
+ ms: row.original.duration
6640
+ }, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
6270
6641
  key: 1,
6271
6642
  class: "text-gray-400"
6272
6643
  }, "—"))
@@ -6351,6 +6722,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6351
6722
  "status-cell": withCtx(({ row }) => [
6352
6723
  createVNode(_component_UBadge, {
6353
6724
  color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.status),
6725
+ variant: "subtle",
6354
6726
  class: "capitalize"
6355
6727
  }, {
6356
6728
  default: withCtx(() => [
@@ -6360,7 +6732,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6360
6732
  }, 1032, ["color"])
6361
6733
  ]),
6362
6734
  "duration-cell": withCtx(({ row }) => [
6363
- row.original.duration !== null ? (openBlock(), createBlock("span", { key: 0 }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration)), 1)) : (openBlock(), createBlock("span", {
6735
+ row.original.duration !== null ? (openBlock(), createBlock(_component_DurationValue, {
6736
+ key: 0,
6737
+ ms: row.original.duration
6738
+ }, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
6364
6739
  key: 1,
6365
6740
  class: "text-gray-400"
6366
6741
  }, "—"))
@@ -6466,6 +6841,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6466
6841
  "status-cell": withCtx(({ row }) => [
6467
6842
  createVNode(_component_UBadge, {
6468
6843
  color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.status),
6844
+ variant: "subtle",
6469
6845
  class: "capitalize"
6470
6846
  }, {
6471
6847
  default: withCtx(() => [
@@ -6475,7 +6851,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6475
6851
  }, 1032, ["color"])
6476
6852
  ]),
6477
6853
  "duration-cell": withCtx(({ row }) => [
6478
- row.original.duration !== null ? (openBlock(), createBlock("span", { key: 0 }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration)), 1)) : (openBlock(), createBlock("span", {
6854
+ row.original.duration !== null ? (openBlock(), createBlock(_component_DurationValue, {
6855
+ key: 0,
6856
+ ms: row.original.duration
6857
+ }, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
6479
6858
  key: 1,
6480
6859
  class: "text-gray-400"
6481
6860
  }, "—"))
@@ -6719,7 +7098,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6719
7098
  ]),
6720
7099
  _: 2
6721
7100
  }, 1032, ["color"]),
6722
- createVNode("span", { class: "tabular-nums text-gray-500 dark:text-gray-400" }, "×" + toDisplayString(c.count) + " · " + toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(c.duration)), 1)
7101
+ createVNode("span", { class: "tabular-nums text-gray-500 dark:text-gray-400" }, [
7102
+ createTextVNode("×" + toDisplayString(c.count) + " · ", 1),
7103
+ createVNode(_component_DurationValue, {
7104
+ ms: c.duration
7105
+ }, null, 8, ["ms"])
7106
+ ])
6723
7107
  ]);
6724
7108
  }), 128))
6725
7109
  ]),
@@ -6799,9 +7183,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6799
7183
  "duration-cell": withCtx(({ row }) => [
6800
7184
  createVNode("div", { class: "min-w-[6rem]" }, [
6801
7185
  createVNode("div", { class: "flex items-center justify-between gap-2" }, [
6802
- createVNode("span", {
6803
- class: `text-sm tabular-nums ${stepDurationTextClass(row.original.duration)}`
6804
- }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration)), 3),
7186
+ createVNode(_component_DurationValue, {
7187
+ ms: row.original.duration,
7188
+ class: `text-sm ${stepDurationTextClass(row.original.duration)}`,
7189
+ "unit-class": "opacity-60"
7190
+ }, null, 8, ["ms", "class"]),
6805
7191
  stepPctOfTest(row.original.duration) ? (openBlock(), createBlock("span", {
6806
7192
  key: 0,
6807
7193
  class: "text-xs tabular-nums text-gray-400 dark:text-gray-500"
@@ -6920,28 +7306,52 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6920
7306
  default: withCtx(() => [
6921
7307
  createVNode(_component_StatTile, {
6922
7308
  label: "TTFB",
6923
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.ttfb),
6924
7309
  hint: "Time to first byte",
6925
7310
  "value-class": unref(webVitals).navigation.ttfb > 600 ? "text-red-600" : unref(webVitals).navigation.ttfb > 200 ? "text-orange-500" : "text-green-600"
6926
- }, null, 8, ["value", "value-class"]),
7311
+ }, {
7312
+ default: withCtx(() => [
7313
+ createVNode(_component_DurationValue, {
7314
+ ms: unref(webVitals).navigation.ttfb
7315
+ }, null, 8, ["ms"])
7316
+ ]),
7317
+ _: 1
7318
+ }, 8, ["value-class"]),
6927
7319
  createVNode(_component_StatTile, {
6928
7320
  label: "DOM Interactive",
6929
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domInteractive),
6930
7321
  hint: "DOM interactive",
6931
7322
  "value-class": unref(webVitals).navigation.domInteractive > 3e3 ? "text-red-600" : unref(webVitals).navigation.domInteractive > 1500 ? "text-orange-500" : "text-green-600"
6932
- }, null, 8, ["value", "value-class"]),
7323
+ }, {
7324
+ default: withCtx(() => [
7325
+ createVNode(_component_DurationValue, {
7326
+ ms: unref(webVitals).navigation.domInteractive
7327
+ }, null, 8, ["ms"])
7328
+ ]),
7329
+ _: 1
7330
+ }, 8, ["value-class"]),
6933
7331
  createVNode(_component_StatTile, {
6934
7332
  label: "DOMContentLoaded",
6935
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domContentLoaded),
6936
7333
  hint: "DOMContentLoaded",
6937
7334
  "value-class": unref(webVitals).navigation.domContentLoaded > 3e3 ? "text-red-600" : unref(webVitals).navigation.domContentLoaded > 1500 ? "text-orange-500" : "text-green-600"
6938
- }, null, 8, ["value", "value-class"]),
7335
+ }, {
7336
+ default: withCtx(() => [
7337
+ createVNode(_component_DurationValue, {
7338
+ ms: unref(webVitals).navigation.domContentLoaded
7339
+ }, null, 8, ["ms"])
7340
+ ]),
7341
+ _: 1
7342
+ }, 8, ["value-class"]),
6939
7343
  createVNode(_component_StatTile, {
6940
7344
  label: "Load Complete",
6941
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.loadComplete),
6942
7345
  hint: "Page fully loaded",
6943
7346
  "value-class": unref(webVitals).navigation.loadComplete > 5e3 ? "text-red-600" : unref(webVitals).navigation.loadComplete > 3e3 ? "text-orange-500" : "text-green-600"
6944
- }, null, 8, ["value", "value-class"])
7347
+ }, {
7348
+ default: withCtx(() => [
7349
+ createVNode(_component_DurationValue, {
7350
+ ms: unref(webVitals).navigation.loadComplete
7351
+ }, null, 8, ["ms"])
7352
+ ]),
7353
+ _: 1
7354
+ }, 8, ["value-class"])
6945
7355
  ]),
6946
7356
  _: 1
6947
7357
  })) : createCommentVNode("", true),
@@ -6953,15 +7363,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6953
7363
  default: withCtx(() => [
6954
7364
  unref(webVitals).paint.firstPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
6955
7365
  key: 0,
6956
- label: "First Paint (FP)",
6957
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstPaint)
6958
- }, null, 8, ["value"])) : createCommentVNode("", true),
7366
+ label: "First Paint (FP)"
7367
+ }, {
7368
+ default: withCtx(() => [
7369
+ createVNode(_component_DurationValue, {
7370
+ ms: unref(webVitals).paint.firstPaint
7371
+ }, null, 8, ["ms"])
7372
+ ]),
7373
+ _: 1
7374
+ })) : createCommentVNode("", true),
6959
7375
  unref(webVitals).paint.firstContentfulPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
6960
7376
  key: 1,
6961
7377
  label: "First Contentful Paint (FCP)",
6962
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstContentfulPaint),
6963
7378
  "value-class": unref(webVitals).paint.firstContentfulPaint > 3e3 ? "text-red-600" : unref(webVitals).paint.firstContentfulPaint > 1800 ? "text-orange-500" : "text-green-600"
6964
- }, null, 8, ["value", "value-class"])) : createCommentVNode("", true)
7379
+ }, {
7380
+ default: withCtx(() => [
7381
+ createVNode(_component_DurationValue, {
7382
+ ms: unref(webVitals).paint.firstContentfulPaint
7383
+ }, null, 8, ["ms"])
7384
+ ]),
7385
+ _: 1
7386
+ }, 8, ["value-class"])) : createCommentVNode("", true)
6965
7387
  ]),
6966
7388
  _: 1
6967
7389
  })) : createCommentVNode("", true),
@@ -6973,9 +7395,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6973
7395
  default: withCtx(() => [
6974
7396
  createVNode(_component_StatTile, {
6975
7397
  label: "Largest Contentful Paint (LCP)",
6976
- value: unref(webVitals).vitals.lcp != null ? ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).vitals.lcp) : "n/a",
6977
7398
  "value-class": unref(webVitals).vitals.lcp == null ? "text-gray-400" : unref(webVitals).vitals.lcp > 4e3 ? "text-red-600" : unref(webVitals).vitals.lcp > 2500 ? "text-orange-500" : "text-green-600"
6978
- }, null, 8, ["value", "value-class"]),
7399
+ }, {
7400
+ default: withCtx(() => [
7401
+ createVNode(_component_DurationValue, {
7402
+ ms: unref(webVitals).vitals.lcp,
7403
+ fallback: "n/a"
7404
+ }, null, 8, ["ms"])
7405
+ ]),
7406
+ _: 1
7407
+ }, 8, ["value-class"]),
6979
7408
  createVNode(_component_StatTile, {
6980
7409
  label: "Cumulative Layout Shift (CLS)",
6981
7410
  value: unref(webVitals).vitals.cls != null ? String(unref(webVitals).vitals.cls) : "n/a",
@@ -6983,9 +7412,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6983
7412
  }, null, 8, ["value", "value-class"]),
6984
7413
  createVNode(_component_StatTile, {
6985
7414
  label: "Interaction to Next Paint (INP)",
6986
- value: unref(webVitals).vitals.inp != null ? ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).vitals.inp) : "n/a",
6987
7415
  "value-class": unref(webVitals).vitals.inp == null ? "text-gray-400" : unref(webVitals).vitals.inp > 500 ? "text-red-600" : unref(webVitals).vitals.inp > 200 ? "text-orange-500" : "text-green-600"
6988
- }, null, 8, ["value", "value-class"])
7416
+ }, {
7417
+ default: withCtx(() => [
7418
+ createVNode(_component_DurationValue, {
7419
+ ms: unref(webVitals).vitals.inp,
7420
+ fallback: "n/a"
7421
+ }, null, 8, ["ms"])
7422
+ ]),
7423
+ _: 1
7424
+ }, 8, ["value-class"])
6989
7425
  ]),
6990
7426
  _: 1
6991
7427
  })) : createCommentVNode("", true),
@@ -7077,6 +7513,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7077
7513
  "status-cell": withCtx(({ row }) => [
7078
7514
  createVNode(_component_UBadge, {
7079
7515
  color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.status),
7516
+ variant: "subtle",
7080
7517
  class: "capitalize"
7081
7518
  }, {
7082
7519
  default: withCtx(() => [
@@ -7086,7 +7523,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7086
7523
  }, 1032, ["color"])
7087
7524
  ]),
7088
7525
  "duration-cell": withCtx(({ row }) => [
7089
- row.original.duration !== null ? (openBlock(), createBlock("span", { key: 0 }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration)), 1)) : (openBlock(), createBlock("span", {
7526
+ row.original.duration !== null ? (openBlock(), createBlock(_component_DurationValue, {
7527
+ key: 0,
7528
+ ms: row.original.duration
7529
+ }, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
7090
7530
  key: 1,
7091
7531
  class: "text-gray-400"
7092
7532
  }, "—"))
@@ -7144,4 +7584,4 @@ _sfc_main.setup = (props, ctx) => {
7144
7584
  };
7145
7585
 
7146
7586
  export { _sfc_main as default };
7147
- //# sourceMappingURL=_id_-B2yirIuA.mjs.map
7587
+ //# sourceMappingURL=_id_-B78ky13D.mjs.map