@piwitests/server 0.18.2 → 0.20.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 (783) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{Dwws9U0D.js → -f7BAm1H.js} +1 -1
  3. package/.output/public/_nuxt/{BjCHB89N.js → 4gYNA-d4.js} +1 -1
  4. package/.output/public/_nuxt/5A6ITZXj.js +1 -0
  5. package/.output/public/_nuxt/8PUUncmO.js +44 -0
  6. package/.output/public/_nuxt/A1pj0VnG.js +1 -0
  7. package/.output/public/_nuxt/{DZ3Vfcpz.js → AbmKWFQQ.js} +1 -1
  8. package/.output/public/_nuxt/B3obW6cw.js +3 -0
  9. package/.output/public/_nuxt/{QmMoMxLM.js → B7FTvFWq.js} +3 -3
  10. package/.output/public/_nuxt/{DXbPFI1d.js → B8zkOmwo.js} +1 -1
  11. package/.output/public/_nuxt/B96M2gdj.js +1 -0
  12. package/.output/public/_nuxt/{BFP6M-20.js → B99fbi73.js} +1 -1
  13. package/.output/public/_nuxt/{DD5HpaW9.js → B9OLmp0f.js} +1 -1
  14. package/.output/public/_nuxt/BKkF4pPD.js +1 -0
  15. package/.output/public/_nuxt/BT3wGCTI.js +1 -0
  16. package/.output/public/_nuxt/BUa0V0Ly.js +1 -0
  17. package/.output/public/_nuxt/BUkim3TM.js +1 -0
  18. package/.output/public/_nuxt/BVc14Ncz.js +4 -0
  19. package/.output/public/_nuxt/BY0HxR3t.js +17 -0
  20. package/.output/public/_nuxt/B_xAMWQS.js +2 -0
  21. package/.output/public/_nuxt/BdQoBaOv.js +1 -0
  22. package/.output/public/_nuxt/{Cng9gj7q.js → BdfhYr-u.js} +1 -1
  23. package/.output/public/_nuxt/BgRu_3tT.js +1 -0
  24. package/.output/public/_nuxt/{BBK2-Krn.js → BiO7RBWb.js} +2 -2
  25. package/.output/public/_nuxt/BicAJ6U8.js +1 -0
  26. package/.output/public/_nuxt/BjaRappk.js +1 -0
  27. package/.output/public/_nuxt/Bm62iDV5.js +1 -0
  28. package/.output/public/_nuxt/{C9YzQCiq.js → BmUfSNMV.js} +1 -1
  29. package/.output/public/_nuxt/Bnxf8nbZ.js +1 -0
  30. package/.output/public/_nuxt/{CsUoYK75.js → Bow4tTR0.js} +1 -1
  31. package/.output/public/_nuxt/{B2oUeBbA.js → BrQEE053.js} +1 -1
  32. package/.output/public/_nuxt/BzRRzmwm.js +1 -0
  33. package/.output/public/_nuxt/{CN1mJlvD.js → C0_yH0N7.js} +1 -1
  34. package/.output/public/_nuxt/C1gTN4Q8.js +1 -0
  35. package/.output/public/_nuxt/{CNMoZYMv.js → C2hkrSey.js} +1 -1
  36. package/.output/public/_nuxt/{rTvJTef_.js → C8e1EbJI.js} +1 -1
  37. package/.output/public/_nuxt/CA9B2HE5.js +1 -0
  38. package/.output/public/_nuxt/{oFM1KLWA.js → CAAwCT7H.js} +1 -1
  39. package/.output/public/_nuxt/{qpI-_f9Q.js → CAvY22RE.js} +1 -1
  40. package/.output/public/_nuxt/{BLIRKrbM.js → CEfS4-oS.js} +4 -4
  41. package/.output/public/_nuxt/CIoSMkpp.js +1 -0
  42. package/.output/public/_nuxt/{hH1UFE3Z.js → CIrFl3MW.js} +1 -1
  43. package/.output/public/_nuxt/CJFtzlQ4.js +1 -0
  44. package/.output/public/_nuxt/{hgHc4teu.js → CNyV9YpI.js} +1 -1
  45. package/.output/public/_nuxt/CSJ-eOQM.js +1 -0
  46. package/.output/public/_nuxt/CTU1mrhq.js +1 -0
  47. package/.output/public/_nuxt/CXEH9OPk.js +1 -0
  48. package/.output/public/_nuxt/CahpB9Z2.js +5 -0
  49. package/.output/public/_nuxt/{C8OCrfDP.js → Cbh--1MW.js} +1 -1
  50. package/.output/public/_nuxt/CeG9pBAD.js +1 -0
  51. package/.output/public/_nuxt/{DBtBvrYc.js → CeW8v31b.js} +1 -1
  52. package/.output/public/_nuxt/{DZUgX70W.js → CjPfj7ya.js} +1 -1
  53. package/.output/public/_nuxt/Cnsmicv2.js +79 -0
  54. package/.output/public/_nuxt/CsLojMwR.js +1 -0
  55. package/.output/public/_nuxt/{BXY_PWcx.js → Cus22Ud3.js} +2 -2
  56. package/.output/public/_nuxt/{4TxgDGVa.js → CwGWJbiy.js} +1 -1
  57. package/.output/public/_nuxt/Cx6gc2VW.js +1 -0
  58. package/.output/public/_nuxt/{B1X__ilH.js → CxyAzHr3.js} +1 -1
  59. package/.output/public/_nuxt/{BJtlcTrb.js → CzAPFPpL.js} +1 -1
  60. package/.output/public/_nuxt/D--H4jLI.js +1 -0
  61. package/.output/public/_nuxt/D-c8ZSws.js +1 -0
  62. package/.output/public/_nuxt/D1POo6S4.js +10 -0
  63. package/.output/public/_nuxt/D5tke0B5.js +1 -0
  64. package/.output/public/_nuxt/D8nkF-OO.js +3 -0
  65. package/.output/public/_nuxt/DA25RkyK.js +1 -0
  66. package/.output/public/_nuxt/{DZ1zNBVM.js → DIB-5fUJ.js} +1 -1
  67. package/.output/public/_nuxt/DJmoLeVt.js +1 -0
  68. package/.output/public/_nuxt/DJxlKFGb.js +1 -0
  69. package/.output/public/_nuxt/DMec-OLo.js +1 -0
  70. package/.output/public/_nuxt/DPCxhHri.js +1 -0
  71. package/.output/public/_nuxt/{By4YL7mx.js → DSqHUrvO.js} +1 -1
  72. package/.output/public/_nuxt/DabzhQB1.js +1 -0
  73. package/.output/public/_nuxt/{D5oNv2cB.js → DdwHkKfV.js} +1 -1
  74. package/.output/public/_nuxt/{CfOLBbW9.js → DeY2JkR2.js} +1 -1
  75. package/.output/public/_nuxt/{CPLJeOCb.js → DfgOx_ou.js} +1 -1
  76. package/.output/public/_nuxt/DmkUdSS4.js +1 -0
  77. package/.output/public/_nuxt/{CUvGJXY3.js → DoIREDVb.js} +1 -1
  78. package/.output/public/_nuxt/DpZ1r1HA.js +1 -0
  79. package/.output/public/_nuxt/{BOCwBVnz.js → Dpd16JVI.js} +1 -1
  80. package/.output/public/_nuxt/DqcKngf3.js +1 -0
  81. package/.output/public/_nuxt/{xqiPI_FQ.js → DrfE8IY0.js} +1 -1
  82. package/.output/public/_nuxt/{BeFDVhpA.js → DsesNydr.js} +1 -1
  83. package/.output/public/_nuxt/{D0cnIs93.js → DtHJgCS8.js} +1 -1
  84. package/.output/public/_nuxt/Dtd4rC58.js +9 -0
  85. package/.output/public/_nuxt/Du2W7Jne.js +254 -0
  86. package/.output/public/_nuxt/DuwtTfO8.js +2 -0
  87. package/.output/public/_nuxt/Dy-TJ0Mt.js +1 -0
  88. package/.output/public/_nuxt/{BlnwU1OO.js → Dy86h-7P.js} +1 -1
  89. package/.output/public/_nuxt/{B-IcwqZ2.js → Dyeqn3aG.js} +1 -1
  90. package/.output/public/_nuxt/{BlA8mIS-.js → FaFoMVKo.js} +1 -1
  91. package/.output/public/_nuxt/GPNI1ffD.js +4 -0
  92. package/.output/public/_nuxt/{DWowvnwc.js → H94BMf3L.js} +1 -1
  93. package/.output/public/_nuxt/HPNQD6v3.js +1 -0
  94. package/.output/public/_nuxt/HXadJrHu.js +2 -0
  95. package/.output/public/_nuxt/KyA_4Ks-.js +1 -0
  96. package/.output/public/_nuxt/{e7zD3uJ0.js → L3kAWB2a.js} +1 -1
  97. package/.output/public/_nuxt/McL25vkx.js +34 -0
  98. package/.output/public/_nuxt/Nn93e_Mz.js +1 -0
  99. package/.output/public/_nuxt/TagBadge.By1E6r4y.css +1 -0
  100. package/.output/public/_nuxt/UdR3DBPS.js +1 -0
  101. package/.output/public/_nuxt/Und3xXFc.js +5 -0
  102. package/.output/public/_nuxt/_mj6CfPa.js +1 -0
  103. package/.output/public/_nuxt/b-GYfcrQ.js +1 -0
  104. package/.output/public/_nuxt/bLcjFslv.js +1 -0
  105. package/.output/public/_nuxt/builds/latest.json +1 -1
  106. package/.output/public/_nuxt/builds/meta/e659b3e1-0e61-4971-940e-10063f9f4763.json +1 -0
  107. package/.output/public/_nuxt/entry.DmptwB51.css +1 -0
  108. package/.output/public/_nuxt/{wHnZ9OaL.js → hC_z4G8p.js} +1 -1
  109. package/.output/public/_nuxt/{DZOS7Fh7.js → hNh4CIL0.js} +1 -1
  110. package/.output/public/_nuxt/{kjYMoWWx.js → l5WKbU4h.js} +3 -3
  111. package/.output/public/_nuxt/oAClCn_h.js +1 -0
  112. package/.output/public/_nuxt/{gnCL8GjZ.js → pQqGiNch.js} +1 -1
  113. package/.output/public/_nuxt/ryMzSDUj.js +2 -0
  114. package/.output/public/demo/seed.version.json +2 -2
  115. package/.output/server/chunks/_/ai-prompt-preview.mjs +38 -0
  116. package/.output/server/chunks/_/ai-prompt-preview.mjs.map +1 -0
  117. package/.output/server/chunks/_/collect.mjs +122 -0
  118. package/.output/server/chunks/_/collect.mjs.map +1 -0
  119. package/.output/server/chunks/_/markers.mjs +1 -1
  120. package/.output/server/chunks/_/quarantine.mjs +112 -0
  121. package/.output/server/chunks/_/quarantine.mjs.map +1 -0
  122. package/.output/server/chunks/_/users.mjs +1 -1
  123. package/.output/server/chunks/build/{Alert-Bp1Wz_sq.mjs → Alert-C4xq8lao.mjs} +2 -2
  124. package/.output/server/chunks/build/Alert-C4xq8lao.mjs.map +1 -0
  125. package/.output/server/chunks/build/{Breadcrumb-C9ZPTLym.mjs → Breadcrumb-Ak2Lg3oM.mjs} +3 -3
  126. package/.output/server/chunks/build/Breadcrumb-Ak2Lg3oM.mjs.map +1 -0
  127. package/.output/server/chunks/build/{BreadcrumbNav-C3y42Vun.mjs → BreadcrumbNav-DO7I_z-n.mjs} +3 -3
  128. package/.output/server/chunks/build/BreadcrumbNav-DO7I_z-n.mjs.map +1 -0
  129. package/.output/server/chunks/build/{BrowserBadge-DNCp9pF-.mjs → BrowserBadge-MFvBwxmD.mjs} +67 -7
  130. package/.output/server/chunks/build/BrowserBadge-MFvBwxmD.mjs.map +1 -0
  131. package/.output/server/chunks/build/{ChartCard-Fr557IbV.mjs → ChartCard-Y1UKwMsf.mjs} +2 -2
  132. package/.output/server/chunks/build/ChartCard-Y1UKwMsf.mjs.map +1 -0
  133. package/.output/server/chunks/build/{Checkbox-cVOSIY93.mjs → Checkbox-4Q5d0fa0.mjs} +8 -8
  134. package/.output/server/chunks/build/Checkbox-4Q5d0fa0.mjs.map +1 -0
  135. package/.output/server/chunks/build/CiEnvCard-DB5DvBh1.mjs +1492 -0
  136. package/.output/server/chunks/build/CiEnvCard-DB5DvBh1.mjs.map +1 -0
  137. package/.output/server/chunks/build/{CodeBlock-BGwNmJ8J.mjs → CodeBlock-BgE-NSmE.mjs} +7 -22
  138. package/.output/server/chunks/build/CodeBlock-BgE-NSmE.mjs.map +1 -0
  139. package/.output/server/chunks/build/{DashboardNavbar-Bdp-OwTN.mjs → DashboardNavbar-BHmMSPX7.mjs} +3 -3
  140. package/.output/server/chunks/build/DashboardNavbar-BHmMSPX7.mjs.map +1 -0
  141. package/.output/server/chunks/build/{DashboardSidebarToggle-Ji6ADuqF.mjs → DashboardSidebarToggle-DCTnHiIv.mjs} +3 -3
  142. package/.output/server/chunks/build/DashboardSidebarToggle-DCTnHiIv.mjs.map +1 -0
  143. package/.output/server/chunks/build/{DataLocationCard-D6xSOrme.mjs → DataLocationCard-B_YHdzSz.mjs} +3 -3
  144. package/.output/server/chunks/build/DataLocationCard-B_YHdzSz.mjs.map +1 -0
  145. package/.output/server/chunks/build/{DiagnosisPanel-DV1xwGu4.mjs → DiagnosisPanel-CALyEmcJ.mjs} +17 -528
  146. package/.output/server/chunks/build/DiagnosisPanel-CALyEmcJ.mjs.map +1 -0
  147. package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs +43 -0
  148. package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs.map +1 -0
  149. package/.output/server/chunks/build/{EmptyState-DV3oT_xz.mjs → EmptyState-DC2q_7TD.mjs} +3 -3
  150. package/.output/server/chunks/build/EmptyState-DC2q_7TD.mjs.map +1 -0
  151. package/.output/server/chunks/build/{EntityLinks-DeOP13Kr.mjs → EntityLinks-BBHWssHH.mjs} +6 -6
  152. package/.output/server/chunks/build/EntityLinks-BBHWssHH.mjs.map +1 -0
  153. package/.output/server/chunks/build/{EnvManagedBadge-Qpn58Nmr.mjs → EnvManagedBadge-UwD2b9v2.mjs} +3 -3
  154. package/.output/server/chunks/build/EnvManagedBadge-UwD2b9v2.mjs.map +1 -0
  155. package/.output/server/chunks/build/{FormField-B-GSn_VR.mjs → FormField-B0HKsdMd.mjs} +3 -3
  156. package/.output/server/chunks/build/FormField-B0HKsdMd.mjs.map +1 -0
  157. package/.output/server/chunks/build/{HelpHint-YEMWtKu1.mjs → HelpHint-DrcIv-Oj.mjs} +53 -6
  158. package/.output/server/chunks/build/HelpHint-DrcIv-Oj.mjs.map +1 -0
  159. package/.output/server/chunks/build/{Label-DBvbHd3A.mjs → Label-DYDR1Oeh.mjs} +2 -2
  160. package/.output/server/chunks/build/Label-DYDR1Oeh.mjs.map +1 -0
  161. package/.output/server/chunks/build/{MiniRunBars-C3HG-EYm.mjs → MiniRunBars-CZMugDrh.mjs} +2 -2
  162. package/.output/server/chunks/build/MiniRunBars-CZMugDrh.mjs.map +1 -0
  163. package/.output/server/chunks/build/{Modal-CfA78Hm1.mjs → Modal-pSDlXzT3.mjs} +2 -2
  164. package/.output/server/chunks/build/Modal-pSDlXzT3.mjs.map +1 -0
  165. package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs → OpenInIdeLink-CQWKKChd.mjs} +6 -6
  166. package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs.map → OpenInIdeLink-CQWKKChd.mjs.map} +1 -1
  167. package/.output/server/chunks/build/{ProjectTestCasesTable-9Ia825h8.mjs → ProjectTestCasesTable-Bo61P5K1.mjs} +120 -45
  168. package/.output/server/chunks/build/ProjectTestCasesTable-Bo61P5K1.mjs.map +1 -0
  169. package/.output/server/chunks/build/{RovingFocusItem-CxhHdNGo.mjs → RovingFocusItem--OEHI2P3.mjs} +2 -2
  170. package/.output/server/chunks/build/RovingFocusItem--OEHI2P3.mjs.map +1 -0
  171. package/.output/server/chunks/build/{RunReports-BpJqLHY9.mjs → RunReports-DFLv51TX.mjs} +8 -6
  172. package/.output/server/chunks/build/RunReports-DFLv51TX.mjs.map +1 -0
  173. package/.output/server/chunks/build/{RunStatusBadge-BhmJ_RKM.mjs → RunStatusBadge-FfGb6bkW.mjs} +3 -2
  174. package/.output/server/chunks/build/RunStatusBadge-FfGb6bkW.mjs.map +1 -0
  175. package/.output/server/chunks/build/{SectionCard-COd9TuDq.mjs → SectionCard-CN-v0FZ_.mjs} +2 -2
  176. package/.output/server/chunks/build/SectionCard-CN-v0FZ_.mjs.map +1 -0
  177. package/.output/server/chunks/build/{Select-ppPz926C.mjs → Select-5DK9frQ7.mjs} +4 -4
  178. package/.output/server/chunks/build/Select-5DK9frQ7.mjs.map +1 -0
  179. package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs → SelectMenu-D-2FSqBU.mjs} +939 -7
  180. package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs.map → SelectMenu-D-2FSqBU.mjs.map} +1 -1
  181. package/.output/server/chunks/build/{Separator-CxZdx8kw.mjs → Separator-CR4WcEKD.mjs} +2 -2
  182. package/.output/server/chunks/build/Separator-CR4WcEKD.mjs.map +1 -0
  183. package/.output/server/chunks/build/{SettingsField-DDD4oqys.mjs → SettingsField-BZfx4ma1.mjs} +6 -6
  184. package/.output/server/chunks/build/SettingsField-BZfx4ma1.mjs.map +1 -0
  185. package/.output/server/chunks/build/{Slideover-B95Rj237.mjs → Slideover-D270EZZD.mjs} +3 -3
  186. package/.output/server/chunks/build/Slideover-D270EZZD.mjs.map +1 -0
  187. package/.output/server/chunks/build/{Switch-xQQ3_ME1.mjs → Switch-B5Fp8ULt.mjs} +5 -5
  188. package/.output/server/chunks/build/Switch-B5Fp8ULt.mjs.map +1 -0
  189. package/.output/server/chunks/build/{Table-CPhhVzDv.mjs → Table-BRk04Hd2.mjs} +3 -3
  190. package/.output/server/chunks/build/Table-BRk04Hd2.mjs.map +1 -0
  191. package/.output/server/chunks/build/{Tabs-BV9XqjoO.mjs → Tabs-BkSOnbaB.mjs} +3 -3
  192. package/.output/server/chunks/build/Tabs-BkSOnbaB.mjs.map +1 -0
  193. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs +31 -0
  194. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs.map +1 -0
  195. package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs +8 -0
  196. package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs.map +1 -0
  197. package/.output/server/chunks/build/{TestCaseHistoryChart-DMb-xSJa.mjs → TestCaseHistoryChart-CSi64vVA.mjs} +6 -6
  198. package/.output/server/chunks/build/TestCaseHistoryChart-CSi64vVA.mjs.map +1 -0
  199. package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs +200 -0
  200. package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs.map +1 -0
  201. package/.output/server/chunks/build/{TestStatusBar-CEzt76wk.mjs → TestStatusBar-DX3EhlyP.mjs} +15 -15
  202. package/.output/server/chunks/build/TestStatusBar-DX3EhlyP.mjs.map +1 -0
  203. package/.output/server/chunks/build/{Textarea-DrrqQUVG.mjs → Textarea-Dv2-lOvW.mjs} +2 -2
  204. package/.output/server/chunks/build/Textarea-Dv2-lOvW.mjs.map +1 -0
  205. package/.output/server/chunks/build/{Tooltip-7vwuDPrZ.mjs → Tooltip-Dv4htNP6.mjs} +3 -3
  206. package/.output/server/chunks/build/Tooltip-Dv4htNP6.mjs.map +1 -0
  207. package/.output/server/chunks/build/{VisuallyHiddenInput-C9eJVpPW.mjs → VisuallyHiddenInput-BHvzNumK.mjs} +2 -2
  208. package/.output/server/chunks/build/VisuallyHiddenInput-BHvzNumK.mjs.map +1 -0
  209. package/.output/server/chunks/build/{_id_-CE0Gso6i.mjs → _id_-BdG37K7s.mjs} +91 -42
  210. package/.output/server/chunks/build/_id_-BdG37K7s.mjs.map +1 -0
  211. package/.output/server/chunks/build/{_id_-bWcP2xFl.mjs → _id_-BdJs7BJZ.mjs} +719 -448
  212. package/.output/server/chunks/build/_id_-BdJs7BJZ.mjs.map +1 -0
  213. package/.output/server/chunks/build/{_id_-B2yirIuA.mjs → _id_-BxA6IgWr.mjs} +831 -368
  214. package/.output/server/chunks/build/_id_-BxA6IgWr.mjs.map +1 -0
  215. package/.output/server/chunks/build/{_id_-B4V5fop6.mjs → _id_-C_uSBiyU.mjs} +296 -60
  216. package/.output/server/chunks/build/{_id_-B4V5fop6.mjs.map → _id_-C_uSBiyU.mjs.map} +1 -1
  217. package/.output/server/chunks/build/{about-CoJjvUwM.mjs → about-BE0UV-8-.mjs} +456 -61
  218. package/.output/server/chunks/build/about-BE0UV-8-.mjs.map +1 -0
  219. package/.output/server/chunks/build/{account-Cn-eZqXM.mjs → account-DAfvaD-F.mjs} +21 -9
  220. package/.output/server/chunks/build/account-DAfvaD-F.mjs.map +1 -0
  221. package/.output/server/chunks/build/{ai-7jdaPOmj.mjs → ai-Cn05ch0u.mjs} +45 -23
  222. package/.output/server/chunks/build/{ai-7jdaPOmj.mjs.map → ai-Cn05ch0u.mjs.map} +1 -1
  223. package/.output/server/chunks/build/{analytics-B276WPeU.mjs → analytics-Bo_B_jko.mjs} +66 -41
  224. package/.output/server/chunks/build/analytics-Bo_B_jko.mjs.map +1 -0
  225. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  226. package/.output/server/chunks/build/compare-RxHSOdsO.mjs +12 -0
  227. package/.output/server/chunks/build/{db.client-aHcD0wyX.mjs → db.client-CQoVTYB9.mjs} +83 -5
  228. package/.output/server/chunks/build/db.client-CQoVTYB9.mjs.map +1 -0
  229. package/.output/server/chunks/build/{default-BSzdkM_L.mjs → default-CbNHaFsy.mjs} +622 -78
  230. package/.output/server/chunks/build/default-CbNHaFsy.mjs.map +1 -0
  231. package/.output/server/chunks/build/{docs-BN_x1OW3.mjs → docs-B_llWMxx.mjs} +30 -49
  232. package/.output/server/chunks/build/{docs-BN_x1OW3.mjs.map → docs-B_llWMxx.mjs.map} +1 -1
  233. package/.output/server/chunks/build/{edit-C9Z7oZeu.mjs → edit-J0asTFg8.mjs} +29 -18
  234. package/.output/server/chunks/build/edit-J0asTFg8.mjs.map +1 -0
  235. package/.output/server/chunks/build/{fetch-8kznMtBM.mjs → fetch-B4FwBOzu.mjs} +3 -3
  236. package/.output/server/chunks/build/fetch-B4FwBOzu.mjs.map +1 -0
  237. package/.output/server/chunks/build/{forgot-password-BqPF4Rxs.mjs → forgot-password-CC__1OnV.mjs} +17 -5
  238. package/.output/server/chunks/build/forgot-password-CC__1OnV.mjs.map +1 -0
  239. package/.output/server/chunks/build/{help-content-DmFnuhNu.mjs → help-content-C876a9WD.mjs} +37 -8
  240. package/.output/server/chunks/build/help-content-C876a9WD.mjs.map +1 -0
  241. package/.output/server/chunks/build/import-CS9oylTN.mjs +1021 -0
  242. package/.output/server/chunks/build/import-CS9oylTN.mjs.map +1 -0
  243. package/.output/server/chunks/build/{index-CULN3-en.mjs → index-CU2nZhAa.mjs} +113 -42
  244. package/.output/server/chunks/build/index-CU2nZhAa.mjs.map +1 -0
  245. package/.output/server/chunks/build/{index-BR9hw6qk.mjs → index-DE45ycdZ.mjs} +51 -31
  246. package/.output/server/chunks/build/index-DE45ycdZ.mjs.map +1 -0
  247. package/.output/server/chunks/build/{index-BK9PTRpd.mjs → index-e9skCi-V.mjs} +85 -69
  248. package/.output/server/chunks/build/{index-BK9PTRpd.mjs.map → index-e9skCi-V.mjs.map} +1 -1
  249. package/.output/server/chunks/build/{index-DVUtBexc.mjs → index-hGHlmyxj.mjs} +1520 -288
  250. package/.output/server/chunks/build/index-hGHlmyxj.mjs.map +1 -0
  251. package/.output/server/chunks/build/{index-Ba-Fifra.mjs → index-tR6owKzj.mjs} +18 -6
  252. package/.output/server/chunks/build/index-tR6owKzj.mjs.map +1 -0
  253. package/.output/server/chunks/build/{isValueEqualOrExist-DBZjbD_3.mjs → isValueEqualOrExist-D2qw9YEr.mjs} +3 -3
  254. package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs.map +1 -0
  255. package/.output/server/chunks/build/{login-D2XZDuek.mjs → login-Da4u1IlW.mjs} +19 -7
  256. package/.output/server/chunks/build/login-Da4u1IlW.mjs.map +1 -0
  257. package/.output/server/chunks/build/{mcp-_o6cMS6m.mjs → mcp-uhVCCwQM.mjs} +359 -24
  258. package/.output/server/chunks/build/mcp-uhVCCwQM.mjs.map +1 -0
  259. package/.output/server/chunks/build/{notifications-Dzm9c0u_.mjs → notifications-fx_qnKGA.mjs} +27 -21
  260. package/.output/server/chunks/build/notifications-fx_qnKGA.mjs.map +1 -0
  261. package/.output/server/chunks/build/pr-feedback-X6-70iF0.mjs +368 -0
  262. package/.output/server/chunks/build/pr-feedback-X6-70iF0.mjs.map +1 -0
  263. package/.output/server/chunks/build/{reset-password-gpFzIEDj.mjs → reset-password-BmrUS4ZD.mjs} +17 -5
  264. package/.output/server/chunks/build/reset-password-BmrUS4ZD.mjs.map +1 -0
  265. package/.output/server/chunks/build/server.mjs +238 -36
  266. package/.output/server/chunks/build/{settings-pNyPBXVa.mjs → settings-CCYe7rsc.mjs} +23 -10
  267. package/.output/server/chunks/build/settings-CCYe7rsc.mjs.map +1 -0
  268. package/.output/server/chunks/build/{settings-metadata-B0wo5R-W.mjs → settings-metadata-DrEqWcW-.mjs} +11 -2
  269. package/.output/server/chunks/build/settings-metadata-DrEqWcW-.mjs.map +1 -0
  270. package/.output/server/chunks/build/{storage-XelzuyPy.mjs → storage-CJEmviCD.mjs} +41 -31
  271. package/.output/server/chunks/build/storage-CJEmviCD.mjs.map +1 -0
  272. package/.output/server/chunks/build/styles.mjs +1 -0
  273. package/.output/server/chunks/build/{tags-DrCQ7QSw.mjs → tags-DauTe_F-.mjs} +22 -10
  274. package/.output/server/chunks/build/tags-DauTe_F-.mjs.map +1 -0
  275. package/.output/server/chunks/build/{test-cases-pmOxi-AN.mjs → test-cases-thBbAykw.mjs} +38 -24
  276. package/.output/server/chunks/build/test-cases-thBbAykw.mjs.map +1 -0
  277. package/.output/server/chunks/build/{timeout-hygiene-CNs71Iah.mjs → timeout-hygiene-CbnSaVbK.mjs} +20 -8
  278. package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs.map +1 -0
  279. package/.output/server/chunks/build/{useAiStatus-ZO987RY7.mjs → useAiStatus-CxjMmDDY.mjs} +89 -89
  280. package/.output/server/chunks/build/useAiStatus-CxjMmDDY.mjs.map +1 -0
  281. package/.output/server/chunks/build/{useCopy-BQQKcwlq.mjs → useCopy-CeKWgHyT.mjs} +2 -2
  282. package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs.map +1 -0
  283. package/.output/server/chunks/build/{PageStateCard-Bwee6JTk.mjs → useCopyRich-RJKhWoyj.mjs} +472 -63
  284. package/.output/server/chunks/build/useCopyRich-RJKhWoyj.mjs.map +1 -0
  285. package/.output/server/chunks/build/useDesktopDownload-BepjqxOt.mjs +46 -0
  286. package/.output/server/chunks/build/useDesktopDownload-BepjqxOt.mjs.map +1 -0
  287. package/.output/server/chunks/build/{useFormControl-BLpq1s4O.mjs → useFormControl-CZ9So7iX.mjs} +2 -2
  288. package/.output/server/chunks/build/useFormControl-CZ9So7iX.mjs.map +1 -0
  289. package/.output/server/chunks/build/{useOpenInIde-kMZ7Jw5c.mjs → useOpenInIde-BbTnPhFA.mjs} +3 -3
  290. package/.output/server/chunks/build/useOpenInIde-BbTnPhFA.mjs.map +1 -0
  291. package/.output/server/chunks/build/{useSettingsNav-NjI2seBy.mjs → useSettingsNav-DnQKacz8.mjs} +6 -6
  292. package/.output/server/chunks/build/useSettingsNav-DnQKacz8.mjs.map +1 -0
  293. package/.output/server/chunks/build/useTauri-Kf3HE_42.mjs +11 -0
  294. package/.output/server/chunks/build/useTauri-Kf3HE_42.mjs.map +1 -0
  295. package/.output/server/chunks/build/{useTreeViewCookie-DVYpxW-p.mjs → useTreeViewCookie-CQjQdTkH.mjs} +2 -2
  296. package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs.map +1 -0
  297. package/.output/server/chunks/build/{users-NmAUZs3i.mjs → users-CTUqXyGh.mjs} +22 -10
  298. package/.output/server/chunks/build/users-CTUqXyGh.mjs.map +1 -0
  299. package/.output/server/chunks/build/{wasted-time-CguAF9zc.mjs → wasted-time-BNTPIyrC.mjs} +26 -14
  300. package/.output/server/chunks/build/wasted-time-BNTPIyrC.mjs.map +1 -0
  301. package/.output/server/chunks/nitro/nitro.mjs +6438 -1964
  302. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  303. package/.output/server/chunks/routes/__piwi/session.get.mjs +13 -1
  304. package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
  305. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +12 -0
  306. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
  307. package/.output/server/chunks/routes/api/admin/stats.get.mjs +12 -0
  308. package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
  309. package/.output/server/chunks/routes/api/ai/status.get.mjs +12 -0
  310. package/.output/server/chunks/routes/api/ai/status.get.mjs.map +1 -1
  311. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +12 -0
  312. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
  313. package/.output/server/chunks/routes/api/auth/change-password.post.mjs +12 -0
  314. package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
  315. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +12 -0
  316. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
  317. package/.output/server/chunks/routes/api/auth/login.post.mjs +12 -0
  318. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
  319. package/.output/server/chunks/routes/api/auth/logout.post.mjs +12 -0
  320. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
  321. package/.output/server/chunks/routes/api/auth/me.get.mjs +12 -0
  322. package/.output/server/chunks/routes/api/auth/me.get.mjs.map +1 -1
  323. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +12 -0
  324. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs.map +1 -1
  325. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +12 -0
  326. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
  327. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +12 -0
  328. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
  329. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +12 -0
  330. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
  331. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +12 -0
  332. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
  333. package/.output/server/chunks/routes/api/auth/setup.get.mjs +12 -0
  334. package/.output/server/chunks/routes/api/auth/setup.get.mjs.map +1 -1
  335. package/.output/server/chunks/routes/api/auth/setup.post.mjs +12 -0
  336. package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
  337. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +12 -0
  338. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
  339. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +12 -0
  340. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
  341. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +12 -0
  342. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
  343. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +12 -0
  344. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
  345. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +12 -0
  346. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
  347. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs +88 -0
  348. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -0
  349. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +12 -0
  350. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -1
  351. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +13 -1
  352. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
  353. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +13 -1
  354. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
  355. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +13 -1
  356. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
  357. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +13 -1
  358. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
  359. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +24 -1
  360. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
  361. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +13 -1
  362. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
  363. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +13 -1
  364. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
  365. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +13 -1
  366. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
  367. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +13 -1
  368. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs.map +1 -1
  369. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +64 -0
  370. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -0
  371. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +13 -1
  372. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
  373. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +56 -0
  374. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -0
  375. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +13 -1
  376. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
  377. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +13 -1
  378. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
  379. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +13 -1
  380. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
  381. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +13 -32
  382. package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
  383. package/.output/server/chunks/routes/api/health.get.mjs +13 -1
  384. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  385. package/.output/server/chunks/routes/api/index.get.mjs +12 -0
  386. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  387. package/.output/server/chunks/routes/api/index.get2.mjs +13 -1
  388. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
  389. package/.output/server/chunks/routes/api/index.get3.mjs +13 -1
  390. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  391. package/.output/server/chunks/routes/api/index.get4.mjs +13 -1
  392. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
  393. package/.output/server/chunks/routes/api/index.get5.mjs +12 -0
  394. package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
  395. package/.output/server/chunks/routes/api/index.post.mjs +12 -0
  396. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  397. package/.output/server/chunks/routes/api/index.post2.mjs +13 -1
  398. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  399. package/.output/server/chunks/routes/api/index.post3.mjs +13 -1
  400. package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
  401. package/.output/server/chunks/routes/api/index.post4.mjs +13 -1
  402. package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
  403. package/.output/server/chunks/routes/api/index.post5.mjs +13 -1
  404. package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
  405. package/.output/server/chunks/routes/api/index.post6.mjs +12 -0
  406. package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
  407. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +13 -1
  408. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
  409. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +13 -1
  410. package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
  411. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +13 -1
  412. package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
  413. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +13 -1
  414. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
  415. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +13 -1
  416. package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +1 -1
  417. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +13 -1
  418. package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
  419. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +13 -1
  420. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
  421. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +13 -1
  422. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
  423. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +13 -1
  424. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
  425. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +22 -2
  426. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
  427. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +13 -1
  428. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs.map +1 -1
  429. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +13 -1
  430. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
  431. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +13 -1
  432. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
  433. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +13 -1
  434. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
  435. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +13 -1
  436. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
  437. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +13 -1
  438. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
  439. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +58 -0
  440. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -0
  441. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +57 -0
  442. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -0
  443. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +72 -0
  444. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -0
  445. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +13 -1
  446. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
  447. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +13 -1
  448. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
  449. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +13 -1
  450. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
  451. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +13 -1
  452. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
  453. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +13 -1
  454. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
  455. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +13 -1
  456. package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
  457. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +13 -1
  458. package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +1 -1
  459. package/.output/server/chunks/routes/api/projects/menu.get.mjs +13 -1
  460. package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
  461. package/.output/server/chunks/routes/api/projects/overview.get.mjs +13 -1
  462. package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
  463. package/.output/server/chunks/routes/api/projects.get.mjs +13 -1
  464. package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
  465. package/.output/server/chunks/routes/api/search.get.mjs +13 -1
  466. package/.output/server/chunks/routes/api/search.get.mjs.map +1 -1
  467. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +13 -1
  468. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs.map +1 -1
  469. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +13 -1
  470. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs.map +1 -1
  471. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +12 -0
  472. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs.map +1 -1
  473. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +13 -1
  474. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
  475. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +13 -1
  476. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
  477. package/.output/server/chunks/routes/api/settings/ai.get.mjs +13 -1
  478. package/.output/server/chunks/routes/api/settings/ai.get.mjs.map +1 -1
  479. package/.output/server/chunks/routes/api/settings/ai.put.mjs +13 -1
  480. package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
  481. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +57 -0
  482. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs.map +1 -0
  483. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +63 -0
  484. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs.map +1 -0
  485. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +12 -0
  486. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
  487. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +13 -1
  488. package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
  489. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +13 -1
  490. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -1
  491. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +13 -1
  492. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -1
  493. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +13 -1
  494. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs.map +1 -1
  495. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +13 -1
  496. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
  497. package/.output/server/chunks/routes/api/stream.get.mjs +13 -1
  498. package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
  499. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +13 -1
  500. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
  501. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +13 -1
  502. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
  503. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +13 -1
  504. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
  505. package/.output/server/chunks/routes/api/tags/_id_.put.mjs +13 -1
  506. package/.output/server/chunks/routes/api/tags/_id_.put.mjs.map +1 -1
  507. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +13 -1
  508. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs.map +1 -1
  509. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +13 -1
  510. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs.map +1 -1
  511. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +13 -1
  512. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
  513. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +13 -1
  514. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
  515. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +25 -3
  516. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
  517. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +13 -1
  518. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs.map +1 -1
  519. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +60 -0
  520. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -0
  521. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +13 -1
  522. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
  523. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +13 -1
  524. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
  525. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +13 -1
  526. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
  527. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +13 -1
  528. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
  529. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +17 -3
  530. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
  531. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +13 -1
  532. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +1 -1
  533. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +13 -1
  534. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +1 -1
  535. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +13 -1
  536. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +1 -1
  537. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +13 -1
  538. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +1 -1
  539. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +13 -1
  540. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +1 -1
  541. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +13 -1
  542. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +1 -1
  543. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +13 -1
  544. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +1 -1
  545. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +13 -1
  546. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
  547. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +13 -1
  548. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
  549. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +15 -1
  550. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
  551. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +196 -0
  552. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -0
  553. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +13 -1
  554. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
  555. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +13 -1
  556. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
  557. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +13 -1
  558. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
  559. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +13 -1
  560. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
  561. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +13 -1
  562. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
  563. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +13 -1
  564. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
  565. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +13 -1
  566. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
  567. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +13 -1
  568. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
  569. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +13 -1
  570. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
  571. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +77 -0
  572. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -0
  573. package/.output/server/chunks/routes/api/test-runs/import.post.mjs +77 -0
  574. package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -0
  575. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +13 -1
  576. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
  577. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +13 -1
  578. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
  579. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +13 -1
  580. package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
  581. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +32 -15
  582. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
  583. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +21 -6
  584. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
  585. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +156 -3
  586. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
  587. package/.output/server/chunks/routes/api/traces/check.post.mjs +13 -1
  588. package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
  589. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +12 -0
  590. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
  591. package/.output/server/chunks/routes/api/users/_id/index.get.mjs +12 -0
  592. package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
  593. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +13 -1
  594. package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
  595. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +13 -1
  596. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
  597. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +13 -1
  598. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
  599. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +13 -1
  600. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
  601. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +12 -0
  602. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  603. package/.output/server/chunks/routes/api/users/_id_.patch.mjs +12 -0
  604. package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
  605. package/.output/server/chunks/routes/api/version.get.mjs +13 -1
  606. package/.output/server/chunks/routes/api/version.get.mjs.map +1 -1
  607. package/.output/server/chunks/routes/mcp.post.mjs +13 -1
  608. package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
  609. package/.output/server/chunks/routes/renderer.mjs +1 -1
  610. package/.output/server/chunks/tasks/sweep.mjs +12 -0
  611. package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
  612. package/.output/server/chunks/tasks/sweep2.mjs +12 -0
  613. package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
  614. package/.output/server/database/migrations/0039_remarkable_jean_grey.sql +2 -0
  615. package/.output/server/database/migrations/0040_organic_phalanx.sql +8 -0
  616. package/.output/server/database/migrations/0041_tense_gravity.sql +5 -0
  617. package/.output/server/database/migrations/0042_burly_hemingway.sql +19 -0
  618. package/.output/server/database/migrations/meta/0039_snapshot.json +3403 -0
  619. package/.output/server/database/migrations/meta/0040_snapshot.json +3457 -0
  620. package/.output/server/database/migrations/meta/0041_snapshot.json +3492 -0
  621. package/.output/server/database/migrations/meta/0042_snapshot.json +3618 -0
  622. package/.output/server/database/migrations/meta/_journal.json +28 -0
  623. package/.output/server/database/migrations-pg/0040_lazy_layla_miller.sql +2 -0
  624. package/.output/server/database/migrations-pg/0041_light_screwball.sql +8 -0
  625. package/.output/server/database/migrations-pg/0042_serious_layla_miller.sql +5 -0
  626. package/.output/server/database/migrations-pg/0043_wonderful_mordo.sql +19 -0
  627. package/.output/server/database/migrations-pg/meta/0040_snapshot.json +4060 -0
  628. package/.output/server/database/migrations-pg/meta/0041_snapshot.json +4123 -0
  629. package/.output/server/database/migrations-pg/meta/0042_snapshot.json +4153 -0
  630. package/.output/server/database/migrations-pg/meta/0043_snapshot.json +4308 -0
  631. package/.output/server/database/migrations-pg/meta/_journal.json +28 -0
  632. package/.output/server/index.mjs +13 -1
  633. package/.output/server/index.mjs.map +1 -1
  634. package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
  635. package/.output/server/node_modules/fflate/package.json +128 -0
  636. package/.output/server/node_modules/highlight.js/es/languages/yaml.js +213 -0
  637. package/.output/server/node_modules/marked/lib/marked.esm.js +72 -0
  638. package/.output/server/node_modules/marked/package.json +103 -0
  639. package/.output/server/package.json +3 -1
  640. package/package.json +2 -2
  641. package/.output/public/_nuxt/9-wVZMur.js +0 -4
  642. package/.output/public/_nuxt/B-5GukRk.js +0 -1
  643. package/.output/public/_nuxt/B1G3GGhQ.js +0 -1
  644. package/.output/public/_nuxt/B1zMFx24.js +0 -1
  645. package/.output/public/_nuxt/B4jvLMfS.js +0 -1
  646. package/.output/public/_nuxt/BBnX5xw4.js +0 -2
  647. package/.output/public/_nuxt/BHpUiv6j.js +0 -3
  648. package/.output/public/_nuxt/BLOUs6AE.js +0 -5
  649. package/.output/public/_nuxt/BT6p4Pgt.js +0 -2
  650. package/.output/public/_nuxt/BUXSUkJ_.js +0 -1
  651. package/.output/public/_nuxt/BVf6Yx9V.js +0 -26
  652. package/.output/public/_nuxt/BbS6Bwby.js +0 -1
  653. package/.output/public/_nuxt/Bd3HqPMF.js +0 -1
  654. package/.output/public/_nuxt/BeKvLsja.js +0 -2
  655. package/.output/public/_nuxt/BeUm5UNV.js +0 -1
  656. package/.output/public/_nuxt/BfV444H3.js +0 -3
  657. package/.output/public/_nuxt/BjKamgHq.js +0 -1
  658. package/.output/public/_nuxt/BoJdjCVl.js +0 -4
  659. package/.output/public/_nuxt/BreO2PiA.js +0 -1
  660. package/.output/public/_nuxt/BvIDC_R-.js +0 -1
  661. package/.output/public/_nuxt/ByuJWADR.js +0 -34
  662. package/.output/public/_nuxt/C1dyLp_j.js +0 -1
  663. package/.output/public/_nuxt/CAUgpKsF.js +0 -2
  664. package/.output/public/_nuxt/CL9-VLTJ.js +0 -1
  665. package/.output/public/_nuxt/CazDIG_m.js +0 -1
  666. package/.output/public/_nuxt/CcXaak_K.js +0 -1
  667. package/.output/public/_nuxt/CdMuck_X.js +0 -1
  668. package/.output/public/_nuxt/CfPSts5n.js +0 -1
  669. package/.output/public/_nuxt/CfROFPse.js +0 -1
  670. package/.output/public/_nuxt/Cnapl7lZ.js +0 -1
  671. package/.output/public/_nuxt/CscWZxCi.js +0 -1
  672. package/.output/public/_nuxt/CuicKV-B.js +0 -34
  673. package/.output/public/_nuxt/Cyiu1VQD.js +0 -1
  674. package/.output/public/_nuxt/D6PUPmRC.js +0 -1
  675. package/.output/public/_nuxt/DCl2yo4g.js +0 -8
  676. package/.output/public/_nuxt/DHXWp5yD.js +0 -1
  677. package/.output/public/_nuxt/DHltYerF.js +0 -114
  678. package/.output/public/_nuxt/DLXydYJb.js +0 -47
  679. package/.output/public/_nuxt/DRPSi76A.js +0 -1
  680. package/.output/public/_nuxt/DS53kyHJ.js +0 -1
  681. package/.output/public/_nuxt/DWhBqv_7.js +0 -1
  682. package/.output/public/_nuxt/Dd0kK5WH.js +0 -1
  683. package/.output/public/_nuxt/Df7kUO0m.js +0 -1
  684. package/.output/public/_nuxt/Dga3Av-m.js +0 -1
  685. package/.output/public/_nuxt/DgwTpwfB.js +0 -1
  686. package/.output/public/_nuxt/DkI145a5.js +0 -1
  687. package/.output/public/_nuxt/DoFBTaDR.js +0 -1
  688. package/.output/public/_nuxt/Dr_dI5hB.js +0 -1
  689. package/.output/public/_nuxt/EPZOxdgq.js +0 -1
  690. package/.output/public/_nuxt/R1nNqTru.js +0 -1
  691. package/.output/public/_nuxt/S5DLdEpg.js +0 -4
  692. package/.output/public/_nuxt/builds/meta/7caf3cb3-d272-4dbd-bb3f-1eeb64fab5d1.json +0 -1
  693. package/.output/public/_nuxt/entry.ChQMshd4.css +0 -1
  694. package/.output/public/_nuxt/gCELhaU9.js +0 -1
  695. package/.output/public/_nuxt/ipDzNHcs.js +0 -5
  696. package/.output/public/_nuxt/kS3boz40.js +0 -1
  697. package/.output/public/_nuxt/qH_j2A3a.js +0 -1
  698. package/.output/public/_nuxt/r3SBLxtE.js +0 -1
  699. package/.output/public/_nuxt/rsiRgrVM.js +0 -1
  700. package/.output/public/_nuxt/swrbBdtB.js +0 -1
  701. package/.output/public/sw.js +0 -1
  702. package/.output/public/workbox-2fbc6a65.js +0 -1
  703. package/.output/server/chunks/build/Alert-Bp1Wz_sq.mjs.map +0 -1
  704. package/.output/server/chunks/build/Breadcrumb-C9ZPTLym.mjs.map +0 -1
  705. package/.output/server/chunks/build/BreadcrumbNav-C3y42Vun.mjs.map +0 -1
  706. package/.output/server/chunks/build/BrowserBadge-DNCp9pF-.mjs.map +0 -1
  707. package/.output/server/chunks/build/ChartCard-Fr557IbV.mjs.map +0 -1
  708. package/.output/server/chunks/build/Checkbox-cVOSIY93.mjs.map +0 -1
  709. package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs +0 -640
  710. package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs.map +0 -1
  711. package/.output/server/chunks/build/CodeBlock-BGwNmJ8J.mjs.map +0 -1
  712. package/.output/server/chunks/build/DashboardNavbar-Bdp-OwTN.mjs.map +0 -1
  713. package/.output/server/chunks/build/DashboardSidebarToggle-Ji6ADuqF.mjs.map +0 -1
  714. package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs.map +0 -1
  715. package/.output/server/chunks/build/DiagnosisPanel-DV1xwGu4.mjs.map +0 -1
  716. package/.output/server/chunks/build/EmptyState-DV3oT_xz.mjs.map +0 -1
  717. package/.output/server/chunks/build/EntityLinks-DeOP13Kr.mjs.map +0 -1
  718. package/.output/server/chunks/build/EnvManagedBadge-Qpn58Nmr.mjs.map +0 -1
  719. package/.output/server/chunks/build/FormField-B-GSn_VR.mjs.map +0 -1
  720. package/.output/server/chunks/build/HelpHint-YEMWtKu1.mjs.map +0 -1
  721. package/.output/server/chunks/build/Label-DBvbHd3A.mjs.map +0 -1
  722. package/.output/server/chunks/build/MiniRunBars-C3HG-EYm.mjs.map +0 -1
  723. package/.output/server/chunks/build/Modal-CfA78Hm1.mjs.map +0 -1
  724. package/.output/server/chunks/build/PageStateCard-Bwee6JTk.mjs.map +0 -1
  725. package/.output/server/chunks/build/ProjectTestCasesTable-9Ia825h8.mjs.map +0 -1
  726. package/.output/server/chunks/build/RovingFocusItem-CxhHdNGo.mjs.map +0 -1
  727. package/.output/server/chunks/build/RunReports-BpJqLHY9.mjs.map +0 -1
  728. package/.output/server/chunks/build/RunStatusBadge-BhmJ_RKM.mjs.map +0 -1
  729. package/.output/server/chunks/build/SectionCard-COd9TuDq.mjs.map +0 -1
  730. package/.output/server/chunks/build/Select-ppPz926C.mjs.map +0 -1
  731. package/.output/server/chunks/build/Separator-CxZdx8kw.mjs.map +0 -1
  732. package/.output/server/chunks/build/SettingsField-DDD4oqys.mjs.map +0 -1
  733. package/.output/server/chunks/build/Slideover-B95Rj237.mjs.map +0 -1
  734. package/.output/server/chunks/build/Switch-xQQ3_ME1.mjs.map +0 -1
  735. package/.output/server/chunks/build/Table-CPhhVzDv.mjs.map +0 -1
  736. package/.output/server/chunks/build/Tabs-BV9XqjoO.mjs.map +0 -1
  737. package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs +0 -47
  738. package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs.map +0 -1
  739. package/.output/server/chunks/build/TestCaseHistoryChart-DMb-xSJa.mjs.map +0 -1
  740. package/.output/server/chunks/build/TestStatusBar-CEzt76wk.mjs.map +0 -1
  741. package/.output/server/chunks/build/Textarea-DrrqQUVG.mjs.map +0 -1
  742. package/.output/server/chunks/build/Tooltip-7vwuDPrZ.mjs.map +0 -1
  743. package/.output/server/chunks/build/VisuallyHiddenInput-C9eJVpPW.mjs.map +0 -1
  744. package/.output/server/chunks/build/_id_-B2yirIuA.mjs.map +0 -1
  745. package/.output/server/chunks/build/_id_-CE0Gso6i.mjs.map +0 -1
  746. package/.output/server/chunks/build/_id_-bWcP2xFl.mjs.map +0 -1
  747. package/.output/server/chunks/build/about-CoJjvUwM.mjs.map +0 -1
  748. package/.output/server/chunks/build/account-Cn-eZqXM.mjs.map +0 -1
  749. package/.output/server/chunks/build/analytics-B276WPeU.mjs.map +0 -1
  750. package/.output/server/chunks/build/db.client-aHcD0wyX.mjs.map +0 -1
  751. package/.output/server/chunks/build/default-BSzdkM_L.mjs.map +0 -1
  752. package/.output/server/chunks/build/edit-C9Z7oZeu.mjs.map +0 -1
  753. package/.output/server/chunks/build/fetch-8kznMtBM.mjs.map +0 -1
  754. package/.output/server/chunks/build/forgot-password-BqPF4Rxs.mjs.map +0 -1
  755. package/.output/server/chunks/build/help-content-DmFnuhNu.mjs.map +0 -1
  756. package/.output/server/chunks/build/index-BR9hw6qk.mjs.map +0 -1
  757. package/.output/server/chunks/build/index-Ba-Fifra.mjs.map +0 -1
  758. package/.output/server/chunks/build/index-CULN3-en.mjs.map +0 -1
  759. package/.output/server/chunks/build/index-DVUtBexc.mjs.map +0 -1
  760. package/.output/server/chunks/build/isValueEqualOrExist-DBZjbD_3.mjs.map +0 -1
  761. package/.output/server/chunks/build/login-D2XZDuek.mjs.map +0 -1
  762. package/.output/server/chunks/build/mcp-_o6cMS6m.mjs.map +0 -1
  763. package/.output/server/chunks/build/notifications-Dzm9c0u_.mjs.map +0 -1
  764. package/.output/server/chunks/build/reset-password-gpFzIEDj.mjs.map +0 -1
  765. package/.output/server/chunks/build/settings-metadata-B0wo5R-W.mjs.map +0 -1
  766. package/.output/server/chunks/build/settings-pNyPBXVa.mjs.map +0 -1
  767. package/.output/server/chunks/build/storage-XelzuyPy.mjs.map +0 -1
  768. package/.output/server/chunks/build/tags-DrCQ7QSw.mjs.map +0 -1
  769. package/.output/server/chunks/build/test-cases-pmOxi-AN.mjs.map +0 -1
  770. package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs.map +0 -1
  771. package/.output/server/chunks/build/useAiStatus-ZO987RY7.mjs.map +0 -1
  772. package/.output/server/chunks/build/useCopy-BQQKcwlq.mjs.map +0 -1
  773. package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs.map +0 -1
  774. package/.output/server/chunks/build/useOpenInIde-kMZ7Jw5c.mjs.map +0 -1
  775. package/.output/server/chunks/build/useSettingsNav-NjI2seBy.mjs.map +0 -1
  776. package/.output/server/chunks/build/useTauri-lRT8zkLv.mjs +0 -7
  777. package/.output/server/chunks/build/useTauri-lRT8zkLv.mjs.map +0 -1
  778. package/.output/server/chunks/build/useTreeViewCookie-DVYpxW-p.mjs.map +0 -1
  779. package/.output/server/chunks/build/users-NmAUZs3i.mjs.map +0 -1
  780. package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs +0 -940
  781. package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs.map +0 -1
  782. package/.output/server/chunks/build/wasted-time-CguAF9zc.mjs.map +0 -1
  783. /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';
