@piwitests/server 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{DqnyWaSQ.js → -9tk1FrT.js} +1 -1
  3. package/.output/public/_nuxt/26ll_vBr.js +1 -0
  4. package/.output/public/_nuxt/{BR9H8k-L.js → 3QTorEhJ.js} +1 -1
  5. package/.output/public/_nuxt/{CgoAUz76.js → 3QTvYrZp.js} +1 -1
  6. package/.output/public/_nuxt/{l0gdGdar.js → 73aPL7Ir.js} +1 -1
  7. package/.output/public/_nuxt/{N3pCB6-m.js → 8jZmK2De.js} +1 -1
  8. package/.output/public/_nuxt/{B33X4zrC.js → 8xyZSRSO.js} +1 -1
  9. package/.output/public/_nuxt/{B3NbDoBP.js → 99tAfVF5.js} +1 -1
  10. package/.output/public/_nuxt/{ze9-Ill2.js → B1CUXGbl.js} +1 -1
  11. package/.output/public/_nuxt/{CQeMb57w.js → B6hPf4UR.js} +1 -1
  12. package/.output/public/_nuxt/{DL20rwkA.js → B6w76fJT.js} +1 -1
  13. package/.output/public/_nuxt/{Bvfmwzgw.js → BDcIWTTq.js} +1 -1
  14. package/.output/public/_nuxt/{DgYM3eyi.js → BE8ykmwr.js} +1 -1
  15. package/.output/public/_nuxt/{BY4oA2IH.js → BEsJE07U.js} +1 -1
  16. package/.output/public/_nuxt/{oNq5pd3r.js → BGZQONfm.js} +1 -1
  17. package/.output/public/_nuxt/{BZekCf_x.js → BRdhP5lm.js} +1 -1
  18. package/.output/public/_nuxt/{Br2K9yi_.js → BU6xjw05.js} +1 -1
  19. package/.output/public/_nuxt/{DjZKuUMz.js → BWFY2RuU.js} +1 -1
  20. package/.output/public/_nuxt/{CCRRqXez.js → B_QIrc7l.js} +1 -1
  21. package/.output/public/_nuxt/{BQrSEuzu.js → Ba4_ydKG.js} +1 -1
  22. package/.output/public/_nuxt/{Dz55UR7w.js → BcLXUmKT.js} +1 -1
  23. package/.output/public/_nuxt/{nCjfWTGm.js → BciovqwK.js} +1 -1
  24. package/.output/public/_nuxt/{JCFZINev.js → BgDEjrcz.js} +1 -1
  25. package/.output/public/_nuxt/{DCpmQ47_.js → BoRJdCd4.js} +1 -1
  26. package/.output/public/_nuxt/{C8RBRg7I.js → Bpha13F_.js} +1 -1
  27. package/.output/public/_nuxt/{BdFEUAlx.js → Bq0PQfQY.js} +1 -1
  28. package/.output/public/_nuxt/{BPKwYP2Q.js → BrT_Sys2.js} +2 -2
  29. package/.output/public/_nuxt/{CTdvGdc2.js → Bua_L6p4.js} +1 -1
  30. package/.output/public/_nuxt/{BIksQZfR.js → BwKwWgQe.js} +1 -1
  31. package/.output/public/_nuxt/{d5ZB3uxF.js → BxRsAYRS.js} +1 -1
  32. package/.output/public/_nuxt/{mGJLLqyN.js → ByoIgYX_.js} +1 -1
  33. package/.output/public/_nuxt/{CSYJwpXG.js → C7nwFokE.js} +1 -1
  34. package/.output/public/_nuxt/CEuVRSr0.js +3 -0
  35. package/.output/public/_nuxt/{2xvsvjLO.js → CHHqhAsw.js} +1 -1
  36. package/.output/public/_nuxt/{DhA17dqR.js → CHIbdzqp.js} +1 -1
  37. package/.output/public/_nuxt/{IFqRT_xJ.js → CMB-NkFa.js} +1 -1
  38. package/.output/public/_nuxt/{mfzslNx_.js → CNULGfLp.js} +1 -1
  39. package/.output/public/_nuxt/{CKB_doYB.js → COVRAesU.js} +1 -1
  40. package/.output/public/_nuxt/{Bzl2H_vl.js → CSAmL8XJ.js} +1 -1
  41. package/.output/public/_nuxt/{bAfTAihV.js → CWmQcueG.js} +1 -1
  42. package/.output/public/_nuxt/{BBdfPriC.js → CYuWAvXE.js} +1 -1
  43. package/.output/public/_nuxt/CbuWynGG.js +1 -0
  44. package/.output/public/_nuxt/{e1zUTrBb.js → Ce3tBrN7.js} +1 -1
  45. package/.output/public/_nuxt/{BGYbnqA7.js → Cf4h8qty.js} +1 -1
  46. package/.output/public/_nuxt/{Kc7La4sL.js → Cl96oI21.js} +1 -1
  47. package/.output/public/_nuxt/{DdbrJwT-.js → ClJkng9p.js} +1 -1
  48. package/.output/public/_nuxt/{B7yG1G_l.js → CoKEjZX7.js} +1 -1
  49. package/.output/public/_nuxt/CvtYJHkY.js +1 -0
  50. package/.output/public/_nuxt/{DszOHBMG.js → CxLN5Tmq.js} +1 -1
  51. package/.output/public/_nuxt/{B3sNtVnf.js → Cz2HhsB6.js} +1 -1
  52. package/.output/public/_nuxt/{C38aZbFJ.js → D0-HTQTD.js} +1 -1
  53. package/.output/public/_nuxt/{D2jhe9JK.js → D13ybpY3.js} +1 -1
  54. package/.output/public/_nuxt/{k-z_VVTK.js → D7P0ML0H.js} +1 -1
  55. package/.output/public/_nuxt/{BV83yObd.js → D811X8KM.js} +1 -1
  56. package/.output/public/_nuxt/DATh_1DQ.js +1 -0
  57. package/.output/public/_nuxt/{1AB111xL.js → DAeYmPfX.js} +1 -1
  58. package/.output/public/_nuxt/DCffDvxl.js +1 -0
  59. package/.output/public/_nuxt/DDPptydi.js +2 -0
  60. package/.output/public/_nuxt/{BpNqHxg2.js → DFM2jv9I.js} +1 -1
  61. package/.output/public/_nuxt/{BuZOa2M3.js → DJHNEqb7.js} +1 -1
  62. package/.output/public/_nuxt/{CMYQpoOI.js → DPSOtRoz.js} +1 -1
  63. package/.output/public/_nuxt/{BkDfdHFm.js → DRTxhZBV.js} +1 -1
  64. package/.output/public/_nuxt/{B2lYFco4.js → DS9yGVFL.js} +1 -1
  65. package/.output/public/_nuxt/{DfcAIbcX.js → DT5rhzhJ.js} +1 -1
  66. package/.output/public/_nuxt/{BpceIssd.js → DTH2lteW.js} +1 -1
  67. package/.output/public/_nuxt/DUe6xuKQ.js +1 -0
  68. package/.output/public/_nuxt/{DcCNnjKl.js → D_A6axXa.js} +1 -1
  69. package/.output/public/_nuxt/D_TbJDHY.js +1 -0
  70. package/.output/public/_nuxt/{DIkLLyR6.js → Df3QtbpW.js} +1 -1
  71. package/.output/public/_nuxt/{Dzz9_Z0u.js → DjRhouSr.js} +1 -1
  72. package/.output/public/_nuxt/{CuYYdFBL.js → Dn6cGVYB.js} +1 -1
  73. package/.output/public/_nuxt/{CoHGrO41.js → DpJrGwCr.js} +2 -2
  74. package/.output/public/_nuxt/DqsMiUoW.js +2 -0
  75. package/.output/public/_nuxt/{D33On6AX.js → Ds2Y3oms.js} +1 -1
  76. package/.output/public/_nuxt/Ds4Lb1vi.js +7 -0
  77. package/.output/public/_nuxt/{DuMv-ugy.js → DtXREpk_.js} +1 -1
  78. package/.output/public/_nuxt/{BRKa6EQR.js → DvC5Adg1.js} +1 -1
  79. package/.output/public/_nuxt/{BVW5qIDP.js → DvXvJzFP.js} +1 -1
  80. package/.output/public/_nuxt/{BIf1R_fu.js → Dvc1aWpA.js} +1 -1
  81. package/.output/public/_nuxt/{-KQO1A4C.js → DwZiG9xH.js} +1 -1
  82. package/.output/public/_nuxt/Dx1oCMgy.js +47 -0
  83. package/.output/public/_nuxt/{CpO-ABDW.js → DxQq_L07.js} +1 -1
  84. package/.output/public/_nuxt/{BoRFLTAO.js → Dym66h3p.js} +1 -1
  85. package/.output/public/_nuxt/{ABGJk0pu.js → Dz3Wbekz.js} +1 -1
  86. package/.output/public/_nuxt/{qzAP_nm7.js → HCK35QD8.js} +1 -1
  87. package/.output/public/_nuxt/{DuBBqqbF.js → L6HlmmEa.js} +1 -1
  88. package/.output/public/_nuxt/{BS0gKVuF.js → PxPbRVF-.js} +1 -1
  89. package/.output/public/_nuxt/{DbeHHTk-.js → QFMx1VKs.js} +1 -1
  90. package/.output/public/_nuxt/{C3r_Sv1p.js → Sgf5OLhm.js} +1 -1
  91. package/.output/public/_nuxt/US3YSX4T.js +1 -0
  92. package/.output/public/_nuxt/{xUrLy-Zn.js → Wfk1m0ni.js} +1 -1
  93. package/.output/public/_nuxt/builds/latest.json +1 -1
  94. package/.output/public/_nuxt/builds/meta/05a2dd95-d1c1-4e3a-8625-ac6bfea83837.json +1 -0
  95. package/.output/public/_nuxt/{B43OGXzV.js → cBj9fai9.js} +1 -1
  96. package/.output/public/_nuxt/{BpIsBP5g.js → csqspBeX.js} +1 -1
  97. package/.output/public/_nuxt/entry.BaIGwMjT.css +1 -0
  98. package/.output/public/_nuxt/{CJFqA_QW.js → jlBi8Byu.js} +1 -1
  99. package/.output/public/_nuxt/{D4VpoHDP.js → lCkcEykv.js} +1 -1
  100. package/.output/public/_nuxt/{DOuoR2Pk.js → qYFZH4Z8.js} +1 -1
  101. package/.output/public/_nuxt/{uKeO2H7F.js → r9WApUfF.js} +1 -1
  102. package/.output/public/_nuxt/{DRtTLQri.js → rw7Hdll3.js} +1 -1
  103. package/.output/public/_nuxt/{C1K3r_fc.js → sMFaPAAR.js} +1 -1
  104. package/.output/public/_nuxt/{DAWn6Z7h.js → vzXhOO8R.js} +1 -1
  105. package/.output/public/_nuxt/{DJS3Bf50.js → yZ4LuI9d.js} +1 -1
  106. package/.output/public/_nuxt/{iwD5atI2.js → z7PmsnBG.js} +1 -1
  107. package/.output/public/_nuxt/{Bb64FEFL.js → za5M7BGh.js} +1 -1
  108. package/.output/public/sw.js +1 -1
  109. package/.output/server/chunks/build/{Checkbox-7ZiMz60w.mjs → Checkbox-cVOSIY93.mjs} +2 -2
  110. package/.output/server/chunks/build/Checkbox-cVOSIY93.mjs.map +1 -0
  111. package/.output/server/chunks/build/{CiEnvCard-DNxBVvx4.mjs → CiEnvCard-DXPOhdSG.mjs} +2 -2
  112. package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs.map +1 -0
  113. package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs +102 -0
  114. package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs.map +1 -0
  115. package/.output/server/chunks/build/DesktopMcpCard-B4JuUTKj.mjs +122 -0
  116. package/.output/server/chunks/build/DesktopMcpCard-B4JuUTKj.mjs.map +1 -0
  117. package/.output/server/chunks/build/{ProjectTestCasesTable-9418EI8J.mjs → ProjectTestCasesTable-9Ia825h8.mjs} +2 -2
  118. package/.output/server/chunks/build/ProjectTestCasesTable-9Ia825h8.mjs.map +1 -0
  119. package/.output/server/chunks/build/{Select-COwTIQlV.mjs → Select-ppPz926C.mjs} +3 -2
  120. package/.output/server/chunks/build/Select-ppPz926C.mjs.map +1 -0
  121. package/.output/server/chunks/build/{SelectMenu-BkyAHFCM.mjs → SelectMenu-799c_Ils.mjs} +2 -2
  122. package/.output/server/chunks/build/{SelectMenu-BkyAHFCM.mjs.map → SelectMenu-799c_Ils.mjs.map} +1 -1
  123. package/.output/server/chunks/build/{Switch-htSKgC38.mjs → Switch-xQQ3_ME1.mjs} +2 -2
  124. package/.output/server/chunks/build/Switch-xQQ3_ME1.mjs.map +1 -0
  125. package/.output/server/chunks/build/{_id_-CnwAyvvS.mjs → _id_-B2yirIuA.mjs} +5 -4
  126. package/.output/server/chunks/build/{_id_-CnwAyvvS.mjs.map → _id_-B2yirIuA.mjs.map} +1 -1
  127. package/.output/server/chunks/build/{_id_-BDqvTM9D.mjs → _id_-B4V5fop6.mjs} +5 -4
  128. package/.output/server/chunks/build/{_id_-BDqvTM9D.mjs.map → _id_-B4V5fop6.mjs.map} +1 -1
  129. package/.output/server/chunks/build/{_id_-Dy67M9Dj.mjs → _id_-bWcP2xFl.mjs} +8 -7
  130. package/.output/server/chunks/build/{_id_-Dy67M9Dj.mjs.map → _id_-bWcP2xFl.mjs.map} +1 -1
  131. package/.output/server/chunks/build/about-TuEZ9n1Q.mjs +625 -0
  132. package/.output/server/chunks/build/about-TuEZ9n1Q.mjs.map +1 -0
  133. package/.output/server/chunks/build/{ai-V3YOh3yx.mjs → ai-7jdaPOmj.mjs} +6 -5
  134. package/.output/server/chunks/build/{ai-V3YOh3yx.mjs.map → ai-7jdaPOmj.mjs.map} +1 -1
  135. package/.output/server/chunks/build/{analytics-BBlAEmj5.mjs → analytics-B276WPeU.mjs} +7 -6
  136. package/.output/server/chunks/build/{analytics-BBlAEmj5.mjs.map → analytics-B276WPeU.mjs.map} +1 -1
  137. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  138. package/.output/server/chunks/build/{default-BfMirIgG.mjs → default-BSzdkM_L.mjs} +9 -7
  139. package/.output/server/chunks/build/default-BSzdkM_L.mjs.map +1 -0
  140. package/.output/server/chunks/build/{docs-DtNcJCyb.mjs → docs-EXhN3sqC.mjs} +4 -3
  141. package/.output/server/chunks/build/{docs-DtNcJCyb.mjs.map → docs-EXhN3sqC.mjs.map} +1 -1
  142. package/.output/server/chunks/build/{edit-Dsf11mL5.mjs → edit-C9Z7oZeu.mjs} +5 -4
  143. package/.output/server/chunks/build/edit-C9Z7oZeu.mjs.map +1 -0
  144. package/.output/server/chunks/build/handleAndDispatchCustomEvent-Bk_AVSSo.mjs +13 -0
  145. package/.output/server/chunks/build/handleAndDispatchCustomEvent-Bk_AVSSo.mjs.map +1 -0
  146. package/.output/server/chunks/build/{index-DzEgjHlB.mjs → index-BK9PTRpd.mjs} +24 -8
  147. package/.output/server/chunks/build/{index-DzEgjHlB.mjs.map → index-BK9PTRpd.mjs.map} +1 -1
  148. package/.output/server/chunks/build/{index-BgpEKTSq.mjs → index-DVUtBexc.mjs} +9 -8
  149. package/.output/server/chunks/build/{index-BgpEKTSq.mjs.map → index-DVUtBexc.mjs.map} +1 -1
  150. package/.output/server/chunks/build/{mcp-CXwa3xU3.mjs → mcp-CQ-21rwc.mjs} +132 -25
  151. package/.output/server/chunks/build/mcp-CQ-21rwc.mjs.map +1 -0
  152. package/.output/server/chunks/build/{notifications-hJj8tbAT.mjs → notifications-Dzm9c0u_.mjs} +4 -3
  153. package/.output/server/chunks/build/notifications-Dzm9c0u_.mjs.map +1 -0
  154. package/.output/server/chunks/build/server.mjs +17 -17
  155. package/.output/server/chunks/build/{settings-metadata-Cp0dx0vm.mjs → settings-metadata-B0wo5R-W.mjs} +3 -1
  156. package/.output/server/chunks/build/settings-metadata-B0wo5R-W.mjs.map +1 -0
  157. package/.output/server/chunks/build/{settings-Ci_7EXYQ.mjs → settings-pNyPBXVa.mjs} +4 -3
  158. package/.output/server/chunks/build/settings-pNyPBXVa.mjs.map +1 -0
  159. package/.output/server/chunks/build/{storage-CM-Pd-9E.mjs → storage-XelzuyPy.mjs} +16 -182
  160. package/.output/server/chunks/build/storage-XelzuyPy.mjs.map +1 -0
  161. package/.output/server/chunks/build/{test-cases-DkGQB027.mjs → test-cases-pmOxi-AN.mjs} +5 -4
  162. package/.output/server/chunks/build/test-cases-pmOxi-AN.mjs.map +1 -0
  163. package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs +9 -0
  164. package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs.map +1 -0
  165. package/.output/server/chunks/build/useIsDesktop-BS13spVj.mjs +9 -0
  166. package/.output/server/chunks/build/useIsDesktop-BS13spVj.mjs.map +1 -0
  167. package/.output/server/chunks/build/{useSettingsNav-D2knPCqF.mjs → useSettingsNav-NjI2seBy.mjs} +5 -3
  168. package/.output/server/chunks/build/useSettingsNav-NjI2seBy.mjs.map +1 -0
  169. package/.output/server/chunks/build/{virtualizer-0-UBy7xl.mjs → virtualizer-ZaqK4guJ.mjs} +3 -2
  170. package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs.map +1 -0
  171. package/.output/server/chunks/build/{wasted-time-L4kBV5Nh.mjs → wasted-time-CguAF9zc.mjs} +2 -2
  172. package/.output/server/chunks/build/wasted-time-CguAF9zc.mjs.map +1 -0
  173. package/.output/server/chunks/nitro/nitro.mjs +703 -681
  174. package/.output/server/package.json +1 -1
  175. package/package.json +1 -1
  176. package/.output/public/_nuxt/B6Jp7fpa.js +0 -46
  177. package/.output/public/_nuxt/BP_SWi7S.js +0 -1
  178. package/.output/public/_nuxt/Bf62wdzp.js +0 -1
  179. package/.output/public/_nuxt/C219JuBV.js +0 -1
  180. package/.output/public/_nuxt/CX1dcT4v.js +0 -1
  181. package/.output/public/_nuxt/CdME81ij.js +0 -2
  182. package/.output/public/_nuxt/Dsk4Ic18.js +0 -7
  183. package/.output/public/_nuxt/HoKG9cc2.js +0 -1
  184. package/.output/public/_nuxt/WctJXszi.js +0 -3
  185. package/.output/public/_nuxt/builds/meta/5182c9fb-56a6-4df2-9685-4020a08ce7a5.json +0 -1
  186. package/.output/public/_nuxt/entry.BsmKRJzR.css +0 -1
  187. package/.output/public/_nuxt/jIF87ALb.js +0 -1
  188. package/.output/server/chunks/build/Checkbox-7ZiMz60w.mjs.map +0 -1
  189. package/.output/server/chunks/build/CiEnvCard-DNxBVvx4.mjs.map +0 -1
  190. package/.output/server/chunks/build/ProjectTestCasesTable-9418EI8J.mjs.map +0 -1
  191. package/.output/server/chunks/build/Select-COwTIQlV.mjs.map +0 -1
  192. package/.output/server/chunks/build/Switch-htSKgC38.mjs.map +0 -1
  193. package/.output/server/chunks/build/about-FB9PYAHK.mjs +0 -313
  194. package/.output/server/chunks/build/about-FB9PYAHK.mjs.map +0 -1
  195. package/.output/server/chunks/build/default-BfMirIgG.mjs.map +0 -1
  196. package/.output/server/chunks/build/edit-Dsf11mL5.mjs.map +0 -1
  197. package/.output/server/chunks/build/mcp-CXwa3xU3.mjs.map +0 -1
  198. package/.output/server/chunks/build/notifications-hJj8tbAT.mjs.map +0 -1
  199. package/.output/server/chunks/build/settings-Ci_7EXYQ.mjs.map +0 -1
  200. package/.output/server/chunks/build/settings-metadata-Cp0dx0vm.mjs.map +0 -1
  201. package/.output/server/chunks/build/storage-CM-Pd-9E.mjs.map +0 -1
  202. package/.output/server/chunks/build/test-cases-DkGQB027.mjs.map +0 -1
  203. package/.output/server/chunks/build/useFormControl-DFTjniPG.mjs +0 -19
  204. package/.output/server/chunks/build/useFormControl-DFTjniPG.mjs.map +0 -1
  205. package/.output/server/chunks/build/useSettingsNav-D2knPCqF.mjs.map +0 -1
  206. package/.output/server/chunks/build/virtualizer-0-UBy7xl.mjs.map +0 -1
  207. package/.output/server/chunks/build/wasted-time-L4kBV5Nh.mjs.map +0 -1
