@piwitests/server 0.18.1 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (773) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BaDv5D7A.js → -09h6CA9.js} +1 -1
  3. package/.output/public/_nuxt/279D2RYp.js +1 -0
  4. package/.output/public/_nuxt/81InBX9v.js +1 -0
  5. package/.output/public/_nuxt/{CRpbGS75.js → Ar3IelOY.js} +1 -1
  6. package/.output/public/_nuxt/B33iXw77.js +1 -0
  7. package/.output/public/_nuxt/B3B9Ii2A.js +1 -0
  8. package/.output/public/_nuxt/B3HO8kuh.js +1 -0
  9. package/.output/public/_nuxt/B44A4LSJ.js +1 -0
  10. package/.output/public/_nuxt/{CPZ5wygb.js → B7NBP1C-.js} +1 -1
  11. package/.output/public/_nuxt/{Db_-yjYg.js → B9WhzpKO.js} +1 -1
  12. package/.output/public/_nuxt/{DoYgYLOd.js → BCMuIgP5.js} +1 -1
  13. package/.output/public/_nuxt/BDicZ1gQ.js +1 -0
  14. package/.output/public/_nuxt/BJ0XQElc.js +1 -0
  15. package/.output/public/_nuxt/{D4SFgXAf.js → BMvCSA6h.js} +1 -1
  16. package/.output/public/_nuxt/BPQoBGg5.js +1 -0
  17. package/.output/public/_nuxt/BPRffDuo.js +1 -0
  18. package/.output/public/_nuxt/BSIxhGsh.js +1 -0
  19. package/.output/public/_nuxt/BVaxh6Nl.js +4 -0
  20. package/.output/public/_nuxt/{BReNbog6.js → BX9ZXe98.js} +1 -1
  21. package/.output/public/_nuxt/{rm7OkgDG.js → BYDaY0Z7.js} +1 -1
  22. package/.output/public/_nuxt/{WAaPPk0g.js → Bc8mOoz9.js} +2 -2
  23. package/.output/public/_nuxt/BccXfBfI.js +1 -0
  24. package/.output/public/_nuxt/{Dbg8z684.js → BeLWlVK0.js} +1 -1
  25. package/.output/public/_nuxt/{CP0vUzbd.js → BfTuX0wq.js} +1 -1
  26. package/.output/public/_nuxt/BjaRappk.js +1 -0
  27. package/.output/public/_nuxt/{D3MWm6JP.js → Bn0YQDyy.js} +1 -1
  28. package/.output/public/_nuxt/Bp5ELvx9.js +1 -0
  29. package/.output/public/_nuxt/BpUaY9nH.js +2 -0
  30. package/.output/public/_nuxt/BqV0l12c.js +1 -0
  31. package/.output/public/_nuxt/{D8YZvjas.js → Bti38m-M.js} +1 -1
  32. package/.output/public/_nuxt/{DVgMaBxD.js → Bu2aaVIY.js} +3 -3
  33. package/.output/public/_nuxt/{CUDeMcEK.js → BuMC3WjZ.js} +1 -1
  34. package/.output/public/_nuxt/{Bi3i470l.js → BxCKKeYs.js} +1 -1
  35. package/.output/public/_nuxt/{BTYiG93l.js → C-elpgyr.js} +1 -1
  36. package/.output/public/_nuxt/C2_3mdPC.js +1 -0
  37. package/.output/public/_nuxt/{BoC6qaRF.js → C5iG7O4O.js} +4 -4
  38. package/.output/public/_nuxt/C7P1UCO2.js +1 -0
  39. package/.output/public/_nuxt/{BuuvTH9e.js → C95YAaJq.js} +1 -1
  40. package/.output/public/_nuxt/{DOr_4nln.js → C9_jrmk9.js} +2 -2
  41. package/.output/public/_nuxt/CDk0q2hV.js +2 -0
  42. package/.output/public/_nuxt/{DIA_NAIv.js → CGNkHojN.js} +3 -3
  43. package/.output/public/_nuxt/CHEFCN8Q.js +1 -0
  44. package/.output/public/_nuxt/CHNwfU1y.js +1 -0
  45. package/.output/public/_nuxt/CK_2LZBS.js +1 -0
  46. package/.output/public/_nuxt/CNFYDQmj.js +1 -0
  47. package/.output/public/_nuxt/{BfoG8R5a.js → CTxDO9fB.js} +1 -1
  48. package/.output/public/_nuxt/{B1CB30tg.js → CU5S9GCh.js} +1 -1
  49. package/.output/public/_nuxt/{BKaU95es.js → CUtJobDm.js} +1 -1
  50. package/.output/public/_nuxt/CV9-fTmY.js +1 -0
  51. package/.output/public/_nuxt/{BAkJhSAW.js → CYsTqbBS.js} +1 -1
  52. package/.output/public/_nuxt/{AjuKBlzz.js → CZfMdzfk.js} +1 -1
  53. package/.output/public/_nuxt/{lowCGL2S.js → Cdff9XNh.js} +1 -1
  54. package/.output/public/_nuxt/{quV6tp4n.js → ClOqkAcc.js} +1 -1
  55. package/.output/public/_nuxt/{Doul3p1_.js → CpjgB2aY.js} +1 -1
  56. package/.output/public/_nuxt/CrwJAwhk.js +1 -0
  57. package/.output/public/_nuxt/CtQBsNUb.js +1 -0
  58. package/.output/public/_nuxt/CuSVQEkS.js +3 -0
  59. package/.output/public/_nuxt/{wQZj69OY.js → CylWPruw.js} +1 -1
  60. package/.output/public/_nuxt/CzGyac8q.js +1 -0
  61. package/.output/public/_nuxt/D-c8ZSws.js +1 -0
  62. package/.output/public/_nuxt/{B6IHiVa1.js → D0HNloZ9.js} +1 -1
  63. package/.output/public/_nuxt/{ClIKZ4qY.js → D55D4EYo.js} +1 -1
  64. package/.output/public/_nuxt/{Bi9DO8jm.js → DDDpCFpF.js} +1 -1
  65. package/.output/public/_nuxt/{va1mwSm9.js → DEFEpYzn.js} +1 -1
  66. package/.output/public/_nuxt/DGfAxLHV.js +1 -0
  67. package/.output/public/_nuxt/DHDtnj7p.js +1 -0
  68. package/.output/public/_nuxt/DLSrtpsA.js +1 -0
  69. package/.output/public/_nuxt/DP8hfJ9h.js +1 -0
  70. package/.output/public/_nuxt/DS636elg.js +1 -0
  71. package/.output/public/_nuxt/{D51_cB9D.js → DT53RWbC.js} +1 -1
  72. package/.output/public/_nuxt/DVDXJYq2.js +2 -0
  73. package/.output/public/_nuxt/DW0xl3I6.js +17 -0
  74. package/.output/public/_nuxt/{BEB2Mv6B.js → DX-MDGb3.js} +1 -1
  75. package/.output/public/_nuxt/DcmZRa_F.js +1 -0
  76. package/.output/public/_nuxt/DgE2YE3R.js +1 -0
  77. package/.output/public/_nuxt/Dgf5N4Ng.js +1 -0
  78. package/.output/public/_nuxt/DiOLdHBC.js +1 -0
  79. package/.output/public/_nuxt/DiZyJYez.js +1 -0
  80. package/.output/public/_nuxt/Dk9fwOCm.js +34 -0
  81. package/.output/public/_nuxt/{DRE6Aqqp.js → Dnpkl-1q.js} +1 -1
  82. package/.output/public/_nuxt/DoUy4UHi.js +44 -0
  83. package/.output/public/_nuxt/{empGC_x-.js → DprVVyUQ.js} +1 -1
  84. package/.output/public/_nuxt/{BVDBIVAQ.js → DslPMqfa.js} +1 -1
  85. package/.output/public/_nuxt/{Vnfkr1pJ.js → FUXhyidq.js} +1 -1
  86. package/.output/public/_nuxt/HXerICAi.js +79 -0
  87. package/.output/public/_nuxt/{Do6zIWQf.js → IvQlbZk6.js} +1 -1
  88. package/.output/public/_nuxt/{n-QWmQgc.js → Jo8kRmHz.js} +1 -1
  89. package/.output/public/_nuxt/{BsDB_eCd.js → KnfsST6Y.js} +1 -1
  90. package/.output/public/_nuxt/NQikbhmK.js +253 -0
  91. package/.output/public/_nuxt/OSduWzyz.js +1 -0
  92. package/.output/public/_nuxt/SfMRXW25.js +5 -0
  93. package/.output/public/_nuxt/{mlAADjK3.js → SlIRLREZ.js} +2 -2
  94. package/.output/public/_nuxt/TagBadge.By1E6r4y.css +1 -0
  95. package/.output/public/_nuxt/WsxFTEFq.js +10 -0
  96. package/.output/public/_nuxt/YVN7WG7q.js +1 -0
  97. package/.output/public/_nuxt/{CRcjGmf7.js → ZFiQCMUB.js} +1 -1
  98. package/.output/public/_nuxt/aQgs_c6e.js +9 -0
  99. package/.output/public/_nuxt/builds/latest.json +1 -1
  100. package/.output/public/_nuxt/builds/meta/ab473028-4b37-4884-b243-b8f6e5046e5e.json +1 -0
  101. package/.output/public/_nuxt/{Dwp3GkV-.js → cHAnlQbv.js} +1 -1
  102. package/.output/public/_nuxt/dYCKgE-3.js +5 -0
  103. package/.output/public/_nuxt/{DnThe2U0.js → eaVkJRSa.js} +1 -1
  104. package/.output/public/_nuxt/entry.CPhW41mh.css +1 -0
  105. package/.output/public/_nuxt/{DoFSKAvY.js → eptP4pGv.js} +1 -1
  106. package/.output/public/_nuxt/fVcG504p.js +1 -0
  107. package/.output/public/_nuxt/g26aVPxc.js +1 -0
  108. package/.output/public/_nuxt/{wGpfdK6o.js → ndShiWE8.js} +1 -1
  109. package/.output/public/_nuxt/nv9-6vBK.js +1 -0
  110. package/.output/public/_nuxt/rWNTSFD6.js +3 -0
  111. package/.output/public/_nuxt/tvgqrYDd.js +1 -0
  112. package/.output/public/_nuxt/{DCMFuzDI.js → y17lMTFy.js} +1 -1
  113. package/.output/public/_nuxt/{DM_YaJgJ.js → ybDYeNxd.js} +1 -1
  114. package/.output/public/_nuxt/{B_aSGB8S.js → zQyPuvV1.js} +1 -1
  115. package/.output/public/demo/seed.version.json +2 -2
  116. package/.output/server/chunks/_/ai-prompt-preview.mjs +38 -0
  117. package/.output/server/chunks/_/ai-prompt-preview.mjs.map +1 -0
  118. package/.output/server/chunks/_/collect.mjs +122 -0
  119. package/.output/server/chunks/_/collect.mjs.map +1 -0
  120. package/.output/server/chunks/_/import-runs.mjs +351 -0
  121. package/.output/server/chunks/_/import-runs.mjs.map +1 -0
  122. package/.output/server/chunks/_/markers.mjs +1 -1
  123. package/.output/server/chunks/_/quarantine.mjs +112 -0
  124. package/.output/server/chunks/_/quarantine.mjs.map +1 -0
  125. package/.output/server/chunks/_/users.mjs +1 -1
  126. package/.output/server/chunks/build/{Alert-Bp1Wz_sq.mjs → Alert-C4xq8lao.mjs} +2 -2
  127. package/.output/server/chunks/build/Alert-C4xq8lao.mjs.map +1 -0
  128. package/.output/server/chunks/build/{Breadcrumb-C9ZPTLym.mjs → Breadcrumb-Ak2Lg3oM.mjs} +3 -3
  129. package/.output/server/chunks/build/Breadcrumb-Ak2Lg3oM.mjs.map +1 -0
  130. package/.output/server/chunks/build/{BreadcrumbNav-C3y42Vun.mjs → BreadcrumbNav-DO7I_z-n.mjs} +3 -3
  131. package/.output/server/chunks/build/BreadcrumbNav-DO7I_z-n.mjs.map +1 -0
  132. package/.output/server/chunks/build/{BrowserBadge-DNCp9pF-.mjs → BrowserBadge-D33lqUcj.mjs} +5 -5
  133. package/.output/server/chunks/build/BrowserBadge-D33lqUcj.mjs.map +1 -0
  134. package/.output/server/chunks/build/{ChartCard-Fr557IbV.mjs → ChartCard-Y1UKwMsf.mjs} +2 -2
  135. package/.output/server/chunks/build/ChartCard-Y1UKwMsf.mjs.map +1 -0
  136. package/.output/server/chunks/build/{Checkbox-cVOSIY93.mjs → Checkbox-DvUBGagc.mjs} +8 -8
  137. package/.output/server/chunks/build/Checkbox-DvUBGagc.mjs.map +1 -0
  138. package/.output/server/chunks/build/{CiEnvCard-DXPOhdSG.mjs → CiEnvCard-CrjOM17n.mjs} +25 -34
  139. package/.output/server/chunks/build/CiEnvCard-CrjOM17n.mjs.map +1 -0
  140. package/.output/server/chunks/build/{CodeBlock-BGwNmJ8J.mjs → CodeBlock-BgE-NSmE.mjs} +7 -22
  141. package/.output/server/chunks/build/CodeBlock-BgE-NSmE.mjs.map +1 -0
  142. package/.output/server/chunks/build/{DashboardNavbar-Bdp-OwTN.mjs → DashboardNavbar-BHmMSPX7.mjs} +3 -3
  143. package/.output/server/chunks/build/DashboardNavbar-BHmMSPX7.mjs.map +1 -0
  144. package/.output/server/chunks/build/{DashboardSidebarToggle-Ji6ADuqF.mjs → DashboardSidebarToggle-DCTnHiIv.mjs} +3 -3
  145. package/.output/server/chunks/build/DashboardSidebarToggle-DCTnHiIv.mjs.map +1 -0
  146. package/.output/server/chunks/build/{DataLocationCard-D6xSOrme.mjs → DataLocationCard-B_YHdzSz.mjs} +3 -3
  147. package/.output/server/chunks/build/DataLocationCard-B_YHdzSz.mjs.map +1 -0
  148. package/.output/server/chunks/build/{DiagnosisPanel-DV1xwGu4.mjs → DiagnosisPanel-B646dK4p.mjs} +17 -528
  149. package/.output/server/chunks/build/DiagnosisPanel-B646dK4p.mjs.map +1 -0
  150. package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs +43 -0
  151. package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs.map +1 -0
  152. package/.output/server/chunks/build/{EmptyState-DV3oT_xz.mjs → EmptyState-Dtlab7S9.mjs} +3 -3
  153. package/.output/server/chunks/build/EmptyState-Dtlab7S9.mjs.map +1 -0
  154. package/.output/server/chunks/build/{EntityLinks-DeOP13Kr.mjs → EntityLinks-D3fp57pR.mjs} +6 -6
  155. package/.output/server/chunks/build/EntityLinks-D3fp57pR.mjs.map +1 -0
  156. package/.output/server/chunks/build/{EnvManagedBadge-Qpn58Nmr.mjs → EnvManagedBadge-Bg3FSiU1.mjs} +3 -3
  157. package/.output/server/chunks/build/EnvManagedBadge-Bg3FSiU1.mjs.map +1 -0
  158. package/.output/server/chunks/build/{FormField-B-GSn_VR.mjs → FormField-B0HKsdMd.mjs} +3 -3
  159. package/.output/server/chunks/build/FormField-B0HKsdMd.mjs.map +1 -0
  160. package/.output/server/chunks/build/{HelpHint-YEMWtKu1.mjs → HelpHint-DrcIv-Oj.mjs} +53 -6
  161. package/.output/server/chunks/build/HelpHint-DrcIv-Oj.mjs.map +1 -0
  162. package/.output/server/chunks/build/{Label-DBvbHd3A.mjs → Label-DYDR1Oeh.mjs} +2 -2
  163. package/.output/server/chunks/build/Label-DYDR1Oeh.mjs.map +1 -0
  164. package/.output/server/chunks/build/{MiniRunBars-C3HG-EYm.mjs → MiniRunBars-CZMugDrh.mjs} +2 -2
  165. package/.output/server/chunks/build/MiniRunBars-CZMugDrh.mjs.map +1 -0
  166. package/.output/server/chunks/build/{Modal-CfA78Hm1.mjs → Modal-Ck2XLt8d.mjs} +2 -2
  167. package/.output/server/chunks/build/Modal-Ck2XLt8d.mjs.map +1 -0
  168. package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs → OpenInIdeLink-C4MXA8ya.mjs} +6 -6
  169. package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs.map → OpenInIdeLink-C4MXA8ya.mjs.map} +1 -1
  170. package/.output/server/chunks/build/{ProjectTestCasesTable-9Ia825h8.mjs → ProjectTestCasesTable-CxfQ5wtN.mjs} +120 -45
  171. package/.output/server/chunks/build/ProjectTestCasesTable-CxfQ5wtN.mjs.map +1 -0
  172. package/.output/server/chunks/build/{RovingFocusItem-CxhHdNGo.mjs → RovingFocusItem-BJSzTBjy.mjs} +2 -2
  173. package/.output/server/chunks/build/RovingFocusItem-BJSzTBjy.mjs.map +1 -0
  174. package/.output/server/chunks/build/{RunReports-BpJqLHY9.mjs → RunReports-DFLv51TX.mjs} +8 -6
  175. package/.output/server/chunks/build/RunReports-DFLv51TX.mjs.map +1 -0
  176. package/.output/server/chunks/build/{RunStatusBadge-BhmJ_RKM.mjs → RunStatusBadge-FfGb6bkW.mjs} +3 -2
  177. package/.output/server/chunks/build/RunStatusBadge-FfGb6bkW.mjs.map +1 -0
  178. package/.output/server/chunks/build/{SectionCard-COd9TuDq.mjs → SectionCard-CN-v0FZ_.mjs} +2 -2
  179. package/.output/server/chunks/build/SectionCard-CN-v0FZ_.mjs.map +1 -0
  180. package/.output/server/chunks/build/{Select-ppPz926C.mjs → Select-CUqj50wi.mjs} +4 -4
  181. package/.output/server/chunks/build/Select-CUqj50wi.mjs.map +1 -0
  182. package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs → SelectMenu-Db7osY7J.mjs} +4 -4
  183. package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs.map → SelectMenu-Db7osY7J.mjs.map} +1 -1
  184. package/.output/server/chunks/build/{Separator-CxZdx8kw.mjs → Separator-CR4WcEKD.mjs} +2 -2
  185. package/.output/server/chunks/build/Separator-CR4WcEKD.mjs.map +1 -0
  186. package/.output/server/chunks/build/{SettingsField-DDD4oqys.mjs → SettingsField-D6iEYbEc.mjs} +6 -6
  187. package/.output/server/chunks/build/SettingsField-D6iEYbEc.mjs.map +1 -0
  188. package/.output/server/chunks/build/{Slideover-B95Rj237.mjs → Slideover-DgCa80mf.mjs} +3 -3
  189. package/.output/server/chunks/build/Slideover-DgCa80mf.mjs.map +1 -0
  190. package/.output/server/chunks/build/{Switch-xQQ3_ME1.mjs → Switch-CgUioOYB.mjs} +5 -5
  191. package/.output/server/chunks/build/Switch-CgUioOYB.mjs.map +1 -0
  192. package/.output/server/chunks/build/{Table-CPhhVzDv.mjs → Table-BRk04Hd2.mjs} +3 -3
  193. package/.output/server/chunks/build/Table-BRk04Hd2.mjs.map +1 -0
  194. package/.output/server/chunks/build/{Tabs-BV9XqjoO.mjs → Tabs-Bbsg9wag.mjs} +3 -3
  195. package/.output/server/chunks/build/Tabs-Bbsg9wag.mjs.map +1 -0
  196. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs +31 -0
  197. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs.map +1 -0
  198. package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs +8 -0
  199. package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs.map +1 -0
  200. package/.output/server/chunks/build/{TestCaseHistoryChart-DMb-xSJa.mjs → TestCaseHistoryChart-nMLPhdvD.mjs} +6 -6
  201. package/.output/server/chunks/build/TestCaseHistoryChart-nMLPhdvD.mjs.map +1 -0
  202. package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs +200 -0
  203. package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs.map +1 -0
  204. package/.output/server/chunks/build/{TestStatusBar-CEzt76wk.mjs → TestStatusBar-j6h2Jp6A.mjs} +15 -15
  205. package/.output/server/chunks/build/TestStatusBar-j6h2Jp6A.mjs.map +1 -0
  206. package/.output/server/chunks/build/{Textarea-DrrqQUVG.mjs → Textarea-Dv2-lOvW.mjs} +2 -2
  207. package/.output/server/chunks/build/Textarea-Dv2-lOvW.mjs.map +1 -0
  208. package/.output/server/chunks/build/{Tooltip-7vwuDPrZ.mjs → Tooltip-BOazooWP.mjs} +3 -3
  209. package/.output/server/chunks/build/Tooltip-BOazooWP.mjs.map +1 -0
  210. package/.output/server/chunks/build/{VisuallyHiddenInput-C9eJVpPW.mjs → VisuallyHiddenInput-D6kBJxVd.mjs} +2 -2
  211. package/.output/server/chunks/build/VisuallyHiddenInput-D6kBJxVd.mjs.map +1 -0
  212. package/.output/server/chunks/build/{_id_-B2yirIuA.mjs → _id_-B78ky13D.mjs} +798 -358
  213. package/.output/server/chunks/build/_id_-B78ky13D.mjs.map +1 -0
  214. package/.output/server/chunks/build/{_id_-bWcP2xFl.mjs → _id_-BHh65pfg.mjs} +690 -443
  215. package/.output/server/chunks/build/_id_-BHh65pfg.mjs.map +1 -0
  216. package/.output/server/chunks/build/{_id_-B4V5fop6.mjs → _id_-Rzkqx55x.mjs} +297 -60
  217. package/.output/server/chunks/build/{_id_-B4V5fop6.mjs.map → _id_-Rzkqx55x.mjs.map} +1 -1
  218. package/.output/server/chunks/build/{_id_-CE0Gso6i.mjs → _id_-z5N6HPyC.mjs} +89 -40
  219. package/.output/server/chunks/build/_id_-z5N6HPyC.mjs.map +1 -0
  220. package/.output/server/chunks/build/{about-CoJjvUwM.mjs → about-CvSP73Ug.mjs} +100 -52
  221. package/.output/server/chunks/build/about-CvSP73Ug.mjs.map +1 -0
  222. package/.output/server/chunks/build/{account-Cn-eZqXM.mjs → account-DAfvaD-F.mjs} +21 -9
  223. package/.output/server/chunks/build/account-DAfvaD-F.mjs.map +1 -0
  224. package/.output/server/chunks/build/{ai-7jdaPOmj.mjs → ai-B4VJ9K1K.mjs} +45 -23
  225. package/.output/server/chunks/build/{ai-7jdaPOmj.mjs.map → ai-B4VJ9K1K.mjs.map} +1 -1
  226. package/.output/server/chunks/build/{analytics-B276WPeU.mjs → analytics-CJPC6t4L.mjs} +65 -39
  227. package/.output/server/chunks/build/{analytics-B276WPeU.mjs.map → analytics-CJPC6t4L.mjs.map} +1 -1
  228. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  229. package/.output/server/chunks/build/compare-RxHSOdsO.mjs +12 -0
  230. package/.output/server/chunks/build/{db.client-aHcD0wyX.mjs → db.client-CQoVTYB9.mjs} +83 -5
  231. package/.output/server/chunks/build/db.client-CQoVTYB9.mjs.map +1 -0
  232. package/.output/server/chunks/build/{default-BSzdkM_L.mjs → default-zvbFgDJG.mjs} +36 -24
  233. package/.output/server/chunks/build/default-zvbFgDJG.mjs.map +1 -0
  234. package/.output/server/chunks/build/{docs-BN_x1OW3.mjs → docs-DyuVEgtB.mjs} +30 -49
  235. package/.output/server/chunks/build/{docs-BN_x1OW3.mjs.map → docs-DyuVEgtB.mjs.map} +1 -1
  236. package/.output/server/chunks/build/{edit-C9Z7oZeu.mjs → edit-CFR5g2Qf.mjs} +30 -18
  237. package/.output/server/chunks/build/edit-CFR5g2Qf.mjs.map +1 -0
  238. package/.output/server/chunks/build/{fetch-8kznMtBM.mjs → fetch-B4FwBOzu.mjs} +3 -3
  239. package/.output/server/chunks/build/fetch-B4FwBOzu.mjs.map +1 -0
  240. package/.output/server/chunks/build/{forgot-password-BqPF4Rxs.mjs → forgot-password-CC__1OnV.mjs} +17 -5
  241. package/.output/server/chunks/build/forgot-password-CC__1OnV.mjs.map +1 -0
  242. package/.output/server/chunks/build/{help-content-DmFnuhNu.mjs → help-content-C876a9WD.mjs} +37 -8
  243. package/.output/server/chunks/build/help-content-C876a9WD.mjs.map +1 -0
  244. package/.output/server/chunks/build/import-CZo3djDi.mjs +1021 -0
  245. package/.output/server/chunks/build/import-CZo3djDi.mjs.map +1 -0
  246. package/.output/server/chunks/build/{index-CULN3-en.mjs → index-CU2nZhAa.mjs} +113 -42
  247. package/.output/server/chunks/build/index-CU2nZhAa.mjs.map +1 -0
  248. package/.output/server/chunks/build/{index-DVUtBexc.mjs → index-D7fe97l3.mjs} +1305 -281
  249. package/.output/server/chunks/build/index-D7fe97l3.mjs.map +1 -0
  250. package/.output/server/chunks/build/{index-BR9hw6qk.mjs → index-Stqw0dEI.mjs} +50 -30
  251. package/.output/server/chunks/build/index-Stqw0dEI.mjs.map +1 -0
  252. package/.output/server/chunks/build/{index-BK9PTRpd.mjs → index-gCw_y4ZJ.mjs} +87 -70
  253. package/.output/server/chunks/build/{index-BK9PTRpd.mjs.map → index-gCw_y4ZJ.mjs.map} +1 -1
  254. package/.output/server/chunks/build/{index-Ba-Fifra.mjs → index-tR6owKzj.mjs} +18 -6
  255. package/.output/server/chunks/build/index-tR6owKzj.mjs.map +1 -0
  256. package/.output/server/chunks/build/{isValueEqualOrExist-DBZjbD_3.mjs → isValueEqualOrExist-D2qw9YEr.mjs} +3 -3
  257. package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs.map +1 -0
  258. package/.output/server/chunks/build/{login-D2XZDuek.mjs → login-Da4u1IlW.mjs} +19 -7
  259. package/.output/server/chunks/build/login-Da4u1IlW.mjs.map +1 -0
  260. package/.output/server/chunks/build/{mcp-_o6cMS6m.mjs → mcp-B3IUvRgD.mjs} +27 -21
  261. package/.output/server/chunks/build/mcp-B3IUvRgD.mjs.map +1 -0
  262. package/.output/server/chunks/build/{notifications-Dzm9c0u_.mjs → notifications-abDv0id8.mjs} +27 -21
  263. package/.output/server/chunks/build/notifications-abDv0id8.mjs.map +1 -0
  264. package/.output/server/chunks/build/pr-feedback-DjZID6q-.mjs +368 -0
  265. package/.output/server/chunks/build/pr-feedback-DjZID6q-.mjs.map +1 -0
  266. package/.output/server/chunks/build/{reset-password-gpFzIEDj.mjs → reset-password-BmrUS4ZD.mjs} +17 -5
  267. package/.output/server/chunks/build/reset-password-BmrUS4ZD.mjs.map +1 -0
  268. package/.output/server/chunks/build/server.mjs +238 -36
  269. package/.output/server/chunks/build/{settings-pNyPBXVa.mjs → settings-Du7YqF8i.mjs} +23 -10
  270. package/.output/server/chunks/build/settings-Du7YqF8i.mjs.map +1 -0
  271. package/.output/server/chunks/build/{settings-metadata-B0wo5R-W.mjs → settings-metadata-DrEqWcW-.mjs} +11 -2
  272. package/.output/server/chunks/build/settings-metadata-DrEqWcW-.mjs.map +1 -0
  273. package/.output/server/chunks/build/{storage-XelzuyPy.mjs → storage-B4vzxd8G.mjs} +41 -31
  274. package/.output/server/chunks/build/storage-B4vzxd8G.mjs.map +1 -0
  275. package/.output/server/chunks/build/styles.mjs +1 -0
  276. package/.output/server/chunks/build/{tags-DrCQ7QSw.mjs → tags-DauTe_F-.mjs} +22 -10
  277. package/.output/server/chunks/build/tags-DauTe_F-.mjs.map +1 -0
  278. package/.output/server/chunks/build/{test-cases-pmOxi-AN.mjs → test-cases-DUvaO1He.mjs} +38 -24
  279. package/.output/server/chunks/build/test-cases-DUvaO1He.mjs.map +1 -0
  280. package/.output/server/chunks/build/{timeout-hygiene-CNs71Iah.mjs → timeout-hygiene-CbnSaVbK.mjs} +20 -8
  281. package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs.map +1 -0
  282. package/.output/server/chunks/build/{useAiStatus-ZO987RY7.mjs → useAiStatus-CWvIo32Q.mjs} +89 -89
  283. package/.output/server/chunks/build/useAiStatus-CWvIo32Q.mjs.map +1 -0
  284. package/.output/server/chunks/build/{useCopy-BQQKcwlq.mjs → useCopy-CeKWgHyT.mjs} +2 -2
  285. package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs.map +1 -0
  286. package/.output/server/chunks/build/{PageStateCard-Bwee6JTk.mjs → useCopyRich-BemRsKgv.mjs} +418 -39
  287. package/.output/server/chunks/build/useCopyRich-BemRsKgv.mjs.map +1 -0
  288. package/.output/server/chunks/build/useDesktopDownload-D49JRQSw.mjs +46 -0
  289. package/.output/server/chunks/build/useDesktopDownload-D49JRQSw.mjs.map +1 -0
  290. package/.output/server/chunks/build/{useFormControl-BLpq1s4O.mjs → useFormControl-CZ9So7iX.mjs} +2 -2
  291. package/.output/server/chunks/build/useFormControl-CZ9So7iX.mjs.map +1 -0
  292. package/.output/server/chunks/build/{useOpenInIde-kMZ7Jw5c.mjs → useOpenInIde-4GFf-kdi.mjs} +2 -2
  293. package/.output/server/chunks/build/useOpenInIde-4GFf-kdi.mjs.map +1 -0
  294. package/.output/server/chunks/build/{useSettingsNav-NjI2seBy.mjs → useSettingsNav-C3O866KC.mjs} +6 -6
  295. package/.output/server/chunks/build/useSettingsNav-C3O866KC.mjs.map +1 -0
  296. package/.output/server/chunks/build/{useTreeViewCookie-DVYpxW-p.mjs → useTreeViewCookie-CQjQdTkH.mjs} +2 -2
  297. package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs.map +1 -0
  298. package/.output/server/chunks/build/{users-NmAUZs3i.mjs → users-CTUqXyGh.mjs} +22 -10
  299. package/.output/server/chunks/build/users-CTUqXyGh.mjs.map +1 -0
  300. package/.output/server/chunks/build/{virtualizer-ZaqK4guJ.mjs → virtualizer-Cd1hhlxC.mjs} +5 -5
  301. package/.output/server/chunks/build/virtualizer-Cd1hhlxC.mjs.map +1 -0
  302. package/.output/server/chunks/build/{wasted-time-CguAF9zc.mjs → wasted-time-lYkx5YO4.mjs} +26 -14
  303. package/.output/server/chunks/build/wasted-time-lYkx5YO4.mjs.map +1 -0
  304. package/.output/server/chunks/nitro/nitro.mjs +4914 -1102
  305. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  306. package/.output/server/chunks/routes/__piwi/session.get.mjs +13 -1
  307. package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
  308. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +12 -0
  309. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/admin/stats.get.mjs +12 -0
  311. package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
  312. package/.output/server/chunks/routes/api/ai/status.get.mjs +12 -0
  313. package/.output/server/chunks/routes/api/ai/status.get.mjs.map +1 -1
  314. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +12 -0
  315. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
  316. package/.output/server/chunks/routes/api/auth/change-password.post.mjs +12 -0
  317. package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
  318. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +12 -0
  319. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
  320. package/.output/server/chunks/routes/api/auth/login.post.mjs +12 -0
  321. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
  322. package/.output/server/chunks/routes/api/auth/logout.post.mjs +12 -0
  323. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
  324. package/.output/server/chunks/routes/api/auth/me.get.mjs +12 -0
  325. package/.output/server/chunks/routes/api/auth/me.get.mjs.map +1 -1
  326. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +12 -0
  327. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs.map +1 -1
  328. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +12 -0
  329. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
  330. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +12 -0
  331. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
  332. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +12 -0
  333. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
  334. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +12 -0
  335. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
  336. package/.output/server/chunks/routes/api/auth/setup.get.mjs +12 -0
  337. package/.output/server/chunks/routes/api/auth/setup.get.mjs.map +1 -1
  338. package/.output/server/chunks/routes/api/auth/setup.post.mjs +12 -0
  339. package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
  340. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +12 -0
  341. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
  342. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +12 -0
  343. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
  344. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +12 -0
  345. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
  346. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +12 -0
  347. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
  348. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +12 -0
  349. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
  350. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +12 -0
  351. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -1
  352. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +12 -0
  353. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
  354. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +12 -0
  355. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
  356. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +12 -0
  357. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
  358. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +12 -0
  359. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
  360. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +24 -1
  361. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
  362. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +13 -1
  363. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
  364. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +13 -1
  365. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
  366. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +13 -1
  367. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +13 -1
  369. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +64 -0
  371. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -0
  372. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +13 -1
  373. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
  374. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +56 -0
  375. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -0
  376. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +13 -1
  377. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
  378. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +12 -0
  379. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
  380. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +13 -1
  381. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
  382. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +13 -32
  383. package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
  384. package/.output/server/chunks/routes/api/health.get.mjs +13 -1
  385. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  386. package/.output/server/chunks/routes/api/index.get.mjs +12 -0
  387. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  388. package/.output/server/chunks/routes/api/index.get2.mjs +13 -1
  389. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
  390. package/.output/server/chunks/routes/api/index.get3.mjs +13 -1
  391. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  392. package/.output/server/chunks/routes/api/index.get4.mjs +13 -1
  393. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
  394. package/.output/server/chunks/routes/api/index.get5.mjs +12 -0
  395. package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
  396. package/.output/server/chunks/routes/api/index.post.mjs +12 -0
  397. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  398. package/.output/server/chunks/routes/api/index.post2.mjs +13 -1
  399. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  400. package/.output/server/chunks/routes/api/index.post3.mjs +13 -1
  401. package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
  402. package/.output/server/chunks/routes/api/index.post4.mjs +13 -1
  403. package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/index.post5.mjs +13 -1
  405. package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/index.post6.mjs +12 -0
  407. package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
  408. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +13 -1
  409. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
  410. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +13 -1
  411. package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
  412. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +13 -1
  413. package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
  414. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +13 -1
  415. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
  416. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +13 -1
  417. package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +1 -1
  418. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +13 -1
  419. package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
  420. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +13 -1
  421. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
  422. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +13 -1
  423. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
  424. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +13 -1
  425. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
  426. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +22 -2
  427. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
  428. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +13 -1
  429. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs.map +1 -1
  430. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +13 -1
  431. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
  432. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +13 -1
  433. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
  434. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +13 -1
  435. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
  436. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +13 -1
  437. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
  438. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +13 -1
  439. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
  440. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +58 -0
  441. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -0
  442. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +57 -0
  443. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -0
  444. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +72 -0
  445. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -0
  446. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +13 -1
  447. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
  448. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +13 -1
  449. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
  450. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +13 -1
  451. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
  452. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +13 -1
  453. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
  454. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +13 -1
  455. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
  456. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +13 -1
  457. package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
  458. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +13 -1
  459. package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +1 -1
  460. package/.output/server/chunks/routes/api/projects/menu.get.mjs +13 -1
  461. package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
  462. package/.output/server/chunks/routes/api/projects/overview.get.mjs +13 -1
  463. package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
  464. package/.output/server/chunks/routes/api/projects.get.mjs +13 -1
  465. package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
  466. package/.output/server/chunks/routes/api/search.get.mjs +13 -1
  467. package/.output/server/chunks/routes/api/search.get.mjs.map +1 -1
  468. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +13 -1
  469. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs.map +1 -1
  470. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +13 -1
  471. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs.map +1 -1
  472. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +12 -0
  473. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs.map +1 -1
  474. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +13 -1
  475. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
  476. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +13 -1
  477. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
  478. package/.output/server/chunks/routes/api/settings/ai.get.mjs +13 -1
  479. package/.output/server/chunks/routes/api/settings/ai.get.mjs.map +1 -1
  480. package/.output/server/chunks/routes/api/settings/ai.put.mjs +13 -1
  481. package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
  482. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +57 -0
  483. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs.map +1 -0
  484. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +63 -0
  485. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs.map +1 -0
  486. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +12 -0
  487. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
  488. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +13 -1
  489. package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
  490. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +13 -1
  491. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -1
  492. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +13 -1
  493. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +13 -1
  495. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +13 -1
  497. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
  498. package/.output/server/chunks/routes/api/stream.get.mjs +13 -1
  499. package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
  500. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +13 -1
  501. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
  502. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +13 -1
  503. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
  504. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +13 -1
  505. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
  506. package/.output/server/chunks/routes/api/tags/_id_.put.mjs +13 -1
  507. package/.output/server/chunks/routes/api/tags/_id_.put.mjs.map +1 -1
  508. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +13 -1
  509. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs.map +1 -1
  510. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +13 -1
  511. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs.map +1 -1
  512. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +13 -1
  513. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
  514. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +13 -1
  515. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
  516. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +25 -3
  517. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
  518. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +13 -1
  519. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs.map +1 -1
  520. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +60 -0
  521. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -0
  522. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +13 -1
  523. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
  524. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +13 -1
  525. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
  526. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +13 -1
  527. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
  528. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +13 -1
  529. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
  530. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +13 -1
  531. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
  532. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +13 -1
  533. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +1 -1
  534. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +13 -1
  535. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +1 -1
  536. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +13 -1
  537. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +1 -1
  538. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +13 -1
  539. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +1 -1
  540. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +13 -1
  541. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +1 -1
  542. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +13 -1
  543. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +1 -1
  544. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +13 -1
  545. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +1 -1
  546. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +13 -1
  547. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
  548. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +13 -1
  549. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
  550. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +15 -1
  551. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
  552. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +196 -0
  553. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -0
  554. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +13 -1
  555. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
  556. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +13 -1
  557. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
  558. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +13 -1
  559. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
  560. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +13 -1
  561. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
  562. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +13 -1
  563. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
  564. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +13 -1
  565. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
  566. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +13 -1
  567. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
  568. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +13 -1
  569. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
  570. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +13 -1
  571. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
  572. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +78 -0
  573. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -0
  574. package/.output/server/chunks/routes/api/test-runs/import.post.mjs +201 -0
  575. package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -0
  576. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +13 -1
  577. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
  578. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +13 -1
  579. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
  580. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +13 -1
  581. package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
  582. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +32 -15
  583. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
  584. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +21 -6
  585. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
  586. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +154 -3
  587. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
  588. package/.output/server/chunks/routes/api/traces/check.post.mjs +13 -1
  589. package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
  590. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +12 -0
  591. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
  592. package/.output/server/chunks/routes/api/users/_id/index.get.mjs +12 -0
  593. package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
  594. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +13 -1
  595. package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
  596. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +13 -1
  597. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
  598. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +13 -1
  599. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
  600. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +13 -1
  601. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
  602. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +12 -0
  603. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  604. package/.output/server/chunks/routes/api/users/_id_.patch.mjs +12 -0
  605. package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
  606. package/.output/server/chunks/routes/api/version.get.mjs +13 -1
  607. package/.output/server/chunks/routes/api/version.get.mjs.map +1 -1
  608. package/.output/server/chunks/routes/mcp.post.mjs +13 -1
  609. package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
  610. package/.output/server/chunks/routes/renderer.mjs +1 -1
  611. package/.output/server/chunks/tasks/sweep.mjs +12 -0
  612. package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
  613. package/.output/server/chunks/tasks/sweep2.mjs +12 -0
  614. package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
  615. package/.output/server/database/migrations/0039_remarkable_jean_grey.sql +2 -0
  616. package/.output/server/database/migrations/0040_organic_phalanx.sql +8 -0
  617. package/.output/server/database/migrations/0041_tense_gravity.sql +5 -0
  618. package/.output/server/database/migrations/0042_burly_hemingway.sql +19 -0
  619. package/.output/server/database/migrations/meta/0039_snapshot.json +3403 -0
  620. package/.output/server/database/migrations/meta/0040_snapshot.json +3457 -0
  621. package/.output/server/database/migrations/meta/0041_snapshot.json +3492 -0
  622. package/.output/server/database/migrations/meta/0042_snapshot.json +3618 -0
  623. package/.output/server/database/migrations/meta/_journal.json +28 -0
  624. package/.output/server/database/migrations-pg/0040_lazy_layla_miller.sql +2 -0
  625. package/.output/server/database/migrations-pg/0041_light_screwball.sql +8 -0
  626. package/.output/server/database/migrations-pg/0042_serious_layla_miller.sql +5 -0
  627. package/.output/server/database/migrations-pg/0043_wonderful_mordo.sql +19 -0
  628. package/.output/server/database/migrations-pg/meta/0040_snapshot.json +4060 -0
  629. package/.output/server/database/migrations-pg/meta/0041_snapshot.json +4123 -0
  630. package/.output/server/database/migrations-pg/meta/0042_snapshot.json +4153 -0
  631. package/.output/server/database/migrations-pg/meta/0043_snapshot.json +4308 -0
  632. package/.output/server/database/migrations-pg/meta/_journal.json +28 -0
  633. package/.output/server/index.mjs +13 -1
  634. package/.output/server/index.mjs.map +1 -1
  635. package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
  636. package/.output/server/node_modules/fflate/package.json +128 -0
  637. package/.output/server/node_modules/highlight.js/es/languages/yaml.js +213 -0
  638. package/.output/server/node_modules/marked/lib/marked.esm.js +72 -0
  639. package/.output/server/node_modules/marked/package.json +103 -0
  640. package/.output/server/package.json +3 -1
  641. package/package.json +2 -2
  642. package/.output/public/_nuxt/36cXPVrY.js +0 -26
  643. package/.output/public/_nuxt/87SGk1nu.js +0 -1
  644. package/.output/public/_nuxt/B6rt3IcG.js +0 -1
  645. package/.output/public/_nuxt/BAaSmp8J.js +0 -1
  646. package/.output/public/_nuxt/BBnX5xw4.js +0 -2
  647. package/.output/public/_nuxt/BCArQk0c.js +0 -1
  648. package/.output/public/_nuxt/BFjmLXYo.js +0 -8
  649. package/.output/public/_nuxt/BJltXwHg.js +0 -1
  650. package/.output/public/_nuxt/BUMZHDRC.js +0 -2
  651. package/.output/public/_nuxt/BdHdHyop.js +0 -34
  652. package/.output/public/_nuxt/BiX7c2qU.js +0 -1
  653. package/.output/public/_nuxt/C11lmBd4.js +0 -4
  654. package/.output/public/_nuxt/C4AfzZER.js +0 -47
  655. package/.output/public/_nuxt/C7ZVzS0K.js +0 -1
  656. package/.output/public/_nuxt/C8cz5feG.js +0 -1
  657. package/.output/public/_nuxt/C9EpbPNU.js +0 -1
  658. package/.output/public/_nuxt/C9ahP7km.js +0 -1
  659. package/.output/public/_nuxt/CBEM3L1q.js +0 -4
  660. package/.output/public/_nuxt/CCsl9MOZ.js +0 -1
  661. package/.output/public/_nuxt/CCw3Tx4S.js +0 -1
  662. package/.output/public/_nuxt/CGq9qR-0.js +0 -1
  663. package/.output/public/_nuxt/CLdGRzLL.js +0 -1
  664. package/.output/public/_nuxt/CTgM5Fke.js +0 -2
  665. package/.output/public/_nuxt/CU3W9YrI.js +0 -1
  666. package/.output/public/_nuxt/CYIR2GbL.js +0 -1
  667. package/.output/public/_nuxt/Ccit_CX1.js +0 -1
  668. package/.output/public/_nuxt/CiPH-swI.js +0 -1
  669. package/.output/public/_nuxt/ClVRQpP_.js +0 -1
  670. package/.output/public/_nuxt/CmbjAoQu.js +0 -1
  671. package/.output/public/_nuxt/Cx65B3c3.js +0 -1
  672. package/.output/public/_nuxt/D1ttGJfs.js +0 -5
  673. package/.output/public/_nuxt/D3SYPlEB.js +0 -114
  674. package/.output/public/_nuxt/DB3ljns7.js +0 -1
  675. package/.output/public/_nuxt/DC51KKt4.js +0 -1
  676. package/.output/public/_nuxt/DaewB_zT.js +0 -1
  677. package/.output/public/_nuxt/DcfRfTaA.js +0 -34
  678. package/.output/public/_nuxt/Dm1_3W9g.js +0 -1
  679. package/.output/public/_nuxt/DraETso1.js +0 -1
  680. package/.output/public/_nuxt/Dy4TloG3.js +0 -1
  681. package/.output/public/_nuxt/EltzgiyS.js +0 -1
  682. package/.output/public/_nuxt/HTQtMbWb.js +0 -1
  683. package/.output/public/_nuxt/KYucVFu7.js +0 -1
  684. package/.output/public/_nuxt/TBDx0s9p.js +0 -3
  685. package/.output/public/_nuxt/Tt5LX5Y-.js +0 -1
  686. package/.output/public/_nuxt/builds/meta/2f517ae9-c342-457e-b4c5-6301728179f5.json +0 -1
  687. package/.output/public/_nuxt/entry.ChQMshd4.css +0 -1
  688. package/.output/public/_nuxt/l0QnzFNM.js +0 -1
  689. package/.output/public/_nuxt/oFIS9u6t.js +0 -3
  690. package/.output/public/_nuxt/oWY3I9uX.js +0 -1
  691. package/.output/public/_nuxt/q0DPzLKN.js +0 -2
  692. package/.output/public/_nuxt/r3SBLxtE.js +0 -1
  693. package/.output/public/_nuxt/riEUDnED.js +0 -1
  694. package/.output/public/_nuxt/uaqMzXqE.js +0 -5
  695. package/.output/public/_nuxt/wgcgHmRR.js +0 -1
  696. package/.output/public/sw.js +0 -1
  697. package/.output/public/workbox-2fbc6a65.js +0 -1
  698. package/.output/server/chunks/build/Alert-Bp1Wz_sq.mjs.map +0 -1
  699. package/.output/server/chunks/build/Breadcrumb-C9ZPTLym.mjs.map +0 -1
  700. package/.output/server/chunks/build/BreadcrumbNav-C3y42Vun.mjs.map +0 -1
  701. package/.output/server/chunks/build/BrowserBadge-DNCp9pF-.mjs.map +0 -1
  702. package/.output/server/chunks/build/ChartCard-Fr557IbV.mjs.map +0 -1
  703. package/.output/server/chunks/build/Checkbox-cVOSIY93.mjs.map +0 -1
  704. package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs.map +0 -1
  705. package/.output/server/chunks/build/CodeBlock-BGwNmJ8J.mjs.map +0 -1
  706. package/.output/server/chunks/build/DashboardNavbar-Bdp-OwTN.mjs.map +0 -1
  707. package/.output/server/chunks/build/DashboardSidebarToggle-Ji6ADuqF.mjs.map +0 -1
  708. package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs.map +0 -1
  709. package/.output/server/chunks/build/DiagnosisPanel-DV1xwGu4.mjs.map +0 -1
  710. package/.output/server/chunks/build/EmptyState-DV3oT_xz.mjs.map +0 -1
  711. package/.output/server/chunks/build/EntityLinks-DeOP13Kr.mjs.map +0 -1
  712. package/.output/server/chunks/build/EnvManagedBadge-Qpn58Nmr.mjs.map +0 -1
  713. package/.output/server/chunks/build/FormField-B-GSn_VR.mjs.map +0 -1
  714. package/.output/server/chunks/build/HelpHint-YEMWtKu1.mjs.map +0 -1
  715. package/.output/server/chunks/build/Label-DBvbHd3A.mjs.map +0 -1
  716. package/.output/server/chunks/build/MiniRunBars-C3HG-EYm.mjs.map +0 -1
  717. package/.output/server/chunks/build/Modal-CfA78Hm1.mjs.map +0 -1
  718. package/.output/server/chunks/build/PageStateCard-Bwee6JTk.mjs.map +0 -1
  719. package/.output/server/chunks/build/ProjectTestCasesTable-9Ia825h8.mjs.map +0 -1
  720. package/.output/server/chunks/build/RovingFocusItem-CxhHdNGo.mjs.map +0 -1
  721. package/.output/server/chunks/build/RunReports-BpJqLHY9.mjs.map +0 -1
  722. package/.output/server/chunks/build/RunStatusBadge-BhmJ_RKM.mjs.map +0 -1
  723. package/.output/server/chunks/build/SectionCard-COd9TuDq.mjs.map +0 -1
  724. package/.output/server/chunks/build/Select-ppPz926C.mjs.map +0 -1
  725. package/.output/server/chunks/build/Separator-CxZdx8kw.mjs.map +0 -1
  726. package/.output/server/chunks/build/SettingsField-DDD4oqys.mjs.map +0 -1
  727. package/.output/server/chunks/build/Slideover-B95Rj237.mjs.map +0 -1
  728. package/.output/server/chunks/build/Switch-xQQ3_ME1.mjs.map +0 -1
  729. package/.output/server/chunks/build/Table-CPhhVzDv.mjs.map +0 -1
  730. package/.output/server/chunks/build/Tabs-BV9XqjoO.mjs.map +0 -1
  731. package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs +0 -47
  732. package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs.map +0 -1
  733. package/.output/server/chunks/build/TestCaseHistoryChart-DMb-xSJa.mjs.map +0 -1
  734. package/.output/server/chunks/build/TestStatusBar-CEzt76wk.mjs.map +0 -1
  735. package/.output/server/chunks/build/Textarea-DrrqQUVG.mjs.map +0 -1
  736. package/.output/server/chunks/build/Tooltip-7vwuDPrZ.mjs.map +0 -1
  737. package/.output/server/chunks/build/VisuallyHiddenInput-C9eJVpPW.mjs.map +0 -1
  738. package/.output/server/chunks/build/_id_-B2yirIuA.mjs.map +0 -1
  739. package/.output/server/chunks/build/_id_-CE0Gso6i.mjs.map +0 -1
  740. package/.output/server/chunks/build/_id_-bWcP2xFl.mjs.map +0 -1
  741. package/.output/server/chunks/build/about-CoJjvUwM.mjs.map +0 -1
  742. package/.output/server/chunks/build/account-Cn-eZqXM.mjs.map +0 -1
  743. package/.output/server/chunks/build/db.client-aHcD0wyX.mjs.map +0 -1
  744. package/.output/server/chunks/build/default-BSzdkM_L.mjs.map +0 -1
  745. package/.output/server/chunks/build/edit-C9Z7oZeu.mjs.map +0 -1
  746. package/.output/server/chunks/build/fetch-8kznMtBM.mjs.map +0 -1
  747. package/.output/server/chunks/build/forgot-password-BqPF4Rxs.mjs.map +0 -1
  748. package/.output/server/chunks/build/help-content-DmFnuhNu.mjs.map +0 -1
  749. package/.output/server/chunks/build/index-BR9hw6qk.mjs.map +0 -1
  750. package/.output/server/chunks/build/index-Ba-Fifra.mjs.map +0 -1
  751. package/.output/server/chunks/build/index-CULN3-en.mjs.map +0 -1
  752. package/.output/server/chunks/build/index-DVUtBexc.mjs.map +0 -1
  753. package/.output/server/chunks/build/isValueEqualOrExist-DBZjbD_3.mjs.map +0 -1
  754. package/.output/server/chunks/build/login-D2XZDuek.mjs.map +0 -1
  755. package/.output/server/chunks/build/mcp-_o6cMS6m.mjs.map +0 -1
  756. package/.output/server/chunks/build/notifications-Dzm9c0u_.mjs.map +0 -1
  757. package/.output/server/chunks/build/reset-password-gpFzIEDj.mjs.map +0 -1
  758. package/.output/server/chunks/build/settings-metadata-B0wo5R-W.mjs.map +0 -1
  759. package/.output/server/chunks/build/settings-pNyPBXVa.mjs.map +0 -1
  760. package/.output/server/chunks/build/storage-XelzuyPy.mjs.map +0 -1
  761. package/.output/server/chunks/build/tags-DrCQ7QSw.mjs.map +0 -1
  762. package/.output/server/chunks/build/test-cases-pmOxi-AN.mjs.map +0 -1
  763. package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs.map +0 -1
  764. package/.output/server/chunks/build/useAiStatus-ZO987RY7.mjs.map +0 -1
  765. package/.output/server/chunks/build/useCopy-BQQKcwlq.mjs.map +0 -1
  766. package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs.map +0 -1
  767. package/.output/server/chunks/build/useOpenInIde-kMZ7Jw5c.mjs.map +0 -1
  768. package/.output/server/chunks/build/useSettingsNav-NjI2seBy.mjs.map +0 -1
  769. package/.output/server/chunks/build/useTreeViewCookie-DVYpxW-p.mjs.map +0 -1
  770. package/.output/server/chunks/build/users-NmAUZs3i.mjs.map +0 -1
  771. package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs.map +0 -1
  772. package/.output/server/chunks/build/wasted-time-CguAF9zc.mjs.map +0 -1
  773. /package/.output/public/_nuxt/{PageStateCard.BrM5HWjY.css → useCopyRich.BrM5HWjY.css} +0 -0