5
- 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';
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_24, a as __nuxt_component_19, b as __nuxt_component_20, c as __nuxt_component_21, _ as __nuxt_component_25, d as __nuxt_component_27, 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$1, 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-RJKhWoyj.mjs';
6
+ import { _ as __nuxt_component_8, a as __nuxt_component_13, b as __nuxt_component_1$5, c as __nuxt_component_15$1, d as __nuxt_component_14$2, e as __nuxt_component_16$1 } from './CiEnvCard-DB5DvBh1.mjs';
7
+ import { _ as __nuxt_component_4$2 } from './NavbarActions-_YjrSUat.mjs';
8
+ import { c as clusterSectionLocatorKey, a as __nuxt_component_26, 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-CxjMmDDY.mjs';
9
+ import { _ as __nuxt_component_14$1 } from './DurationValue-D20oGbnc.mjs';
10
+ import { _ as __nuxt_component_3$5 } from './BrowserBadge-MFvBwxmD.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, _ as __nuxt_component_2$1 } from './HelpHint-DrcIv-Oj.mjs';
14
+ import { _ as __nuxt_component_18$1 } from './EntityLinks-BBHWssHH.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-Dv4htNP6.mjs';
20
+ import { _ as _sfc_main$h } from './Textarea-Dv2-lOvW.mjs';
21
+ import { dF as condenseErrorText, dG as hasSlowMark, dC as extractCitedSectionIds, aa as formatBytes } from '../nitro/nitro.mjs';
22
+ import { _ as _sfc_main$g } from './Tabs-BkSOnbaB.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_4$1 } from './EmptyState-DC2q_7TD.mjs';
25
+ import { _ as _sfc_main$j } from './Slideover-D270EZZD.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-CQWKKChd.mjs';
30
+ import { _ as __nuxt_component_1, a as __nuxt_component_2 } from './StatTile-D61Vzo6e.mjs';
31
+ import { _ as __nuxt_component_39 } from './TestCaseHistoryChart-CSi64vVA.mjs';
32
+ import { b as buildRetryCommand } from './useOpenInIde-BbTnPhFA.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,25 @@ 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-BepjqxOt.mjs';
93
+ import './useIsDesktop-BS13spVj.mjs';
94
+ import './useTauri-Kf3HE_42.mjs';
95
+ import './Alert-C4xq8lao.mjs';
96
+ import './Modal-pSDlXzT3.mjs';
97
+ import './FormField-B0HKsdMd.mjs';
98
+ import './Label-DYDR1Oeh.mjs';
99
+ import './Select-5DK9frQ7.mjs';
100
+ import './useFormControl-CZ9So7iX.mjs';
79
101
  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';
102
+ import './Switch-B5Fp8ULt.mjs';
103
+ import './useForwardScopeId-D0ameaSU.mjs';
104
+ import './VisuallyHiddenInput-BHvzNumK.mjs';
105
+ import './help-content-C876a9WD.mjs';
92
106
  import 'date-fns';
93
- import './RovingFocusItem-CxhHdNGo.mjs';
107
+ import './RovingFocusItem--OEHI2P3.mjs';
94
108
  import '@tanstack/vue-table';
95
109
  import '@tanstack/vue-virtual';
96
- import './Separator-CxZdx8kw.mjs';
97
110
  import './ChartMarkerTooltip-0DcMfD_6.mjs';
98
111
  import './MarkerBadge-D7meXy4u.mjs';
99
112
  import '../_/marker-categories.mjs';
@@ -102,7 +115,7 @@ import '@unovis/vue';
102
115
  import '@unovis/ts';
103
116
  import '@vue/shared';
104
117
 
105
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
118
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
106
119
  __name: "TestCaseSummary",
107
120
  __ssrInlineRender: true,
108
121
  props: {
@@ -133,7 +146,9 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
133
146
  out.push({ label: "Passed on retry", color: "warning", title: "This test failed then passed on a retry" });
134
147
  return out;
135
148
  });