@@ -0,0 +1,625 @@
1
+ import { _ as __nuxt_component_11 } from './SectionCard-COd9TuDq.mjs';
2
+ import { _ as __nuxt_component_1, a as __nuxt_component_2 } from './StatTile-D61Vzo6e.mjs';
3
+ import { _ as __nuxt_component_0 } from './DataLocationCard-D6xSOrme.mjs';
4
+ import { W as _sfc_main$l, o as _sfc_main$p, r as useRuntimeConfig, m as _sfc_main$k, j as useToast } from './server.mjs';
5
+ import { _ as __nuxt_component_5$1 } from './CodeBlock-BGwNmJ8J.mjs';
6
+ import { defineComponent, withAsyncContext, computed, mergeProps, withCtx, unref, createVNode, openBlock, createBlock, createCommentVNode, createTextVNode, toDisplayString, ref, useSSRContext } from 'vue';
7
+ import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate } from 'vue/server-renderer';
8
+ import { u as useCopy } from './useCopy-BQQKcwlq.mjs';
9
+ import { _ as __nuxt_component_5 } from './DesktopMcpCard-B4JuUTKj.mjs';
10
+ import { _ as _sfc_main$3 } from './Switch-xQQ3_ME1.mjs';
11
+ import { a as __nuxt_component_9 } from './HelpHint-YEMWtKu1.mjs';
12
+ import { f as formatRelativeTime } from './index-CULN3-en.mjs';
13
+ import { u as useIsDesktop } from './useIsDesktop-BS13spVj.mjs';
14
+ import { u as useFetch } from './fetch-8kznMtBM.mjs';
15
+ import './Card-BQP_oZkQ.mjs';
16
+ import '../nitro/nitro.mjs';
17
+ import 'node:crypto';
18
+ import 'drizzle-orm';
19
+ import 'path';
20
+ import 'fs/promises';
21
+ import 'zlib';
22
+ import 'util';
23
+ import 'pixelmatch';
24
+ import 'sharp';
25
+ import '@anthropic-ai/sdk';
26
+ import 'nodemailer';
27
+ import 'node:util';
28
+ import 'rou3';
29
+ import 'fs';
30
+ import '@aws-sdk/client-s3';
31
+ import 'node:http';
32
+ import 'node:https';
33
+ import 'node:events';
34
+ import 'node:buffer';
35
+ import 'node:fs';
36
+ import 'node:path';
37
+ import 'drizzle-orm/libsql/sqlite3';
38
+ import 'drizzle-orm/sqlite-core';
39
+ import 'drizzle-orm/pg-core';
40
+ import 'url';
41
+ import 'node:async_hooks';
42
+ import 'node:zlib';
43
+ import 'consola';
44
+ import 'node:url';
45
+ import '@iconify/utils';
46
+ import 'vue-router';
47
+ import '@iconify/vue';
48
+ import 'tailwindcss/colors';
49
+ import 'tailwind-variants';
50
+ import '@iconify/utils/lib/css/icon';
51
+ import 'perfect-debounce';
52
+ import '@floating-ui/vue';
53
+ import 'aria-hidden';
54
+ import '../routes/renderer.mjs';
55
+ import 'vue-bundle-renderer/runtime';
56
+ import 'unhead/server';
57
+ import 'devalue';
58
+ import 'unhead/plugins';
59
+ import 'unhead/utils';
60
+ import 'highlight.js/lib/core';
61
+ import 'highlight.js/lib/languages/typescript';
62
+ import 'highlight.js/lib/languages/javascript';
63
+ import 'highlight.js/lib/languages/bash';
64
+ import 'highlight.js/lib/languages/json';
65
+ import 'highlight.js/lib/languages/diff';
66
+ import './Label-DBvbHd3A.mjs';
67
+ import './useFormControl-BLpq1s4O.mjs';
68
+ import './useForwardScopeId-D0ameaSU.mjs';
69
+ import './VisuallyHiddenInput-C9eJVpPW.mjs';
70
+ import './help-content-DmFnuhNu.mjs';
71
+ import 'date-fns';
72
+ import '@vue/shared';
73
+
74
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
75
+ __name: "DesktopReporterCard",
76
+ __ssrInlineRender: true,
77
+ props: {
78
+ url: {},
79
+ token: {}
80
+ },
81
+ setup(__props) {
82
+ const props = __props;
83
+ const { copy } = useCopy();
84
+ const snippet = computed(
85
+ () => `reporter: [
86
+ ['@piwitests/reporter', {
87
+ serverUrl: '${props.url}',
88
+ projectName: 'my-project',
89
+ apiKey: '${props.token}',
90
+ }],
91
+ ],`
92
+ );
93
+ return (_ctx, _push, _parent, _attrs) => {
94
+ const _component_SectionCard = __nuxt_component_11;
95
+ const _component_UButton = _sfc_main$k;
96
+ const _component_CodeBlock = __nuxt_component_5$1;
97
+ _push(ssrRenderComponent(_component_SectionCard, mergeProps({
98
+ icon: "i-lucide-upload",
99
+ title: "Send results to this app"
100
+ }, _attrs), {
101
+ subtitle: withCtx((_, _push2, _parent2, _scopeId) => {
102
+ if (_push2) {
103
+ _push2(` Point the Playwright reporter at this desktop app. The access token is a local secret — prefer passing it via a <code${_scopeId}>PIWI_API_KEY</code> env var rather than committing it. `);
104
+ } else {
105
+ return [
106
+ createTextVNode(" Point the Playwright reporter at this desktop app. The access token is a local secret — prefer passing it via a "),
107
+ createVNode("code", null, "PIWI_API_KEY"),
108
+ createTextVNode(" env var rather than committing it. ")
109
+ ];
110
+ }
111
+ }),
112
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
113
+ if (_push2) {
114
+ _push2(`<div class="space-y-3 text-sm"${_scopeId}><div class="space-y-1"${_scopeId}><div class="text-muted"${_scopeId}>Access token</div><div class="flex items-start gap-2"${_scopeId}><code class="text-xs break-all flex-1"${_scopeId}>${ssrInterpolate(__props.token)}</code>`);
115
+ _push2(ssrRenderComponent(_component_UButton, {
116
+ icon: "i-lucide-copy",
117
+ color: "neutral",
118
+ variant: "ghost",
119
+ size: "xs",
120
+ "aria-label": "Copy access token",
121
+ onClick: ($event) => unref(copy)(__props.token, { toast: true })
122
+ }, null, _parent2, _scopeId));
123
+ _push2(`</div></div><div class="space-y-1"${_scopeId}><div class="text-muted"${_scopeId}>playwright.config.ts</div>`);
124
+ _push2(ssrRenderComponent(_component_CodeBlock, {
125
+ code: unref(snippet),
126
+ lang: "typescript"
127
+ }, null, _parent2, _scopeId));
128
+ _push2(`</div></div>`);
129
+ } else {
130
+ return [
131
+ createVNode("div", { class: "space-y-3 text-sm" }, [
132
+ createVNode("div", { class: "space-y-1" }, [
133
+ createVNode("div", { class: "text-muted" }, "Access token"),
134
+ createVNode("div", { class: "flex items-start gap-2" }, [
135
+ createVNode("code", { class: "text-xs break-all flex-1" }, toDisplayString(__props.token), 1),
136
+ createVNode(_component_UButton, {
137
+ icon: "i-lucide-copy",
138
+ color: "neutral",
139
+ variant: "ghost",
140
+ size: "xs",
141
+ "aria-label": "Copy access token",
142
+ onClick: ($event) => unref(copy)(__props.token, { toast: true })
143
+ }, null, 8, ["onClick"])
144
+ ])
145
+ ]),
146
+ createVNode("div", { class: "space-y-1" }, [
147
+ createVNode("div", { class: "text-muted" }, "playwright.config.ts"),
148
+ createVNode(_component_CodeBlock, {
149
+ code: unref(snippet),
150
+ lang: "typescript"
151
+ }, null, 8, ["code"])
152
+ ])
153
+ ])
154
+ ];
155
+ }
156
+ }),
157
+ _: 1
158
+ }, _parent));
159
+ };
160
+ }
161
+ });
162
+ const _sfc_setup$2 = _sfc_main$2.setup;
163
+ _sfc_main$2.setup = (props, ctx) => {
164
+ const ssrContext = useSSRContext();
165
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/desktop/DesktopReporterCard.vue");
166
+ return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
167
+ };
168
+ const __nuxt_component_4 = Object.assign(_sfc_main$2, { __name: "DesktopReporterCard" });
169
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
170
+ __name: "DesktopServiceCard",
171
+ __ssrInlineRender: true,
172
+ setup(__props) {
173
+ function tauriCore() {
174
+ const g = globalThis;
175
+ return g.__TAURI__?.core ?? null;
176
+ }
177
+ const toast = useToast();
178
+ const loading = ref(true);
179
+ const available = ref(false);
180
+ const busy = ref(false);
181
+ const runInBackground = ref(false);
182
+ const startOnLogin = ref(false);
183
+ async function setRunInBackground(value) {
184
+ const core = tauriCore();
185
+ if (!core) return;
186
+ busy.value = true;
187
+ try {
188
+ await core.invoke("desktop_set_run_in_background", { enabled: value });
189
+ runInBackground.value = value;
190
+ } catch {
191
+ toast.add({ title: 'Could not update "Run in background"', color: "error" });
192
+ } finally {
193
+ busy.value = false;
194
+ }
195
+ }
196
+ async function setStartOnLogin(value) {
197
+ const core = tauriCore();
198
+ if (!core) return;
199
+ busy.value = true;
200
+ try {
201
+ await core.invoke("desktop_set_start_on_login", { enabled: value });
202
+ startOnLogin.value = value;
203
+ } catch {
204
+ toast.add({ title: 'Could not update "Start on login"', color: "error" });
205
+ } finally {
206
+ busy.value = false;
207
+ }
208
+ }
209
+ return (_ctx, _push, _parent, _attrs) => {
210
+ const _component_SectionCard = __nuxt_component_11;
211
+ const _component_UIcon = _sfc_main$p;
212
+ const _component_USwitch = _sfc_main$3;
213
+ _push(ssrRenderComponent(_component_SectionCard, mergeProps({
214
+ icon: "i-lucide-monitor-cog",
215
+ title: "Desktop app"
216
+ }, _attrs), {
217
+ subtitle: withCtx((_, _push2, _parent2, _scopeId) => {
218
+ if (_push2) {
219
+ _push2(` Keep Piwi running in the background and start it automatically when you log in. `);
220
+ } else {
221
+ return [
222
+ createTextVNode(" Keep Piwi running in the background and start it automatically when you log in. ")
223
+ ];
224
+ }
225
+ }),
226
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
227
+ if (_push2) {
228
+ if (unref(loading)) {
229
+ _push2(`<div class="flex items-center gap-2 text-sm text-muted"${_scopeId}>`);
230
+ _push2(ssrRenderComponent(_component_UIcon, {
231
+ name: "i-lucide-loader-2",
232
+ class: "size-4 animate-spin"
233
+ }, null, _parent2, _scopeId));
234
+ _push2(` Checking… </div>`);
235
+ } else if (unref(available)) {
236
+ _push2(`<div class="space-y-4"${_scopeId}><div class="flex items-start justify-between gap-4"${_scopeId}><div class="space-y-0.5"${_scopeId}><p class="text-sm font-medium"${_scopeId}>Run in background</p><p class="text-xs text-muted"${_scopeId}>Closing the window keeps the server running in the tray instead of quitting.</p></div>`);
237
+ _push2(ssrRenderComponent(_component_USwitch, {
238
+ "model-value": unref(runInBackground),
239
+ disabled: unref(busy),
240
+ "onUpdate:modelValue": setRunInBackground
241
+ }, null, _parent2, _scopeId));
242
+ _push2(`</div><div class="flex items-start justify-between gap-4"${_scopeId}><div class="space-y-0.5"${_scopeId}><p class="text-sm font-medium"${_scopeId}>Start on login</p><p class="text-xs text-muted"${_scopeId}> Launch Piwi automatically (hidden in the tray) when you sign in to your computer. </p></div>`);
243
+ _push2(ssrRenderComponent(_component_USwitch, {
244
+ "model-value": unref(startOnLogin),
245
+ disabled: unref(busy),
246
+ "onUpdate:modelValue": setStartOnLogin
247
+ }, null, _parent2, _scopeId));
248
+ _push2(`</div></div>`);
249
+ } else {
250
+ _push2(`<div class="space-y-1 text-sm text-muted"${_scopeId}><p${_scopeId}>Manage these from the Piwi tray icon:</p><p class="text-xs"${_scopeId}> Right-click the Piwi icon in your system tray for <strong${_scopeId}>Run in background</strong> and <strong${_scopeId}>Start on login</strong>. On Windows the icon may be hidden under the “show hidden icons” arrow (▲) next to the clock — drag it onto the taskbar to keep it in view. </p></div>`);
251
+ }
252
+ } else {
253
+ return [
254
+ unref(loading) ? (openBlock(), createBlock("div", {
255
+ key: 0,
256
+ class: "flex items-center gap-2 text-sm text-muted"
257
+ }, [
258
+ createVNode(_component_UIcon, {
259
+ name: "i-lucide-loader-2",
260
+ class: "size-4 animate-spin"
261
+ }),
262
+ createTextVNode(" Checking… ")
263
+ ])) : unref(available) ? (openBlock(), createBlock("div", {
264
+ key: 1,
265
+ class: "space-y-4"
266
+ }, [
267
+ createVNode("div", { class: "flex items-start justify-between gap-4" }, [
268
+ createVNode("div", { class: "space-y-0.5" }, [
269
+ createVNode("p", { class: "text-sm font-medium" }, "Run in background"),
270
+ createVNode("p", { class: "text-xs text-muted" }, "Closing the window keeps the server running in the tray instead of quitting.")
271
+ ]),
272
+ createVNode(_component_USwitch, {
273
+ "model-value": unref(runInBackground),
274
+ disabled: unref(busy),
275
+ "onUpdate:modelValue": setRunInBackground
276
+ }, null, 8, ["model-value", "disabled"])
277
+ ]),
278
+ createVNode("div", { class: "flex items-start justify-between gap-4" }, [
279
+ createVNode("div", { class: "space-y-0.5" }, [
280
+ createVNode("p", { class: "text-sm font-medium" }, "Start on login"),
281
+ createVNode("p", { class: "text-xs text-muted" }, " Launch Piwi automatically (hidden in the tray) when you sign in to your computer. ")
282
+ ]),
283
+ createVNode(_component_USwitch, {
284
+ "model-value": unref(startOnLogin),
285
+ disabled: unref(busy),
286
+ "onUpdate:modelValue": setStartOnLogin
287
+ }, null, 8, ["model-value", "disabled"])
288
+ ])
289
+ ])) : (openBlock(), createBlock("div", {
290
+ key: 2,
291
+ class: "space-y-1 text-sm text-muted"
292
+ }, [
293
+ createVNode("p", null, "Manage these from the Piwi tray icon:"),
294
+ createVNode("p", { class: "text-xs" }, [
295
+ createTextVNode(" Right-click the Piwi icon in your system tray for "),
296
+ createVNode("strong", null, "Run in background"),
297
+ createTextVNode(" and "),
298
+ createVNode("strong", null, "Start on login"),
299
+ createTextVNode(". On Windows the icon may be hidden under the “show hidden icons” arrow (▲) next to the clock — drag it onto the taskbar to keep it in view. ")
300
+ ])
301
+ ]))
302
+ ];
303
+ }
304
+ }),
305
+ _: 1
306
+ }, _parent));
307
+ };
308
+ }
309
+ });
310
+ const _sfc_setup$1 = _sfc_main$1.setup;
311
+ _sfc_main$1.setup = (props, ctx) => {
312
+ const ssrContext = useSSRContext();
313
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/desktop/DesktopServiceCard.vue");
314
+ return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
315
+ };
316
+ const __nuxt_component_6 = Object.assign(_sfc_main$1, { __name: "DesktopServiceCard" });
317
+ const _sfc_main = /* @__PURE__ */ defineComponent({
318
+ __name: "about",
319
+ __ssrInlineRender: true,
320
+ async setup(__props) {
321
+ let __temp, __restore;
322
+ const config = useRuntimeConfig();
323
+ const isDesktop = useIsDesktop();
324
+ const { data: versionInfo } = ([__temp, __restore] = withAsyncContext(() => useFetch(
325
+ "/api/version",
326
+ "$mIoGdvWYhF"
327
+ /* nuxt-injected */
328
+ )), __temp = await __temp, __restore(), __temp);
329
+ const { data: stats } = ([__temp, __restore] = withAsyncContext(() => useFetch(
330
+ "/api/admin/stats",
331
+ {
332
+ immediate: isDesktop,
333
+ default: () => null
334
+ },
335
+ "$IuuLVEbWlE"
336
+ /* nuxt-injected */
337
+ )), __temp = await __temp, __restore(), __temp);
338
+ const { data: reporterConfig } = ([__temp, __restore] = withAsyncContext(() => useFetch(
339
+ "/api/desktop/reporter-config",
340
+ {
341
+ immediate: isDesktop,
342
+ default: () => null
343
+ },
344
+ "$A4rSe7BAN_"
345
+ /* nuxt-injected */
346
+ )), __temp = await __temp, __restore(), __temp);
347
+ const appVersion = config.public.appVersion;
348
+ const buildSha = config.public.buildSha;
349
+ const buildTime = config.public.buildTime;
350
+ const nodeVersion = config.public.nodeVersion;
351
+ const authEnabled = config.public.authEnabled;
352
+ const shortSha = computed(() => buildSha ? buildSha.slice(0, 7) : null);
353
+ const dbBackendLabel = computed(() => {
354
+ const backend = versionInfo.value?.dbBackend;
355
+ if (backend === "postgresql") return "PostgreSQL";
356
+ if (backend === "sqlite") return "SQLite";
357
+ return backend ?? null;
358
+ });
359
+ return (_ctx, _push, _parent, _attrs) => {
360
+ const _component_SectionCard = __nuxt_component_11;
361
+ const _component_StatTileGrid = __nuxt_component_1;
362
+ const _component_StatTile = __nuxt_component_2;
363
+ const _component_DataLocationCard = __nuxt_component_0;
364
+ const _component_DesktopReporterCard = __nuxt_component_4;
365
+ const _component_DesktopMcpCard = __nuxt_component_5;
366
+ const _component_DesktopServiceCard = __nuxt_component_6;
367
+ const _component_DocLink = __nuxt_component_9;
368
+ const _component_ULink = _sfc_main$l;
369
+ const _component_UIcon = _sfc_main$p;
370
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "space-y-6" }, _attrs))}>`);
371
+ _push(ssrRenderComponent(_component_SectionCard, {
372
+ icon: "i-lucide-info",
373
+ title: "Application"
374
+ }, {
375
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
376
+ if (_push2) {
377
+ _push2(ssrRenderComponent(_component_StatTileGrid, null, {
378
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
379
+ if (_push3) {
380
+ _push3(ssrRenderComponent(_component_StatTile, {
381
+ label: "Version",
382
+ value: `v${unref(appVersion)}`
383
+ }, null, _parent3, _scopeId2));
384
+ if (unref(shortSha)) {
385
+ _push3(ssrRenderComponent(_component_StatTile, {
386
+ label: "Build",
387
+ value: unref(shortSha),
388
+ hint: unref(buildSha)
389
+ }, null, _parent3, _scopeId2));
390
+ } else {
391
+ _push3(`<!---->`);
392
+ }
393
+ if (unref(buildTime)) {
394
+ _push3(ssrRenderComponent(_component_StatTile, {
395
+ label: "Built",
396
+ value: ("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(unref(buildTime)),
397
+ hint: unref(buildTime)
398
+ }, null, _parent3, _scopeId2));
399
+ } else {
400
+ _push3(`<!---->`);
401
+ }
402
+ _push3(ssrRenderComponent(_component_StatTile, {
403
+ label: "Node.js",
404
+ value: unref(nodeVersion)
405
+ }, null, _parent3, _scopeId2));
406
+ _push3(ssrRenderComponent(_component_StatTile, {
407
+ label: "Database",
408
+ value: unref(dbBackendLabel)
409
+ }, null, _parent3, _scopeId2));
410
+ _push3(ssrRenderComponent(_component_StatTile, {
411
+ label: "Authentication",
412
+ value: unref(authEnabled) ? "Enabled" : "Disabled"
413
+ }, null, _parent3, _scopeId2));
414
+ } else {
415
+ return [
416
+ createVNode(_component_StatTile, {
417
+ label: "Version",
418
+ value: `v${unref(appVersion)}`
419
+ }, null, 8, ["value"]),
420
+ unref(shortSha) ? (openBlock(), createBlock(_component_StatTile, {
421
+ key: 0,
422
+ label: "Build",
423
+ value: unref(shortSha),
424
+ hint: unref(buildSha)
425
+ }, null, 8, ["value", "hint"])) : createCommentVNode("", true),
426
+ unref(buildTime) ? (openBlock(), createBlock(_component_StatTile, {
427
+ key: 1,
428
+ label: "Built",
429
+ value: ("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(unref(buildTime)),
430
+ hint: unref(buildTime)
431
+ }, null, 8, ["value", "hint"])) : createCommentVNode("", true),
432
+ createVNode(_component_StatTile, {
433
+ label: "Node.js",
434
+ value: unref(nodeVersion)
435
+ }, null, 8, ["value"]),
436
+ createVNode(_component_StatTile, {
437
+ label: "Database",
438
+ value: unref(dbBackendLabel)
439
+ }, null, 8, ["value"]),
440
+ createVNode(_component_StatTile, {
441
+ label: "Authentication",
442
+ value: unref(authEnabled) ? "Enabled" : "Disabled"
443
+ }, null, 8, ["value"])
444
+ ];
445
+ }
446
+ }),
447
+ _: 1
448
+ }, _parent2, _scopeId));
449
+ } else {
450
+ return [
451
+ createVNode(_component_StatTileGrid, null, {
452
+ default: withCtx(() => [
453
+ createVNode(_component_StatTile, {
454
+ label: "Version",
455
+ value: `v${unref(appVersion)}`
456
+ }, null, 8, ["value"]),
457
+ unref(shortSha) ? (openBlock(), createBlock(_component_StatTile, {
458
+ key: 0,
459
+ label: "Build",
460
+ value: unref(shortSha),
461
+ hint: unref(buildSha)
462
+ }, null, 8, ["value", "hint"])) : createCommentVNode("", true),
463
+ unref(buildTime) ? (openBlock(), createBlock(_component_StatTile, {
464
+ key: 1,
465
+ label: "Built",
466
+ value: ("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(unref(buildTime)),
467
+ hint: unref(buildTime)
468
+ }, null, 8, ["value", "hint"])) : createCommentVNode("", true),
469
+ createVNode(_component_StatTile, {
470
+ label: "Node.js",
471
+ value: unref(nodeVersion)
472
+ }, null, 8, ["value"]),
473
+ createVNode(_component_StatTile, {
474
+ label: "Database",
475
+ value: unref(dbBackendLabel)
476
+ }, null, 8, ["value"]),
477
+ createVNode(_component_StatTile, {
478
+ label: "Authentication",
479
+ value: unref(authEnabled) ? "Enabled" : "Disabled"
480
+ }, null, 8, ["value"])
481
+ ]),
482
+ _: 1
483
+ })
484
+ ];
485
+ }
486
+ }),
487
+ _: 1
488
+ }, _parent));
489
+ if (unref(isDesktop)) {
490
+ _push(`<!--[-->`);
491
+ if (unref(stats)) {
492
+ _push(ssrRenderComponent(_component_DataLocationCard, {
493
+ database: unref(stats).databaseLocation,
494
+ storage: unref(stats).storageLocation
495
+ }, null, _parent));
496
+ } else {
497
+ _push(`<!---->`);
498
+ }
499
+ if (unref(reporterConfig)) {
500
+ _push(ssrRenderComponent(_component_DesktopReporterCard, {
501
+ url: unref(reporterConfig).url,
502
+ token: unref(reporterConfig).token
503
+ }, null, _parent));
504
+ } else {
505
+ _push(`<!---->`);
506
+ }
507
+ if (unref(reporterConfig)) {
508
+ _push(ssrRenderComponent(_component_DesktopMcpCard, {
509
+ url: unref(reporterConfig).url,
510
+ token: unref(reporterConfig).token
511
+ }, null, _parent));
512
+ } else {
513
+ _push(`<!---->`);
514
+ }
515
+ _push(ssrRenderComponent(_component_DesktopServiceCard, null, null, _parent));
516
+ _push(`<!--]-->`);
517
+ } else {
518
+ _push(`<!---->`);
519
+ }
520
+ _push(ssrRenderComponent(_component_SectionCard, {
521
+ icon: "i-lucide-book-open",
522
+ title: "Resources"
523
+ }, {
524
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
525
+ if (_push2) {
526
+ _push2(`<div class="flex flex-wrap items-center gap-x-6 gap-y-3 text-sm"${_scopeId}>`);
527
+ _push2(ssrRenderComponent(_component_DocLink, { to: "" }, {
528
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
529
+ if (_push3) {
530
+ _push3(`Documentation`);
531
+ } else {
532
+ return [
533
+ createTextVNode("Documentation")
534
+ ];
535
+ }
536
+ }),
537
+ _: 1
538
+ }, _parent2, _scopeId));
539
+ _push2(ssrRenderComponent(_component_DocLink, { to: "api" }, {
540
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
541
+ if (_push3) {
542
+ _push3(`API reference`);
543
+ } else {
544
+ return [
545
+ createTextVNode("API reference")
546
+ ];
547
+ }
548
+ }),
549
+ _: 1
550
+ }, _parent2, _scopeId));
551
+ _push2(ssrRenderComponent(_component_ULink, {
552
+ to: "https://github.com/piwitests/platform",
553
+ target: "_blank",
554
+ rel: "noopener noreferrer",
555
+ class: "inline-flex items-center gap-1 text-primary hover:underline"
556
+ }, {
557
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
558
+ if (_push3) {
559
+ _push3(` GitHub `);
560
+ _push3(ssrRenderComponent(_component_UIcon, {
561
+ name: "i-lucide-external-link",
562
+ class: "w-3.5 h-3.5 shrink-0"
563
+ }, null, _parent3, _scopeId2));
564
+ } else {
565
+ return [
566
+ createTextVNode(" GitHub "),
567
+ createVNode(_component_UIcon, {
568
+ name: "i-lucide-external-link",
569
+ class: "w-3.5 h-3.5 shrink-0"
570
+ })
571
+ ];
572
+ }
573
+ }),
574
+ _: 1
575
+ }, _parent2, _scopeId));
576
+ _push2(`</div>`);
577
+ } else {
578
+ return [
579
+ createVNode("div", { class: "flex flex-wrap items-center gap-x-6 gap-y-3 text-sm" }, [
580
+ createVNode(_component_DocLink, { to: "" }, {
581
+ default: withCtx(() => [
582
+ createTextVNode("Documentation")
583
+ ]),
584
+ _: 1
585
+ }),
586
+ createVNode(_component_DocLink, { to: "api" }, {
587
+ default: withCtx(() => [
588
+ createTextVNode("API reference")
589
+ ]),
590
+ _: 1
591
+ }),
592
+ createVNode(_component_ULink, {
593
+ to: "https://github.com/piwitests/platform",
594
+ target: "_blank",
595
+ rel: "noopener noreferrer",
596
+ class: "inline-flex items-center gap-1 text-primary hover:underline"
597
+ }, {
598
+ default: withCtx(() => [
599
+ createTextVNode(" GitHub "),
600
+ createVNode(_component_UIcon, {
601
+ name: "i-lucide-external-link",
602
+ class: "w-3.5 h-3.5 shrink-0"
603
+ })
604
+ ]),
605
+ _: 1
606
+ })
607
+ ])
608
+ ];
609
+ }
610
+ }),
611
+ _: 1
612
+ }, _parent));
613
+ _push(`</div>`);
614
+ };
615
+ }
616
+ });
617
+ const _sfc_setup = _sfc_main.setup;
618
+ _sfc_main.setup = (props, ctx) => {
619
+ const ssrContext = useSSRContext();
620
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/settings/about.vue");
621
+ return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
622
+ };
623
+
624
+ export { _sfc_main as default };
625
+ //# sourceMappingURL=about-TuEZ9n1Q.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"about-TuEZ9n1Q.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/about-TuEZ9n1Q.js"],"names":["_sfc_main$3","__nuxt_component_5","_sfc_main$4","_sfc_main$5","__nuxt_component_5$1","_sfc_main$6"],"mappings":"","x_google_ignoreList":[0]}
@@ -2,9 +2,9 @@ import { _ as __nuxt_component_0, a as __nuxt_component_2$2 } from './SettingsFi
2
2
  import { _ as __nuxt_component_11 } from './SectionCard-COd9TuDq.mjs';
3
3
  import { j as useToast, m as _sfc_main$k, _ as _sfc_main$d, o as _sfc_main$p } from './server.mjs';
4
4
  import { _ as __nuxt_component_2$3 } from './HelpHint-YEMWtKu1.mjs';
5
- import { _ as _sfc_main$5 } from './Switch-htSKgC38.mjs';
5
+ import { _ as _sfc_main$5 } from './Switch-xQQ3_ME1.mjs';
6
6
  import { _ as _sfc_main$6 } from './FormField-B-GSn_VR.mjs';
7
- import { _ as _sfc_main$8 } from './Select-COwTIQlV.mjs';
7
+ import { _ as _sfc_main$8 } from './Select-ppPz926C.mjs';
8
8
  import { _ as __nuxt_component_3 } from './EnvManagedBadge-Qpn58Nmr.mjs';
9
9
  import { _ as _sfc_main$9 } from './Modal-CfA78Hm1.mjs';
10
10
  import { defineComponent, withAsyncContext, reactive, ref, computed, watch, mergeProps, unref, withCtx, isRef, createVNode, openBlock, createBlock, Fragment, renderList, createTextVNode, createSlots, useModel, createCommentVNode, mergeModels, toDisplayString, nextTick, useSSRContext } from 'vue';
@@ -14,7 +14,7 @@ import { a as formatDuration } from './index-CULN3-en.mjs';
14
14
  import { u as useFetch } from './fetch-8kznMtBM.mjs';
15
15
  import { _ as _sfc_main$7 } from './Textarea-DrrqQUVG.mjs';
16
16
  import { b9 as CONTEXT_LIMIT_FIELDS } from '../nitro/nitro.mjs';
17
- import { p as pageEnvVars, g as getSettingsPage } from './settings-metadata-Cp0dx0vm.mjs';
17
+ import { p as pageEnvVars, g as getSettingsPage } from './settings-metadata-B0wo5R-W.mjs';
18
18
  import './Alert-Bp1Wz_sq.mjs';
19
19
  import './Card-BQP_oZkQ.mjs';
20
20
  import 'vue-router';
@@ -62,9 +62,10 @@ import 'node:url';
62
62
  import '@iconify/utils';
63
63
  import './useCopy-BQQKcwlq.mjs';
64
64
  import './Label-DBvbHd3A.mjs';
65
- import './useFormControl-DFTjniPG.mjs';
65
+ import './useFormControl-BLpq1s4O.mjs';
66
66
  import './useForwardScopeId-D0ameaSU.mjs';
67
67
  import './VisuallyHiddenInput-C9eJVpPW.mjs';
68
+ import './handleAndDispatchCustomEvent-Bk_AVSSo.mjs';
68
69
  import './Tooltip-7vwuDPrZ.mjs';
69
70
  import 'date-fns';
70
71
  import '@vue/shared';
@@ -1822,4 +1823,4 @@ _sfc_main.setup = (props, ctx) => {
1822
1823
  };
1823
1824
 
1824
1825
  export { _sfc_main as default };
1825
- //# sourceMappingURL=ai-V3YOh3yx.mjs.map
1826
+ //# sourceMappingURL=ai-7jdaPOmj.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-V3YOh3yx.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/ai-V3YOh3yx.js"],"names":["_sfc_main$5","_sfc_main$6","_sfc_main$7","_sfc_main$8","__nuxt_component_2$2","_sfc_main$9","_sfc_main$a","_sfc_main$b","__nuxt_component_2$3","_sfc_main$c"],"mappings":"","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"ai-7jdaPOmj.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/ai-7jdaPOmj.js"],"names":["_sfc_main$5","_sfc_main$6","_sfc_main$7","_sfc_main$8","__nuxt_component_2$2","_sfc_main$9","_sfc_main$a","_sfc_main$b","__nuxt_component_2$3","_sfc_main$c"],"mappings":"","x_google_ignoreList":[0]}