@@ -1 +1 @@
1
- import{a0 as m,a1 as y,a3 as g,o as i,f as h,g as b,k as t,c as l,p as o,T as d,m as u,t as c,q as n,V as k,h as x,a6 as q}from"./D3SYPlEB.js";const C={slots:{root:"rounded-lg overflow-hidden",header:"p-4 sm:px-6",title:"text-highlighted font-semibold",description:"mt-1 text-muted text-sm",body:"p-4 sm:p-6",footer:"p-4 sm:px-6"},variants:{variant:{solid:{root:"bg-inverted text-inverted",title:"text-inverted",description:"text-dimmed"},outline:{root:"bg-default ring ring-default divide-y divide-default"},soft:{root:"bg-elevated/50 divide-y divide-default"},subtle:{root:"bg-elevated/50 ring ring-default divide-y divide-default"}}},defaultVariants:{variant:"outline"}},V={__name:"UCard",props:{as:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},variant:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(p){const f=p,s=m(),e=y("card",f),v=g(),a=x(()=>q({extend:C,...v.ui?.card||{}})({variant:e.variant}));return(r,S)=>(i(),h(t(k),{as:t(e).as,"data-slot":"root",class:o(a.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:b(()=>[s.header||t(e).title||s.title||t(e).description||s.description?(i(),l("div",{key:0,"data-slot":"header",class:o(a.value.header({class:t(e).ui?.header}))},[d(r.$slots,"header",{},()=>[t(e).title||s.title?(i(),l("div",{key:0,"data-slot":"title",class:o(a.value.title({class:t(e).ui?.title}))},[d(r.$slots,"title",{},()=>[u(c(t(e).title),1)])],2)):n("",!0),t(e).description||s.description?(i(),l("div",{key:1,"data-slot":"description",class:o(a.value.description({class:t(e).ui?.description}))},[d(r.$slots,"description",{},()=>[u(c(t(e).description),1)])],2)):n("",!0)])],2)):n("",!0),s.default?(i(),l("div",{key:1,"data-slot":"body",class:o(a.value.body({class:t(e).ui?.body}))},[d(r.$slots,"default")],2)):n("",!0),s.footer?(i(),l("div",{key:2,"data-slot":"footer",class:o(a.value.footer({class:t(e).ui?.footer}))},[d(r.$slots,"footer")],2)):n("",!0)]),_:3},8,["as","class"]))}};export{V as _};
1
+ import{a2 as m,a3 as y,a5 as g,o as i,f as h,g as b,k as t,c as l,q as o,V as d,m as u,t as c,v as n,X as k,h as x,a8 as q}from"./NQikbhmK.js";const C={slots:{root:"rounded-lg overflow-hidden",header:"p-4 sm:px-6",title:"text-highlighted font-semibold",description:"mt-1 text-muted text-sm",body:"p-4 sm:p-6",footer:"p-4 sm:px-6"},variants:{variant:{solid:{root:"bg-inverted text-inverted",title:"text-inverted",description:"text-dimmed"},outline:{root:"bg-default ring ring-default divide-y divide-default"},soft:{root:"bg-elevated/50 divide-y divide-default"},subtle:{root:"bg-elevated/50 ring ring-default divide-y divide-default"}}},defaultVariants:{variant:"outline"}},V={__name:"UCard",props:{as:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},variant:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(p){const v=p,s=m(),e=y("card",v),f=g(),a=x(()=>q({extend:C,...f.ui?.card||{}})({variant:e.variant}));return(r,S)=>(i(),h(t(k),{as:t(e).as,"data-slot":"root",class:o(a.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:b(()=>[s.header||t(e).title||s.title||t(e).description||s.description?(i(),l("div",{key:0,"data-slot":"header",class:o(a.value.header({class:t(e).ui?.header}))},[d(r.$slots,"header",{},()=>[t(e).title||s.title?(i(),l("div",{key:0,"data-slot":"title",class:o(a.value.title({class:t(e).ui?.title}))},[d(r.$slots,"title",{},()=>[u(c(t(e).title),1)])],2)):n("",!0),t(e).description||s.description?(i(),l("div",{key:1,"data-slot":"description",class:o(a.value.description({class:t(e).ui?.description}))},[d(r.$slots,"description",{},()=>[u(c(t(e).description),1)])],2)):n("",!0)])],2)):n("",!0),s.default?(i(),l("div",{key:1,"data-slot":"body",class:o(a.value.body({class:t(e).ui?.body}))},[d(r.$slots,"default")],2)):n("",!0),s.footer?(i(),l("div",{key:2,"data-slot":"footer",class:o(a.value.footer({class:t(e).ui?.footer}))},[d(r.$slots,"footer")],2)):n("",!0)]),_:3},8,["as","class"]))}};export{V as _};
@@ -0,0 +1 @@
1
+ import{d as D,U as Z,o as r,f as x,g as d,V as F,m as S,W as Q,k as e,X as H,Y as He,Z as We,h as k,$ as Xe,a0 as Ye,a1 as Je,t as P,c as I,i as f,Q as ce,q as L,j as i,p as ee,F as A,y as oe,s as qe,D as Se,v as B,_ as G,r as w,a2 as et,a3 as tt,a4 as at,a5 as st,a6 as lt,a7 as nt,a8 as ot,u as it,a as rt,A as ut,H as ae,I as dt,l as se,a9 as Re,aa as de}from"./NQikbhmK.js";import{_ as ct}from"./DS636elg.js";import{_ as pt}from"./Bti38m-M.js";import{_ as ft}from"./BxCKKeYs.js";import{_ as gt}from"./ybDYeNxd.js";import{_ as mt}from"./DLSrtpsA.js";import{_ as vt}from"./D0HNloZ9.js";import{_ as ze}from"./BSIxhGsh.js";import{_ as Ie}from"./CV9-fTmY.js";import{k as pe,l as fe,p as ge,f as me,g as _t,t as yt}from"./CDk0q2hV.js";import{_ as bt}from"./nv9-6vBK.js";import{_ as ht}from"./BPRffDuo.js";import{_ as xt}from"./C9_jrmk9.js";import{_ as kt}from"./DprVVyUQ.js";import{u as Ct}from"./C-elpgyr.js";import{u as Pt}from"./CpjgB2aY.js";var Rt=D({__name:"PaginationEllipsis",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const c=u;return Z(),(s,_)=>(r(),x(e(H),Q(c,{"data-type":"ellipsis"}),{default:d(()=>[F(s.$slots,"default",{},()=>[_[0]||(_[0]=S("…"))])]),_:3},16))}}),$t=Rt;const[te,qt]=Xe("PaginationRoot");var St=D({__name:"PaginationRoot",props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"nav"}},emits:["update:page"],setup(u,{emit:c}){const s=u,_=c,{siblingCount:m,disabled:t,showEdges:C}=He(s);Z();const b=We(s,"page",_,{defaultValue:s.defaultPage,passive:s.page===void 0}),T=k(()=>Math.max(1,Math.ceil(s.total/(s.itemsPerPage||1))));return qt({page:b,onPageChange(z){b.value=z},pageCount:T,siblingCount:m,disabled:t,showEdges:C}),(z,E)=>(r(),x(e(H),{as:z.as,"as-child":z.asChild},{default:d(()=>[F(z.$slots,"default",{page:e(b),pageCount:T.value})]),_:3},8,["as","as-child"]))}}),zt=St,It=D({__name:"PaginationFirst",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u,s=te();Z();const _=k(()=>s.page.value===1||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"First Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("First page"))])]),_:3},16,["type","disabled"]))}}),Lt=It,Nt=D({__name:"PaginationLast",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u,s=te();Z();const _=k(()=>s.page.value===s.pageCount.value||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Last Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).pageCount.value))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("Last page"))])]),_:3},16,["type","disabled"]))}}),Tt=Nt;function K(u,c){const s=c-u+1;return Array.from({length:s},(_,m)=>m+u)}function jt(u){return u.map(c=>typeof c=="number"?{type:"page",value:c}:{type:"ellipsis"})}const ne="ellipsis";function Ft(u,c,s,_){const t=c,C=Math.max(u-s,1),b=Math.min(u+s,t);if(_){const z=Math.min(2*s+5,c)-2,E=C>3&&Math.abs(t-z-1+1)>2&&Math.abs(C-1)>2,V=b<t-2&&Math.abs(t-z)>2&&Math.abs(t-b)>2;if(!E&&V)return[...K(1,z),ne,t];if(E&&!V){const l=K(t-z+1,t);return[1,ne,...l]}if(E&&V){const l=K(C,b);return[1,ne,...l,ne,t]}return K(1,t)}else{const T=s*2+1;return c<T?K(1,t):u<=s+1?K(1,T):c-u<=s?K(c-T+1,t):K(C,b)}}var wt=D({__name:"PaginationList",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const c=u;Z();const s=te(),_=k(()=>jt(Ft(s.page.value,s.pageCount.value,s.siblingCount.value,s.showEdges.value)));return(m,t)=>(r(),x(e(H),Ye(Je(c)),{default:d(()=>[F(m.$slots,"default",{items:_.value})]),_:3},16))}}),Bt=wt,Dt=D({__name:"PaginationListItem",props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===c.value),m=k(()=>s.disabled.value);return(t,C)=>(r(),x(e(H),Q(c,{"data-type":"page","aria-label":`Page ${t.value}`,"aria-current":_.value?"page":void 0,"data-selected":_.value?"true":void 0,disabled:m.value,type:t.as==="button"?"button":void 0,onClick:C[0]||(C[0]=b=>!m.value&&e(s).onPageChange(t.value))}),{default:d(()=>[F(t.$slots,"default",{},()=>[S(P(t.value),1)])]),_:3},16,["aria-label","aria-current","data-selected","disabled","type"]))}}),Et=Dt,Vt=D({__name:"PaginationNext",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===s.pageCount.value||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Next Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).page.value+1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("Next page"))])]),_:3},16,["type","disabled"]))}}),Mt=Vt,At=D({__name:"PaginationPrev",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===1||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Previous Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).page.value-1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=S("Prev page"))])]),_:3},16,["type","disabled"]))}}),Ut=At;const Ot=["title"],Kt={class:"h-1.5 w-14 shrink-0 overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700"},Gt={class:"text-sm font-medium tabular-nums"},Qt={key:1,class:"text-sm text-muted",title:"No executed runs yet"},Zt=D({__name:"PassRateIndicator",props:{rate:{}},setup(u){const c=u,s=k(()=>c.rate==null?null:Math.round(c.rate*100)),_=k(()=>s.value==null?"":s.value>=80?"bg-green-500":s.value>=50?"bg-amber-500":"bg-red-500");return(m,t)=>e(s)!=null?(r(),I("div",{key:0,class:"flex items-center gap-2",title:`${e(s)}% of executed runs passed`},[f("div",Kt,[f("div",{class:L([e(_),"h-full rounded-full transition-all"]),style:ce({width:`${e(s)}%`})},null,6)]),f("span",Gt,P(e(s))+"%",1)],8,Ot)):(r(),I("span",Qt,"—"))}}),Le=Object.assign(Zt,{__name:"PassRateIndicator"}),Ht={class:"rounded-lg border border-default bg-default text-sm"},Wt={class:"flex items-center justify-end px-3 py-1.5 border-b border-default bg-elevated"},Xt=["disabled","title"],Yt=["onClick"],Jt={class:"text-xs text-muted tabular-nums shrink-0"},ea={class:"w-24 sm:w-32 shrink-0 max-sm:hidden"},ta={class:"flex items-center gap-3 shrink-0"},aa=["title"],sa=["title"],la={key:0,class:"text-center py-8 text-muted"},na=D({__name:"ProjectTestCasesTree",props:{items:{},hasFilter:{type:Boolean}},setup(u){const c=u;function s(l){return(l.suitePath||"").split("").filter(Boolean)}function _(l){const n={passed:0,failed:0,skipped:0,flaky:0,didNotRun:0,total:0,cases:l.length};for(const v of l)n.passed+=v.passedRuns,n.failed+=v.failedRuns,n.skipped+=v.skippedRuns,n.flaky+=v.flakyRuns,n.didNotRun+=v.didNotRunRuns,n.total+=v.totalRuns;return n}const m=w(new Set),t=k(()=>m.value.size===0);function C(l){return c.hasFilter?!0:!m.value.has(l)}function b(l){if(c.hasFilter)return;const n=new Set(m.value);n.has(l)?n.delete(l):n.add(l),m.value=n}function T(){const l=new Set;for(const n of c.items){l.add(`file:${n.filePath}`);const v=s(n);for(let y=1;y<=v.length;y++)l.add(`group:${n.filePath}${v.slice(0,y).join("")}`)}return[...l]}function z(){m.value=new Set(T())}function E(){m.value=new Set}function V(l,n,v,y,h){const $=n.filter(R=>s(R).length===y.length),q=n.filter(R=>s(R).length>y.length),j=new Map;for(const R of q){const o=s(R)[y.length];j.has(o)||j.set(o,[]),j.get(o).push(R)}for(const[R,o]of j){const W=[...y,R],N=`group:${v}${W.join("")}`;l.push({kind:"group",depth:h,key:N,label:R,agg:_(o)}),C(N)&&V(l,o,v,W,h+1)}for(const R of $)l.push({kind:"case",depth:h,key:`case:${R.id}`,testCase:R})}const U=k(()=>{const l=[],n=new Map;for(const v of c.items){const y=v.filePath||"unknown";n.has(y)||n.set(y,[]),n.get(y).push(v)}for(const[v,y]of[...n.entries()].sort(([h],[$])=>h.localeCompare($))){const h=`file:${v}`;l.push({kind:"group",depth:0,key:h,label:v,agg:_(y)}),C(h)&&V(l,y,v,[],1)}return l});return(l,n)=>{const v=ee,y=ze,h=qe,$=Se,q=Le,j=Ie,R=G;return r(),I("div",Ht,[f("div",Wt,[f("button",{class:L(["flex items-center gap-1 text-xs transition-colors",u.hasFilter?"text-muted cursor-not-allowed opacity-50":"text-muted hover:text-default"]),disabled:u.hasFilter,title:u.hasFilter?"Clear filters to collapse/expand":e(t)?"Collapse all":"Expand all",onClick:n[0]||(n[0]=o=>e(t)?z():E())},[i(v,{name:e(t)?"i-lucide-fold-vertical":"i-lucide-unfold-vertical",class:"size-3.5"},null,8,["name"]),S(" "+P(e(t)?"Collapse all":"Expand all"),1)],10,Xt)]),(r(!0),I(A,null,oe(e(U),o=>(r(),I(A,{key:o.key},[o.kind==="group"?(r(),I("div",{key:0,class:L(["flex items-center gap-2 py-2 pr-3 border-b border-default last:border-b-0 select-none",[o.depth===0?"bg-elevated":"bg-default",!u.hasFilter&&"cursor-pointer"]]),style:ce({paddingLeft:`${o.depth*20+12}px`}),onClick:W=>b(o.key)},[i(v,{name:C(o.key)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3.5 text-muted shrink-0"},null,8,["name"]),i(v,{name:o.depth===0?"i-lucide-file-code-2":"i-lucide-folder-open",class:L(["size-4 shrink-0",o.depth===0?"text-blue-500":"text-amber-500"])},null,8,["name","class"]),f("span",{class:L(["font-medium truncate min-w-0",[o.depth===0?"text-default font-mono text-xs sm:text-sm":"text-muted"]])},P(o.label),3),f("span",Jt,P(o.agg.cases)+" "+P(o.agg.cases===1?"case":"cases"),1),n[1]||(n[1]=f("div",{class:"flex-1"},null,-1)),f("div",ea,[i(y,{passed:o.agg.passed,failed:o.agg.failed,skipped:o.agg.skipped,flaky:o.agg.flaky,"did-not-run":o.agg.didNotRun,total:o.agg.total},null,8,["passed","failed","skipped","flaky","did-not-run","total"])])],14,Yt)):(r(),I("div",{key:1,class:"flex flex-wrap items-center gap-x-2 gap-y-1 pr-3 py-1.5 border-b border-default last:border-b-0 hover:bg-gray-50 dark:hover:bg-gray-900/40 transition-colors",style:ce({paddingLeft:`${o.depth*20+12}px`})},[i(v,{name:"i-lucide-flask-conical",class:"size-3.5 text-muted shrink-0"}),i(h,{color:("testCaseCategoryColor"in l?l.testCaseCategoryColor:e(fe))(o.testCase.status),size:"xs",variant:"subtle",class:"capitalize shrink-0"},{default:d(()=>[S(P(("formatStatusLabel"in l?l.formatStatusLabel:e(pe))(o.testCase.status)),1)]),_:2},1032,["color"]),i($,{to:`/test-cases/${o.testCase.id}`,class:"text-sm text-primary hover:underline truncate flex-1 min-w-32",title:o.testCase.title},{default:d(()=>[S(P(o.testCase.title),1)]),_:2},1032,["to","title"]),f("div",ta,[i(q,{rate:o.testCase.passRate},null,8,["rate"]),f("span",{class:"text-xs text-muted tabular-nums max-sm:hidden",title:`${o.testCase.totalRuns} runs`},P(o.testCase.totalRuns)+"× ",9,aa),o.testCase.avgDuration!=null?(r(),x(j,{key:0,ms:o.testCase.avgDuration,class:"text-xs text-muted max-sm:hidden"},null,8,["ms"])):B("",!0),f("span",{class:"text-xs text-muted max-sm:hidden",title:("prettyDateFormat"in l?l.prettyDateFormat:e(ge))(o.testCase.lastRun)},P(("formatRelativeTime"in l?l.formatRelativeTime:e(me))(o.testCase.lastRun)),9,sa),i(R,{to:`/test-cases/${o.testCase.id}`,size:"xs",variant:"outline"},{default:d(()=>[...n[2]||(n[2]=[S("View",-1)])]),_:1},8,["to"])])],4))],64))),128)),e(U).length===0?(r(),I("div",la,[i(v,{name:"i-lucide-search-x",class:"size-6 mx-auto mb-2 text-gray-300 dark:text-gray-600"}),n[3]||(n[3]=f("p",{class:"text-sm"},"No test cases match your filters.",-1))])):B("",!0)])}}}),oa=Object.assign(na,{__name:"ProjectTestCasesTree"}),ia={slots:{root:"",list:"flex items-center gap-1",ellipsis:"pointer-events-none",label:"min-w-5 text-center",first:"",prev:"",item:"",next:"",last:""}},ra={__name:"UPagination",props:{as:{type:null,required:!1},firstIcon:{type:null,required:!1},prevIcon:{type:null,required:!1},nextIcon:{type:null,required:!1},lastIcon:{type:null,required:!1},ellipsisIcon:{type:null,required:!1},color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"outline"},activeColor:{type:null,required:!1,default:"primary"},activeVariant:{type:null,required:!1,default:"solid"},showControls:{type:Boolean,required:!1,default:!0},size:{type:null,required:!1},to:{type:Function,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultPage:{type:Number,required:!1},disabled:{type:Boolean,required:!1},itemsPerPage:{type:Number,required:!1,default:10},page:{type:Number,required:!1},showEdges:{type:Boolean,required:!1,default:!1},siblingCount:{type:Number,required:!1,default:2},total:{type:Number,required:!1,default:0}},emits:["update:page"],setup(u,{emit:c}){const s=u,_=c,m=et(),t=tt("pagination",s),{dir:C}=at(),b=st(),T=lt(nt(t,"as","defaultPage","disabled","itemsPerPage","page","showEdges","siblingCount","total"),_),z=k(()=>t.firstIcon||(C.value==="rtl"?b.ui.icons.chevronDoubleRight:b.ui.icons.chevronDoubleLeft)),E=k(()=>t.prevIcon||(C.value==="rtl"?b.ui.icons.chevronRight:b.ui.icons.chevronLeft)),V=k(()=>t.nextIcon||(C.value==="rtl"?b.ui.icons.chevronLeft:b.ui.icons.chevronRight)),U=k(()=>t.lastIcon||(C.value==="rtl"?b.ui.icons.chevronDoubleLeft:b.ui.icons.chevronDoubleRight)),l=k(()=>ot({extend:ia,...b.ui?.pagination||{}})());return(n,v)=>(r(),x(e(zt),Q(e(T),{"data-slot":"root",class:l.value.root({class:[e(t).ui?.root,e(t).class]})}),{default:d(({page:y,pageCount:h})=>[i(e(Bt),{"data-slot":"list",class:L(l.value.list({class:e(t).ui?.list}))},{default:d(({items:$})=>[e(t).showControls||m.first?(r(),x(e(Lt),{key:0,"as-child":"","data-slot":"first",class:L(l.value.first({class:e(t).ui?.first}))},{default:d(()=>[F(n.$slots,"first",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:z.value,to:e(t).to?.(1)},null,8,["color","variant","size","icon","to"])])]),_:3},8,["class"])):B("",!0),e(t).showControls||m.prev?(r(),x(e(Ut),{key:1,"as-child":"","data-slot":"prev",class:L(l.value.prev({class:e(t).ui?.prev}))},{default:d(()=>[F(n.$slots,"prev",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:E.value,to:y>1?e(t).to?.(y-1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):B("",!0),(r(!0),I(A,null,oe($,(q,j)=>(r(),I(A,{key:j},[q.type==="page"?(r(),x(e(Et),{key:0,"as-child":"",value:q.value,"data-slot":"item",class:L(l.value.item({class:e(t).ui?.item}))},{default:d(()=>[F(n.$slots,"item",Q({ref_for:!0},{item:q,index:j,page:y,pageCount:h}),()=>[i(G,{color:y===q.value?e(t).activeColor:e(t).color,variant:y===q.value?e(t).activeVariant:e(t).variant,size:e(t).size,label:String(q.value),ui:{label:l.value.label()},to:e(t).to?.(q.value),square:""},null,8,["color","variant","size","label","ui","to"])])]),_:2},1032,["value","class"])):(r(),x(e($t),{key:1,"as-child":"","data-slot":"ellipsis",class:L(l.value.ellipsis({class:e(t).ui?.ellipsis}))},{default:d(()=>[F(n.$slots,"ellipsis",{ui:l.value},()=>[i(G,{as:"div",color:e(t).color,variant:e(t).variant,size:e(t).size,icon:e(t).ellipsisIcon||e(b).ui.icons.ellipsis},null,8,["color","variant","size","icon"])])]),_:3},8,["class"]))],64))),128)),e(t).showControls||m.next?(r(),x(e(Mt),{key:2,"as-child":"","data-slot":"next",class:L(l.value.next({class:e(t).ui?.next}))},{default:d(()=>[F(n.$slots,"next",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:V.value,to:y<h?e(t).to?.(y+1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):B("",!0),e(t).showControls||m.last?(r(),x(e(Tt),{key:3,"as-child":"","data-slot":"last",class:L(l.value.last({class:e(t).ui?.last}))},{default:d(()=>[F(n.$slots,"last",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:U.value,to:e(t).to?.(h)},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):B("",!0)]),_:2},1032,["class"])]),_:3},16,["class"]))}},ua={class:"flex items-center rounded-md border border-default overflow-hidden"},da={class:"text-sm text-muted tabular-nums"},ca={class:"flex flex-wrap items-center gap-1"},pa=["aria-pressed","onClick"],fa={class:"mt-3 flex items-center justify-center gap-2"},ga={class:"hidden md:block overflow-x-auto"},ma={class:"min-w-0 space-y-0.5"},va={class:"flex items-center gap-1 text-xs text-muted"},_a={class:"text-sm tabular-nums"},ya=["title"],ba={class:"flex justify-end"},ha={class:"space-y-2 md:hidden"},xa={class:"flex items-start justify-between gap-2"},ka={class:"flex items-center gap-1 text-xs text-muted min-w-0"},Ca={class:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},Pa={class:"text-xs text-muted tabular-nums"},Ra=["title"],$a={class:"mt-4 flex flex-wrap items-center justify-between gap-3"},qa={class:"flex flex-wrap items-center gap-3"},Sa={class:"text-sm text-muted tabular-nums"},za={class:"flex items-center gap-1.5"},Ia=1e3,$e=25,La=D({__name:"ProjectTestCasesTable",props:{projectId:{},projectName:{},syncQuery:{type:Boolean}},emits:["total"],setup(u,{expose:c,emit:s}){const _=u,m=s,t=it(),C=rt(),{treeView:b,setTreeView:T}=Ct("project-test-cases"),z=[{label:"10 / page",value:10},{label:"25 / page",value:25},{label:"50 / page",value:50},{label:"100 / page",value:100}],E=[{label:"Last 7 days",value:7},{label:"Last 30 days",value:30},{label:"Last 90 days",value:90},{label:"Last year",value:365},{label:"All time",value:0}],V=[{label:"Passed",value:"passed",color:"green"},{label:"Failed",value:"failed",color:"red"},{label:"Flaky",value:"flaky",color:"orange"},{label:"Skipped",value:"skipped",color:"gray"},{label:"Didn't run",value:"didnotrun",color:"amber"}],U=ut().public.demoMode?0:30,l=_.syncQuery?t.query:{},n=w(Math.max(1,Number(l.page)||1)),v=w(typeof l.q=="string"?l.q:""),y=w(v.value),h=w(typeof l.status=="string"?l.status.split(",").filter(Boolean):[]),$=w(typeof l.age=="string"&&l.age!==""?Math.max(0,Number(l.age)||0):U),q=w(typeof l.tags=="string"?l.tags:""),j=w(q.value),R=w(typeof l.sort=="string"?l.sort:"lastRun"),o=w(l.dir==="asc"?"asc":"desc"),W=Number(l.pageSize),N=w(z.some(p=>p.value===W)?W:$e);ae(y,Re(p=>{v.value=p.trim()},300)),ae(j,Re(p=>{q.value=p.trim()},300)),ae([v,h,q,$,R,o,N,b],()=>{n.value=1});const Ne=k(()=>({limit:b.value?Ia:N.value,offset:b.value?0:(n.value-1)*N.value,...v.value?{q:v.value}:{},...h.value.length>0?{status:h.value.join(",")}:{},...q.value?{tags:q.value}:{},maxAgeDays:$.value,sort:R.value,dir:o.value})),{data:X,status:ie,error:ve,refresh:re}=Pt(`/api/projects/${_.projectId}/test-cases`,{query:Ne},"$6hxagaRDEc");ae(()=>X.value?.total,p=>{p!=null&&m("total",p)},{immediate:!0}),_.syncQuery&&ae([v,h,q,$,R,o,n,N],()=>{C.replace({query:{...t.query,q:v.value||void 0,status:h.value.length>0?h.value.join(","):void 0,tags:q.value||void 0,age:$.value!==U?String($.value):void 0,sort:R.value!=="lastRun"?R.value:void 0,dir:o.value!=="desc"?o.value:void 0,page:n.value>1?String(n.value):void 0,pageSize:N.value!==$e?String(N.value):void 0}})});function Te(p){h.value=h.value.includes(p)?h.value.filter(g=>g!==p):[...h.value,p]}function je(p){R.value===p?o.value=o.value==="asc"?"desc":"asc":(R.value=p,o.value=p==="title"?"asc":"desc")}function Y(p,g){return()=>{const O=R.value===g,le=O?o.value==="asc"?"i-lucide-chevron-up":"i-lucide-chevron-down":"i-lucide-chevrons-up-down";return de("button",{type:"button",class:"flex items-center gap-1 font-semibold select-none cursor-pointer hover:text-highlighted transition-colors",onClick:()=>je(g)},[p,de(ee,{name:le,class:["shrink-0 size-3.5",!O&&"opacity-40"]})])}}const Fe=k(()=>[{accessorKey:"title",header:Y("Test case","title")},{accessorKey:"status",header:Y("Status","status")},{accessorKey:"totalRuns",header:Y("Runs","totalRuns")},{accessorKey:"passRate",header:Y("Pass rate","passRate")},{id:"results",header:"Results"},{accessorKey:"avgDuration",header:Y("Avg duration","avgDuration")},{accessorKey:"lastRun",header:Y("Last run","lastRun")},{id:"actions",header:()=>de("div",{class:"text-right"},"Actions")}]),J=k(()=>X.value?.items??[]),M=k(()=>X.value?.total??0),we=k(()=>M.value===0?0:(n.value-1)*N.value+1),Be=k(()=>b.value?J.value.length:Math.min(n.value*N.value,M.value)),ue=k(()=>v.value!==""||h.value.length>0),De=k(()=>ue.value||$.value!==0),Ee=k(()=>ie.value==="pending"&&!X.value);return c({refresh:re}),(p,g)=>{const O=G,le=dt,_e=ct,Ve=pt,Me=ft,Ae=gt,ye=mt,Ue=vt,Oe=oa,be=Se,Ke=bt,he=ht,xe=qe,ke=Le,Ce=ze,Pe=Ie,Ge=xt,Qe=ra,Ze=kt;return r(),x(Ze,{title:"Test cases",icon:"i-lucide-flask-conical",count:e(X)?.total,help:"project.test-cases"},{actions:d(()=>[i(O,{icon:"i-lucide-refresh-cw",size:"sm",color:"neutral",variant:"ghost","aria-label":"Refresh test cases",loading:e(ie)==="pending"&&!!e(X),onClick:g[0]||(g[0]=()=>e(re)())},null,8,["loading"])]),default:d(()=>[i(Ve,{class:"mb-4"},{start:d(()=>[f("div",ua,[f("button",{type:"button",class:L(["px-2 py-1 text-xs transition-colors",e(b)?"text-muted hover:bg-elevated/60":"bg-primary text-white dark:text-white"]),title:"Flat list",onClick:g[1]||(g[1]=a=>e(T)(!1))},[i(e(ee),{name:"i-lucide-list",class:"size-3.5"})],2),f("button",{type:"button",class:L(["px-2 py-1 text-xs transition-colors",e(b)?"bg-primary text-white dark:text-white":"text-muted hover:bg-elevated/60"]),title:"Tree view",onClick:g[2]||(g[2]=a=>e(T)(!0))},[i(e(ee),{name:"i-lucide-folder-tree",class:"size-3.5"})],2)]),f("span",da,P(e(M))+" "+P(e(M)===1?"case":"cases"),1)]),default:d(()=>[i(le,{modelValue:e(y),"onUpdate:modelValue":g[3]||(g[3]=a=>se(y)?y.value=a:null),placeholder:"Search title or file...",icon:"i-lucide-search",size:"sm",class:"min-w-48 max-sm:flex-1","aria-label":"Search test cases"},null,8,["modelValue"]),i(le,{modelValue:e(j),"onUpdate:modelValue":g[4]||(g[4]=a=>se(j)?j.value=a:null),placeholder:"Tags (comma-separated)…",icon:"i-lucide-tag",size:"sm",class:"min-w-44 max-sm:flex-1","aria-label":"Filter by tag",title:"Show only cases carrying every listed tag. A leading @ is optional."},null,8,["modelValue"]),f("div",ca,[(r(),I(A,null,oe(V,a=>f("button",{key:a.value,type:"button",class:L(["inline-flex items-center gap-1.5 px-2 py-1 rounded-md text-xs font-medium transition-colors whitespace-nowrap",e(h).includes(a.value)?a.color==="green"?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":a.color==="red"?"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400":a.color==="orange"?"bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400":a.color==="amber"?"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400":"bg-gray-200 text-gray-700 dark:bg-gray-700 dark:text-gray-300":"bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700"]),"aria-pressed":e(h).includes(a.value),onClick:Na=>Te(a.value)},[f("span",{class:L(["size-2 rounded-full shrink-0",a.color==="green"?"bg-green-500":a.color==="red"?"bg-red-500":a.color==="orange"?"bg-orange-500":a.color==="amber"?"bg-amber-500":"bg-gray-400"])},null,2),S(" "+P(a.label),1)],10,pa)),64))]),i(_e,{modelValue:e($),"onUpdate:modelValue":g[5]||(g[5]=a=>se($)?$.value=a:null),items:E,size:"sm",class:"w-36","aria-label":"Last run age filter"},null,8,["modelValue"])]),_:1}),e(Ee)?(r(),x(Me,{key:0,text:"Loading test cases..."})):e(ve)?(r(),x(Ae,{key:1,text:("errorMessage"in p?p.errorMessage:e(_t))(e(ve),"Failed to load test cases")},{action:d(()=>[i(O,{size:"sm",variant:"outline",onClick:g[6]||(g[6]=()=>e(re)())},{default:d(()=>[...g[11]||(g[11]=[S("Retry",-1)])]),_:1})]),_:1},8,["text"])):e(M)===0?(r(),I(A,{key:2},[e(De)?(r(),x(ye,{key:1,icon:"i-lucide-search-x",text:"No test cases match your filters."},{default:d(()=>[f("div",fa,[e($)!==0?(r(),x(O,{key:0,size:"sm",variant:"outline",onClick:g[7]||(g[7]=a=>$.value=0)},{default:d(()=>[...g[12]||(g[12]=[S("Show all time",-1)])]),_:1})):B("",!0),e(ue)?(r(),x(O,{key:1,size:"sm",variant:"ghost",onClick:g[8]||(g[8]=()=>{y.value="",v.value="",h.value=[]})},{default:d(()=>[...g[13]||(g[13]=[S(" Clear filters ",-1)])]),_:1})):B("",!0)])]),_:1})):(r(),x(ye,{key:0,icon:"i-lucide-flask-conical",text:"No test cases yet for this project."}))],64)):(r(),I("div",{key:3,class:L([{"opacity-60 pointer-events-none":e(ie)==="pending"},"transition-opacity"])},[e(b)?(r(),I(A,{key:0},[e(J).length<e(M)?(r(),x(Ue,{key:0,color:"warning",variant:"subtle",icon:"i-lucide-triangle-alert",class:"mb-3",title:`Showing the first ${e(J).length} of ${e(M)} cases — narrow the search or filters to see the rest.`},null,8,["title"])):B("",!0),i(Oe,{items:e(J),"has-filter":e(ue)},null,8,["items","has-filter"])],64)):(r(),I(A,{key:1},[f("div",ga,[i(Ge,{data:e(J),columns:e(Fe),ui:{base:"w-full table-fixed border-separate border-spacing-0 min-w-[56rem]",thead:"[&>tr]:bg-elevated/50 [&>tr]:after:content-none",tbody:"[&>tr]:last:[&>td]:border-b-0 [&>tr]:hover:bg-gray-50 dark:[&>tr]:hover:bg-gray-900/50",th:"first:rounded-l-lg last:rounded-r-lg border-y border-default first:border-l last:border-r",td:"border-b border-default"}},{"title-cell":d(({row:a})=>[f("div",ma,[i(be,{to:`/test-cases/${a.original.id}`,class:"text-sm font-medium text-primary hover:underline truncate block",title:a.original.title},{default:d(()=>[S(P(a.original.title),1)]),_:2},1032,["to","title"]),i(Ke,{tags:a.original.tags,meta:{owner:a.original.owner??void 0,priority:("toTestPriority"in p?p.toTestPriority:e(yt))(a.original.priority),feature:a.original.feature??void 0,link:a.original.link??void 0},"max-tags":4},null,8,["tags","meta"]),f("div",va,[i(e(ee),{name:"i-lucide-file-code",class:"size-3 shrink-0"}),i(he,{"file-path":a.original.filePath,"project-key":u.projectId,"project-name":u.projectName,class:"min-w-0"},null,8,["file-path","project-key","project-name"])])])]),"status-cell":d(({row:a})=>[i(xe,{color:("testCaseCategoryColor"in p?p.testCaseCategoryColor:e(fe))(a.original.status),variant:"subtle",size:"sm",class:"capitalize"},{default:d(()=>[S(P(("formatStatusLabel"in p?p.formatStatusLabel:e(pe))(a.original.status)),1)]),_:2},1032,["color"])]),"totalRuns-cell":d(({row:a})=>[f("span",_a,P(a.original.totalRuns),1)]),"passRate-cell":d(({row:a})=>[i(ke,{rate:a.original.passRate},null,8,["rate"])]),"results-cell":d(({row:a})=>[i(Ce,{passed:a.original.passedRuns,failed:a.original.failedRuns,skipped:a.original.skippedRuns,flaky:a.original.flakyRuns,"did-not-run":a.original.didNotRunRuns,total:a.original.totalRuns},null,8,["passed","failed","skipped","flaky","did-not-run","total"])]),"avgDuration-cell":d(({row:a})=>[i(Pe,{ms:a.original.avgDuration,class:"text-sm text-muted"},null,8,["ms"])]),"lastRun-cell":d(({row:a})=>[f("span",{class:"text-sm text-muted",title:("prettyDateFormat"in p?p.prettyDateFormat:e(ge))(a.original.lastRun)},P(a.original.lastRun!=null?("formatRelativeTime"in p?p.formatRelativeTime:e(me))(a.original.lastRun):"—"),9,ya)]),"actions-cell":d(({row:a})=>[f("div",ba,[i(O,{to:`/test-cases/${a.original.id}`,size:"sm",variant:"outline","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...g[14]||(g[14]=[S(" View ",-1)])]),_:1},8,["to"])])]),_:1},8,["data","columns"])]),f("div",ha,[(r(!0),I(A,null,oe(e(J),a=>(r(),I("div",{key:a.id,class:"rounded-lg border border-default p-3 space-y-2"},[f("div",xa,[i(be,{to:`/test-cases/${a.id}`,class:"text-sm font-medium text-primary hover:underline min-w-0 truncate",title:a.title},{default:d(()=>[S(P(a.title),1)]),_:2},1032,["to","title"]),i(xe,{color:("testCaseCategoryColor"in p?p.testCaseCategoryColor:e(fe))(a.status),variant:"subtle",size:"sm",class:"capitalize shrink-0"},{default:d(()=>[S(P(("formatStatusLabel"in p?p.formatStatusLabel:e(pe))(a.status)),1)]),_:2},1032,["color"])]),f("div",ka,[i(e(ee),{name:"i-lucide-file-code",class:"size-3 shrink-0"}),i(he,{"file-path":a.filePath,"project-key":u.projectId,"project-name":u.projectName,class:"min-w-0"},null,8,["file-path","project-key","project-name"])]),i(Ce,{passed:a.passedRuns,failed:a.failedRuns,skipped:a.skippedRuns,flaky:a.flakyRuns,"did-not-run":a.didNotRunRuns,total:a.totalRuns},null,8,["passed","failed","skipped","flaky","did-not-run","total"]),f("div",Ca,[i(ke,{rate:a.passRate},null,8,["rate"]),f("span",Pa,P(a.totalRuns)+" runs",1),a.avgDuration!=null?(r(),x(Pe,{key:0,ms:a.avgDuration,class:"text-xs text-muted"},null,8,["ms"])):B("",!0),f("span",{class:"text-xs text-muted",title:("prettyDateFormat"in p?p.prettyDateFormat:e(ge))(a.lastRun)},P(a.lastRun!=null?("formatRelativeTime"in p?p.formatRelativeTime:e(me))(a.lastRun):"—"),9,Ra)])]))),128))]),f("div",$a,[f("div",qa,[f("span",Sa,"Showing "+P(e(we))+"–"+P(e(Be))+" of "+P(e(M)),1),f("div",za,[g[15]||(g[15]=f("span",{class:"text-sm text-muted"},"Rows per page",-1)),i(_e,{modelValue:e(N),"onUpdate:modelValue":g[9]||(g[9]=a=>se(N)?N.value=a:null),items:z,size:"sm",class:"w-28","aria-label":"Rows per page"},null,8,["modelValue"])])]),e(M)>e(N)?(r(),x(Qe,{key:0,page:e(n),"onUpdate:page":g[10]||(g[10]=a=>se(n)?n.value=a:null),total:e(M),"items-per-page":e(N),size:"sm"},null,8,["page","total","items-per-page"])):B("",!0)])],64))],2))]),_:1},8,["count"])}}}),Ha=Object.assign(La,{__name:"ProjectTestCasesTable"});export{Ha as _};
@@ -0,0 +1 @@
1
+ import{h as e,ab as r,bV as t}from"./NQikbhmK.js";function a(o){return e(()=>r(o)?!!t(o)?.closest("form"):!0)}export{a as u};
@@ -1 +1 @@
1
- import{d as o,u as s,w as c,n as u,o as p,c as i}from"./D3SYPlEB.js";const d=o({__name:"compare",async setup(_){let t,n;const e=s(),a=e.params.id;{const r=new URLSearchParams;r.set("tab","compare"),e.query.runA&&r.set("runA",String(e.query.runA)),e.query.runB&&r.set("runB",String(e.query.runB)),[t,n]=c(()=>u(`/projects/${a}?${r.toString()}`,{replace:!0})),await t,n()}return(r,m)=>(p(),i("div"))}});export{d as default};
1
+ import{d as o,u as s,w as c,n as u,o as p,c as i}from"./NQikbhmK.js";const d=o({__name:"compare",async setup(_){let t,n;const e=s(),a=e.params.id;{const r=new URLSearchParams;r.set("tab","compare"),e.query.runA&&r.set("runA",String(e.query.runA)),e.query.runB&&r.set("runB",String(e.query.runB)),[t,n]=c(()=>u(`/projects/${a}?${r.toString()}`,{replace:!0})),await t,n()}return(r,m)=>(p(),i("div"))}});export{d as default};
@@ -0,0 +1 @@
1
+ import{d as z,k as n,o as a,c as x,f as s,s as C,g as r,m as l,t as c,v as i,F as B,y as M,j as y,p as O,x as j,C as I,h as m}from"./NQikbhmK.js";import"./CDk0q2hV.js";const L={key:0,class:"inline-flex items-center gap-1 flex-wrap"},N=z({__name:"TestMetaBadges",props:{tags:{default:null},meta:{default:null},maxTags:{default:0}},setup(t){const e=t,_={critical:"error",high:"warning",medium:"info",low:"neutral"},u=m(()=>{const f=e.tags??[];return e.maxTags>0?f.slice(0,e.maxTags):f}),d=m(()=>Math.max(0,(e.tags?.length??0)-u.value.length)),p=m(()=>(e.tags??[]).slice(u.value.length).join(", ")),v=m(()=>e.meta?.priority?_[e.meta.priority]??"neutral":"neutral"),w=m(()=>u.value.length>0||!!(e.meta?.owner||e.meta?.priority||e.meta?.feature||e.meta?.link));return(f,k)=>{const o=C,g=O,T=j;return n(w)?(a(),x("div",L,[t.meta?.priority?(a(),s(o,{key:0,color:n(v),variant:"soft",size:"xs",class:"shrink-0 capitalize"},{default:r(()=>[l(c(t.meta.priority),1)]),_:1},8,["color"])):i("",!0),(a(!0),x(B,null,M(n(u),h=>(a(),s(o,{key:h,color:"primary",variant:"soft",size:"xs",class:"shrink-0 font-mono"},{default:r(()=>[l(" @"+c(h),1)]),_:2},1024))),128)),n(d)>0?(a(),s(o,{key:1,color:"neutral",variant:"soft",size:"xs",class:"shrink-0",title:n(p)},{default:r(()=>[l(" +"+c(n(d)),1)]),_:1},8,["title"])):i("",!0),t.meta?.owner?(a(),s(o,{key:2,color:"neutral",variant:"soft",size:"xs",class:"shrink-0 gap-1"},{default:r(()=>[y(g,{name:"i-lucide-user",class:"size-2.5 shrink-0"}),l(" "+c(t.meta.owner),1)]),_:1})):i("",!0),t.meta?.feature?(a(),s(o,{key:3,color:"neutral",variant:"outline",size:"xs",class:"shrink-0"},{default:r(()=>[l(c(t.meta.feature),1)]),_:1})):i("",!0),t.meta?.link?(a(),s(T,{key:4,to:t.meta.link,target:"_blank",rel:"noopener noreferrer",class:"text-gray-500 hover:text-primary shrink-0",title:t.meta.link,onClick:k[0]||(k[0]=I(()=>{},["stop"]))},{default:r(()=>[y(g,{name:"i-lucide-external-link",class:"size-3"})]),_:1},8,["to","title"])):i("",!0)])):i("",!0)}}}),V=Object.assign(N,{__name:"TestMetaBadges"});export{V as _};
@@ -0,0 +1,3 @@
1
+ import{aq as ut,d as ft,o as tn,c as sn,i as an,k as ue,t as bt,v as pt,j as ht,r as Et,h as mt,_ as _t}from"./NQikbhmK.js";import{h as Nt}from"./CDk0q2hV.js";import{u as St}from"./Bn0YQDyy.js";var $e,rn;function yt(){if(rn)return $e;rn=1;function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const s=e[t],b=typeof s;(b==="object"||b==="function")&&!Object.isFrozen(s)&&n(s)}),e}class o{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function l(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function d(e,...t){const s=Object.create(null);for(const b in e)s[b]=e[b];return t.forEach(function(b){for(const k in b)s[k]=b[k]}),s}const R="</span>",M=e=>!!e.scope,_=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const s=e.split(".");return[`${t}${s.shift()}`,...s.map((b,k)=>`${b}${"_".repeat(k+1)}`)].join(" ")}return`${t}${e}`};class E{constructor(t,s){this.buffer="",this.classPrefix=s.classPrefix,t.walk(this)}addText(t){this.buffer+=l(t)}openNode(t){if(!M(t))return;const s=_(t.scope,{prefix:this.classPrefix});this.span(s)}closeNode(t){M(t)&&(this.buffer+=R)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const w=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class y{constructor(){this.rootNode=w(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const s=w({scope:t});this.add(s),this.stack.push(s)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,s){return typeof s=="string"?t.addText(s):s.children&&(t.openNode(s),s.children.forEach(b=>this._walk(t,b)),t.closeNode(s)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(s=>typeof s=="string")?t.children=[t.children.join("")]:t.children.forEach(s=>{y._collapse(s)}))}}class P extends y{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,s){const b=t.root;s&&(b.scope=`language:${s}`),this.add(b)}toHTML(){return new E(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function x(e){return e?typeof e=="string"?e:e.source:null}function N(e){return A("(?=",e,")")}function B(e){return A("(?:",e,")*")}function C(e){return A("(?:",e,")?")}function A(...e){return e.map(s=>x(s)).join("")}function z(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function H(...e){return"("+(z(e).capture?"":"?:")+e.map(b=>x(b)).join("|")+")"}function F(e){return new RegExp(e.toString()+"|").exec("").length-1}function J(e,t){const s=e&&e.exec(t);return s&&s.index===0}const ne=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function W(e,{joinWith:t}){let s=0;return e.map(b=>{s+=1;const k=s;let I=x(b),c="";for(;I.length>0;){const r=ne.exec(I);if(!r){c+=I;break}c+=I.substring(0,r.index),I=I.substring(r.index+r[0].length),r[0][0]==="\\"&&r[1]?c+="\\"+String(Number(r[1])+k):(c+=r[0],r[0]==="("&&s++)}return c}).map(b=>`(${b})`).join(t)}const X=/\b\B/,fe="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",be="\\b\\d+(\\.\\d+)?",pe="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",he="\\b(0b[01]+)",_e="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Ne=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=A(t,/.*\b/,e.binary,/\b.*/)),d({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(s,b)=>{s.index!==0&&b.ignoreMatch()}},e)},ie={begin:"\\\\[\\s\\S]",relevance:0},Se={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[ie]},ce={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[ie]},ye={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},S=function(e,t,s={}){const b=d({scope:"comment",begin:e,end:t,contains:[]},s);b.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const k=H("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return b.contains.push({begin:A(/[ ]+/,"(",k,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),b},K=S("//","$"),Y=S("/\\*","\\*/"),q=S("#","$"),se={scope:"number",begin:be,relevance:0},le={scope:"number",begin:pe,relevance:0},An={scope:"number",begin:he,relevance:0},Tn={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[ie,{begin:/\[/,end:/\]/,relevance:0,contains:[ie]}]},Rn={scope:"title",begin:fe,relevance:0},wn={scope:"title",begin:te,relevance:0},On={begin:"\\.\\s*"+te,relevance:0};var Te=Object.freeze({__proto__:null,APOS_STRING_MODE:Se,BACKSLASH_ESCAPE:ie,BINARY_NUMBER_MODE:An,BINARY_NUMBER_RE:he,COMMENT:S,C_BLOCK_COMMENT_MODE:Y,C_LINE_COMMENT_MODE:K,C_NUMBER_MODE:le,C_NUMBER_RE:pe,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(t,s)=>{s.data._beginMatch=t[1]},"on:end":(t,s)=>{s.data._beginMatch!==t[1]&&s.ignoreMatch()}})},HASH_COMMENT_MODE:q,IDENT_RE:fe,MATCH_NOTHING_RE:X,METHOD_GUARD:On,NUMBER_MODE:se,NUMBER_RE:be,PHRASAL_WORDS_MODE:ye,QUOTE_STRING_MODE:ce,REGEXP_MODE:Tn,RE_STARTERS_RE:_e,SHEBANG:Ne,TITLE_MODE:Rn,UNDERSCORE_IDENT_RE:te,UNDERSCORE_TITLE_MODE:wn});function vn(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function xn(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function Mn(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=vn,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function kn(e,t){Array.isArray(e.illegal)&&(e.illegal=H(...e.illegal))}function In(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Cn(e,t){e.relevance===void 0&&(e.relevance=1)}const Ln=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const s=Object.assign({},e);Object.keys(e).forEach(b=>{delete e[b]}),e.keywords=s.keywords,e.begin=A(s.beforeMatch,N(s.begin)),e.starts={relevance:0,contains:[Object.assign(s,{endsParent:!0})]},e.relevance=0,delete s.beforeMatch},Bn=["of","and","for","in","not","or","if","then","parent","list","value"],Dn="keyword";function ze(e,t,s=Dn){const b=Object.create(null);return typeof e=="string"?k(s,e.split(" ")):Array.isArray(e)?k(s,e):Object.keys(e).forEach(function(I){Object.assign(b,ze(e[I],t,I))}),b;function k(I,c){t&&(c=c.map(r=>r.toLowerCase())),c.forEach(function(r){const f=r.split("|");b[f[0]]=[I,Pn(f[0],f[1])]})}}function Pn(e,t){return t?Number(t):Un(e)?0:1}function Un(e){return Bn.includes(e.toLowerCase())}const He={},de=e=>{console.error(e)},Ge=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Ee=(e,t)=>{He[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),He[`${e}/${t}`]=!0)},Re=new Error;function Fe(e,t,{key:s}){let b=0;const k=e[s],I={},c={};for(let r=1;r<=t.length;r++)c[r+b]=k[r],I[r+b]=!0,b+=F(t[r-1]);e[s]=c,e[s]._emit=I,e[s]._multi=!0}function $n(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw de("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Re;if(typeof e.beginScope!="object"||e.beginScope===null)throw de("beginScope must be object"),Re;Fe(e,e.begin,{key:"beginScope"}),e.begin=W(e.begin,{joinWith:""})}}function zn(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw de("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Re;if(typeof e.endScope!="object"||e.endScope===null)throw de("endScope must be object"),Re;Fe(e,e.end,{key:"endScope"}),e.end=W(e.end,{joinWith:""})}}function Hn(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Gn(e){Hn(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),$n(e),zn(e)}function Fn(e){function t(c,r){return new RegExp(x(c),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(r?"g":""))}class s{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(r,f){f.position=this.position++,this.matchIndexes[this.matchAt]=f,this.regexes.push([f,r]),this.matchAt+=F(r)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const r=this.regexes.map(f=>f[1]);this.matcherRe=t(W(r,{joinWith:"|"}),!0),this.lastIndex=0}exec(r){this.matcherRe.lastIndex=this.lastIndex;const f=this.matcherRe.exec(r);if(!f)return null;const U=f.findIndex((Ae,Ce)=>Ce>0&&Ae!==void 0),L=this.matchIndexes[U];return f.splice(0,U),Object.assign(f,L)}}class b{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(r){if(this.multiRegexes[r])return this.multiRegexes[r];const f=new s;return this.rules.slice(r).forEach(([U,L])=>f.addRule(U,L)),f.compile(),this.multiRegexes[r]=f,f}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(r,f){this.rules.push([r,f]),f.type==="begin"&&this.count++}exec(r){const f=this.getMatcher(this.regexIndex);f.lastIndex=this.lastIndex;let U=f.exec(r);if(this.resumingScanAtSamePosition()&&!(U&&U.index===this.lastIndex)){const L=this.getMatcher(0);L.lastIndex=this.lastIndex+1,U=L.exec(r)}return U&&(this.regexIndex+=U.position+1,this.regexIndex===this.count&&this.considerAll()),U}}function k(c){const r=new b;return c.contains.forEach(f=>r.addRule(f.begin,{rule:f,type:"begin"})),c.terminatorEnd&&r.addRule(c.terminatorEnd,{type:"end"}),c.illegal&&r.addRule(c.illegal,{type:"illegal"}),r}function I(c,r){const f=c;if(c.isCompiled)return f;[xn,In,Gn,Ln].forEach(L=>L(c,r)),e.compilerExtensions.forEach(L=>L(c,r)),c.__beforeBegin=null,[Mn,kn,Cn].forEach(L=>L(c,r)),c.isCompiled=!0;let U=null;return typeof c.keywords=="object"&&c.keywords.$pattern&&(c.keywords=Object.assign({},c.keywords),U=c.keywords.$pattern,delete c.keywords.$pattern),U=U||/\w+/,c.keywords&&(c.keywords=ze(c.keywords,e.case_insensitive)),f.keywordPatternRe=t(U,!0),r&&(c.begin||(c.begin=/\B|\b/),f.beginRe=t(f.begin),!c.end&&!c.endsWithParent&&(c.end=/\B|\b/),c.end&&(f.endRe=t(f.end)),f.terminatorEnd=x(f.end)||"",c.endsWithParent&&r.terminatorEnd&&(f.terminatorEnd+=(c.end?"|":"")+r.terminatorEnd)),c.illegal&&(f.illegalRe=t(c.illegal)),c.contains||(c.contains=[]),c.contains=[].concat(...c.contains.map(function(L){return Kn(L==="self"?c:L)})),c.contains.forEach(function(L){I(L,f)}),c.starts&&I(c.starts,r),f.matcher=k(f),f}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=d(e.classNameAliases||{}),I(e)}function Ke(e){return e?e.endsWithParent||Ke(e.starts):!1}function Kn(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return d(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Ke(e)?d(e,{starts:e.starts?d(e.starts):null}):Object.isFrozen(e)?d(e):e}var Zn="11.11.1";class Wn extends Error{constructor(t,s){super(t),this.name="HTMLInjectionError",this.html=s}}const Ie=l,Ze=d,We=Symbol("nomatch"),Xn=7,Xe=function(e){const t=Object.create(null),s=Object.create(null),b=[];let k=!0;const I="Could not find the language '{}', did you forget to load/include a language module?",c={disableAutodetect:!0,name:"Plain text",contains:[]};let r={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:P};function f(i){return r.noHighlightRe.test(i)}function U(i){let u=i.className+" ";u+=i.parentNode?i.parentNode.className:"";const m=r.languageDetectRe.exec(u);if(m){const O=re(m[1]);return O||(Ge(I.replace("{}",m[1])),Ge("Falling back to no-highlight mode for this block.",i)),O?m[1]:"no-highlight"}return u.split(/\s+/).find(O=>f(O)||re(O))}function L(i,u,m){let O="",D="";typeof u=="object"?(O=i,m=u.ignoreIllegals,D=u.language):(Ee("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ee("10.7.0",`Please use highlight(code, options) instead.
2
+ https://github.com/highlightjs/highlight.js/issues/2277`),D=i,O=u),m===void 0&&(m=!0);const j={code:O,language:D};Oe("before:highlight",j);const oe=j.result?j.result:Ae(j.language,j.code,m);return oe.code=j.code,Oe("after:highlight",oe),oe}function Ae(i,u,m,O){const D=Object.create(null);function j(a,g){return a.keywords[g]}function oe(){if(!p.keywords){$.addText(v);return}let a=0;p.keywordPatternRe.lastIndex=0;let g=p.keywordPatternRe.exec(v),h="";for(;g;){h+=v.substring(a,g.index);const T=ee.case_insensitive?g[0].toLowerCase():g[0],G=j(p,T);if(G){const[ae,dt]=G;if($.addText(h),h="",D[T]=(D[T]||0)+1,D[T]<=Xn&&(Me+=dt),ae.startsWith("_"))h+=g[0];else{const gt=ee.classNameAliases[ae]||ae;Q(g[0],gt)}}else h+=g[0];a=p.keywordPatternRe.lastIndex,g=p.keywordPatternRe.exec(v)}h+=v.substring(a),$.addText(h)}function ve(){if(v==="")return;let a=null;if(typeof p.subLanguage=="string"){if(!t[p.subLanguage]){$.addText(v);return}a=Ae(p.subLanguage,v,!0,nn[p.subLanguage]),nn[p.subLanguage]=a._top}else a=Le(v,p.subLanguage.length?p.subLanguage:null);p.relevance>0&&(Me+=a.relevance),$.__addSublanguage(a._emitter,a.language)}function V(){p.subLanguage!=null?ve():oe(),v=""}function Q(a,g){a!==""&&($.startScope(g),$.addText(a),$.endScope())}function qe(a,g){let h=1;const T=g.length-1;for(;h<=T;){if(!a._emit[h]){h++;continue}const G=ee.classNameAliases[a[h]]||a[h],ae=g[h];G?Q(ae,G):(v=ae,oe(),v=""),h++}}function je(a,g){return a.scope&&typeof a.scope=="string"&&$.openNode(ee.classNameAliases[a.scope]||a.scope),a.beginScope&&(a.beginScope._wrap?(Q(v,ee.classNameAliases[a.beginScope._wrap]||a.beginScope._wrap),v=""):a.beginScope._multi&&(qe(a.beginScope,g),v="")),p=Object.create(a,{parent:{value:p}}),p}function Qe(a,g,h){let T=J(a.endRe,h);if(T){if(a["on:end"]){const G=new o(a);a["on:end"](g,G),G.isMatchIgnored&&(T=!1)}if(T){for(;a.endsParent&&a.parent;)a=a.parent;return a}}if(a.endsWithParent)return Qe(a.parent,g,h)}function at(a){return p.matcher.regexIndex===0?(v+=a[0],1):(Ue=!0,0)}function rt(a){const g=a[0],h=a.rule,T=new o(h),G=[h.__beforeBegin,h["on:begin"]];for(const ae of G)if(ae&&(ae(a,T),T.isMatchIgnored))return at(g);return h.skip?v+=g:(h.excludeBegin&&(v+=g),V(),!h.returnBegin&&!h.excludeBegin&&(v=g)),je(h,a),h.returnBegin?0:g.length}function ot(a){const g=a[0],h=u.substring(a.index),T=Qe(p,a,h);if(!T)return We;const G=p;p.endScope&&p.endScope._wrap?(V(),Q(g,p.endScope._wrap)):p.endScope&&p.endScope._multi?(V(),qe(p.endScope,a)):G.skip?v+=g:(G.returnEnd||G.excludeEnd||(v+=g),V(),G.excludeEnd&&(v=g));do p.scope&&$.closeNode(),!p.skip&&!p.subLanguage&&(Me+=p.relevance),p=p.parent;while(p!==T.parent);return T.starts&&je(T.starts,a),G.returnEnd?0:g.length}function ct(){const a=[];for(let g=p;g!==ee;g=g.parent)g.scope&&a.unshift(g.scope);a.forEach(g=>$.openNode(g))}let xe={};function en(a,g){const h=g&&g[0];if(v+=a,h==null)return V(),0;if(xe.type==="begin"&&g.type==="end"&&xe.index===g.index&&h===""){if(v+=u.slice(g.index,g.index+1),!k){const T=new Error(`0 width match regex (${i})`);throw T.languageName=i,T.badRule=xe.rule,T}return 1}if(xe=g,g.type==="begin")return rt(g);if(g.type==="illegal"&&!m){const T=new Error('Illegal lexeme "'+h+'" for mode "'+(p.scope||"<unnamed>")+'"');throw T.mode=p,T}else if(g.type==="end"){const T=ot(g);if(T!==We)return T}if(g.type==="illegal"&&h==="")return v+=`
3
+ `,1;if(Pe>1e5&&Pe>g.index*3)throw new Error("potential infinite loop, way more iterations than matches");return v+=h,h.length}const ee=re(i);if(!ee)throw de(I.replace("{}",i)),new Error('Unknown language: "'+i+'"');const lt=Fn(ee);let De="",p=O||lt;const nn={},$=new r.__emitter(r);ct();let v="",Me=0,ge=0,Pe=0,Ue=!1;try{if(ee.__emitTokens)ee.__emitTokens(u,$);else{for(p.matcher.considerAll();;){Pe++,Ue?Ue=!1:p.matcher.considerAll(),p.matcher.lastIndex=ge;const a=p.matcher.exec(u);if(!a)break;const g=u.substring(ge,a.index),h=en(g,a);ge=a.index+h}en(u.substring(ge))}return $.finalize(),De=$.toHTML(),{language:i,value:De,relevance:Me,illegal:!1,_emitter:$,_top:p}}catch(a){if(a.message&&a.message.includes("Illegal"))return{language:i,value:Ie(u),illegal:!0,relevance:0,_illegalBy:{message:a.message,index:ge,context:u.slice(ge-100,ge+100),mode:a.mode,resultSoFar:De},_emitter:$};if(k)return{language:i,value:Ie(u),illegal:!1,relevance:0,errorRaised:a,_emitter:$,_top:p};throw a}}function Ce(i){const u={value:Ie(i),illegal:!1,relevance:0,_top:c,_emitter:new r.__emitter(r)};return u._emitter.addText(i),u}function Le(i,u){u=u||r.languages||Object.keys(t);const m=Ce(i),O=u.filter(re).filter(Je).map(V=>Ae(V,i,!1));O.unshift(m);const D=O.sort((V,Q)=>{if(V.relevance!==Q.relevance)return Q.relevance-V.relevance;if(V.language&&Q.language){if(re(V.language).supersetOf===Q.language)return 1;if(re(Q.language).supersetOf===V.language)return-1}return 0}),[j,oe]=D,ve=j;return ve.secondBest=oe,ve}function Yn(i,u,m){const O=u&&s[u]||m;i.classList.add("hljs"),i.classList.add(`language-${O}`)}function Be(i){let u=null;const m=U(i);if(f(m))return;if(Oe("before:highlightElement",{el:i,language:m}),i.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",i);return}if(i.children.length>0&&(r.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(i)),r.throwUnescapedHTML))throw new Wn("One of your code blocks includes unescaped HTML.",i.innerHTML);u=i;const O=u.textContent,D=m?L(O,{language:m,ignoreIllegals:!0}):Le(O);i.innerHTML=D.value,i.dataset.highlighted="yes",Yn(i,m,D.language),i.result={language:D.language,re:D.relevance,relevance:D.relevance},D.secondBest&&(i.secondBest={language:D.secondBest.language,relevance:D.secondBest.relevance}),Oe("after:highlightElement",{el:i,result:D,text:O})}function Vn(i){r=Ze(r,i)}const Jn=()=>{we(),Ee("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function qn(){we(),Ee("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Ye=!1;function we(){function i(){we()}if(document.readyState==="loading"){Ye||window.addEventListener("DOMContentLoaded",i,!1),Ye=!0;return}document.querySelectorAll(r.cssSelector).forEach(Be)}function jn(i,u){let m=null;try{m=u(e)}catch(O){if(de("Language definition for '{}' could not be registered.".replace("{}",i)),k)de(O);else throw O;m=c}m.name||(m.name=i),t[i]=m,m.rawDefinition=u.bind(null,e),m.aliases&&Ve(m.aliases,{languageName:i})}function Qn(i){delete t[i];for(const u of Object.keys(s))s[u]===i&&delete s[u]}function et(){return Object.keys(t)}function re(i){return i=(i||"").toLowerCase(),t[i]||t[s[i]]}function Ve(i,{languageName:u}){typeof i=="string"&&(i=[i]),i.forEach(m=>{s[m.toLowerCase()]=u})}function Je(i){const u=re(i);return u&&!u.disableAutodetect}function nt(i){i["before:highlightBlock"]&&!i["before:highlightElement"]&&(i["before:highlightElement"]=u=>{i["before:highlightBlock"](Object.assign({block:u.el},u))}),i["after:highlightBlock"]&&!i["after:highlightElement"]&&(i["after:highlightElement"]=u=>{i["after:highlightBlock"](Object.assign({block:u.el},u))})}function tt(i){nt(i),b.push(i)}function it(i){const u=b.indexOf(i);u!==-1&&b.splice(u,1)}function Oe(i,u){const m=i;b.forEach(function(O){O[m]&&O[m](u)})}function st(i){return Ee("10.7.0","highlightBlock will be removed entirely in v12.0"),Ee("10.7.0","Please use highlightElement now."),Be(i)}Object.assign(e,{highlight:L,highlightAuto:Le,highlightAll:we,highlightElement:Be,highlightBlock:st,configure:Vn,initHighlighting:Jn,initHighlightingOnLoad:qn,registerLanguage:jn,unregisterLanguage:Qn,listLanguages:et,getLanguage:re,registerAliases:Ve,autoDetection:Je,inherit:Ze,addPlugin:tt,removePlugin:it}),e.debugMode=function(){k=!1},e.safeMode=function(){k=!0},e.versionString=Zn,e.regex={concat:A,lookahead:N,either:H,optional:C,anyNumberOfTimes:B};for(const i in Te)typeof Te[i]=="object"&&n(Te[i]);return Object.assign(e,Te),e},me=Xe({});return me.newInstance=()=>Xe({}),$e=me,me.HighlightJS=me,me.default=me,$e}var At=yt();const Z=ut(At);function cn(n){const o=n.regex,l={},d={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[l]}]};Object.assign(l,{className:"variable",variants:[{begin:o.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},d]});const R={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},M=n.inherit(n.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),_={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},E={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,l,R]};R.contains.push(E);const w={match:/\\"/},y={className:"string",begin:/'/,end:/'/},P={match:/\\'/},x={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,l]},N=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],B=n.SHEBANG({binary:`(${N.join("|")})`,relevance:10}),C={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},A=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],z=["true","false"],H={match:/(\/[a-z._-]+)+/},F=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],J=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],ne=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],W=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:A,literal:z,built_in:[...F,...J,"set","shopt",...ne,...W]},contains:[B,n.SHEBANG(),C,x,M,_,H,E,w,y,P,l]}}const Tt=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Rt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],wt=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Ot=[...Rt,...wt],vt=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),xt=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Mt=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),kt=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function It(n){const o=n.regex,l=Tt(n),d={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},R="and or not only",M=/@-?\w[\w]*(-\w+)*/,_="[a-zA-Z-][a-zA-Z0-9_-]*",E=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[l.BLOCK_COMMENT,d,l.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+_,relevance:0},l.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+xt.join("|")+")"},{begin:":(:)?("+Mt.join("|")+")"}]},l.CSS_VARIABLE,{className:"attribute",begin:"\\b("+kt.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[l.BLOCK_COMMENT,l.HEXCOLOR,l.IMPORTANT,l.CSS_NUMBER_MODE,...E,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...E,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},l.FUNCTION_DISPATCH]},{begin:o.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:M},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:R,attribute:vt.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...E,l.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Ot.join("|")+")\\b"}]}}function Ct(n){const o=n.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:o.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:o.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}const on="[A-Za-z$_][0-9A-Za-z$_]*",Lt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Bt=["true","false","null","undefined","NaN","Infinity"],ln=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],dn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],gn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Dt=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Pt=[].concat(gn,ln,dn);function un(n){const o=n.regex,l=(S,{after:K})=>{const Y="</"+S[0].slice(1);return S.input.indexOf(Y,K)!==-1},d=on,R={begin:"<>",end:"</>"},M=/<[A-Za-z0-9\\._:-]+\s*\/>/,_={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(S,K)=>{const Y=S[0].length+S.index,q=S.input[Y];if(q==="<"||q===","){K.ignoreMatch();return}q===">"&&(l(S,{after:Y})||K.ignoreMatch());let se;const le=S.input.substring(Y);if(se=le.match(/^\s*=/)){K.ignoreMatch();return}if((se=le.match(/^\s+extends\s+/))&&se.index===0){K.ignoreMatch();return}}},E={$pattern:on,keyword:Lt,literal:Bt,built_in:Pt,"variable.language":Dt},w="[0-9](_?[0-9])*",y=`\\.(${w})`,P="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",x={className:"number",variants:[{begin:`(\\b(${P})((${y})|\\.)?|(${y}))[eE][+-]?(${w})\\b`},{begin:`\\b(${P})\\b((${y})\\b|\\.)?|(${y})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},N={className:"subst",begin:"\\$\\{",end:"\\}",keywords:E,contains:[]},B={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"xml"}},C={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"css"}},A={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"graphql"}},z={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,N]},F={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},J=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,B,C,A,z,{match:/\$\d+/},x];N.contains=J.concat({begin:/\{/,end:/\}/,keywords:E,contains:["self"].concat(J)});const ne=[].concat(F,N.contains),W=ne.concat([{begin:/(\s*)\(/,end:/\)/,keywords:E,contains:["self"].concat(ne)}]),X={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:W},fe={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,o.concat(d,"(",o.concat(/\./,d),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},te={relevance:0,match:o.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...ln,...dn]}},be={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},pe={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[X],illegal:/%/},he={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function _e(S){return o.concat("(?!",S.join("|"),")")}const Ne={match:o.concat(/\b/,_e([...gn,"super","import"].map(S=>`${S}\\s*\\(`)),d,o.lookahead(/\s*\(/)),className:"title.function",relevance:0},ie={begin:o.concat(/\./,o.lookahead(o.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Se={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},X]},ce="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",ye={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,o.lookahead(ce)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[X]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:E,exports:{PARAMS_CONTAINS:W,CLASS_REFERENCE:te},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),be,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,B,C,A,z,F,{match:/\$\d+/},x,te,{scope:"attr",match:d+o.lookahead(":"),relevance:0},ye,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[F,n.REGEXP_MODE,{className:"function",begin:ce,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:W}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:R.begin,end:R.end},{match:M},{begin:_.begin,"on:begin":_.isTrulyOpeningTag,end:_.end}],subLanguage:"xml",contains:[{begin:_.begin,end:_.end,skip:!0,contains:["self"]}]}]},pe,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[X,n.inherit(n.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},ie,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[X]},Ne,he,fe,Se,{match:/\$[(.]/}]}}function Ut(n){const o={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},l={match:/[{}[\],:]/,className:"punctuation",relevance:0},d=["true","false","null"],R={scope:"literal",beginKeywords:d.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:d},contains:[o,l,n.QUOTE_STRING_MODE,R,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function $t(n){const o=n.regex,l=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),d=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],E={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:d,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},w={className:"meta",begin:/^(>>>|\.\.\.) /},y={className:"subst",begin:/\{/,end:/\}/,keywords:E,illegal:/#/},P={begin:/\{\{/,relevance:0},x={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,w],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,w],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,w,P,y]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,w,P,y]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[n.BACKSLASH_ESCAPE,P,y]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,P,y]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},N="[0-9](_?[0-9])*",B=`(\\b(${N}))?\\.(${N})|\\b(${N})\\.`,C=`\\b|${d.join("|")}`,A={className:"number",relevance:0,variants:[{begin:`(\\b(${N})|(${B}))[eE][+-]?(${N})[jJ]?(?=${C})`},{begin:`(${B})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${C})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${C})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${C})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${C})`},{begin:`\\b(${N})[jJ](?=${C})`}]},z={className:"comment",begin:o.lookahead(/# type:/),end:/$/,keywords:E,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},H={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:["self",w,A,x,n.HASH_COMMENT_MODE]}]};return y.contains=[x,A,w],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:E,illegal:/(<\/|\?)|=>/,contains:[w,A,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},x,z,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,l],scope:{1:"keyword",3:"title.function"},contains:[H]},{variants:[{match:[/\bclass/,/\s+/,l,/\s*/,/\(\s*/,l,/\s*\)/]},{match:[/\bclass/,/\s+/,l]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[A,H,x]}]}}const ke="[A-Za-z$_][0-9A-Za-z$_]*",fn=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],bn=["true","false","null","undefined","NaN","Infinity"],pn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],hn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],En=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],mn=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],_n=[].concat(En,pn,hn);function zt(n){const o=n.regex,l=(S,{after:K})=>{const Y="</"+S[0].slice(1);return S.input.indexOf(Y,K)!==-1},d=ke,R={begin:"<>",end:"</>"},M=/<[A-Za-z0-9\\._:-]+\s*\/>/,_={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(S,K)=>{const Y=S[0].length+S.index,q=S.input[Y];if(q==="<"||q===","){K.ignoreMatch();return}q===">"&&(l(S,{after:Y})||K.ignoreMatch());let se;const le=S.input.substring(Y);if(se=le.match(/^\s*=/)){K.ignoreMatch();return}if((se=le.match(/^\s+extends\s+/))&&se.index===0){K.ignoreMatch();return}}},E={$pattern:ke,keyword:fn,literal:bn,built_in:_n,"variable.language":mn},w="[0-9](_?[0-9])*",y=`\\.(${w})`,P="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",x={className:"number",variants:[{begin:`(\\b(${P})((${y})|\\.)?|(${y}))[eE][+-]?(${w})\\b`},{begin:`\\b(${P})\\b((${y})\\b|\\.)?|(${y})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},N={className:"subst",begin:"\\$\\{",end:"\\}",keywords:E,contains:[]},B={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"xml"}},C={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"css"}},A={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"graphql"}},z={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,N]},F={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},J=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,B,C,A,z,{match:/\$\d+/},x];N.contains=J.concat({begin:/\{/,end:/\}/,keywords:E,contains:["self"].concat(J)});const ne=[].concat(F,N.contains),W=ne.concat([{begin:/(\s*)\(/,end:/\)/,keywords:E,contains:["self"].concat(ne)}]),X={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:W},fe={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,o.concat(d,"(",o.concat(/\./,d),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},te={relevance:0,match:o.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...pn,...hn]}},be={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},pe={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[X],illegal:/%/},he={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function _e(S){return o.concat("(?!",S.join("|"),")")}const Ne={match:o.concat(/\b/,_e([...En,"super","import"].map(S=>`${S}\\s*\\(`)),d,o.lookahead(/\s*\(/)),className:"title.function",relevance:0},ie={begin:o.concat(/\./,o.lookahead(o.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Se={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},X]},ce="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",ye={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,o.lookahead(ce)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[X]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:E,exports:{PARAMS_CONTAINS:W,CLASS_REFERENCE:te},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),be,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,B,C,A,z,F,{match:/\$\d+/},x,te,{scope:"attr",match:d+o.lookahead(":"),relevance:0},ye,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[F,n.REGEXP_MODE,{className:"function",begin:ce,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:W}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:R.begin,end:R.end},{match:M},{begin:_.begin,"on:begin":_.isTrulyOpeningTag,end:_.end}],subLanguage:"xml",contains:[{begin:_.begin,end:_.end,skip:!0,contains:["self"]}]}]},pe,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[X,n.inherit(n.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},ie,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[X]},Ne,he,fe,Se,{match:/\$[(.]/}]}}function Nn(n){const o=n.regex,l=zt(n),d=ke,R=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],M={begin:[/namespace/,/\s+/,n.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},_={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:R},contains:[l.exports.CLASS_REFERENCE]},E={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},w=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],y={$pattern:ke,keyword:fn.concat(w),literal:bn,built_in:_n.concat(R),"variable.language":mn},P={className:"meta",begin:"@"+d},x=(A,z,H)=>{const F=A.contains.findIndex(J=>J.label===z);if(F===-1)throw new Error("can not find mode to replace");A.contains.splice(F,1,H)};Object.assign(l.keywords,y),l.exports.PARAMS_CONTAINS.push(P);const N=l.contains.find(A=>A.scope==="attr"),B=Object.assign({},N,{match:o.concat(d,o.lookahead(/\s*\?:/))});l.exports.PARAMS_CONTAINS.push([l.exports.CLASS_REFERENCE,N,B]),l.contains=l.contains.concat([P,M,_,B]),x(l,"shebang",n.SHEBANG()),x(l,"use_strict",E);const C=l.contains.find(A=>A.label==="func.def");return C.relevance=0,Object.assign(l,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),l}function Sn(n){const o=n.regex,l=o.concat(/[\p{L}_]/u,o.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),d=/[\p{L}0-9._:-]+/u,R={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},M={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},_=n.inherit(M,{begin:/\(/,end:/\)/}),E=n.inherit(n.APOS_STRING_MODE,{className:"string"}),w=n.inherit(n.QUOTE_STRING_MODE,{className:"string"}),y={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:d,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[R]},{begin:/'/,end:/'/,contains:[R]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[M,w,E,_,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[M,_,w,E]}]}]},n.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},R,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[w]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[y],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[y],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:o.concat(/</,o.lookahead(o.concat(l,o.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:l,relevance:0,starts:y}]},{className:"tag",begin:o.concat(/<\//,o.lookahead(o.concat(l,/>/))),contains:[{className:"name",begin:l,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function yn(n){const o="true false yes no null",l="[\\w#;/?:@&=+$,.~*'()[\\]]+",d={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},R={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},M={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},_={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[n.BACKSLASH_ESCAPE,R]},E=n.inherit(_,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),N={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},B={end:",",endsWithParent:!0,excludeEnd:!0,keywords:o,relevance:0},C={begin:/\{/,end:/\}/,contains:[B],illegal:"\\n",relevance:0},A={begin:"\\[",end:"\\]",contains:[B],illegal:"\\n",relevance:0},z=[d,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+l},{className:"type",begin:"!<"+l+">"},{className:"type",begin:"!"+l},{className:"type",begin:"!!"+l},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:o,keywords:{literal:o}},N,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},C,A,M,_],H=[...z];return H.pop(),H.push(E),B.contains=H,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:z}}const Ht={bash:cn,css:It,diff:Ct,javascript:un,json:Ut,python:$t,typescript:Nn,xml:Sn,yaml:yn};for(const[n,o]of Object.entries(Ht))Z.getLanguage(n)||Z.registerLanguage(n,o);Z.getLanguage("sh")||Z.registerLanguage("sh",cn);Z.getLanguage("ts")||Z.registerLanguage("ts",Nn);Z.getLanguage("js")||Z.registerLanguage("js",un);Z.getLanguage("yml")||Z.registerLanguage("yml",yn);Z.getLanguage("html")||Z.registerLanguage("html",Sn);const Gt=1e5;function Ft(n,o){try{if(o&&Z.getLanguage(o))return{html:Z.highlight(n,{language:o,ignoreIllegals:!0}).value,language:o};if(n.length<=Gt){const l=Z.highlightAuto(n);return{html:l.value,language:l.language??""}}}catch{}return{html:Kt(n),language:""}}function Kt(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}const Zt={class:"relative"},Wt={class:"bg-gray-50 dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded-lg px-4 pt-8 pb-3 text-sm font-mono overflow-x-auto leading-relaxed"},Xt=["innerHTML"],Yt={key:0,class:"absolute top-2 left-3 text-[10px] font-medium uppercase tracking-wide text-gray-400 dark:text-gray-500 select-none pointer-events-none"},Vt=ft({__name:"CodeBlock",props:{code:{},lang:{}},setup(n){const o=n,{copy:l,copied:d}=St(),R=Et(""),M=mt(()=>{const _=Ft(o.code,o.lang);return R.value=_.language,_.html});return(_,E)=>{const w=_t;return tn(),sn("div",Zt,[an("pre",Wt,[an("code",{class:"hljs !bg-transparent",innerHTML:ue(M)},null,8,Xt)]),ue(R)?(tn(),sn("span",Yt,bt(ue(R)),1)):pt("",!0),ht(w,{size:"xs",color:"neutral",variant:"ghost",icon:ue(d)?"i-lucide-check":"i-lucide-clipboard",title:ue(d)?"Copied!":("copyPreview"in _?_.copyPreview:ue(Nt))(n.code),class:"absolute top-1.5 right-1.5 opacity-40 hover:opacity-100 transition-opacity",onClick:E[0]||(E[0]=y=>ue(l)(n.code,{toast:!0}))},null,8,["icon","title"])])}}}),ei=Object.assign(Vt,{__name:"CodeBlock"});export{ei as _,Ft as h};
@@ -0,0 +1 @@
1
+ import{d as o,o as s,f as e,g as c,p as u,v as r,m,t as l,k as g,s as d}from"./NQikbhmK.js";import{j as f}from"./CDk0q2hV.js";const _=o({__name:"RunStatusBadge",props:{status:{},size:{}},setup(t){return(a,z)=>{const n=u,i=d;return s(),e(i,{color:("getStatusColor"in a?a.getStatusColor:g(f))(t.status),size:t.size,variant:"subtle",class:"capitalize gap-1 items-center"},{default:c(()=>[t.status==="running"||t.status==="initialising"||t.status==="finalizing"?(s(),e(n,{key:0,name:"i-lucide-loader-circle",class:"size-3 animate-spin shrink-0"})):r("",!0),m(" "+l(t.status),1)]),_:1},8,["color","size"])}}}),S=Object.assign(_,{__name:"RunStatusBadge"});export{S as _};
@@ -1 +1 @@
1
- import{d as T,o as r,c as x,j as p,k as a,v as U,t as E,q as b,i as k,f as _,g as y,m as L,_ as j,h as w,s as N,r as h,B as O,F as D,y as S,H as Z,D as R,l as C,E as H}from"./D3SYPlEB.js";import{u as M}from"./D3MWm6JP.js";const G=[{provider:"jira",tests:[/^https:\/\/([^./]+)\.atlassian\.net\/browse\//i,/^https:\/\/[^/]+\/jira\/software\/c\/projects\//i,/^https:\/\/[^/]+\/.+\/browse\//i],keyExtract:/\/([A-Z][A-Z0-9_]+-\d+)(?:\?|$|#)/i},{provider:"github-issue",tests:[/^https:\/\/github\.com\/[^/]+\/[^/]+\/issues\//i],keyExtract:/\/issues\/(\d+)/},{provider:"github-pr",tests:[/^https:\/\/github\.com\/[^/]+\/[^/]+\/pull\//i],keyExtract:/\/pull\/(\d+)/},{provider:"gitlab-issue",tests:[/^https:\/\/(gitlab\.[^/]+|[^/]+\.gitlab\.io)\/[^/]+\/[^/]+\/-\/issues\//i],keyExtract:/\/issues\/(\d+)/},{provider:"gitlab-mr",tests:[/^https:\/\/(gitlab\.[^/]+|[^/]+\.gitlab\.io)\/[^/]+\/[^/]+\/-\/merge_requests\//i],keyExtract:/\/merge_requests\/(\d+)/},{provider:"bitbucket",tests:[/^https:\/\/bitbucket\.org\/[^/]+\/[^/]+\/pull-requests\//i],keyExtract:/\/pull-requests\/(\d+)/},{provider:"confluence",tests:[/^https:\/\/([^./]+)\.atlassian\.net\/wiki\//i]},{provider:"slack",tests:[/^https:\/\/[^/]+\.slack\.com\//i]},{provider:"linear",tests:[/^https:\/\/linear\.app\//i],keyExtract:/\/([A-Za-z]+-\d+)(?:\/|\?|$|#)/},{provider:"notion",tests:[/^https:\/\/(www\.)?notion\.so\//i]}];function J(t){for(const c of G)if(c.tests.some(e=>e.test(t)))return c.provider;return"generic"}function B(t){return{jira:"i-simple-icons-jira","github-issue":"i-simple-icons-github","github-pr":"i-simple-icons-github","gitlab-issue":"i-simple-icons-gitlab","gitlab-mr":"i-simple-icons-gitlab",bitbucket:"i-simple-icons-bitbucket",confluence:"i-simple-icons-confluence",slack:"i-simple-icons-slack",linear:"i-simple-icons-linear",notion:"i-simple-icons-notion",generic:"i-lucide-link"}[t]}const K={class:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 group hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors"},Q={key:0,class:"font-mono text-primary font-medium"},W=["title"],X=T({__name:"LinkChip",props:{link:{},removable:{type:Boolean}},emits:["remove"],setup(t,{emit:c}){const e=t,v=c,g=w(()=>e.link.title||e.link.key||e.link.url.replace(/^https?:\/\//,"").slice(0,50)),o=w(()=>B(e.link.provider));return(s,l)=>{const d=U,f=N,m=j;return r(),x("span",K,[p(d,{name:a(o),class:"w-3.5 h-3.5 shrink-0"},null,8,["name"]),t.link.key?(r(),x("span",Q,E(t.link.key),1)):b("",!0),k("span",{class:"max-w-48 truncate",title:t.link.title||t.link.url},E(a(g)),9,W),t.link.statusText?(r(),_(f,{key:1,color:t.link.statusColor||"neutral",variant:"subtle",size:"xs"},{default:y(()=>[L(E(t.link.statusText),1)]),_:1},8,["color"])):b("",!0),p(m,{to:t.link.url,target:"_blank",size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-external-link",class:"opacity-0 group-hover:opacity-100 transition-opacity -my-1"},null,8,["to"]),t.removable?(r(),_(m,{key:2,size:"xs",variant:"ghost",color:"error",icon:"i-lucide-x",class:"opacity-0 group-hover:opacity-100 transition-opacity -my-1",onClick:l[0]||(l[0]=I=>v("remove",t.link.id))})):b("",!0)])}}}),Y=Object.assign(X,{__name:"LinkChip"}),tt={class:"flex flex-wrap items-center gap-1.5"},et={class:"relative"},it={class:"flex justify-end gap-2"},st=T({__name:"EntityLinks",props:{entityType:{},entityId:{},links:{}},emits:["updated"],setup(t,{emit:c}){const e=t,v=c,{copy:g}=M(),o=h(e.links??[]),s=h(""),l=h(!1),d=h(!1),f=w(()=>{try{return s.value?J(s.value):null}catch{return null}}),m=w(()=>f.value?B(f.value):null);async function I(){const n=await $fetch("/api/links",{params:{entityType:e.entityType,entityId:e.entityId}});o.value=n.links}async function z(){if(!(!s.value||d.value)){d.value=!0;try{const n=await $fetch("/api/links",{method:"POST",body:{entityType:e.entityType,entityId:e.entityId,url:s.value}});o.value.push(n.link),s.value="",l.value=!1,v("updated")}catch(n){g(n?.data?.message||"Failed to add link",{toast:!0})}finally{d.value=!1}}}async function V(n){try{await $fetch(`/api/links/${n}`,{method:"DELETE"}),o.value=o.value.filter(i=>i.id!==n),v("updated")}catch{g("Failed to remove link",{toast:!0})}}return O(()=>[e.entityType,e.entityId],()=>{e.links?o.value=e.links:I()},{immediate:!0}),(n,i)=>{const A=Y,$=j,P=R,q=U,F=H;return r(),x("div",tt,[(r(!0),x(D,null,S(a(o),u=>(r(),_(A,{key:u.id,link:u,removable:"",onRemove:V},null,8,["link"]))),128)),p(F,{open:a(l),"onUpdate:open":i[2]||(i[2]=u=>C(l)?l.value=u:null)},{content:y(()=>[k("form",{class:"p-3 space-y-3 min-w-72",onSubmit:Z(z,["prevent"])},[i[5]||(i[5]=k("p",{class:"text-sm font-medium"},"Add link",-1)),k("div",et,[p(P,{modelValue:a(s),"onUpdate:modelValue":i[0]||(i[0]=u=>C(s)?s.value=u:null),placeholder:"https://...",size:"sm",class:"w-full",autofocus:""},null,8,["modelValue"]),a(m)?(r(),_(q,{key:0,name:a(m),class:"absolute right-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"},null,8,["name"])):b("",!0)]),k("div",it,[p($,{size:"xs",variant:"ghost",color:"neutral",onClick:i[1]||(i[1]=u=>l.value=!1)},{default:y(()=>[...i[3]||(i[3]=[L(" Cancel ",-1)])]),_:1}),p($,{size:"xs",color:"primary",type:"submit",loading:a(d),disabled:!a(s).trim()},{default:y(()=>[...i[4]||(i[4]=[L(" Add ",-1)])]),_:1},8,["loading","disabled"])])],32)]),default:y(()=>[p($,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-plus",class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",title:"Add link"})]),_:1},8,["open"])])}}}),ot=Object.assign(st,{__name:"EntityLinks"});export{ot as _};
1
+ import{d as T,o as r,c as x,j as p,k as a,p as U,t as E,v as b,i as k,f as _,g as y,m as I,_ as j,h as w,s as N,r as h,H as O,F as S,y as Z,C as D,I as R,l as C,J as H}from"./NQikbhmK.js";import{u as J}from"./Bn0YQDyy.js";const M=[{provider:"jira",tests:[/^https:\/\/([^./]+)\.atlassian\.net\/browse\//i,/^https:\/\/[^/]+\/jira\/software\/c\/projects\//i,/^https:\/\/[^/]+\/.+\/browse\//i],keyExtract:/\/([A-Z][A-Z0-9_]+-\d+)(?:\?|$|#)/i},{provider:"github-issue",tests:[/^https:\/\/github\.com\/[^/]+\/[^/]+\/issues\//i],keyExtract:/\/issues\/(\d+)/},{provider:"github-pr",tests:[/^https:\/\/github\.com\/[^/]+\/[^/]+\/pull\//i],keyExtract:/\/pull\/(\d+)/},{provider:"gitlab-issue",tests:[/^https:\/\/(gitlab\.[^/]+|[^/]+\.gitlab\.io)\/[^/]+\/[^/]+\/-\/issues\//i],keyExtract:/\/issues\/(\d+)/},{provider:"gitlab-mr",tests:[/^https:\/\/(gitlab\.[^/]+|[^/]+\.gitlab\.io)\/[^/]+\/[^/]+\/-\/merge_requests\//i],keyExtract:/\/merge_requests\/(\d+)/},{provider:"bitbucket",tests:[/^https:\/\/bitbucket\.org\/[^/]+\/[^/]+\/pull-requests\//i],keyExtract:/\/pull-requests\/(\d+)/},{provider:"confluence",tests:[/^https:\/\/([^./]+)\.atlassian\.net\/wiki\//i]},{provider:"slack",tests:[/^https:\/\/[^/]+\.slack\.com\//i]},{provider:"linear",tests:[/^https:\/\/linear\.app\//i],keyExtract:/\/([A-Za-z]+-\d+)(?:\/|\?|$|#)/},{provider:"notion",tests:[/^https:\/\/(www\.)?notion\.so\//i]}];function G(t){for(const c of M)if(c.tests.some(e=>e.test(t)))return c.provider;return"generic"}function z(t){return{jira:"i-simple-icons-jira","github-issue":"i-simple-icons-github","github-pr":"i-simple-icons-github","gitlab-issue":"i-simple-icons-gitlab","gitlab-mr":"i-simple-icons-gitlab",bitbucket:"i-simple-icons-bitbucket",confluence:"i-simple-icons-confluence",slack:"i-simple-icons-slack",linear:"i-simple-icons-linear",notion:"i-simple-icons-notion",generic:"i-lucide-link"}[t]}const K={class:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 group hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors"},Q={key:0,class:"font-mono text-primary font-medium"},W=["title"],X=T({__name:"LinkChip",props:{link:{},removable:{type:Boolean}},emits:["remove"],setup(t,{emit:c}){const e=t,v=c,g=w(()=>e.link.title||e.link.key||e.link.url.replace(/^https?:\/\//,"").slice(0,50)),o=w(()=>z(e.link.provider));return(s,l)=>{const d=U,f=N,m=j;return r(),x("span",K,[p(d,{name:a(o),class:"w-3.5 h-3.5 shrink-0"},null,8,["name"]),t.link.key?(r(),x("span",Q,E(t.link.key),1)):b("",!0),k("span",{class:"max-w-48 truncate",title:t.link.title||t.link.url},E(a(g)),9,W),t.link.statusText?(r(),_(f,{key:1,color:t.link.statusColor||"neutral",variant:"subtle",size:"xs"},{default:y(()=>[I(E(t.link.statusText),1)]),_:1},8,["color"])):b("",!0),p(m,{to:t.link.url,target:"_blank",size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-external-link",class:"opacity-0 group-hover:opacity-100 transition-opacity -my-1"},null,8,["to"]),t.removable?(r(),_(m,{key:2,size:"xs",variant:"ghost",color:"error",icon:"i-lucide-x",class:"opacity-0 group-hover:opacity-100 transition-opacity -my-1",onClick:l[0]||(l[0]=L=>v("remove",t.link.id))})):b("",!0)])}}}),Y=Object.assign(X,{__name:"LinkChip"}),tt={class:"flex flex-wrap items-center gap-1.5"},et={class:"relative"},it={class:"flex justify-end gap-2"},st=T({__name:"EntityLinks",props:{entityType:{},entityId:{},links:{}},emits:["updated"],setup(t,{emit:c}){const e=t,v=c,{copy:g}=J(),o=h(e.links??[]),s=h(""),l=h(!1),d=h(!1),f=w(()=>{try{return s.value?G(s.value):null}catch{return null}}),m=w(()=>f.value?z(f.value):null);async function L(){const n=await $fetch("/api/links",{params:{entityType:e.entityType,entityId:e.entityId}});o.value=n.links}async function B(){if(!(!s.value||d.value)){d.value=!0;try{const n=await $fetch("/api/links",{method:"POST",body:{entityType:e.entityType,entityId:e.entityId,url:s.value}});o.value.push(n.link),s.value="",l.value=!1,v("updated")}catch(n){g(n?.data?.message||"Failed to add link",{toast:!0})}finally{d.value=!1}}}async function V(n){try{await $fetch(`/api/links/${n}`,{method:"DELETE"}),o.value=o.value.filter(i=>i.id!==n),v("updated")}catch{g("Failed to remove link",{toast:!0})}}return O(()=>[e.entityType,e.entityId],()=>{e.links?o.value=e.links:L()},{immediate:!0}),(n,i)=>{const A=Y,$=j,P=R,q=U,F=H;return r(),x("div",tt,[(r(!0),x(S,null,Z(a(o),u=>(r(),_(A,{key:u.id,link:u,removable:"",onRemove:V},null,8,["link"]))),128)),p(F,{open:a(l),"onUpdate:open":i[2]||(i[2]=u=>C(l)?l.value=u:null)},{content:y(()=>[k("form",{class:"p-3 space-y-3 min-w-72",onSubmit:D(B,["prevent"])},[i[5]||(i[5]=k("p",{class:"text-sm font-medium"},"Add link",-1)),k("div",et,[p(P,{modelValue:a(s),"onUpdate:modelValue":i[0]||(i[0]=u=>C(s)?s.value=u:null),placeholder:"https://...",size:"sm",class:"w-full",autofocus:""},null,8,["modelValue"]),a(m)?(r(),_(q,{key:0,name:a(m),class:"absolute right-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"},null,8,["name"])):b("",!0)]),k("div",it,[p($,{size:"xs",variant:"ghost",color:"neutral",onClick:i[1]||(i[1]=u=>l.value=!1)},{default:y(()=>[...i[3]||(i[3]=[I(" Cancel ",-1)])]),_:1}),p($,{size:"xs",color:"primary",type:"submit",loading:a(d),disabled:!a(s).trim()},{default:y(()=>[...i[4]||(i[4]=[I(" Add ",-1)])]),_:1},8,["loading","disabled"])])],32)]),default:y(()=>[p($,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-plus",class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",title:"Add link"})]),_:1},8,["open"])])}}}),ot=Object.assign(st,{__name:"EntityLinks"});export{ot as _};
@@ -1 +1 @@
1
- import{d as n,o as s,c as o,j as c,v as r,i as l,t as i,T as d,p as m}from"./D3SYPlEB.js";const _={class:"text-sm text-red-500"},p=n({__name:"ErrorState",props:{text:{},icon:{default:"i-lucide-circle-alert"},padded:{type:Boolean,default:!0}},setup(e){return(t,u)=>{const a=r;return s(),o("div",{role:"alert",class:m(["flex flex-col items-center justify-center gap-2 text-center",e.padded&&"p-4"])},[c(a,{name:e.icon,class:"size-5 text-red-400"},null,8,["name"]),l("p",_,i(e.text),1),d(t.$slots,"action")],2)}}}),f=Object.assign(p,{__name:"ErrorState"});export{f as _};
1
+ import{d as n,o as s,c as o,j as c,p as r,i as l,t as i,V as d,q as m}from"./NQikbhmK.js";const _={class:"text-sm text-red-500"},p=n({__name:"ErrorState",props:{text:{},icon:{default:"i-lucide-circle-alert"},padded:{type:Boolean,default:!0}},setup(e){return(t,u)=>{const a=r;return s(),o("div",{role:"alert",class:m(["flex flex-col items-center justify-center gap-2 text-center",e.padded&&"p-4"])},[c(a,{name:e.icon,class:"size-5 text-red-400"},null,8,["name"]),l("p",_,i(e.text),1),d(t.$slots,"action")],2)}}}),f=Object.assign(p,{__name:"ErrorState"});export{f as _};
@@ -1 +1 @@
1
- import{_ as oe}from"./C8cz5feG.js";import{_ as se}from"./B6IHiVa1.js";import{d as ne,b as le,u as ie,a as re,w as de,B as ce,C as ue,c,k as t,f as p,g as o,F as R,j as s,aa as me,q as w,o as l,i as d,m as r,D as pe,l as E,_ as fe,v as ye,t as H,y as ge,s as ve,h as $,r as u,K as we}from"./D3SYPlEB.js";import{_ as _e}from"./Db_-yjYg.js";import{_ as ke}from"./empGC_x-.js";import{u as he}from"./Doul3p1_.js";import"./r3SBLxtE.js";import"./D3MWm6JP.js";import"./BAkJhSAW.js";import"./DoFSKAvY.js";const xe={class:"space-y-6"},be={class:"inline-flex items-center gap-1.5"},Pe={class:"flex justify-end"},Ce={class:"space-y-3"},Ve={key:0,class:"flex items-center gap-2 text-sm text-success-600 dark:text-success-400"},Ee={key:1,class:"flex items-center gap-2 text-sm text-warning-600 dark:text-warning-400"},$e={key:2,class:"text-xs text-gray-400"},Se={class:"flex justify-end"},Ae={class:"space-y-3"},Ue={class:"flex items-center gap-2 text-sm"},Be={key:1,class:"text-xs text-gray-400",title:"Set a password first to keep a way to sign in"},Fe={key:2,class:"text-xs text-gray-400"},Ne={class:"space-y-4"},Te={class:"flex justify-end"},qe={class:"text-sm text-gray-500"},Ke=ne({__name:"account",async setup(ze){let S,I;const i=le(),y=ie(),L=re(),U=we(),{data:m,refresh:A}=([S,I]=de(()=>he("/api/auth/me","$lZCnZ7VEtB")),S=await S,I(),S),g=$(()=>m.value?.user?.oauthProvider??null),O=$(()=>!!m.value?.user?.hasPassword),_=$(()=>!!g.value&&!O.value),B={google:{label:"Google",icon:"i-lucide-chrome"},github:{label:"GitHub",icon:"i-lucide-github"}},j=$(()=>U.public.demoMode?[]:(U.public.oauthProviders||[]).filter(a=>B[a])),k=u(""),F=u(!1),h=u(""),N=u(!1),T=u(!1),x=u(""),f=u(""),b=u(""),q=u(!1),z=u("");ce(()=>m.value?.user,a=>{a&&(k.value=a.name||"",h.value=a.email||"")},{immediate:!0});const M={"already-linked":"That provider account is already linked to another user.","link-requires-login":"Please sign in before connecting a provider.","domain-not-allowed":"That account’s email domain is not allowed.","org-not-allowed":"You are not a member of an allowed organization.","invalid-state":"Connecting failed (invalid state). Please try again.","access-denied":"Authorization was cancelled.","oauth-failed":"Connecting the provider failed."};ue(()=>{y.query.verified&&i.add({title:"Email verified",color:"success"}),y.query.linked&&(i.add({title:"Account connected",color:"success"}),A());const a=y.query.error;a&&i.add({title:"Could not connect account",description:M[a]||"Please try again.",color:"error"}),(y.query.linked||y.query.error||y.query.verified)&&L.replace({query:{}})});async function Y(){F.value=!0;try{await $fetch(`/api/users/${m.value?.user?.id}`,{method:"PATCH",body:{name:k.value||null}}),await A(),i.add({title:"Display name updated",color:"success"})}catch(a){i.add({title:"Failed to update display name",description:String(a?.message??a),color:"error"})}finally{F.value=!1}}async function G(){N.value=!0;try{await $fetch(`/api/users/${m.value?.user?.id}`,{method:"PATCH",body:{email:h.value||null}}),await A(),i.add({title:"Email updated",color:"success"})}catch(a){i.add({title:"Failed to update email",description:String(a?.message??a),color:"error"})}finally{N.value=!1}}async function K(){T.value=!0;try{await $fetch("/api/auth/send-verify-email",{method:"POST"}),i.add({title:"Verification email sent",description:"Check your inbox.",color:"success"})}catch(a){i.add({title:"Failed to send verification",description:String(a?.message??a),color:"error"})}finally{T.value=!1}}async function W(){if(f.value.length<8){i.add({title:"Password too short",description:"At least 8 characters required",color:"error"});return}if(f.value!==b.value){i.add({title:"Passwords do not match",color:"error"});return}q.value=!0;try{await $fetch("/api/auth/change-password",{method:"POST",body:{currentPassword:x.value,newPassword:f.value}}),x.value="",f.value="",b.value="",i.add({title:"Password changed",color:"success"})}catch(a){i.add({title:"Failed to change password",description:String(a?.message??a),color:"error"})}finally{q.value=!1}}function Z(a){window.location.href=`/api/auth/oauth/${a}/login?link=1`}async function J(a){z.value=a;try{await $fetch(`/api/auth/oauth/${a}/unlink`,{method:"POST"}),await A(),i.add({title:"Account disconnected",color:"success"})}catch(e){i.add({title:"Failed to disconnect",description:String(e?.data?.message??e?.message??e),color:"error"})}finally{z.value=""}}const Q=$(()=>U.public.authEnabled);return(a,e)=>{const X=oe,ee=se,P=pe,C=_e,v=fe,V=ke,D=ye,te=ve;return l(),c("div",xe,[t(Q)?t(m)?.user?(l(),c(R,{key:1},[s(V,{icon:"i-lucide-user",title:"Display name",help:"account.display-name"},{footer:o(()=>[d("div",Pe,[s(v,{color:"primary",loading:t(F),icon:"i-lucide-save",onClick:Y},{default:o(()=>[...e[8]||(e[8]=[r(" Save name ",-1)])]),_:1},8,["loading"])])]),default:o(()=>[s(C,{label:"Display name",name:"name"},{default:o(()=>[s(P,{modelValue:t(k),"onUpdate:modelValue":e[0]||(e[0]=n=>E(k)?k.value=n:null),placeholder:"Your display name (optional)",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),s(V,{icon:"i-lucide-mail",title:"Email address",help:"account.email"},me({default:o(()=>[d("div",Ce,[t(m).user.emailVerified?(l(),c("div",Ve,[s(D,{name:"i-lucide-circle-check-big",class:"size-4"}),e[9]||(e[9]=r(" Verified ",-1))])):t(m).user.email?(l(),c("div",Ee,[s(D,{name:"i-lucide-circle-alert",class:"size-4"}),e[11]||(e[11]=r(" Not verified ",-1)),t(_)?w("",!0):(l(),p(v,{key:0,size:"xs",variant:"soft",color:"warning",loading:t(T),onClick:K},{default:o(()=>[...e[10]||(e[10]=[r(" Send verification email ",-1)])]),_:1},8,["loading"]))])):w("",!0),s(C,{label:"Email",name:"email"},{default:o(()=>[s(P,{modelValue:t(h),"onUpdate:modelValue":e[1]||(e[1]=n=>E(h)?h.value=n:null),type:"email",placeholder:"you@example.com",disabled:t(_),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),t(_)?(l(),c("p",$e,[e[12]||(e[12]=r(" Email is managed by ",-1)),d("strong",null,H(t(g)),1),e[13]||(e[13]=r(". ",-1))])):w("",!0)])]),_:2},[t(_)?void 0:{name:"footer",fn:o(()=>[d("div",Se,[s(v,{color:"primary",loading:t(N),icon:"i-lucide-save",onClick:G},{default:o(()=>[...e[14]||(e[14]=[r(" Save email ",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1024),t(j).length>0?(l(),p(V,{key:0,icon:"i-lucide-link",title:"Connected accounts",help:"account.connected-accounts"},{default:o(()=>[d("div",Ae,[(l(!0),c(R,null,ge(t(j),n=>(l(),c("div",{key:n,class:"flex items-center justify-between gap-3 rounded-md border border-default px-3 py-2"},[d("div",Ue,[s(D,{name:B[n].icon,class:"size-5"},null,8,["name"]),d("span",null,H(B[n].label),1),t(g)===n?(l(),p(te,{key:0,color:"success",variant:"subtle",size:"sm"},{default:o(()=>[...e[15]||(e[15]=[r("Connected",-1)])]),_:1})):w("",!0)]),t(g)===n?(l(),c(R,{key:0},[t(O)?(l(),p(v,{key:0,size:"xs",color:"error",variant:"soft",icon:"i-lucide-unlink",loading:t(z)===n,onClick:ae=>J(n)},{default:o(()=>[...e[16]||(e[16]=[r(" Disconnect ",-1)])]),_:1},8,["loading","onClick"])):(l(),c("span",Be," Set a password to disconnect "))],64)):t(g)?(l(),c("span",Fe,"Another provider is connected")):(l(),p(v,{key:1,size:"xs",variant:"outline",color:"neutral",icon:"i-lucide-plus",onClick:ae=>Z(n)},{default:o(()=>[...e[17]||(e[17]=[r(" Connect ",-1)])]),_:1},8,["onClick"]))]))),128)),e[18]||(e[18]=d("p",{class:"text-xs text-gray-400"},"One provider can be connected per account.",-1))])]),_:1})):w("",!0),t(_)?(l(),p(V,{key:2,icon:"i-lucide-lock",title:"Password"},{default:o(()=>[d("p",qe,[e[20]||(e[20]=r(" Your account is managed by ",-1)),d("strong",null,H(t(g)),1),e[21]||(e[21]=r(". Password management is handled by that provider. ",-1))])]),_:1})):(l(),p(V,{key:1,icon:"i-lucide-lock",title:"Change password",help:"account.password"},{footer:o(()=>[d("div",Te,[s(v,{color:"primary",loading:t(q),icon:"i-lucide-key-round",onClick:W},{default:o(()=>[...e[19]||(e[19]=[r(" Change password ",-1)])]),_:1},8,["loading"])])]),default:o(()=>[d("div",Ne,[s(C,{label:"Current password",name:"currentPassword"},{default:o(()=>[s(P,{modelValue:t(x),"onUpdate:modelValue":e[2]||(e[2]=n=>E(x)?x.value=n:null),type:"password",placeholder:"Current password",autocomplete:"current-password",class:"w-full"},null,8,["modelValue"])]),_:1}),s(C,{label:"New password",name:"newPassword",description:"Minimum 8 characters"},{default:o(()=>[s(P,{modelValue:t(f),"onUpdate:modelValue":e[3]||(e[3]=n=>E(f)?f.value=n:null),type:"password",placeholder:"New password",autocomplete:"new-password",class:"w-full"},null,8,["modelValue"])]),_:1}),s(C,{label:"Confirm new password",name:"confirmPassword"},{default:o(()=>[s(P,{modelValue:t(b),"onUpdate:modelValue":e[4]||(e[4]=n=>E(b)?b.value=n:null),type:"password",placeholder:"Repeat new password",autocomplete:"new-password",class:"w-full"},null,8,["modelValue"])]),_:1})])]),_:1}))],64)):w("",!0):(l(),p(ee,{key:0,color:"warning",icon:"i-lucide-lock-open",title:"Authentication disabled",description:"Enable PIWI_AUTH_ENABLED=true to manage your account."},{description:o(()=>[d("span",be,[e[5]||(e[5]=r(" Enable ",-1)),e[6]||(e[6]=d("code",{class:"font-mono text-xs"},"PIWI_AUTH_ENABLED=true",-1)),e[7]||(e[7]=r(" to manage your account. ",-1)),s(X,{topic:"settings.auth-toggle"})])]),_:1}))])}}});export{Ke as default};
1
+ import{_ as oe}from"./C7P1UCO2.js";import{_ as se}from"./D0HNloZ9.js";import{d as ne,b as le,u as ie,a as re,w as de,H as ce,B as ue,c,k as t,f as p,g as o,F as I,j as s,ac as me,v as w,o as l,i as d,m as r,I as pe,l as E,_ as fe,p as ye,t as R,y as ge,s as ve,h as $,r as u,A as we}from"./NQikbhmK.js";import{_ as _e}from"./B9WhzpKO.js";import{_ as ke}from"./DprVVyUQ.js";import{u as he}from"./CpjgB2aY.js";import"./BjaRappk.js";import"./Bn0YQDyy.js";import"./CYsTqbBS.js";import"./eptP4pGv.js";const xe={class:"space-y-6"},be={class:"inline-flex items-center gap-1.5"},Pe={class:"flex justify-end"},Ce={class:"space-y-3"},Ve={key:0,class:"flex items-center gap-2 text-sm text-success-600 dark:text-success-400"},Ee={key:1,class:"flex items-center gap-2 text-sm text-warning-600 dark:text-warning-400"},$e={key:2,class:"text-xs text-gray-400"},Se={class:"flex justify-end"},Ae={class:"space-y-3"},Ue={class:"flex items-center gap-2 text-sm"},Be={key:1,class:"text-xs text-gray-400",title:"Set a password first to keep a way to sign in"},Fe={key:2,class:"text-xs text-gray-400"},Ne={class:"space-y-4"},Te={class:"flex justify-end"},qe={class:"text-sm text-gray-500"},We=ne({__name:"account",async setup(ze){let S,D;const i=le(),y=ie(),L=re(),U=we(),{data:m,refresh:A}=([S,D]=de(()=>he("/api/auth/me","$lZCnZ7VEtB")),S=await S,D(),S),g=$(()=>m.value?.user?.oauthProvider??null),O=$(()=>!!m.value?.user?.hasPassword),_=$(()=>!!g.value&&!O.value),B={google:{label:"Google",icon:"i-lucide-chrome"},github:{label:"GitHub",icon:"i-lucide-github"}},j=$(()=>U.public.demoMode?[]:(U.public.oauthProviders||[]).filter(a=>B[a])),k=u(""),F=u(!1),h=u(""),N=u(!1),T=u(!1),x=u(""),f=u(""),b=u(""),q=u(!1),z=u("");ce(()=>m.value?.user,a=>{a&&(k.value=a.name||"",h.value=a.email||"")},{immediate:!0});const M={"already-linked":"That provider account is already linked to another user.","link-requires-login":"Please sign in before connecting a provider.","domain-not-allowed":"That account’s email domain is not allowed.","org-not-allowed":"You are not a member of an allowed organization.","invalid-state":"Connecting failed (invalid state). Please try again.","access-denied":"Authorization was cancelled.","oauth-failed":"Connecting the provider failed."};ue(()=>{y.query.verified&&i.add({title:"Email verified",color:"success"}),y.query.linked&&(i.add({title:"Account connected",color:"success"}),A());const a=y.query.error;a&&i.add({title:"Could not connect account",description:M[a]||"Please try again.",color:"error"}),(y.query.linked||y.query.error||y.query.verified)&&L.replace({query:{}})});async function Y(){F.value=!0;try{await $fetch(`/api/users/${m.value?.user?.id}`,{method:"PATCH",body:{name:k.value||null}}),await A(),i.add({title:"Display name updated",color:"success"})}catch(a){i.add({title:"Failed to update display name",description:String(a?.message??a),color:"error"})}finally{F.value=!1}}async function G(){N.value=!0;try{await $fetch(`/api/users/${m.value?.user?.id}`,{method:"PATCH",body:{email:h.value||null}}),await A(),i.add({title:"Email updated",color:"success"})}catch(a){i.add({title:"Failed to update email",description:String(a?.message??a),color:"error"})}finally{N.value=!1}}async function W(){T.value=!0;try{await $fetch("/api/auth/send-verify-email",{method:"POST"}),i.add({title:"Verification email sent",description:"Check your inbox.",color:"success"})}catch(a){i.add({title:"Failed to send verification",description:String(a?.message??a),color:"error"})}finally{T.value=!1}}async function Z(){if(f.value.length<8){i.add({title:"Password too short",description:"At least 8 characters required",color:"error"});return}if(f.value!==b.value){i.add({title:"Passwords do not match",color:"error"});return}q.value=!0;try{await $fetch("/api/auth/change-password",{method:"POST",body:{currentPassword:x.value,newPassword:f.value}}),x.value="",f.value="",b.value="",i.add({title:"Password changed",color:"success"})}catch(a){i.add({title:"Failed to change password",description:String(a?.message??a),color:"error"})}finally{q.value=!1}}function K(a){window.location.href=`/api/auth/oauth/${a}/login?link=1`}async function J(a){z.value=a;try{await $fetch(`/api/auth/oauth/${a}/unlink`,{method:"POST"}),await A(),i.add({title:"Account disconnected",color:"success"})}catch(e){i.add({title:"Failed to disconnect",description:String(e?.data?.message??e?.message??e),color:"error"})}finally{z.value=""}}const Q=$(()=>U.public.authEnabled);return(a,e)=>{const X=oe,ee=se,P=pe,C=_e,v=fe,V=ke,H=ye,te=ve;return l(),c("div",xe,[t(Q)?t(m)?.user?(l(),c(I,{key:1},[s(V,{icon:"i-lucide-user",title:"Display name",help:"account.display-name"},{footer:o(()=>[d("div",Pe,[s(v,{color:"primary",loading:t(F),icon:"i-lucide-save",onClick:Y},{default:o(()=>[...e[8]||(e[8]=[r(" Save name ",-1)])]),_:1},8,["loading"])])]),default:o(()=>[s(C,{label:"Display name",name:"name"},{default:o(()=>[s(P,{modelValue:t(k),"onUpdate:modelValue":e[0]||(e[0]=n=>E(k)?k.value=n:null),placeholder:"Your display name (optional)",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),s(V,{icon:"i-lucide-mail",title:"Email address",help:"account.email"},me({default:o(()=>[d("div",Ce,[t(m).user.emailVerified?(l(),c("div",Ve,[s(H,{name:"i-lucide-circle-check-big",class:"size-4"}),e[9]||(e[9]=r(" Verified ",-1))])):t(m).user.email?(l(),c("div",Ee,[s(H,{name:"i-lucide-circle-alert",class:"size-4"}),e[11]||(e[11]=r(" Not verified ",-1)),t(_)?w("",!0):(l(),p(v,{key:0,size:"xs",variant:"soft",color:"warning",loading:t(T),onClick:W},{default:o(()=>[...e[10]||(e[10]=[r(" Send verification email ",-1)])]),_:1},8,["loading"]))])):w("",!0),s(C,{label:"Email",name:"email"},{default:o(()=>[s(P,{modelValue:t(h),"onUpdate:modelValue":e[1]||(e[1]=n=>E(h)?h.value=n:null),type:"email",placeholder:"you@example.com",disabled:t(_),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),t(_)?(l(),c("p",$e,[e[12]||(e[12]=r(" Email is managed by ",-1)),d("strong",null,R(t(g)),1),e[13]||(e[13]=r(". ",-1))])):w("",!0)])]),_:2},[t(_)?void 0:{name:"footer",fn:o(()=>[d("div",Se,[s(v,{color:"primary",loading:t(N),icon:"i-lucide-save",onClick:G},{default:o(()=>[...e[14]||(e[14]=[r(" Save email ",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1024),t(j).length>0?(l(),p(V,{key:0,icon:"i-lucide-link",title:"Connected accounts",help:"account.connected-accounts"},{default:o(()=>[d("div",Ae,[(l(!0),c(I,null,ge(t(j),n=>(l(),c("div",{key:n,class:"flex items-center justify-between gap-3 rounded-md border border-default px-3 py-2"},[d("div",Ue,[s(H,{name:B[n].icon,class:"size-5"},null,8,["name"]),d("span",null,R(B[n].label),1),t(g)===n?(l(),p(te,{key:0,color:"success",variant:"subtle",size:"sm"},{default:o(()=>[...e[15]||(e[15]=[r("Connected",-1)])]),_:1})):w("",!0)]),t(g)===n?(l(),c(I,{key:0},[t(O)?(l(),p(v,{key:0,size:"xs",color:"error",variant:"soft",icon:"i-lucide-unlink",loading:t(z)===n,onClick:ae=>J(n)},{default:o(()=>[...e[16]||(e[16]=[r(" Disconnect ",-1)])]),_:1},8,["loading","onClick"])):(l(),c("span",Be," Set a password to disconnect "))],64)):t(g)?(l(),c("span",Fe,"Another provider is connected")):(l(),p(v,{key:1,size:"xs",variant:"outline",color:"neutral",icon:"i-lucide-plus",onClick:ae=>K(n)},{default:o(()=>[...e[17]||(e[17]=[r(" Connect ",-1)])]),_:1},8,["onClick"]))]))),128)),e[18]||(e[18]=d("p",{class:"text-xs text-gray-400"},"One provider can be connected per account.",-1))])]),_:1})):w("",!0),t(_)?(l(),p(V,{key:2,icon:"i-lucide-lock",title:"Password"},{default:o(()=>[d("p",qe,[e[20]||(e[20]=r(" Your account is managed by ",-1)),d("strong",null,R(t(g)),1),e[21]||(e[21]=r(". Password management is handled by that provider. ",-1))])]),_:1})):(l(),p(V,{key:1,icon:"i-lucide-lock",title:"Change password",help:"account.password"},{footer:o(()=>[d("div",Te,[s(v,{color:"primary",loading:t(q),icon:"i-lucide-key-round",onClick:Z},{default:o(()=>[...e[19]||(e[19]=[r(" Change password ",-1)])]),_:1},8,["loading"])])]),default:o(()=>[d("div",Ne,[s(C,{label:"Current password",name:"currentPassword"},{default:o(()=>[s(P,{modelValue:t(x),"onUpdate:modelValue":e[2]||(e[2]=n=>E(x)?x.value=n:null),type:"password",placeholder:"Current password",autocomplete:"current-password",class:"w-full"},null,8,["modelValue"])]),_:1}),s(C,{label:"New password",name:"newPassword",description:"Minimum 8 characters"},{default:o(()=>[s(P,{modelValue:t(f),"onUpdate:modelValue":e[3]||(e[3]=n=>E(f)?f.value=n:null),type:"password",placeholder:"New password",autocomplete:"new-password",class:"w-full"},null,8,["modelValue"])]),_:1}),s(C,{label:"Confirm new password",name:"confirmPassword"},{default:o(()=>[s(P,{modelValue:t(b),"onUpdate:modelValue":e[4]||(e[4]=n=>E(b)?b.value=n:null),type:"password",placeholder:"Repeat new password",autocomplete:"new-password",class:"w-full"},null,8,["modelValue"])]),_:1})])]),_:1}))],64)):w("",!0):(l(),p(ee,{key:0,color:"warning",icon:"i-lucide-lock-open",title:"Authentication disabled",description:"Enable PIWI_AUTH_ENABLED=true to manage your account."},{description:o(()=>[d("span",be,[e[5]||(e[5]=r(" Enable ",-1)),e[6]||(e[6]=d("code",{class:"font-mono text-xs"},"PIWI_AUTH_ENABLED=true",-1)),e[7]||(e[7]=r(" to manage your account. ",-1)),s(X,{topic:"settings.auth-toggle"})])]),_:1}))])}}});export{We as default};
@@ -1,4 +1,4 @@
1
1
  {
2
- "hash": "db0efe94553823803304c4cec77ee87ad040a6e69c46734206f4944fb01579af",
3
- "generatedAt": "2026-07-21T11:02:41.414Z"
2
+ "hash": "0c8b1ec752a435bba8e14805bd6ed1f6520bc04888425102a28a60f223c88845",
3
+ "generatedAt": "2026-07-26T10:10:56.324Z"
4
4
  }
@@ -0,0 +1,38 @@
1
+ const RULE = "=".repeat(72);
2
+ function section(title, body) {
3
+ return `${RULE}
4
+ ${title}
5
+ ${RULE}
6
+
7
+ ${body.trim()}
8
+ `;
9
+ }
10
+ function buildPromptPreview(input) {
11
+ const parts = [];
12
+ const header = [
13
+ "Piwi \u2014 AI diagnosis request preview",
14
+ input.model ? `Model: ${input.model}` : null,
15
+ // Both are assembled at diagnosis time and cannot be known in advance, so
16
+ // say so rather than letting the preview imply it is byte-exact.
17
+ "Not included: any additional context you type when starting a diagnosis, and",
18
+ "the research block, which a two-stage pipeline generates from a live model call."
19
+ ].filter(Boolean).join("\n");
20
+ parts.push(section("REQUEST", header));
21
+ parts.push(section("SYSTEM", input.system || "(none)"));
22
+ parts.push(section("USER", input.user || "(none)"));
23
+ if (input.imageCount) {
24
+ parts.push(
25
+ section(
26
+ "IMAGES",
27
+ `${input.imageCount} screenshot${input.imageCount === 1 ? "" : "s"} attached as image parts, downscaled before sending.`
28
+ )
29
+ );
30
+ }
31
+ if (input.jsonSchema) {
32
+ parts.push(section("RESPONSE FORMAT (JSON SCHEMA)", JSON.stringify(input.jsonSchema, null, 2)));
33
+ }
34
+ return parts.join("\n");
35
+ }
36
+
37
+ export { buildPromptPreview as b };
38
+ //# sourceMappingURL=ai-prompt-preview.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-prompt-preview.mjs","sources":["../../../../shared/ai-prompt-preview.ts"],"names":[],"mappings":"AAsBA,MAAM,IAAA,GAAO,GAAA,CAAI,MAAA,CAAO,EAAE,CAAA;AAE1B,SAAS,OAAA,CAAQ,OAAe,IAAA,EAAsB;AACpD,EAAA,OAAO,GAAG,IAAI;AAAA,EAAK,KAAK;AAAA,EAAK,IAAI;;AAAA,EAAO,IAAA,CAAK,MAAM;AAAA,CAAA;AACrD;AAEO,SAAS,mBAAmB,KAAA,EAAmC;AACpE,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,MAAM,MAAA,GAAS;AAAA,IACb,0CAAA;AAAA,IACA,KAAA,CAAM,KAAA,GAAQ,CAAA,OAAA,EAAU,KAAA,CAAM,KAAK,CAAA,CAAA,GAAK,IAAA;AAAA;AAAA;AAAA,IAGxC,8EAAA;AAAA,IACA;AAAA,GACF,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,IAAI,CAAA;AACZ,EAAA,KAAA,CAAM,IAAA,CAAK,OAAA,CAAQ,SAAA,EAAW,MAAM,CAAC,CAAA;AAErC,EAAA,KAAA,CAAM,KAAK,OAAA,CAAQ,QAAA,EAAU,KAAA,CAAM,MAAA,IAAU,QAAQ,CAAC,CAAA;AACtD,EAAA,KAAA,CAAM,KAAK,OAAA,CAAQ,MAAA,EAAQ,KAAA,CAAM,IAAA,IAAQ,QAAQ,CAAC,CAAA;AAElD,EAAA,IAAI,MAAM,UAAA,EAAY;AACpB,IAAA,KAAA,CAAM,IAAA;AAAA,MACJ,OAAA;AAAA,QACE,QAAA;AAAA,QACA,CAAA,EAAG,MAAM,UAAU,CAAA,WAAA,EAAc,MAAM,UAAA,KAAe,CAAA,GAAI,KAAK,GAAG,CAAA,oDAAA;AAAA;AACpE,KACF;AAAA,EACF;AAEA,EAAA,IAAI,MAAM,UAAA,EAAY;AACpB,IAAA,KAAA,CAAM,IAAA,CAAK,OAAA,CAAQ,+BAAA,EAAiC,IAAA,CAAK,SAAA,CAAU,MAAM,UAAA,EAAY,IAAA,EAAM,CAAC,CAAC,CAAC,CAAA;AAAA,EAChG;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,IAAI,CAAA;AACxB;;;;"}
@@ -0,0 +1,122 @@
1
+ import { a9 as getFailureCluster, ap as getClusterDiagnosis, av as getTestRunCase, aw as getTestRunCaseTraces, ax as getExecutionDiagnosis, ay as classifyEvidenceFile, az as contentTypeForPath } from '../nitro/nitro.mjs';
2
+
3
+ function caseSlug(title, executionId) {
4
+ const base = title.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60);
5
+ return `${base || "case"}-${executionId}`;
6
+ }
7
+ function assetsForCase(detail, traces, slug) {
8
+ var _a, _b, _c, _d, _e;
9
+ const assets = [];
10
+ for (const att of (_a = detail.attachments) != null ? _a : []) {
11
+ if (!(att == null ? void 0 : att.path)) continue;
12
+ const kind = classifyEvidenceFile({
13
+ type: "attachment",
14
+ subtype: (_b = att.name) != null ? _b : null,
15
+ label: (_c = att.contentType) != null ? _c : null,
16
+ path: att.path
17
+ });
18
+ const name = String(att.name || att.path.split("/").pop() || "attachment");
19
+ assets.push({
20
+ storagePath: att.path,
21
+ zipPath: `evidence/${slug}/${kind === "attachment" ? "attachments" : `${kind}s`}/${fileNameOf(att.path, name)}`,
22
+ kind,
23
+ name,
24
+ contentType: contentTypeForPath(att.path, att.contentType),
25
+ size: (_d = att.size) != null ? _d : null
26
+ });
27
+ }
28
+ for (const trace of traces) {
29
+ if (!(trace == null ? void 0 : trace.filePath)) continue;
30
+ assets.push({
31
+ storagePath: trace.filePath,
32
+ zipPath: `evidence/${slug}/traces/${fileNameOf(trace.filePath, "trace.zip")}`,
33
+ kind: "trace",
34
+ name: fileNameOf(trace.filePath, "trace.zip"),
35
+ contentType: "application/zip",
36
+ size: (_e = trace.size) != null ? _e : null
37
+ });
38
+ }
39
+ return { assets };
40
+ }
41
+ function fileNameOf(storagePath, fallback) {
42
+ const raw = storagePath.split("/").pop() || fallback;
43
+ return raw.replace(/[^a-zA-Z0-9._-]/g, "_");
44
+ }
45
+ async function collectCase(db, executionId) {
46
+ var _a, _b, _c, _d, _e;
47
+ const detail = await getTestRunCase(db, executionId);
48
+ if (!detail) return null;
49
+ const [traces, diagnosis] = await Promise.all([
50
+ getTestRunCaseTraces(db, executionId),
51
+ getExecutionDiagnosis(db, executionId).catch(() => null)
52
+ ]);
53
+ const title = String((_a = detail.title) != null ? _a : `Execution ${executionId}`);
54
+ const slug = caseSlug(title, executionId);
55
+ const { assets } = assetsForCase(detail, traces, slug);
56
+ return {
57
+ executionId,
58
+ testCaseId: (_b = detail.testCaseId) != null ? _b : null,
59
+ title,
60
+ filePath: (_c = detail.filePath) != null ? _c : null,
61
+ location: (_d = detail.location) != null ? _d : null,
62
+ status: String((_e = detail.status) != null ? _e : "unknown"),
63
+ slug,
64
+ detail,
65
+ traces,
66
+ diagnosis: diagnosis != null ? diagnosis : null,
67
+ assets
68
+ };
69
+ }
70
+ async function collectExecutionBundle(db, executionId, opts) {
71
+ var _a, _b, _c, _d, _e;
72
+ const exportCase = await collectCase(db, executionId);
73
+ if (!exportCase) return null;
74
+ const project = (_b = (_a = exportCase.detail.testRun) == null ? void 0 : _a.project) != null ? _b : null;
75
+ return {
76
+ kind: "execution",
77
+ generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
78
+ piwiVersion: (_c = opts.piwiVersion) != null ? _c : null,
79
+ sourceUrl: (_d = opts.sourceUrl) != null ? _d : null,
80
+ title: exportCase.title,
81
+ project: project ? { id: project.id, name: project.name, label: (_e = project.label) != null ? _e : null } : null,
82
+ cluster: null,
83
+ cases: [exportCase],
84
+ truncatedCases: [],
85
+ omitted: []
86
+ };
87
+ }
88
+ async function collectClusterBundle(db, clusterId, opts) {
89
+ var _a, _b, _c, _d, _e;
90
+ const cluster = await getFailureCluster(db, clusterId);
91
+ if (!cluster) return null;
92
+ const { diagnosis } = await getClusterDiagnosis(db, clusterId);
93
+ const members = (_a = cluster.affectedTestCases) != null ? _a : [];
94
+ const expanded = members.slice(0, Math.max(1, opts.maxCases));
95
+ const truncated = members.slice(expanded.length);
96
+ const collected = await Promise.all(
97
+ expanded.filter((m) => m.recentTestRunsCaseId != null).map((m) => collectCase(db, Number(m.recentTestRunsCaseId)))
98
+ );
99
+ const cases = collected.filter((c) => c !== null);
100
+ return {
101
+ kind: "cluster",
102
+ generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
103
+ piwiVersion: (_b = opts.piwiVersion) != null ? _b : null,
104
+ sourceUrl: (_c = opts.sourceUrl) != null ? _c : null,
105
+ title: String(cluster.title || cluster.signature || `Failure cluster ${clusterId}`),
106
+ project: cluster.project ? { id: cluster.project.id, name: cluster.project.name, label: (_d = cluster.project.label) != null ? _d : null } : null,
107
+ cluster: { ...cluster, diagnosis: (_e = diagnosis != null ? diagnosis : cluster.diagnosis) != null ? _e : null },
108
+ cases,
109
+ truncatedCases: truncated.map((m) => {
110
+ var _a2, _b2;
111
+ return {
112
+ testCaseId: Number(m.testCaseId),
113
+ title: String((_a2 = m.title) != null ? _a2 : ""),
114
+ filePath: (_b2 = m.filePath) != null ? _b2 : null
115
+ };
116
+ }),
117
+ omitted: []
118
+ };
119
+ }
120
+
121
+ export { collectExecutionBundle as a, collectClusterBundle as c };
122
+ //# sourceMappingURL=collect.mjs.map