136
- const annotations = computed(() => props.testCase?.testAnnotations ?? []);
149
+ const annotations = computed(
150
+ () => (props.testCase?.testAnnotations ?? []).filter((ann) => !isPiwiAnnotation(ann.type))
151
+ );
137
152
  const startedAtMs = computed(() => props.testCase?.startedAt ?? null);
138
153
  const { summaryColSpanClass, blockColSpanClass } = useDetailGrid(() => {
139
154
  let count = 0;
@@ -144,17 +159,19 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
144
159
  });
145
160
  return (_ctx, _push, _parent, _attrs) => {
146
161
  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;
162
+ const _component_StatusBlock = __nuxt_component_1$5;
163
+ const _component_DurationValue = __nuxt_component_14$1;
164
+ const _component_BrowserBadge = __nuxt_component_3$5;
165
+ const _component_UCard = _sfc_main$i;
150
166
  const _component_UBadge = _sfc_main$7$1;
167
+ const _component_TestMetaBadges = __nuxt_component_2$3;
151
168
  const _component_ClientOnly = __nuxt_component_7;
152
169
  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;
170
+ const _component_HelpHint = __nuxt_component_2$1;
171
+ const _component_SourceInfoCard = __nuxt_component_15$1;
172
+ const _component_CiEnvCard = __nuxt_component_14$2;
173
+ const _component_BlockCard = __nuxt_component_16$1;
174
+ const _component_EntityLinks = __nuxt_component_18$1;
158
175
  _push(ssrRenderComponent(_component_FoldableSummary, mergeProps({ "storage-key": "test-case" }, _attrs), {
159
176
  folded: withCtx((_, _push2, _parent2, _scopeId) => {
160
177
  if (_push2) {
@@ -162,7 +179,12 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
162
179
  status: __props.testCase?.status ?? "",
163
180
  size: "sm"
164
181
  }, 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>`);
182
+ _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: `);
183
+ _push2(ssrRenderComponent(_component_DurationValue, {
184
+ ms: __props.testCase?.duration,
185
+ class: "font-bold text-gray-700 dark:text-gray-300"
186
+ }, null, _parent2, _scopeId));
187
+ _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
188
  if (__props.testCase?.shardIndex != null) {
167
189
  _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
190
  } else {
@@ -188,7 +210,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
188
210
  createVNode("div", { class: "flex items-center gap-3 ml-auto max-sm:hidden" }, [
189
211
  createVNode("span", { class: "text-xs text-gray-500 tabular-nums whitespace-nowrap" }, [
190
212
  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)
213
+ createVNode(_component_DurationValue, {
214
+ ms: __props.testCase?.duration,
215
+ class: "font-bold text-gray-700 dark:text-gray-300"
216
+ }, null, 8, ["ms"])
192
217
  ]),
193
218
  createVNode("span", { class: "text-xs text-gray-500 tabular-nums whitespace-nowrap" }, [
194
219
  createTextVNode(" Retries: "),
@@ -273,7 +298,12 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
273
298
  _: 2
274
299
  }, _parent3, _scopeId2));
275
300
  });
276
- _push3(`<!--]--></div><p class="text-xs text-gray-500 mt-0.5"${_scopeId2}>`);
301
+ _push3(`<!--]-->`);
302
+ _push3(ssrRenderComponent(_component_TestMetaBadges, {
303
+ tags: __props.testCase?.tags,
304
+ meta: __props.testCase?.testMeta
305
+ }, null, _parent3, _scopeId2));
306
+ _push3(`</div><p class="text-xs text-gray-500 mt-0.5"${_scopeId2}>`);
277
307
  if (__props.testCase?.location) {
278
308
  _push3(`<span${_scopeId2}>${ssrInterpolate(__props.testCase.location)}</span>`);
279
309
  } else {
@@ -281,11 +311,19 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
281
311
  }
282
312
  _push3(ssrRenderComponent(_component_ClientOnly, null, {}, _parent3, _scopeId2));
283
313
  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>`);
314
+ _push3(`<span class="ml-2"${_scopeId2}> Avg `);
315
+ _push3(ssrRenderComponent(_component_DurationValue, {
316
+ ms: __props.historicalTiming.avg
317
+ }, null, _parent3, _scopeId2));
318
+ _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
319
  } else {
286
320
  _push3(`<!---->`);
287
321
  }
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>`);
322
+ _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}>`);
323
+ _push3(ssrRenderComponent(_component_DurationValue, {
324
+ ms: __props.testCase?.duration
325
+ }, null, _parent3, _scopeId2));
326
+ _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
327
  if (__props.testCase?.slowestStep) {
290
328
  _push3(`<div class="flex items-center gap-2 text-sm"${_scopeId2}>`);
291
329
  _push3(ssrRenderComponent(_component_UIcon, {
@@ -294,7 +332,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
294
332
  }, null, _parent3, _scopeId2));
295
333
  _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
334
  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>`);
335
+ _push3(`<span class="text-gray-500 shrink-0"${_scopeId2}>(`);
336
+ _push3(ssrRenderComponent(_component_DurationValue, {
337
+ ms: __props.testCase.slowestStepDuration
338
+ }, null, _parent3, _scopeId2));
339
+ _push3(`)</span>`);
298
340
  } else {
299
341
  _push3(`<!---->`);
300
342
  }
@@ -308,7 +350,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
308
350
  name: "i-lucide-hourglass",
309
351
  class: "size-4 text-amber-500 shrink-0"
310
352
  }, 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>`);
353
+ _push3(`<span class="font-medium text-amber-700 dark:text-amber-300"${_scopeId2}>Wasted in fixed waits:</span>`);
354
+ _push3(ssrRenderComponent(_component_DurationValue, {
355
+ ms: __props.testCase?.wastedTimeMs,
356
+ class: "text-gray-700 dark:text-gray-300"
357
+ }, null, _parent3, _scopeId2));
312
358
  _push3(ssrRenderComponent(_component_HelpHint, { topic: "case.wasted-time" }, null, _parent3, _scopeId2));
313
359
  _push3(`</div>`);
314
360
  } else {
@@ -354,7 +400,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
354
400
  ]),
355
401
  _: 2
356
402
  }, 1032, ["title"]);
357
- }), 128))
403
+ }), 128)),
404
+ createVNode(_component_TestMetaBadges, {
405
+ tags: __props.testCase?.tags,
406
+ meta: __props.testCase?.testMeta
407
+ }, null, 8, ["tags", "meta"])
358
408
  ]),
359
409
  createVNode("p", { class: "text-xs text-gray-500 mt-0.5" }, [
360
410
  __props.testCase?.location ? (openBlock(), createBlock("span", { key: 0 }, toDisplayString(__props.testCase.location), 1)) : createCommentVNode("", true),
@@ -372,7 +422,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
372
422
  key: 1,
373
423
  class: "ml-2"
374
424
  }, [
375
- createTextVNode(" Avg " + toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.historicalTiming.avg)) + " · ", 1),
425
+ createTextVNode(" Avg "),
426
+ createVNode(_component_DurationValue, {
427
+ ms: __props.historicalTiming.avg
428
+ }, null, 8, ["ms"]),
429
+ createTextVNode(" · "),
376
430
  createVNode("span", {
377
431
  class: __props.historicalTiming.diff > 0 ? "text-red-600" : "text-green-600"
378
432
  }, toDisplayString(__props.historicalTiming.diff > 0 ? "+" : "") + toDisplayString(__props.historicalTiming.pct) + "% ", 3)
@@ -383,7 +437,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
383
437
  createVNode("div", { class: "grid grid-cols-2 sm:grid-cols-4 gap-2" }, [
384
438
  createVNode("div", { class: "rounded-lg bg-gray-50 dark:bg-gray-900 p-3" }, [
385
439
  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)
440
+ createVNode("p", { class: "text-xl font-bold mt-0.5" }, [
441
+ createVNode(_component_DurationValue, {
442
+ ms: __props.testCase?.duration
443
+ }, null, 8, ["ms"])
444
+ ])
387
445
  ]),
388
446
  createVNode("div", { class: "rounded-lg bg-gray-50 dark:bg-gray-900 p-3" }, [
389
447
  createVNode("p", { class: "text-xs font-medium text-gray-500 uppercase tracking-wider" }, "Retries"),
@@ -411,7 +469,13 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
411
469
  __props.testCase.slowestStepDuration ? (openBlock(), createBlock("span", {
412
470
  key: 0,
413
471
  class: "text-gray-500 shrink-0"
414
- }, "(" + toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase.slowestStepDuration)) + ")", 1)) : createCommentVNode("", true)
472
+ }, [
473
+ createTextVNode("("),
474
+ createVNode(_component_DurationValue, {
475
+ ms: __props.testCase.slowestStepDuration
476
+ }, null, 8, ["ms"]),
477
+ createTextVNode(")")
478
+ ])) : createCommentVNode("", true)
415
479
  ])) : createCommentVNode("", true),
416
480
  (__props.testCase?.wastedTimeMs ?? 0) > 0 ? (openBlock(), createBlock("div", {
417
481
  key: 1,
@@ -422,7 +486,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
422
486
  class: "size-4 text-amber-500 shrink-0"
423
487
  }),
424
488
  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),
489
+ createVNode(_component_DurationValue, {
490
+ ms: __props.testCase?.wastedTimeMs,
491
+ class: "text-gray-700 dark:text-gray-300"
492
+ }, null, 8, ["ms"]),
426
493
  createVNode(_component_HelpHint, { topic: "case.wasted-time" })
427
494
  ])) : createCommentVNode("", true)
428
495
  ])
@@ -523,7 +590,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
523
590
  ]),
524
591
  _: 2
525
592
  }, 1032, ["title"]);
526
- }), 128))
593
+ }), 128)),
594
+ createVNode(_component_TestMetaBadges, {
595
+ tags: __props.testCase?.tags,
596
+ meta: __props.testCase?.testMeta
597
+ }, null, 8, ["tags", "meta"])
527
598
  ]),
528
599
  createVNode("p", { class: "text-xs text-gray-500 mt-0.5" }, [
529
600
  __props.testCase?.location ? (openBlock(), createBlock("span", { key: 0 }, toDisplayString(__props.testCase.location), 1)) : createCommentVNode("", true),
@@ -541,7 +612,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
541
612
  key: 1,
542
613
  class: "ml-2"
543
614
  }, [
544
- createTextVNode(" Avg " + toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.historicalTiming.avg)) + " · ", 1),
615
+ createTextVNode(" Avg "),
616
+ createVNode(_component_DurationValue, {
617
+ ms: __props.historicalTiming.avg
618
+ }, null, 8, ["ms"]),
619
+ createTextVNode(" · "),
545
620
  createVNode("span", {
546
621
  class: __props.historicalTiming.diff > 0 ? "text-red-600" : "text-green-600"
547
622
  }, toDisplayString(__props.historicalTiming.diff > 0 ? "+" : "") + toDisplayString(__props.historicalTiming.pct) + "% ", 3)
@@ -552,7 +627,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
552
627
  createVNode("div", { class: "grid grid-cols-2 sm:grid-cols-4 gap-2" }, [
553
628
  createVNode("div", { class: "rounded-lg bg-gray-50 dark:bg-gray-900 p-3" }, [
554
629
  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)
630
+ createVNode("p", { class: "text-xl font-bold mt-0.5" }, [
631
+ createVNode(_component_DurationValue, {
632
+ ms: __props.testCase?.duration
633
+ }, null, 8, ["ms"])
634
+ ])
556
635
  ]),
557
636
  createVNode("div", { class: "rounded-lg bg-gray-50 dark:bg-gray-900 p-3" }, [
558
637
  createVNode("p", { class: "text-xs font-medium text-gray-500 uppercase tracking-wider" }, "Retries"),
@@ -580,7 +659,13 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
580
659
  __props.testCase.slowestStepDuration ? (openBlock(), createBlock("span", {
581
660
  key: 0,
582
661
  class: "text-gray-500 shrink-0"
583
- }, "(" + toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.testCase.slowestStepDuration)) + ")", 1)) : createCommentVNode("", true)
662
+ }, [
663
+ createTextVNode("("),
664
+ createVNode(_component_DurationValue, {
665
+ ms: __props.testCase.slowestStepDuration
666
+ }, null, 8, ["ms"]),
667
+ createTextVNode(")")
668
+ ])) : createCommentVNode("", true)
584
669
  ])) : createCommentVNode("", true),
585
670
  (__props.testCase?.wastedTimeMs ?? 0) > 0 ? (openBlock(), createBlock("div", {
586
671
  key: 1,
@@ -591,7 +676,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
591
676
  class: "size-4 text-amber-500 shrink-0"
592
677
  }),
593
678
  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),
679
+ createVNode(_component_DurationValue, {
680
+ ms: __props.testCase?.wastedTimeMs,
681
+ class: "text-gray-700 dark:text-gray-300"
682
+ }, null, 8, ["ms"]),
595
683
  createVNode(_component_HelpHint, { topic: "case.wasted-time" })
596
684
  ])) : createCommentVNode("", true)
597
685
  ])
@@ -635,14 +723,14 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
635
723
  };
636
724
  }
637
725
  });
638
- const _sfc_setup$d = _sfc_main$d.setup;
639
- _sfc_main$d.setup = (props, ctx) => {
726
+ const _sfc_setup$c = _sfc_main$c.setup;
727
+ _sfc_main$c.setup = (props, ctx) => {
640
728
  const ssrContext = useSSRContext();
641
729
  (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;
730
+ return _sfc_setup$c ? _sfc_setup$c(props, ctx) : void 0;
643
731
  };
644
- const __nuxt_component_8 = Object.assign(_sfc_main$d, { __name: "TestCaseSummary" });
645
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
732
+ const __nuxt_component_10 = Object.assign(_sfc_main$c, { __name: "TestCaseSummary" });
733
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
646
734
  __name: "TestCaseVerdictCard",
647
735
  __ssrInlineRender: true,
648
736
  props: {
@@ -720,8 +808,8 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
720
808
  const _component_UBadge = _sfc_main$7$1;
721
809
  const _component_UIcon = _sfc_main$p;
722
810
  const _component_ClientOnly = __nuxt_component_7;
723
- const _component_NuxtLink = __nuxt_component_12$1;
724
- const _component_UTooltip = _sfc_main$f;
811
+ const _component_NuxtLink = __nuxt_component_12;
812
+ const _component_UTooltip = _sfc_main$e;
725
813
  _push(ssrRenderComponent(_component_SectionCard, mergeProps({
726
814
  icon: "i-lucide-clipboard-check",
727
815
  "icon-class": "text-amber-500",
@@ -857,14 +945,14 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
857
945
  };
858
946
  }
859
947
  });
860
- const _sfc_setup$c = _sfc_main$c.setup;
861
- _sfc_main$c.setup = (props, ctx) => {
948
+ const _sfc_setup$b = _sfc_main$b.setup;
949
+ _sfc_main$b.setup = (props, ctx) => {
862
950
  const ssrContext = useSSRContext();
863
951
  (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;
952
+ return _sfc_setup$b ? _sfc_setup$b(props, ctx) : void 0;
865
953
  };
866
- const __nuxt_component_12 = Object.assign(_sfc_main$c, { __name: "TestCaseVerdictCard" });
867
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
954
+ const __nuxt_component_14 = Object.assign(_sfc_main$b, { __name: "TestCaseVerdictCard" });
955
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
868
956
  __name: "FailureClusterCard",
869
957
  __ssrInlineRender: true,
870
958
  props: {
@@ -881,7 +969,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
881
969
  return (_ctx, _push, _parent, _attrs) => {
882
970
  const _component_SectionCard = __nuxt_component_11;
883
971
  const _component_UBadge = _sfc_main$7$1;
884
- const _component_NuxtLink = __nuxt_component_12$1;
972
+ const _component_NuxtLink = __nuxt_component_12;
885
973
  const _component_UIcon = _sfc_main$p;
886
974
  const _component_UButton = _sfc_main$k;
887
975
  _push(ssrRenderComponent(_component_SectionCard, mergeProps({
@@ -1201,14 +1289,14 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
1201
1289
  };
1202
1290
  }
1203
1291
  });
1204
- const _sfc_setup$b = _sfc_main$b.setup;
1205
- _sfc_main$b.setup = (props, ctx) => {
1292
+ const _sfc_setup$a = _sfc_main$a.setup;
1293
+ _sfc_main$a.setup = (props, ctx) => {
1206
1294
  const ssrContext = useSSRContext();
1207
1295
  (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;
1296
+ return _sfc_setup$a ? _sfc_setup$a(props, ctx) : void 0;
1209
1297
  };
1210
- const __nuxt_component_13 = Object.assign(_sfc_main$b, { __name: "FailureClusterCard" });
1211
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
1298
+ const __nuxt_component_15 = Object.assign(_sfc_main$a, { __name: "FailureClusterCard" });
1299
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1212
1300
  __name: "TestCaseAiCard",
1213
1301
  __ssrInlineRender: true,
1214
1302
  props: {
@@ -1218,7 +1306,6 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1218
1306
  const props = __props;
1219
1307
  const { aiStatus } = useAiStatus();
1220
1308
  const toast = useToast();
1221
- const { copy: copyContext, copied: contextCopied } = useCopy();
1222
1309
  const diagnosis = ref(null);
1223
1310
  const posting = ref(false);
1224
1311
  const contextText = ref(null);
@@ -1280,9 +1367,6 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1280
1367
  ${text}` : text;
1281
1368
  showAdditionalContext.value = true;
1282
1369
  }
1283
- function copyAiContext() {
1284
- if (contextText.value) copyContext(contextText.value, { toast: "AI context copied" });
1285
- }
1286
1370
  async function diagnose(force = false) {
1287
1371
  posting.value = true;
1288
1372
  try {
@@ -1317,14 +1401,15 @@ ${text}` : text;
1317
1401
  );
1318
1402
  return (_ctx, _push, _parent, _attrs) => {
1319
1403
  const _component_SectionCard = __nuxt_component_11;
1320
- const _component_UButton = _sfc_main$k;
1404
+ const _component_CopyAiPromptButton = __nuxt_component_1$4;
1321
1405
  const _component_UIcon = _sfc_main$p;
1322
1406
  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;
1407
+ const _component_UTextarea = _sfc_main$h;
1408
+ const _component_UButton = _sfc_main$k;
1409
+ const _component_DiagnosisResult = __nuxt_component_6;
1410
+ const _component_HelpHint = __nuxt_component_2$1;
1411
+ const _component_DiagnosisContextModal = __nuxt_component_8$1;
1412
+ const _component_NuxtLink = __nuxt_component_12;
1328
1413
  _push(ssrRenderComponent(_component_SectionCard, mergeProps({
1329
1414
  icon: "i-lucide-sparkles",
1330
1415
  "icon-class": "text-primary",
@@ -1333,44 +1418,14 @@ ${text}` : text;
1333
1418
  }, _attrs), {
1334
1419
  actions: withCtx((_, _push2, _parent2, _scopeId) => {
1335
1420
  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));
1421
+ _push2(ssrRenderComponent(_component_CopyAiPromptButton, {
1422
+ "context-endpoint": `/api/test-run-cases/${__props.testRunsCaseId}/diagnosis-context`
1423
+ }, null, _parent2, _scopeId));
1357
1424
  } else {
1358
1425
  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"])
1426
+ createVNode(_component_CopyAiPromptButton, {
1427
+ "context-endpoint": `/api/test-run-cases/${__props.testRunsCaseId}/diagnosis-context`
1428
+ }, null, 8, ["context-endpoint"])
1374
1429
  ];
1375
1430
  }
1376
1431
  }),
@@ -1506,7 +1561,7 @@ ${text}` : text;
1506
1561
  } else {
1507
1562
  _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
1563
  _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>`);
1564
+ _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
1565
  _push2(ssrRenderComponent(_component_UButton, {
1511
1566
  to: "/settings/ai",
1512
1567
  size: "xs",
@@ -1683,8 +1738,8 @@ ${text}` : text;
1683
1738
  ]),
1684
1739
  createVNode("p", { class: "text-xs mt-2 max-w-xs mx-auto" }, [
1685
1740
  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. ")
1741
+ createVNode("strong", null, "Export AI context"),
1742
+ createTextVNode(" in the header to grab the full evidence bundle for your own AI tool, or configure a provider. ")
1688
1743
  ]),
1689
1744
  createVNode(_component_UButton, {
1690
1745
  to: "/settings/ai",
@@ -1738,13 +1793,13 @@ ${text}` : text;
1738
1793
  };
1739
1794
  }
1740
1795
  });
1741
- const _sfc_setup$a = _sfc_main$a.setup;
1742
- _sfc_main$a.setup = (props, ctx) => {
1796
+ const _sfc_setup$9 = _sfc_main$9.setup;
1797
+ _sfc_main$9.setup = (props, ctx) => {
1743
1798
  const ssrContext = useSSRContext();
1744
1799
  (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;
1800
+ return _sfc_setup$9 ? _sfc_setup$9(props, ctx) : void 0;
1746
1801
  };
1747
- const __nuxt_component_14 = Object.assign(_sfc_main$a, { __name: "TestCaseAiCard" });
1802
+ const __nuxt_component_16 = Object.assign(_sfc_main$9, { __name: "TestCaseAiCard" });
1748
1803
  function useTraceEndpoint(path, enabled, auto) {
1749
1804
  const data = ref(null);
1750
1805
  const pending = ref(false);
@@ -1776,7 +1831,7 @@ function useTraceNetwork(runId, testRunsCaseId, enabled, options = {}) {
1776
1831
  options.auto ?? false
1777
1832
  );
1778
1833
  }
1779
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1834
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1780
1835
  __name: "TestSourceCard",
1781
1836
  __ssrInlineRender: true,
1782
1837
  props: {
@@ -1818,12 +1873,12 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1818
1873
  const card = ref(null);
1819
1874
  __expose({ reveal: () => card.value?.reveal() });
1820
1875
  return (_ctx, _push, _parent, _attrs) => {
1821
- const _component_CollapsibleSectionCard = __nuxt_component_23;
1822
- const _component_UTabs = _sfc_main$h;
1876
+ const _component_CollapsibleSectionCard = __nuxt_component_25;
1877
+ const _component_UTabs = _sfc_main$g;
1823
1878
  const _component_UIcon = _sfc_main$p;
1824
1879
  const _component_TraceCallStack = __nuxt_component_3$4;
1825
1880
  const _component_TestSourceStack = __nuxt_component_4$3;
1826
- const _component_MarkdownPreview = __nuxt_component_24;
1881
+ const _component_MarkdownPreview = __nuxt_component_26;
1827
1882
  const _component_LoadingState = __nuxt_component_1$3;
1828
1883
  const _component_DocLink = __nuxt_component_9;
1829
1884
  _push(ssrRenderComponent(_component_CollapsibleSectionCard, mergeProps({
@@ -2018,14 +2073,14 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2018
2073
  };
2019
2074
  }
2020
2075
  });
2021
- const _sfc_setup$9 = _sfc_main$9.setup;
2022
- _sfc_main$9.setup = (props, ctx) => {
2076
+ const _sfc_setup$8 = _sfc_main$8.setup;
2077
+ _sfc_main$8.setup = (props, ctx) => {
2023
2078
  const ssrContext = useSSRContext();
2024
2079
  (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;
2080
+ return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0;
2026
2081
  };
2027
- const __nuxt_component_15 = Object.assign(_sfc_main$9, { __name: "TestSourceCard" });
2028
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2082
+ const __nuxt_component_17 = Object.assign(_sfc_main$8, { __name: "TestSourceCard" });
2083
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2029
2084
  __name: "TestCaseEvidenceCard",
2030
2085
  __ssrInlineRender: true,
2031
2086
  props: {
@@ -2063,14 +2118,14 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2063
2118
  const card = ref(null);
2064
2119
  __expose({ reveal: () => card.value?.reveal?.() });
2065
2120
  return (_ctx, _push, _parent, _attrs) => {
2066
- const _component_CollapsibleSectionCard = __nuxt_component_23;
2121
+ const _component_CollapsibleSectionCard = __nuxt_component_25;
2067
2122
  const _component_TestEvidenceScreenshots = __nuxt_component_1$1$1;
2068
- const _component_TestEvidenceVideos = __nuxt_component_2$3;
2123
+ const _component_TestEvidenceVideos = __nuxt_component_2$2;
2069
2124
  const _component_TestEvidenceTraces = __nuxt_component_3$1$1;
2070
2125
  const _component_TestEvidenceSection = __nuxt_component_4$1$1;
2071
2126
  const _component_UIcon = _sfc_main$p;
2072
2127
  const _component_UButton = _sfc_main$k;
2073
- const _component_EmptyState = __nuxt_component_8$2;
2128
+ const _component_EmptyState = __nuxt_component_4$1;
2074
2129
  _push(ssrRenderComponent(_component_CollapsibleSectionCard, mergeProps({
2075
2130
  ref_key: "card",
2076
2131
  ref: card,
@@ -2238,14 +2293,14 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2238
2293
  };
2239
2294
  }
2240
2295
  });
2241
- const _sfc_setup$8 = _sfc_main$8.setup;
2242
- _sfc_main$8.setup = (props, ctx) => {
2296
+ const _sfc_setup$7 = _sfc_main$7.setup;
2297
+ _sfc_main$7.setup = (props, ctx) => {
2243
2298
  const ssrContext = useSSRContext();
2244
2299
  (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;
2300
+ return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0;
2246
2301
  };
2247
- const __nuxt_component_16 = Object.assign(_sfc_main$8, { __name: "TestCaseEvidenceCard" });
2248
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2302
+ const __nuxt_component_18 = Object.assign(_sfc_main$7, { __name: "TestCaseEvidenceCard" });
2303
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2249
2304
  __name: "TestCaseConsoleCard",
2250
2305
  __ssrInlineRender: true,
2251
2306
  props: {
@@ -2376,14 +2431,14 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2376
2431
  };
2377
2432
  }
2378
2433
  });
2379
- const _sfc_setup$7 = _sfc_main$7.setup;
2380
- _sfc_main$7.setup = (props, ctx) => {
2434
+ const _sfc_setup$6 = _sfc_main$6.setup;
2435
+ _sfc_main$6.setup = (props, ctx) => {
2381
2436
  const ssrContext = useSSRContext();
2382
2437
  (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;
2438
+ return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
2384
2439
  };
2385
- const __nuxt_component_20 = Object.assign(_sfc_main$7, { __name: "TestCaseConsoleCard" });
2386
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2440
+ const __nuxt_component_22 = Object.assign(_sfc_main$6, { __name: "TestCaseConsoleCard" });
2441
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2387
2442
  __name: "TraceNetworkDrawer",
2388
2443
  __ssrInlineRender: true,
2389
2444
  props: {
@@ -2446,9 +2501,10 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2446
2501
  { immediate: true }
2447
2502
  );
2448
2503
  return (_ctx, _push, _parent, _attrs) => {
2449
- const _component_USlideover = _sfc_main$l;
2504
+ const _component_USlideover = _sfc_main$j;
2450
2505
  const _component_UBadge = _sfc_main$7$1;
2451
- const _component_CodeBlock = __nuxt_component_5$1;
2506
+ const _component_DurationValue = __nuxt_component_14$1;
2507
+ const _component_CodeBlock = __nuxt_component_5;
2452
2508
  const _component_LoadingState = __nuxt_component_1$3;
2453
2509
  _push(ssrRenderComponent(_component_USlideover, mergeProps({
2454
2510
  open: __props.open,
@@ -2526,7 +2582,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2526
2582
  } else {
2527
2583
  _push2(`<!---->`);
2528
2584
  }
2529
- _push2(`<span class="tabular-nums"${_scopeId}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(__props.entry.duration))}</span>`);
2585
+ _push2(ssrRenderComponent(_component_DurationValue, {
2586
+ ms: __props.entry.duration
2587
+ }, null, _parent2, _scopeId));
2530
2588
  if (__props.entry.duringFailure) {
2531
2589
  _push2(ssrRenderComponent(_component_UBadge, {
2532
2590
  color: "error",
@@ -2555,7 +2613,12 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2555
2613
  });
2556
2614
  _push2(`<!--]--></div><div class="flex flex-wrap gap-x-3 gap-y-1 mt-1.5 text-xs text-gray-500"${_scopeId}><!--[-->`);
2557
2615
  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>`);
2616
+ _push2(`<span class="inline-flex items-center gap-1"${_scopeId}><span class="${ssrRenderClass([p.color, "size-2 rounded-full"])}"${_scopeId}></span> ${ssrInterpolate(p.label)} `);
2617
+ _push2(ssrRenderComponent(_component_DurationValue, {
2618
+ ms: p.value,
2619
+ "no-title": ""
2620
+ }, null, _parent2, _scopeId));
2621
+ _push2(`</span>`);
2559
2622
  });
2560
2623
  _push2(`<!--]--></div></div>`);
2561
2624
  } else {
@@ -2675,7 +2738,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2675
2738
  key: 3,
2676
2739
  title: "Bytes on the wire"
2677
2740
  }, 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),
2741
+ createVNode(_component_DurationValue, {
2742
+ ms: __props.entry.duration
2743
+ }, null, 8, ["ms"]),
2679
2744
  __props.entry.duringFailure ? (openBlock(), createBlock(_component_UBadge, {
2680
2745
  key: 4,
2681
2746
  color: "error",
@@ -2711,7 +2776,10 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2711
2776
  class: ["size-2 rounded-full", p.color]
2712
2777
  }, null, 2),
2713
2778
  createTextVNode(" " + toDisplayString(p.label) + " ", 1),
2714
- createVNode("span", { class: "tabular-nums" }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(p.value)), 1)
2779
+ createVNode(_component_DurationValue, {
2780
+ ms: p.value,
2781
+ "no-title": ""
2782
+ }, null, 8, ["ms"])
2715
2783
  ]);
2716
2784
  }), 128))
2717
2785
  ])
@@ -2791,14 +2859,14 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2791
2859
  };
2792
2860
  }
2793
2861
  });
2794
- const _sfc_setup$6 = _sfc_main$6.setup;
2795
- _sfc_main$6.setup = (props, ctx) => {
2862
+ const _sfc_setup$5 = _sfc_main$5.setup;
2863
+ _sfc_main$5.setup = (props, ctx) => {
2796
2864
  const ssrContext = useSSRContext();
2797
2865
  (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;
2866
+ return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
2799
2867
  };
2800
- const __nuxt_component_2 = Object.assign(_sfc_main$6, { __name: "TraceNetworkDrawer" });
2801
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2868
+ const __nuxt_component_3 = Object.assign(_sfc_main$5, { __name: "TraceNetworkDrawer" });
2869
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2802
2870
  __name: "TraceNetworkList",
2803
2871
  __ssrInlineRender: true,
2804
2872
  props: {
@@ -2862,9 +2930,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2862
2930
  const selected = ref(null);
2863
2931
  const drawerOpen = ref(false);
2864
2932
  return (_ctx, _push, _parent, _attrs) => {
2865
- const _component_UTabs = _sfc_main$h;
2933
+ const _component_UTabs = _sfc_main$g;
2866
2934
  const _component_UBadge = _sfc_main$7$1;
2867
- const _component_TraceNetworkDrawer = __nuxt_component_2;
2935
+ const _component_DurationValue = __nuxt_component_14$1;
2936
+ const _component_TraceNetworkDrawer = __nuxt_component_3;
2868
2937
  _push(`<div${ssrRenderAttrs(_attrs)}><div class="flex items-center justify-between gap-2 mb-2">`);
2869
2938
  _push(ssrRenderComponent(_component_UTabs, {
2870
2939
  modelValue: unref(filter),
@@ -2931,7 +3000,12 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2931
3000
  _push(`<span class="${ssrRenderClass([
2932
3001
  entry.duration > 1e3 ? "text-red-600 font-medium" : entry.duration > 500 ? "text-orange-500" : "text-gray-500",
2933
3002
  "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">`);
3003
+ ])}">`);
3004
+ _push(ssrRenderComponent(_component_DurationValue, {
3005
+ ms: entry.duration,
3006
+ "unit-class": "opacity-60"
3007
+ }, null, _parent));
3008
+ _push(`</span></div><div class="relative h-1.5 mt-1 rounded bg-gray-100 dark:bg-gray-800 overflow-hidden">`);
2935
3009
  if (unref(windowStyle)) {
2936
3010
  _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
3011
  } else {
@@ -2956,42 +3030,13 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2956
3030
  };
2957
3031
  }
2958
3032
  });
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
3033
  const _sfc_setup$4 = _sfc_main$4.setup;
2989
3034
  _sfc_main$4.setup = (props, ctx) => {
2990
3035
  const ssrContext = useSSRContext();
2991
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/shared/DurationValue.vue");
3036
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TraceNetworkList.vue");
2992
3037
  return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
2993
3038
  };
2994
- const __nuxt_component_6 = Object.assign(_sfc_main$4, { __name: "DurationValue" });
3039
+ const __nuxt_component_4 = Object.assign(_sfc_main$4, { __name: "TraceNetworkList" });
2995
3040
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2996
3041
  __name: "TestCaseNetworkRequests",
2997
3042
  __ssrInlineRender: true,
@@ -3178,11 +3223,11 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3178
3223
  return (_ctx, _push, _parent, _attrs) => {
3179
3224
  const _component_SectionCard = __nuxt_component_11;
3180
3225
  const _component_UIcon = _sfc_main$p;
3181
- const _component_UTabs = _sfc_main$h;
3226
+ const _component_UTabs = _sfc_main$g;
3182
3227
  const _component_LoadingState = __nuxt_component_1$3;
3183
3228
  const _component_TraceNetworkList = __nuxt_component_4;
3184
3229
  const _component_UBadge = _sfc_main$7$1;
3185
- const _component_DurationValue = __nuxt_component_6;
3230
+ const _component_DurationValue = __nuxt_component_14$1;
3186
3231
  const _component_DocLink = __nuxt_component_9;
3187
3232
  _push(ssrRenderComponent(_component_SectionCard, mergeProps({
3188
3233
  icon: "i-lucide-network",
@@ -3391,7 +3436,11 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3391
3436
  name: "i-lucide-server",
3392
3437
  class: "size-3.5"
3393
3438
  }, null, _parent2, _scopeId));
3394
- _push2(`${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(req.serverMs))}</span>`);
3439
+ _push2(ssrRenderComponent(_component_DurationValue, {
3440
+ ms: req.serverMs,
3441
+ "no-title": ""
3442
+ }, null, _parent2, _scopeId));
3443
+ _push2(`</span>`);
3395
3444
  } else {
3396
3445
  _push2(`<!---->`);
3397
3446
  }
@@ -3403,7 +3452,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3403
3452
  _push2(`<span class="${ssrRenderClass([
3404
3453
  (req.duration ?? 0) > 1e3 ? "text-red-600 font-medium" : (req.duration ?? 0) > 500 ? "text-orange-500" : "text-gray-500",
3405
3454
  "ml-1 shrink-0 text-xs tabular-nums"
3406
- ])}"${_scopeId}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(req.duration))}</span></button>`);
3455
+ ])}"${_scopeId}>`);
3456
+ _push2(ssrRenderComponent(_component_DurationValue, {
3457
+ ms: req.duration,
3458
+ "unit-class": "opacity-60"
3459
+ }, null, _parent2, _scopeId));
3460
+ _push2(`</span></button>`);
3407
3461
  if (req.spans.length > 0 && unref(expanded).has(req._index)) {
3408
3462
  _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
3463
  _push2(ssrRenderComponent(_component_UIcon, {
@@ -3642,7 +3696,10 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3642
3696
  name: "i-lucide-server",
3643
3697
  class: "size-3.5"
3644
3698
  }),
3645
- createTextVNode(toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(req.serverMs)), 1)
3699
+ createVNode(_component_DurationValue, {
3700
+ ms: req.serverMs,
3701
+ "no-title": ""
3702
+ }, null, 8, ["ms"])
3646
3703
  ], 8, ["title"])) : createCommentVNode("", true),
3647
3704
  req.startTime ? (openBlock(), createBlock("span", {
3648
3705
  key: 6,
@@ -3654,7 +3711,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3654
3711
  "ml-1 shrink-0 text-xs tabular-nums",
3655
3712
  (req.duration ?? 0) > 1e3 ? "text-red-600 font-medium" : (req.duration ?? 0) > 500 ? "text-orange-500" : "text-gray-500"
3656
3713
  ]
3657
- }, toDisplayString(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(req.duration)), 3)
3714
+ }, [
3715
+ createVNode(_component_DurationValue, {
3716
+ ms: req.duration,
3717
+ "unit-class": "opacity-60"
3718
+ }, null, 8, ["ms"])
3719
+ ], 2)
3658
3720
  ], 10, ["disabled", "onClick"]),
3659
3721
  req.spans.length > 0 && unref(expanded).has(req._index) ? (openBlock(), createBlock("div", {
3660
3722
  key: 0,
@@ -3815,7 +3877,7 @@ _sfc_main$3.setup = (props, ctx) => {
3815
3877
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseNetworkRequests.vue");
3816
3878
  return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
3817
3879
  };
3818
- const __nuxt_component_21 = Object.assign(_sfc_main$3, { __name: "TestCaseNetworkRequests" });
3880
+ const __nuxt_component_23 = Object.assign(_sfc_main$3, { __name: "TestCaseNetworkRequests" });
3819
3881
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3820
3882
  __name: "TestCaseTracesCard",
3821
3883
  __ssrInlineRender: true,
@@ -3872,7 +3934,7 @@ _sfc_main$2.setup = (props, ctx) => {
3872
3934
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseTracesCard.vue");
3873
3935
  return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
3874
3936
  };
3875
- const __nuxt_component_31 = Object.assign(_sfc_main$2, { __name: "TestCaseTracesCard" });
3937
+ const __nuxt_component_34 = Object.assign(_sfc_main$2, { __name: "TestCaseTracesCard" });
3876
3938
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3877
3939
  __name: "TestCaseAttachmentsCard",
3878
3940
  __ssrInlineRender: true,
@@ -3946,8 +4008,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3946
4008
  const _component_SectionCard = __nuxt_component_11;
3947
4009
  const _component_UIcon = _sfc_main$p;
3948
4010
  const _component_UButton = _sfc_main$k;
3949
- const _component_VideoPlayer = __nuxt_component_3$2;
3950
- const _component_ScreenshotLightbox = __nuxt_component_4$2;
4011
+ const _component_VideoPlayer = __nuxt_component_3$2$1;
4012
+ const _component_ScreenshotLightbox = __nuxt_component_4$2$1;
3951
4013
  if (__props.attachments.length > 0) {
3952
4014
  _push(ssrRenderComponent(_component_SectionCard, mergeProps({
3953
4015
  icon: "i-lucide-paperclip",
@@ -4134,7 +4196,7 @@ _sfc_main$1.setup = (props, ctx) => {
4134
4196
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/test-case/TestCaseAttachmentsCard.vue");
4135
4197
  return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
4136
4198
  };
4137
- const __nuxt_component_32 = Object.assign(_sfc_main$1, { __name: "TestCaseAttachmentsCard" });
4199
+ const __nuxt_component_35 = Object.assign(_sfc_main$1, { __name: "TestCaseAttachmentsCard" });
4138
4200
  function getPerformanceHints(testCase) {
4139
4201
  const hints = [];
4140
4202
  if (!testCase) return hints;
@@ -4398,16 +4460,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4398
4460
  return duration > 2e3 ? "bg-red-500" : duration > 500 ? "bg-orange-400" : "bg-gray-400 dark:bg-gray-500";
4399
4461
  }
4400
4462
  const environment = computed(() => testCase.value?.testRun?.environment);
4401
- const retryCommand = computed(
4402
- () => buildRetryCommand([
4403
- {
4404
- filePath: testCase.value?.filePath ?? "",
4405
- title: testCase.value?.title ?? "",
4406
- line: testCase.value?.line ?? null,
4407
- projectName: testCase.value?.browser?.projectName ?? null
4408
- }
4409
- ])
4410
- );
4463
+ const retryCases = computed(() => [
4464
+ {
4465
+ filePath: testCase.value?.filePath ?? "",
4466
+ title: testCase.value?.title ?? "",
4467
+ line: testCase.value?.line ?? null,
4468
+ projectName: testCase.value?.browser?.projectName ?? null
4469
+ }
4470
+ ]);
4471
+ const retryCommand = computed(() => buildRetryCommand(retryCases.value));
4411
4472
  const { copy: copyRetry, copied: retryCopied } = useCopy();
4412
4473
  const navbarActions = computed(() => [
4413
4474
  {
@@ -4504,42 +4565,45 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4504
4565
  });
4505
4566
  return (_ctx, _push, _parent, _attrs) => {
4506
4567
  const _component_UDashboardPanel = _sfc_main$1$1;
4507
- const _component_UDashboardNavbar = _sfc_main$g;
4568
+ const _component_UDashboardNavbar = _sfc_main$f;
4508
4569
  const _component_UDashboardSidebarCollapse = _sfc_main$1$2;
4509
- const _component_BreadcrumbNav = __nuxt_component_3$1;
4510
- const _component_NuxtLink = __nuxt_component_12$1;
4570
+ const _component_BreadcrumbNav = __nuxt_component_3$2;
4571
+ const _component_NuxtLink = __nuxt_component_12;
4511
4572
  const _component_UIcon = _sfc_main$p;
4512
- const _component_NavbarActions = __nuxt_component_4$1;
4513
- const _component_DetailPageLayout = __nuxt_component_8$1;
4514
- const _component_TestCaseSummary = __nuxt_component_8;
4573
+ const _component_ExportMenu = __nuxt_component_6$1;
4574
+ const _component_DesktopRunLocallyButton = __nuxt_component_13;
4575
+ const _component_NavbarActions = __nuxt_component_4$2;
4576
+ const _component_DetailPageLayout = __nuxt_component_8;
4577
+ const _component_TestCaseSummary = __nuxt_component_10;
4515
4578
  const _component_SectionCard = __nuxt_component_11;
4516
- const _component_UTooltip = _sfc_main$f;
4579
+ const _component_UTooltip = _sfc_main$e;
4517
4580
  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;
4581
+ const _component_TestCaseVerdictCard = __nuxt_component_14;
4582
+ const _component_FailureClusterCard = __nuxt_component_15;
4583
+ const _component_TestCaseAiCard = __nuxt_component_16;
4584
+ const _component_TestSourceCard = __nuxt_component_17;
4585
+ const _component_TestCaseEvidenceCard = __nuxt_component_18;
4586
+ const _component_LocatorHealingPanel = __nuxt_component_19;
4587
+ const _component_EnvironmentDiffCard = __nuxt_component_20;
4588
+ const _component_VisualDiffCard = __nuxt_component_21;
4589
+ const _component_TestCaseConsoleCard = __nuxt_component_22;
4590
+ const _component_TestCaseNetworkRequests = __nuxt_component_23;
4591
+ const _component_PageStateCard = __nuxt_component_24;
4592
+ const _component_CollapsibleSectionCard = __nuxt_component_25;
4593
+ const _component_MarkdownPreview = __nuxt_component_26;
4594
+ const _component_DomSnapshotCard = __nuxt_component_27;
4532
4595
  const _component_UBadge = _sfc_main$7$1;
4533
- const _component_TableScroller = __nuxt_component_3;
4534
- const _component_UTable = _sfc_main$e;
4596
+ const _component_DurationValue = __nuxt_component_14$1;
4597
+ const _component_TableScroller = __nuxt_component_3$1;
4598
+ const _component_UTable = _sfc_main$d;
4535
4599
  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;
4600
+ const _component_EmptyState = __nuxt_component_4$1;
4601
+ const _component_TestCaseTracesCard = __nuxt_component_34;
4602
+ const _component_TestCaseAttachmentsCard = __nuxt_component_35;
4539
4603
  const _component_StatTileGrid = __nuxt_component_1;
4540
- const _component_StatTile = __nuxt_component_2$1;
4604
+ const _component_StatTile = __nuxt_component_2;
4541
4605
  const _component_DocLink = __nuxt_component_9;
4542
- const _component_TestCaseHistoryChart = __nuxt_component_36;
4606
+ const _component_TestCaseHistoryChart = __nuxt_component_39;
4543
4607
  _push(ssrRenderComponent(_component_UDashboardPanel, mergeProps({ id: "test-run-case-detail" }, _attrs), {
4544
4608
  header: withCtx((_, _push2, _parent2, _scopeId) => {
4545
4609
  if (_push2) {
@@ -4621,6 +4685,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4621
4685
  } else {
4622
4686
  _push3(`<!---->`);
4623
4687
  }
4688
+ if (unref(testCase)) {
4689
+ _push3(ssrRenderComponent(_component_ExportMenu, {
4690
+ endpoint: `/api/test-run-cases/${unref(testCase).id}/export`,
4691
+ "base-name": `piwi-execution-${unref(testCase).id}`,
4692
+ class: "mr-2"
4693
+ }, null, _parent3, _scopeId2));
4694
+ } else {
4695
+ _push3(`<!---->`);
4696
+ }
4697
+ _push3(ssrRenderComponent(_component_DesktopRunLocallyButton, {
4698
+ "project-id": unref(testCase)?.testRun?.project?.id,
4699
+ "project-label": unref(testCase)?.testRun?.project?.label ?? unref(testCase)?.testRun?.project?.name,
4700
+ cases: unref(retryCases),
4701
+ class: "mr-2"
4702
+ }, null, _parent3, _scopeId2));
4624
4703
  _push3(ssrRenderComponent(_component_NavbarActions, { actions: unref(navbarActions) }, null, _parent3, _scopeId2));
4625
4704
  } else {
4626
4705
  return [
@@ -4639,6 +4718,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4639
4718
  ]),
4640
4719
  _: 1
4641
4720
  }, 8, ["to"])) : createCommentVNode("", true),
4721
+ unref(testCase) ? (openBlock(), createBlock(_component_ExportMenu, {
4722
+ key: 1,
4723
+ endpoint: `/api/test-run-cases/${unref(testCase).id}/export`,
4724
+ "base-name": `piwi-execution-${unref(testCase).id}`,
4725
+ class: "mr-2"
4726
+ }, null, 8, ["endpoint", "base-name"])) : createCommentVNode("", true),
4727
+ createVNode(_component_DesktopRunLocallyButton, {
4728
+ "project-id": unref(testCase)?.testRun?.project?.id,
4729
+ "project-label": unref(testCase)?.testRun?.project?.label ?? unref(testCase)?.testRun?.project?.name,
4730
+ cases: unref(retryCases),
4731
+ class: "mr-2"
4732
+ }, null, 8, ["project-id", "project-label", "cases"]),
4642
4733
  createVNode(_component_NavbarActions, { actions: unref(navbarActions) }, null, 8, ["actions"])
4643
4734
  ];
4644
4735
  }
@@ -4686,6 +4777,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4686
4777
  ]),
4687
4778
  _: 1
4688
4779
  }, 8, ["to"])) : createCommentVNode("", true),
4780
+ unref(testCase) ? (openBlock(), createBlock(_component_ExportMenu, {
4781
+ key: 1,
4782
+ endpoint: `/api/test-run-cases/${unref(testCase).id}/export`,
4783
+ "base-name": `piwi-execution-${unref(testCase).id}`,
4784
+ class: "mr-2"
4785
+ }, null, 8, ["endpoint", "base-name"])) : createCommentVNode("", true),
4786
+ createVNode(_component_DesktopRunLocallyButton, {
4787
+ "project-id": unref(testCase)?.testRun?.project?.id,
4788
+ "project-label": unref(testCase)?.testRun?.project?.label ?? unref(testCase)?.testRun?.project?.name,
4789
+ cases: unref(retryCases),
4790
+ class: "mr-2"
4791
+ }, null, 8, ["project-id", "project-label", "cases"]),
4689
4792
  createVNode(_component_NavbarActions, { actions: unref(navbarActions) }, null, 8, ["actions"])
4690
4793
  ]),
4691
4794
  _: 1
@@ -5139,7 +5242,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5139
5242
  }),
5140
5243
  _: 2
5141
5244
  }, _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>`);
5245
+ _push3(`<span class="tabular-nums text-gray-500 dark:text-gray-400"${_scopeId2}>×${ssrInterpolate(c.count)} · `);
5246
+ _push3(ssrRenderComponent(_component_DurationValue, {
5247
+ ms: c.duration
5248
+ }, null, _parent3, _scopeId2));
5249
+ _push3(`</span></span>`);
5143
5250
  });
5144
5251
  _push3(`<!--]--></div>`);
5145
5252
  _push3(ssrRenderComponent(_component_TableScroller, {
@@ -5299,7 +5406,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5299
5406
  }),
5300
5407
  "duration-cell": withCtx(({ row }, _push5, _parent5, _scopeId4) => {
5301
5408
  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>`);
5409
+ _push5(`<div class="min-w-[6rem]"${_scopeId4}><div class="flex items-center justify-between gap-2"${_scopeId4}>`);
5410
+ _push5(ssrRenderComponent(_component_DurationValue, {
5411
+ ms: row.original.duration,
5412
+ class: `text-sm ${stepDurationTextClass(row.original.duration)}`,
5413
+ "unit-class": "opacity-60"
5414
+ }, null, _parent5, _scopeId4));
5303
5415
  if (stepPctOfTest(row.original.duration)) {
5304
5416
  _push5(`<span class="text-xs tabular-nums text-gray-400 dark:text-gray-500"${_scopeId4}>${ssrInterpolate(stepPctOfTest(row.original.duration))}</span>`);
5305
5417
  } else {
@@ -5310,9 +5422,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5310
5422
  return [
5311
5423
  createVNode("div", { class: "min-w-[6rem]" }, [
5312
5424
  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),
5425
+ createVNode(_component_DurationValue, {
5426
+ ms: row.original.duration,
5427
+ class: `text-sm ${stepDurationTextClass(row.original.duration)}`,
5428
+ "unit-class": "opacity-60"
5429
+ }, null, 8, ["ms", "class"]),
5316
5430
  stepPctOfTest(row.original.duration) ? (openBlock(), createBlock("span", {
5317
5431
  key: 0,
5318
5432
  class: "text-xs tabular-nums text-gray-400 dark:text-gray-500"
@@ -5403,9 +5517,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5403
5517
  "duration-cell": withCtx(({ row }) => [
5404
5518
  createVNode("div", { class: "min-w-[6rem]" }, [
5405
5519
  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),
5520
+ createVNode(_component_DurationValue, {
5521
+ ms: row.original.duration,
5522
+ class: `text-sm ${stepDurationTextClass(row.original.duration)}`,
5523
+ "unit-class": "opacity-60"
5524
+ }, null, 8, ["ms", "class"]),
5409
5525
  stepPctOfTest(row.original.duration) ? (openBlock(), createBlock("span", {
5410
5526
  key: 0,
5411
5527
  class: "text-xs tabular-nums text-gray-400 dark:text-gray-500"
@@ -5456,7 +5572,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5456
5572
  ]),
5457
5573
  _: 2
5458
5574
  }, 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)
5575
+ createVNode("span", { class: "tabular-nums text-gray-500 dark:text-gray-400" }, [
5576
+ createTextVNode("×" + toDisplayString(c.count) + " · ", 1),
5577
+ createVNode(_component_DurationValue, {
5578
+ ms: c.duration
5579
+ }, null, 8, ["ms"])
5580
+ ])
5460
5581
  ]);
5461
5582
  }), 128))
5462
5583
  ]),
@@ -5536,9 +5657,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5536
5657
  "duration-cell": withCtx(({ row }) => [
5537
5658
  createVNode("div", { class: "min-w-[6rem]" }, [
5538
5659
  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),
5660
+ createVNode(_component_DurationValue, {
5661
+ ms: row.original.duration,
5662
+ class: `text-sm ${stepDurationTextClass(row.original.duration)}`,
5663
+ "unit-class": "opacity-60"
5664
+ }, null, 8, ["ms", "class"]),
5542
5665
  stepPctOfTest(row.original.duration) ? (openBlock(), createBlock("span", {
5543
5666
  key: 0,
5544
5667
  class: "text-xs tabular-nums text-gray-400 dark:text-gray-500"
@@ -5709,54 +5832,134 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5709
5832
  if (_push5) {
5710
5833
  _push5(ssrRenderComponent(_component_StatTile, {
5711
5834
  label: "TTFB",
5712
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.ttfb),
5713
5835
  hint: "Time to first byte",
5714
5836
  "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));
5837
+ }, {
5838
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5839
+ if (_push6) {
5840
+ _push6(ssrRenderComponent(_component_DurationValue, {
5841
+ ms: unref(webVitals).navigation.ttfb
5842
+ }, null, _parent6, _scopeId5));
5843
+ } else {
5844
+ return [
5845
+ createVNode(_component_DurationValue, {
5846
+ ms: unref(webVitals).navigation.ttfb
5847
+ }, null, 8, ["ms"])
5848
+ ];
5849
+ }
5850
+ }),
5851
+ _: 1
5852
+ }, _parent5, _scopeId4));
5716
5853
  _push5(ssrRenderComponent(_component_StatTile, {
5717
5854
  label: "DOM Interactive",
5718
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domInteractive),
5719
5855
  hint: "DOM interactive",
5720
5856
  "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));
5857
+ }, {
5858
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5859
+ if (_push6) {
5860
+ _push6(ssrRenderComponent(_component_DurationValue, {
5861
+ ms: unref(webVitals).navigation.domInteractive
5862
+ }, null, _parent6, _scopeId5));
5863
+ } else {
5864
+ return [
5865
+ createVNode(_component_DurationValue, {
5866
+ ms: unref(webVitals).navigation.domInteractive
5867
+ }, null, 8, ["ms"])
5868
+ ];
5869
+ }
5870
+ }),
5871
+ _: 1
5872
+ }, _parent5, _scopeId4));
5722
5873
  _push5(ssrRenderComponent(_component_StatTile, {
5723
5874
  label: "DOMContentLoaded",
5724
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domContentLoaded),
5725
5875
  hint: "DOMContentLoaded",
5726
5876
  "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));
5877
+ }, {
5878
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5879
+ if (_push6) {
5880
+ _push6(ssrRenderComponent(_component_DurationValue, {
5881
+ ms: unref(webVitals).navigation.domContentLoaded
5882
+ }, null, _parent6, _scopeId5));
5883
+ } else {
5884
+ return [
5885
+ createVNode(_component_DurationValue, {
5886
+ ms: unref(webVitals).navigation.domContentLoaded
5887
+ }, null, 8, ["ms"])
5888
+ ];
5889
+ }
5890
+ }),
5891
+ _: 1
5892
+ }, _parent5, _scopeId4));
5728
5893
  _push5(ssrRenderComponent(_component_StatTile, {
5729
5894
  label: "Load Complete",
5730
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.loadComplete),
5731
5895
  hint: "Page fully loaded",
5732
5896
  "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));
5897
+ }, {
5898
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5899
+ if (_push6) {
5900
+ _push6(ssrRenderComponent(_component_DurationValue, {
5901
+ ms: unref(webVitals).navigation.loadComplete
5902
+ }, null, _parent6, _scopeId5));
5903
+ } else {
5904
+ return [
5905
+ createVNode(_component_DurationValue, {
5906
+ ms: unref(webVitals).navigation.loadComplete
5907
+ }, null, 8, ["ms"])
5908
+ ];
5909
+ }
5910
+ }),
5911
+ _: 1
5912
+ }, _parent5, _scopeId4));
5734
5913
  } else {
5735
5914
  return [
5736
5915
  createVNode(_component_StatTile, {
5737
5916
  label: "TTFB",
5738
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.ttfb),
5739
5917
  hint: "Time to first byte",
5740
5918
  "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"]),
5919
+ }, {
5920
+ default: withCtx(() => [
5921
+ createVNode(_component_DurationValue, {
5922
+ ms: unref(webVitals).navigation.ttfb
5923
+ }, null, 8, ["ms"])
5924
+ ]),
5925
+ _: 1
5926
+ }, 8, ["value-class"]),
5742
5927
  createVNode(_component_StatTile, {
5743
5928
  label: "DOM Interactive",
5744
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domInteractive),
5745
5929
  hint: "DOM interactive",
5746
5930
  "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"]),
5931
+ }, {
5932
+ default: withCtx(() => [
5933
+ createVNode(_component_DurationValue, {
5934
+ ms: unref(webVitals).navigation.domInteractive
5935
+ }, null, 8, ["ms"])
5936
+ ]),
5937
+ _: 1
5938
+ }, 8, ["value-class"]),
5748
5939
  createVNode(_component_StatTile, {
5749
5940
  label: "DOMContentLoaded",
5750
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domContentLoaded),
5751
5941
  hint: "DOMContentLoaded",
5752
5942
  "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"]),
5943
+ }, {
5944
+ default: withCtx(() => [
5945
+ createVNode(_component_DurationValue, {
5946
+ ms: unref(webVitals).navigation.domContentLoaded
5947
+ }, null, 8, ["ms"])
5948
+ ]),
5949
+ _: 1
5950
+ }, 8, ["value-class"]),
5754
5951
  createVNode(_component_StatTile, {
5755
5952
  label: "Load Complete",
5756
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.loadComplete),
5757
5953
  hint: "Page fully loaded",
5758
5954
  "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"])
5955
+ }, {
5956
+ default: withCtx(() => [
5957
+ createVNode(_component_DurationValue, {
5958
+ ms: unref(webVitals).navigation.loadComplete
5959
+ }, null, 8, ["ms"])
5960
+ ]),
5961
+ _: 1
5962
+ }, 8, ["value-class"])
5760
5963
  ];
5761
5964
  }
5762
5965
  }),
@@ -5773,19 +5976,45 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5773
5976
  default: withCtx((_4, _push5, _parent5, _scopeId4) => {
5774
5977
  if (_push5) {
5775
5978
  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));
5979
+ _push5(ssrRenderComponent(_component_StatTile, { label: "First Paint (FP)" }, {
5980
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
5981
+ if (_push6) {
5982
+ _push6(ssrRenderComponent(_component_DurationValue, {
5983
+ ms: unref(webVitals).paint.firstPaint
5984
+ }, null, _parent6, _scopeId5));
5985
+ } else {
5986
+ return [
5987
+ createVNode(_component_DurationValue, {
5988
+ ms: unref(webVitals).paint.firstPaint
5989
+ }, null, 8, ["ms"])
5990
+ ];
5991
+ }
5992
+ }),
5993
+ _: 1
5994
+ }, _parent5, _scopeId4));
5780
5995
  } else {
5781
5996
  _push5(`<!---->`);
5782
5997
  }
5783
5998
  if (unref(webVitals).paint.firstContentfulPaint !== void 0) {
5784
5999
  _push5(ssrRenderComponent(_component_StatTile, {
5785
6000
  label: "First Contentful Paint (FCP)",
5786
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstContentfulPaint),
5787
6001
  "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));
6002
+ }, {
6003
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
6004
+ if (_push6) {
6005
+ _push6(ssrRenderComponent(_component_DurationValue, {
6006
+ ms: unref(webVitals).paint.firstContentfulPaint
6007
+ }, null, _parent6, _scopeId5));
6008
+ } else {
6009
+ return [
6010
+ createVNode(_component_DurationValue, {
6011
+ ms: unref(webVitals).paint.firstContentfulPaint
6012
+ }, null, 8, ["ms"])
6013
+ ];
6014
+ }
6015
+ }),
6016
+ _: 1
6017
+ }, _parent5, _scopeId4));
5789
6018
  } else {
5790
6019
  _push5(`<!---->`);
5791
6020
  }
@@ -5793,15 +6022,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5793
6022
  return [
5794
6023
  unref(webVitals).paint.firstPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
5795
6024
  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),
6025
+ label: "First Paint (FP)"
6026
+ }, {
6027
+ default: withCtx(() => [
6028
+ createVNode(_component_DurationValue, {
6029
+ ms: unref(webVitals).paint.firstPaint
6030
+ }, null, 8, ["ms"])
6031
+ ]),
6032
+ _: 1
6033
+ })) : createCommentVNode("", true),
5799
6034
  unref(webVitals).paint.firstContentfulPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
5800
6035
  key: 1,
5801
6036
  label: "First Contentful Paint (FCP)",
5802
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstContentfulPaint),
5803
6037
  "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)
6038
+ }, {
6039
+ default: withCtx(() => [
6040
+ createVNode(_component_DurationValue, {
6041
+ ms: unref(webVitals).paint.firstContentfulPaint
6042
+ }, null, 8, ["ms"])
6043
+ ]),
6044
+ _: 1
6045
+ }, 8, ["value-class"])) : createCommentVNode("", true)
5805
6046
  ];
5806
6047
  }
5807
6048
  }),
@@ -5819,9 +6060,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5819
6060
  if (_push5) {
5820
6061
  _push5(ssrRenderComponent(_component_StatTile, {
5821
6062
  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
6063
  "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));
6064
+ }, {
6065
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
6066
+ if (_push6) {
6067
+ _push6(ssrRenderComponent(_component_DurationValue, {
6068
+ ms: unref(webVitals).vitals.lcp,
6069
+ fallback: "n/a"
6070
+ }, null, _parent6, _scopeId5));
6071
+ } else {
6072
+ return [
6073
+ createVNode(_component_DurationValue, {
6074
+ ms: unref(webVitals).vitals.lcp,
6075
+ fallback: "n/a"
6076
+ }, null, 8, ["ms"])
6077
+ ];
6078
+ }
6079
+ }),
6080
+ _: 1
6081
+ }, _parent5, _scopeId4));
5825
6082
  _push5(ssrRenderComponent(_component_StatTile, {
5826
6083
  label: "Cumulative Layout Shift (CLS)",
5827
6084
  value: unref(webVitals).vitals.cls != null ? String(unref(webVitals).vitals.cls) : "n/a",
@@ -5829,16 +6086,39 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5829
6086
  }, null, _parent5, _scopeId4));
5830
6087
  _push5(ssrRenderComponent(_component_StatTile, {
5831
6088
  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
6089
  "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));
6090
+ }, {
6091
+ default: withCtx((_5, _push6, _parent6, _scopeId5) => {
6092
+ if (_push6) {
6093
+ _push6(ssrRenderComponent(_component_DurationValue, {
6094
+ ms: unref(webVitals).vitals.inp,
6095
+ fallback: "n/a"
6096
+ }, null, _parent6, _scopeId5));
6097
+ } else {
6098
+ return [
6099
+ createVNode(_component_DurationValue, {
6100
+ ms: unref(webVitals).vitals.inp,
6101
+ fallback: "n/a"
6102
+ }, null, 8, ["ms"])
6103
+ ];
6104
+ }
6105
+ }),
6106
+ _: 1
6107
+ }, _parent5, _scopeId4));
5835
6108
  } else {
5836
6109
  return [
5837
6110
  createVNode(_component_StatTile, {
5838
6111
  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
6112
  "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"]),
6113
+ }, {
6114
+ default: withCtx(() => [
6115
+ createVNode(_component_DurationValue, {
6116
+ ms: unref(webVitals).vitals.lcp,
6117
+ fallback: "n/a"
6118
+ }, null, 8, ["ms"])
6119
+ ]),
6120
+ _: 1
6121
+ }, 8, ["value-class"]),
5842
6122
  createVNode(_component_StatTile, {
5843
6123
  label: "Cumulative Layout Shift (CLS)",
5844
6124
  value: unref(webVitals).vitals.cls != null ? String(unref(webVitals).vitals.cls) : "n/a",
@@ -5846,9 +6126,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5846
6126
  }, null, 8, ["value", "value-class"]),
5847
6127
  createVNode(_component_StatTile, {
5848
6128
  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
6129
  "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"])
6130
+ }, {
6131
+ default: withCtx(() => [
6132
+ createVNode(_component_DurationValue, {
6133
+ ms: unref(webVitals).vitals.inp,
6134
+ fallback: "n/a"
6135
+ }, null, 8, ["ms"])
6136
+ ]),
6137
+ _: 1
6138
+ }, 8, ["value-class"])
5852
6139
  ];
5853
6140
  }
5854
6141
  }),
@@ -5873,28 +6160,52 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5873
6160
  default: withCtx(() => [
5874
6161
  createVNode(_component_StatTile, {
5875
6162
  label: "TTFB",
5876
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.ttfb),
5877
6163
  hint: "Time to first byte",
5878
6164
  "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"]),
6165
+ }, {
6166
+ default: withCtx(() => [
6167
+ createVNode(_component_DurationValue, {
6168
+ ms: unref(webVitals).navigation.ttfb
6169
+ }, null, 8, ["ms"])
6170
+ ]),
6171
+ _: 1
6172
+ }, 8, ["value-class"]),
5880
6173
  createVNode(_component_StatTile, {
5881
6174
  label: "DOM Interactive",
5882
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domInteractive),
5883
6175
  hint: "DOM interactive",
5884
6176
  "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"]),
6177
+ }, {
6178
+ default: withCtx(() => [
6179
+ createVNode(_component_DurationValue, {
6180
+ ms: unref(webVitals).navigation.domInteractive
6181
+ }, null, 8, ["ms"])
6182
+ ]),
6183
+ _: 1
6184
+ }, 8, ["value-class"]),
5886
6185
  createVNode(_component_StatTile, {
5887
6186
  label: "DOMContentLoaded",
5888
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domContentLoaded),
5889
6187
  hint: "DOMContentLoaded",
5890
6188
  "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"]),
6189
+ }, {
6190
+ default: withCtx(() => [
6191
+ createVNode(_component_DurationValue, {
6192
+ ms: unref(webVitals).navigation.domContentLoaded
6193
+ }, null, 8, ["ms"])
6194
+ ]),
6195
+ _: 1
6196
+ }, 8, ["value-class"]),
5892
6197
  createVNode(_component_StatTile, {
5893
6198
  label: "Load Complete",
5894
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.loadComplete),
5895
6199
  hint: "Page fully loaded",
5896
6200
  "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"])
6201
+ }, {
6202
+ default: withCtx(() => [
6203
+ createVNode(_component_DurationValue, {
6204
+ ms: unref(webVitals).navigation.loadComplete
6205
+ }, null, 8, ["ms"])
6206
+ ]),
6207
+ _: 1
6208
+ }, 8, ["value-class"])
5898
6209
  ]),
5899
6210
  _: 1
5900
6211
  })) : createCommentVNode("", true),
@@ -5906,15 +6217,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5906
6217
  default: withCtx(() => [
5907
6218
  unref(webVitals).paint.firstPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
5908
6219
  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),
6220
+ label: "First Paint (FP)"
6221
+ }, {
6222
+ default: withCtx(() => [
6223
+ createVNode(_component_DurationValue, {
6224
+ ms: unref(webVitals).paint.firstPaint
6225
+ }, null, 8, ["ms"])
6226
+ ]),
6227
+ _: 1
6228
+ })) : createCommentVNode("", true),
5912
6229
  unref(webVitals).paint.firstContentfulPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
5913
6230
  key: 1,
5914
6231
  label: "First Contentful Paint (FCP)",
5915
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstContentfulPaint),
5916
6232
  "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)
6233
+ }, {
6234
+ default: withCtx(() => [
6235
+ createVNode(_component_DurationValue, {
6236
+ ms: unref(webVitals).paint.firstContentfulPaint
6237
+ }, null, 8, ["ms"])
6238
+ ]),
6239
+ _: 1
6240
+ }, 8, ["value-class"])) : createCommentVNode("", true)
5918
6241
  ]),
5919
6242
  _: 1
5920
6243
  })) : createCommentVNode("", true),
@@ -5926,9 +6249,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5926
6249
  default: withCtx(() => [
5927
6250
  createVNode(_component_StatTile, {
5928
6251
  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
6252
  "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"]),
6253
+ }, {
6254
+ default: withCtx(() => [
6255
+ createVNode(_component_DurationValue, {
6256
+ ms: unref(webVitals).vitals.lcp,
6257
+ fallback: "n/a"
6258
+ }, null, 8, ["ms"])
6259
+ ]),
6260
+ _: 1
6261
+ }, 8, ["value-class"]),
5932
6262
  createVNode(_component_StatTile, {
5933
6263
  label: "Cumulative Layout Shift (CLS)",
5934
6264
  value: unref(webVitals).vitals.cls != null ? String(unref(webVitals).vitals.cls) : "n/a",
@@ -5936,9 +6266,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5936
6266
  }, null, 8, ["value", "value-class"]),
5937
6267
  createVNode(_component_StatTile, {
5938
6268
  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
6269
  "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"])
6270
+ }, {
6271
+ default: withCtx(() => [
6272
+ createVNode(_component_DurationValue, {
6273
+ ms: unref(webVitals).vitals.inp,
6274
+ fallback: "n/a"
6275
+ }, null, 8, ["ms"])
6276
+ ]),
6277
+ _: 1
6278
+ }, 8, ["value-class"])
5942
6279
  ]),
5943
6280
  _: 1
5944
6281
  })) : createCommentVNode("", true),
@@ -6050,28 +6387,52 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6050
6387
  default: withCtx(() => [
6051
6388
  createVNode(_component_StatTile, {
6052
6389
  label: "TTFB",
6053
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.ttfb),
6054
6390
  hint: "Time to first byte",
6055
6391
  "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"]),
6392
+ }, {
6393
+ default: withCtx(() => [
6394
+ createVNode(_component_DurationValue, {
6395
+ ms: unref(webVitals).navigation.ttfb
6396
+ }, null, 8, ["ms"])
6397
+ ]),
6398
+ _: 1
6399
+ }, 8, ["value-class"]),
6057
6400
  createVNode(_component_StatTile, {
6058
6401
  label: "DOM Interactive",
6059
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domInteractive),
6060
6402
  hint: "DOM interactive",
6061
6403
  "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"]),
6404
+ }, {
6405
+ default: withCtx(() => [
6406
+ createVNode(_component_DurationValue, {
6407
+ ms: unref(webVitals).navigation.domInteractive
6408
+ }, null, 8, ["ms"])
6409
+ ]),
6410
+ _: 1
6411
+ }, 8, ["value-class"]),
6063
6412
  createVNode(_component_StatTile, {
6064
6413
  label: "DOMContentLoaded",
6065
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domContentLoaded),
6066
6414
  hint: "DOMContentLoaded",
6067
6415
  "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"]),
6416
+ }, {
6417
+ default: withCtx(() => [
6418
+ createVNode(_component_DurationValue, {
6419
+ ms: unref(webVitals).navigation.domContentLoaded
6420
+ }, null, 8, ["ms"])
6421
+ ]),
6422
+ _: 1
6423
+ }, 8, ["value-class"]),
6069
6424
  createVNode(_component_StatTile, {
6070
6425
  label: "Load Complete",
6071
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.loadComplete),
6072
6426
  hint: "Page fully loaded",
6073
6427
  "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"])
6428
+ }, {
6429
+ default: withCtx(() => [
6430
+ createVNode(_component_DurationValue, {
6431
+ ms: unref(webVitals).navigation.loadComplete
6432
+ }, null, 8, ["ms"])
6433
+ ]),
6434
+ _: 1
6435
+ }, 8, ["value-class"])
6075
6436
  ]),
6076
6437
  _: 1
6077
6438
  })) : createCommentVNode("", true),
@@ -6083,15 +6444,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6083
6444
  default: withCtx(() => [
6084
6445
  unref(webVitals).paint.firstPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
6085
6446
  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),
6447
+ label: "First Paint (FP)"
6448
+ }, {
6449
+ default: withCtx(() => [
6450
+ createVNode(_component_DurationValue, {
6451
+ ms: unref(webVitals).paint.firstPaint
6452
+ }, null, 8, ["ms"])
6453
+ ]),
6454
+ _: 1
6455
+ })) : createCommentVNode("", true),
6089
6456
  unref(webVitals).paint.firstContentfulPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
6090
6457
  key: 1,
6091
6458
  label: "First Contentful Paint (FCP)",
6092
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstContentfulPaint),
6093
6459
  "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)
6460
+ }, {
6461
+ default: withCtx(() => [
6462
+ createVNode(_component_DurationValue, {
6463
+ ms: unref(webVitals).paint.firstContentfulPaint
6464
+ }, null, 8, ["ms"])
6465
+ ]),
6466
+ _: 1
6467
+ }, 8, ["value-class"])) : createCommentVNode("", true)
6095
6468
  ]),
6096
6469
  _: 1
6097
6470
  })) : createCommentVNode("", true),
@@ -6103,9 +6476,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6103
6476
  default: withCtx(() => [
6104
6477
  createVNode(_component_StatTile, {
6105
6478
  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
6479
  "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"]),
6480
+ }, {
6481
+ default: withCtx(() => [
6482
+ createVNode(_component_DurationValue, {
6483
+ ms: unref(webVitals).vitals.lcp,
6484
+ fallback: "n/a"
6485
+ }, null, 8, ["ms"])
6486
+ ]),
6487
+ _: 1
6488
+ }, 8, ["value-class"]),
6109
6489
  createVNode(_component_StatTile, {
6110
6490
  label: "Cumulative Layout Shift (CLS)",
6111
6491
  value: unref(webVitals).vitals.cls != null ? String(unref(webVitals).vitals.cls) : "n/a",
@@ -6113,9 +6493,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6113
6493
  }, null, 8, ["value", "value-class"]),
6114
6494
  createVNode(_component_StatTile, {
6115
6495
  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
6496
  "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"])
6497
+ }, {
6498
+ default: withCtx(() => [
6499
+ createVNode(_component_DurationValue, {
6500
+ ms: unref(webVitals).vitals.inp,
6501
+ fallback: "n/a"
6502
+ }, null, 8, ["ms"])
6503
+ ]),
6504
+ _: 1
6505
+ }, 8, ["value-class"])
6119
6506
  ]),
6120
6507
  _: 1
6121
6508
  })) : createCommentVNode("", true),
@@ -6230,6 +6617,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6230
6617
  if (_push5) {
6231
6618
  _push5(ssrRenderComponent(_component_UBadge, {
6232
6619
  color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.status),
6620
+ variant: "subtle",
6233
6621
  class: "capitalize"
6234
6622
  }, {
6235
6623
  default: withCtx((_4, _push6, _parent6, _scopeId5) => {
@@ -6247,6 +6635,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6247
6635
  return [
6248
6636
  createVNode(_component_UBadge, {
6249
6637
  color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.status),
6638
+ variant: "subtle",
6250
6639
  class: "capitalize"
6251
6640
  }, {
6252
6641
  default: withCtx(() => [
@@ -6260,13 +6649,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6260
6649
  "duration-cell": withCtx(({ row }, _push5, _parent5, _scopeId4) => {
6261
6650
  if (_push5) {
6262
6651
  if (row.original.duration !== null) {
6263
- _push5(`<span${_scopeId4}>${ssrInterpolate(("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(row.original.duration))}</span>`);
6652
+ _push5(ssrRenderComponent(_component_DurationValue, {
6653
+ ms: row.original.duration
6654
+ }, null, _parent5, _scopeId4));
6264
6655
  } else {
6265
6656
  _push5(`<span class="text-gray-400"${_scopeId4}>—</span>`);
6266
6657
  }
6267
6658
  } else {
6268
6659
  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", {
6660
+ row.original.duration !== null ? (openBlock(), createBlock(_component_DurationValue, {
6661
+ key: 0,
6662
+ ms: row.original.duration
6663
+ }, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
6270
6664
  key: 1,
6271
6665
  class: "text-gray-400"
6272
6666
  }, "—"))
@@ -6351,6 +6745,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6351
6745
  "status-cell": withCtx(({ row }) => [
6352
6746
  createVNode(_component_UBadge, {
6353
6747
  color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.status),
6748
+ variant: "subtle",
6354
6749
  class: "capitalize"
6355
6750
  }, {
6356
6751
  default: withCtx(() => [
@@ -6360,7 +6755,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6360
6755
  }, 1032, ["color"])
6361
6756
  ]),
6362
6757
  "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", {
6758
+ row.original.duration !== null ? (openBlock(), createBlock(_component_DurationValue, {
6759
+ key: 0,
6760
+ ms: row.original.duration
6761
+ }, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
6364
6762
  key: 1,
6365
6763
  class: "text-gray-400"
6366
6764
  }, "—"))
@@ -6466,6 +6864,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6466
6864
  "status-cell": withCtx(({ row }) => [
6467
6865
  createVNode(_component_UBadge, {
6468
6866
  color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.status),
6867
+ variant: "subtle",
6469
6868
  class: "capitalize"
6470
6869
  }, {
6471
6870
  default: withCtx(() => [
@@ -6475,7 +6874,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6475
6874
  }, 1032, ["color"])
6476
6875
  ]),
6477
6876
  "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", {
6877
+ row.original.duration !== null ? (openBlock(), createBlock(_component_DurationValue, {
6878
+ key: 0,
6879
+ ms: row.original.duration
6880
+ }, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
6479
6881
  key: 1,
6480
6882
  class: "text-gray-400"
6481
6883
  }, "—"))
@@ -6719,7 +7121,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6719
7121
  ]),
6720
7122
  _: 2
6721
7123
  }, 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)
7124
+ createVNode("span", { class: "tabular-nums text-gray-500 dark:text-gray-400" }, [
7125
+ createTextVNode("×" + toDisplayString(c.count) + " · ", 1),
7126
+ createVNode(_component_DurationValue, {
7127
+ ms: c.duration
7128
+ }, null, 8, ["ms"])
7129
+ ])
6723
7130
  ]);
6724
7131
  }), 128))
6725
7132
  ]),
@@ -6799,9 +7206,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6799
7206
  "duration-cell": withCtx(({ row }) => [
6800
7207
  createVNode("div", { class: "min-w-[6rem]" }, [
6801
7208
  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),
7209
+ createVNode(_component_DurationValue, {
7210
+ ms: row.original.duration,
7211
+ class: `text-sm ${stepDurationTextClass(row.original.duration)}`,
7212
+ "unit-class": "opacity-60"
7213
+ }, null, 8, ["ms", "class"]),
6805
7214
  stepPctOfTest(row.original.duration) ? (openBlock(), createBlock("span", {
6806
7215
  key: 0,
6807
7216
  class: "text-xs tabular-nums text-gray-400 dark:text-gray-500"
@@ -6920,28 +7329,52 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6920
7329
  default: withCtx(() => [
6921
7330
  createVNode(_component_StatTile, {
6922
7331
  label: "TTFB",
6923
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.ttfb),
6924
7332
  hint: "Time to first byte",
6925
7333
  "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"]),
7334
+ }, {
7335
+ default: withCtx(() => [
7336
+ createVNode(_component_DurationValue, {
7337
+ ms: unref(webVitals).navigation.ttfb
7338
+ }, null, 8, ["ms"])
7339
+ ]),
7340
+ _: 1
7341
+ }, 8, ["value-class"]),
6927
7342
  createVNode(_component_StatTile, {
6928
7343
  label: "DOM Interactive",
6929
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domInteractive),
6930
7344
  hint: "DOM interactive",
6931
7345
  "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"]),
7346
+ }, {
7347
+ default: withCtx(() => [
7348
+ createVNode(_component_DurationValue, {
7349
+ ms: unref(webVitals).navigation.domInteractive
7350
+ }, null, 8, ["ms"])
7351
+ ]),
7352
+ _: 1
7353
+ }, 8, ["value-class"]),
6933
7354
  createVNode(_component_StatTile, {
6934
7355
  label: "DOMContentLoaded",
6935
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.domContentLoaded),
6936
7356
  hint: "DOMContentLoaded",
6937
7357
  "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"]),
7358
+ }, {
7359
+ default: withCtx(() => [
7360
+ createVNode(_component_DurationValue, {
7361
+ ms: unref(webVitals).navigation.domContentLoaded
7362
+ }, null, 8, ["ms"])
7363
+ ]),
7364
+ _: 1
7365
+ }, 8, ["value-class"]),
6939
7366
  createVNode(_component_StatTile, {
6940
7367
  label: "Load Complete",
6941
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).navigation.loadComplete),
6942
7368
  hint: "Page fully loaded",
6943
7369
  "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"])
7370
+ }, {
7371
+ default: withCtx(() => [
7372
+ createVNode(_component_DurationValue, {
7373
+ ms: unref(webVitals).navigation.loadComplete
7374
+ }, null, 8, ["ms"])
7375
+ ]),
7376
+ _: 1
7377
+ }, 8, ["value-class"])
6945
7378
  ]),
6946
7379
  _: 1
6947
7380
  })) : createCommentVNode("", true),
@@ -6953,15 +7386,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6953
7386
  default: withCtx(() => [
6954
7387
  unref(webVitals).paint.firstPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
6955
7388
  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),
7389
+ label: "First Paint (FP)"
7390
+ }, {
7391
+ default: withCtx(() => [
7392
+ createVNode(_component_DurationValue, {
7393
+ ms: unref(webVitals).paint.firstPaint
7394
+ }, null, 8, ["ms"])
7395
+ ]),
7396
+ _: 1
7397
+ })) : createCommentVNode("", true),
6959
7398
  unref(webVitals).paint.firstContentfulPaint !== void 0 ? (openBlock(), createBlock(_component_StatTile, {
6960
7399
  key: 1,
6961
7400
  label: "First Contentful Paint (FCP)",
6962
- value: ("formatDuration" in _ctx ? _ctx.formatDuration : unref(formatDuration))(unref(webVitals).paint.firstContentfulPaint),
6963
7401
  "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)
7402
+ }, {
7403
+ default: withCtx(() => [
7404
+ createVNode(_component_DurationValue, {
7405
+ ms: unref(webVitals).paint.firstContentfulPaint
7406
+ }, null, 8, ["ms"])
7407
+ ]),
7408
+ _: 1
7409
+ }, 8, ["value-class"])) : createCommentVNode("", true)
6965
7410
  ]),
6966
7411
  _: 1
6967
7412
  })) : createCommentVNode("", true),
@@ -6973,9 +7418,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6973
7418
  default: withCtx(() => [
6974
7419
  createVNode(_component_StatTile, {
6975
7420
  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
7421
  "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"]),
7422
+ }, {
7423
+ default: withCtx(() => [
7424
+ createVNode(_component_DurationValue, {
7425
+ ms: unref(webVitals).vitals.lcp,
7426
+ fallback: "n/a"
7427
+ }, null, 8, ["ms"])
7428
+ ]),
7429
+ _: 1
7430
+ }, 8, ["value-class"]),
6979
7431
  createVNode(_component_StatTile, {
6980
7432
  label: "Cumulative Layout Shift (CLS)",
6981
7433
  value: unref(webVitals).vitals.cls != null ? String(unref(webVitals).vitals.cls) : "n/a",
@@ -6983,9 +7435,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6983
7435
  }, null, 8, ["value", "value-class"]),
6984
7436
  createVNode(_component_StatTile, {
6985
7437
  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
7438
  "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"])
7439
+ }, {
7440
+ default: withCtx(() => [
7441
+ createVNode(_component_DurationValue, {
7442
+ ms: unref(webVitals).vitals.inp,
7443
+ fallback: "n/a"
7444
+ }, null, 8, ["ms"])
7445
+ ]),
7446
+ _: 1
7447
+ }, 8, ["value-class"])
6989
7448
  ]),
6990
7449
  _: 1
6991
7450
  })) : createCommentVNode("", true),
@@ -7077,6 +7536,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7077
7536
  "status-cell": withCtx(({ row }) => [
7078
7537
  createVNode(_component_UBadge, {
7079
7538
  color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.status),
7539
+ variant: "subtle",
7080
7540
  class: "capitalize"
7081
7541
  }, {
7082
7542
  default: withCtx(() => [
@@ -7086,7 +7546,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7086
7546
  }, 1032, ["color"])
7087
7547
  ]),
7088
7548
  "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", {
7549
+ row.original.duration !== null ? (openBlock(), createBlock(_component_DurationValue, {
7550
+ key: 0,
7551
+ ms: row.original.duration
7552
+ }, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
7090
7553
  key: 1,
7091
7554
  class: "text-gray-400"
7092
7555
  }, "—"))
@@ -7144,4 +7607,4 @@ _sfc_main.setup = (props, ctx) => {
7144
7607
  };
7145
7608
 
7146
7609
  export { _sfc_main as default };
7147
- //# sourceMappingURL=_id_-B2yirIuA.mjs.map
7610
+ //# sourceMappingURL=_id_-BxA6IgWr.mjs.map