@ghfs/cli 0.0.4 → 0.1.1

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 (335) hide show
  1. package/dist/cli.mjs +132 -3068
  2. package/dist/dir.d.mts +4 -0
  3. package/dist/dir.mjs +5 -0
  4. package/dist/{factory-DYHQBeCz.mjs → factory-DmX3S7tf.mjs} +350 -5
  5. package/dist/index.d.mts +2 -195
  6. package/dist/index.mjs +1 -1
  7. package/dist/provider-DCIsHVeA.d.mts +249 -0
  8. package/dist/server/index.d.mts +330 -0
  9. package/dist/server/index.mjs +2 -0
  10. package/dist/server-BwSU4kqr.mjs +3518 -0
  11. package/dist/ui/200.html +1 -1
  12. package/dist/ui/404.html +1 -1
  13. package/dist/ui/_nuxt/2UxHyX5q.js +1 -0
  14. package/dist/ui/_nuxt/32ctXXKs.js +1 -0
  15. package/dist/ui/_nuxt/3e1v2bzS.js +1 -0
  16. package/dist/ui/_nuxt/4A_iFExJ.js +1 -0
  17. package/dist/ui/_nuxt/5VeTt0Ye.js +1 -0
  18. package/dist/ui/_nuxt/5i3qLPDT.js +1 -0
  19. package/dist/ui/_nuxt/85-TOEBH.js +1 -0
  20. package/dist/ui/_nuxt/8syuri0t.js +1 -0
  21. package/dist/ui/_nuxt/B0m2ddpp.js +1 -0
  22. package/dist/ui/_nuxt/B1dDrJ26.js +1 -0
  23. package/dist/ui/_nuxt/B1yitclQ.js +1 -0
  24. package/dist/ui/_nuxt/B5q1GTce.js +1 -0
  25. package/dist/ui/_nuxt/B6aJPvgy.js +1 -0
  26. package/dist/ui/_nuxt/B6eN_cS4.js +1 -0
  27. package/dist/ui/_nuxt/B7c-h3xW.js +1 -0
  28. package/dist/ui/_nuxt/B7mTdjB0.js +1 -0
  29. package/dist/ui/_nuxt/BA47KaF1.js +1 -0
  30. package/dist/ui/_nuxt/BBf5iR-q.js +1 -0
  31. package/dist/ui/_nuxt/BEDo0Tqx.js +1 -0
  32. package/dist/ui/_nuxt/BERRCDM3.js +1 -0
  33. package/dist/ui/_nuxt/BETggiCN.js +1 -0
  34. package/dist/ui/_nuxt/BEwlwnbL.js +1 -0
  35. package/dist/ui/_nuxt/BFfxhgS-.js +1 -0
  36. package/dist/ui/_nuxt/BGJmEYvX.js +1 -0
  37. package/dist/ui/_nuxt/BH7IYjvW.js +1 -0
  38. package/dist/ui/_nuxt/BIGW1oBm.js +1 -0
  39. package/dist/ui/_nuxt/BIv1doCn.js +1 -0
  40. package/dist/ui/_nuxt/BJDFO7_C.js +1 -0
  41. package/dist/ui/_nuxt/BLtJtn59.js +1 -0
  42. package/dist/ui/_nuxt/BM1_JUlF.js +1 -0
  43. package/dist/ui/_nuxt/BMWR74SV.js +1 -0
  44. package/dist/ui/_nuxt/BPQ3VLAy.js +1 -0
  45. package/dist/ui/_nuxt/BQ8w6xss.js +1 -0
  46. package/dist/ui/_nuxt/BRHolxvo.js +1 -0
  47. package/dist/ui/_nuxt/BRZ36xJF.js +1 -0
  48. package/dist/ui/_nuxt/BTJTHyun.js +1 -0
  49. package/dist/ui/_nuxt/BTifaqeh.js +1 -0
  50. package/dist/ui/_nuxt/BUtzH8cE.js +1 -0
  51. package/dist/ui/_nuxt/BUw7H-hv.js +1 -0
  52. package/dist/ui/_nuxt/BV7otONQ.js +1 -0
  53. package/dist/ui/_nuxt/BVQ-GDCI.js +1 -0
  54. package/dist/ui/_nuxt/BVkGXMyj.js +1 -0
  55. package/dist/ui/_nuxt/BWvSN4gD.js +1 -0
  56. package/dist/ui/_nuxt/BXkSAIEj.js +1 -0
  57. package/dist/ui/_nuxt/BYunw83y.js +1 -0
  58. package/dist/ui/_nuxt/BZvkOJ9d.js +1 -0
  59. package/dist/ui/_nuxt/B_m7g4N7.js +1 -0
  60. package/dist/ui/_nuxt/BcOcwvcX.js +1 -0
  61. package/dist/ui/_nuxt/BcVCzyr7.js +1 -0
  62. package/dist/ui/_nuxt/BcllPdc-.js +1 -0
  63. package/dist/ui/_nuxt/BdImnpbu.js +1 -0
  64. package/dist/ui/_nuxt/BdnUsdx6.js +1 -0
  65. package/dist/ui/_nuxt/BeJSdlF9.js +1 -0
  66. package/dist/ui/_nuxt/BfHTSMKl.js +1 -0
  67. package/dist/ui/_nuxt/BfSCyJF4.js +1 -0
  68. package/dist/ui/_nuxt/BfjtVDDH.js +1 -0
  69. package/dist/ui/_nuxt/BgDCqdQA.js +1 -0
  70. package/dist/ui/_nuxt/BhOHFoWU.js +1 -0
  71. package/dist/ui/_nuxt/BhrAK1vL.js +1 -0
  72. package/dist/ui/_nuxt/BkioyH1T.js +1 -0
  73. package/dist/ui/_nuxt/Bkuqu6BP.js +1 -0
  74. package/dist/ui/_nuxt/BmXAJ9_W.js +1 -0
  75. package/dist/ui/_nuxt/Bmn6On1c.js +1 -0
  76. package/dist/ui/_nuxt/Bp3cYrEr.js +1 -0
  77. package/dist/ui/_nuxt/Bp6g37R7.js +1 -0
  78. package/dist/ui/_nuxt/BqNa2AkI.js +1 -0
  79. package/dist/ui/_nuxt/BqTXFGrv.js +1 -0
  80. package/dist/ui/_nuxt/BqYA7rlc.js +1 -0
  81. package/dist/ui/_nuxt/Br6cN0cg.js +1 -0
  82. package/dist/ui/_nuxt/BsS91CYL.js +1 -0
  83. package/dist/ui/_nuxt/BshV_Xbc.js +1 -0
  84. package/dist/ui/_nuxt/BspZqrRM.js +1 -0
  85. package/dist/ui/_nuxt/BtCnVYZw.js +1 -0
  86. package/dist/ui/_nuxt/BtOb2qkB.js +1 -0
  87. package/dist/ui/_nuxt/BthQWCQV.js +1 -0
  88. package/dist/ui/_nuxt/BtqSS_iP.js +1 -0
  89. package/dist/ui/_nuxt/Buea-lGh.js +1 -0
  90. package/dist/ui/_nuxt/Bv_4Rxtq.js +1 -0
  91. package/dist/ui/_nuxt/BvzEVeQv.js +1 -0
  92. package/dist/ui/_nuxt/Bw305WKR.js +1 -0
  93. package/dist/ui/_nuxt/BxgE0vQu.js +1 -0
  94. package/dist/ui/_nuxt/BzJJZx-M.js +1 -0
  95. package/dist/ui/_nuxt/C-HG3fhB.js +1 -0
  96. package/dist/ui/_nuxt/C-SQnVFl.js +1 -0
  97. package/dist/ui/_nuxt/C0HS_06l.js +1 -0
  98. package/dist/ui/_nuxt/C0hk2d4L.js +1 -0
  99. package/dist/ui/_nuxt/C151Ov-r.js +1 -0
  100. package/dist/ui/_nuxt/C27-OAKa.js +1 -0
  101. package/dist/ui/_nuxt/C2t-YnRu.js +1 -0
  102. package/dist/ui/_nuxt/C39BiMTA.js +1 -0
  103. package/dist/ui/_nuxt/C3B-1QV4.js +1 -0
  104. package/dist/ui/_nuxt/C3Wv6jpd.js +1 -0
  105. package/dist/ui/_nuxt/C3mMm8J8.js +1 -0
  106. package/dist/ui/_nuxt/C4EeE6gA.js +1 -0
  107. package/dist/ui/_nuxt/C4IJs8-o.js +1 -0
  108. package/dist/ui/_nuxt/C4gqWexZ.js +1 -0
  109. package/dist/ui/_nuxt/C4zNGwhW.js +1 -0
  110. package/dist/ui/_nuxt/C5BYcBs_.js +1 -0
  111. package/dist/ui/_nuxt/C5YyOfLZ.js +1 -0
  112. package/dist/ui/_nuxt/C7UmGho8.js +1 -0
  113. package/dist/ui/_nuxt/C7zT0LnQ.js +1 -0
  114. package/dist/ui/_nuxt/C8M2exoo.js +1 -0
  115. package/dist/ui/_nuxt/C8lEn-DE.js +1 -0
  116. package/dist/ui/_nuxt/C98Dy4si.js +1 -0
  117. package/dist/ui/_nuxt/C9dUb6Cb.js +1 -0
  118. package/dist/ui/_nuxt/C9oPPf7i.js +1 -0
  119. package/dist/ui/_nuxt/C9tS-k6U.js +1 -0
  120. package/dist/ui/_nuxt/CAFt9gP4.js +1 -0
  121. package/dist/ui/_nuxt/CANp3yme.js +1 -0
  122. package/dist/ui/_nuxt/CBaQQc7g.js +1 -0
  123. package/dist/ui/_nuxt/CDBrVQLm.js +1 -0
  124. package/dist/ui/_nuxt/CDVJQ6XC.js +1 -0
  125. package/dist/ui/_nuxt/CDx5xZoG.js +1 -0
  126. package/dist/ui/_nuxt/CEL-wOlO.js +1 -0
  127. package/dist/ui/_nuxt/CEu0bR-o.js +1 -0
  128. package/dist/ui/_nuxt/CFHQjOhq.js +1 -0
  129. package/dist/ui/_nuxt/CFbOZP3I.js +75 -0
  130. package/dist/ui/_nuxt/CG6Dc4jp.js +1 -0
  131. package/dist/ui/_nuxt/CG8Ifv2g.js +1 -0
  132. package/dist/ui/_nuxt/CH1njM8p.js +1 -0
  133. package/dist/ui/_nuxt/CHLpvVh8.js +1 -0
  134. package/dist/ui/_nuxt/CHM0blh-.js +1 -0
  135. package/dist/ui/_nuxt/CJc9bBzg.js +1 -0
  136. package/dist/ui/_nuxt/CKIfxQSi.js +1 -0
  137. package/dist/ui/_nuxt/CLj8gQPS.js +1 -0
  138. package/dist/ui/_nuxt/CLxacb5B.js +1 -0
  139. package/dist/ui/_nuxt/CMTm3GFP.js +1 -0
  140. package/dist/ui/_nuxt/CO1LY3CK.js +1 -0
  141. package/dist/ui/_nuxt/COcwbKMJ.js +1 -0
  142. package/dist/ui/_nuxt/COkxafJQ.js +1 -0
  143. package/dist/ui/_nuxt/COt5Ahok.js +1 -0
  144. package/dist/ui/_nuxt/CRBrlGZW.js +1 -0
  145. package/dist/ui/_nuxt/CS3Unz2-.js +1 -0
  146. package/dist/ui/_nuxt/CSXwinHm.js +1 -0
  147. package/dist/ui/_nuxt/CTRr51gU.js +1 -0
  148. package/dist/ui/_nuxt/CUuTKBJd.js +1 -0
  149. package/dist/ui/_nuxt/CVO1_9PV.js +1 -0
  150. package/dist/ui/_nuxt/CVdnzihN.js +1 -0
  151. package/dist/ui/_nuxt/CXtECtnM.js +1 -0
  152. package/dist/ui/_nuxt/CXvaQtF9.js +1 -0
  153. package/dist/ui/_nuxt/CYsAdtH9.js +1 -0
  154. package/dist/ui/_nuxt/CafNBF8u.js +1 -0
  155. package/dist/ui/_nuxt/CbFg5uaA.js +1 -0
  156. package/dist/ui/_nuxt/CbfX1IO0.js +1 -0
  157. package/dist/ui/_nuxt/CcsQSqEB.js +1 -0
  158. package/dist/ui/_nuxt/CeAyd5Ju.js +1 -0
  159. package/dist/ui/_nuxt/CeZK1NFH.js +1 -0
  160. package/dist/ui/_nuxt/CenWIFCC.js +1 -0
  161. package/dist/ui/_nuxt/CfQXZHmo.js +1 -0
  162. package/dist/ui/_nuxt/Cg-RD9OK.js +1 -0
  163. package/dist/ui/_nuxt/ChMvpjG-.js +1 -0
  164. package/dist/ui/_nuxt/Cj5Yp3dK.js +1 -0
  165. package/dist/ui/_nuxt/CkByrt1z.js +1 -0
  166. package/dist/ui/_nuxt/CkXjmgJE.js +1 -0
  167. package/dist/ui/_nuxt/CklMAg4u.js +1 -0
  168. package/dist/ui/_nuxt/Cmh6b_Ma.js +1 -0
  169. package/dist/ui/_nuxt/CnnmHF94.js +1 -0
  170. package/dist/ui/_nuxt/CnsnAmq5.js +1 -0
  171. package/dist/ui/_nuxt/Co6uUVPk.js +1 -0
  172. package/dist/ui/_nuxt/CoDkCxhg.js +1 -0
  173. package/dist/ui/_nuxt/Cp-IABpG.js +1 -0
  174. package/dist/ui/_nuxt/Cp8Y5tLI.js +1 -0
  175. package/dist/ui/_nuxt/Cq5zzVJU.js +1 -0
  176. package/dist/ui/_nuxt/CquLrc37.js +1 -0
  177. package/dist/ui/_nuxt/Cs0ovY-E.js +1 -0
  178. package/dist/ui/_nuxt/CsfeWuGM.js +1 -0
  179. package/dist/ui/_nuxt/Csfq5Kiy.js +1 -0
  180. package/dist/ui/_nuxt/CuPHTKiy.js +1 -0
  181. package/dist/ui/_nuxt/CufHLc7y.js +1 -0
  182. package/dist/ui/_nuxt/Cuk6v7N8.js +1 -0
  183. package/dist/ui/_nuxt/Cvjx9yec.js +1 -0
  184. package/dist/ui/_nuxt/CwoSXNpI.js +1 -0
  185. package/dist/ui/_nuxt/CxGSJlkm.js +1 -0
  186. package/dist/ui/_nuxt/CxbxFI8M.js +1 -0
  187. package/dist/ui/_nuxt/CyktbL80.js +1 -0
  188. package/dist/ui/_nuxt/CylS5w8V.js +1 -0
  189. package/dist/ui/_nuxt/Cz2AlsmD.js +1 -0
  190. package/dist/ui/_nuxt/CzTSHFRz.js +1 -0
  191. package/dist/ui/_nuxt/D-2ljcwZ.js +1 -0
  192. package/dist/ui/_nuxt/D0YGMca9.js +1 -0
  193. package/dist/ui/_nuxt/D0r3Knsf.js +1 -0
  194. package/dist/ui/_nuxt/D17OF-Vu.js +1 -0
  195. package/dist/ui/_nuxt/D1j8_8rp.js +1 -0
  196. package/dist/ui/_nuxt/D2j5LXpq.js +1 -0
  197. package/dist/ui/_nuxt/D3apom_0.js +1 -0
  198. package/dist/ui/_nuxt/D3lLCCz7.js +1 -0
  199. package/dist/ui/_nuxt/D4Qn4bBI.js +1 -0
  200. package/dist/ui/_nuxt/D4_iv3hh.js +1 -0
  201. package/dist/ui/_nuxt/D4h5O-jR.js +1 -0
  202. package/dist/ui/_nuxt/D5-asLiD.js +1 -0
  203. package/dist/ui/_nuxt/D53aC0YG.js +1 -0
  204. package/dist/ui/_nuxt/D5KoaKCx.js +1 -0
  205. package/dist/ui/_nuxt/D7o27uSR.js +1 -0
  206. package/dist/ui/_nuxt/D7oLnXFd.js +1 -0
  207. package/dist/ui/_nuxt/D82EKSYY.js +1 -0
  208. package/dist/ui/_nuxt/D82vCrfD.js +1 -0
  209. package/dist/ui/_nuxt/D87Tk5Gz.js +1 -0
  210. package/dist/ui/_nuxt/D8_7TLub.js +1 -0
  211. package/dist/ui/_nuxt/D8l8udqQ.js +1 -0
  212. package/dist/ui/_nuxt/D8rZpOte.js +1 -0
  213. package/dist/ui/_nuxt/D93ZcfNL.js +1 -0
  214. package/dist/ui/_nuxt/D97Zzqfu.js +1 -0
  215. package/dist/ui/_nuxt/DAi9KRSo.js +1 -0
  216. package/dist/ui/_nuxt/DElX3lK9.js +153 -0
  217. package/dist/ui/_nuxt/DFQXde-d.js +1 -0
  218. package/dist/ui/_nuxt/DFWUc33u.js +1 -0
  219. package/dist/ui/_nuxt/DFXneXwc.js +1 -0
  220. package/dist/ui/_nuxt/DGztddWO.js +1 -0
  221. package/dist/ui/_nuxt/DH5Ifo-i.js +1 -0
  222. package/dist/ui/_nuxt/DHCkPAjA.js +1 -0
  223. package/dist/ui/_nuxt/DHJKELXO.js +1 -0
  224. package/dist/ui/_nuxt/DHQR4-dF.js +1 -0
  225. package/dist/ui/_nuxt/DM8c43g1.js +1 -0
  226. package/dist/ui/_nuxt/DMk3OuwW.js +1 -0
  227. package/dist/ui/_nuxt/DMzUqQB5.js +1 -0
  228. package/dist/ui/_nuxt/DN-Z_aST.js +1 -0
  229. package/dist/ui/_nuxt/DQyhUUbL.js +1 -0
  230. package/dist/ui/_nuxt/DRg8JJMk.js +1 -0
  231. package/dist/ui/_nuxt/DRw_LuNl.js +1 -0
  232. package/dist/ui/_nuxt/DSSpBswy.js +1 -0
  233. package/dist/ui/_nuxt/DT3CNIhV.js +1 -0
  234. package/dist/ui/_nuxt/DU1UobuO.js +1 -0
  235. package/dist/ui/_nuxt/DUszq2jm.js +1 -0
  236. package/dist/ui/_nuxt/DV7GczEv.js +1 -0
  237. package/dist/ui/_nuxt/DVFEvuxE.js +1 -0
  238. package/dist/ui/_nuxt/DVMEJ2y_.js +1 -0
  239. package/dist/ui/_nuxt/DVxCFoDh.js +1 -0
  240. package/dist/ui/_nuxt/DWX1VroF.js +1 -0
  241. package/dist/ui/_nuxt/DWedfzmr.js +1 -0
  242. package/dist/ui/_nuxt/DWrx1Km3.js +1 -0
  243. package/dist/ui/_nuxt/DXbdFlpD.js +1 -0
  244. package/dist/ui/_nuxt/DXmwc3jG.js +1 -0
  245. package/dist/ui/_nuxt/DXvB9xmW.js +1 -0
  246. package/dist/ui/_nuxt/DYE7WIF3.js +1 -0
  247. package/dist/ui/_nuxt/DZ9PSxVF.js +1 -0
  248. package/dist/ui/_nuxt/DZxFcAj9.js +1 -0
  249. package/dist/ui/_nuxt/D_Q5rh1f.js +1 -0
  250. package/dist/ui/_nuxt/Da5cRb03.js +1 -0
  251. package/dist/ui/_nuxt/DbWOdLaN.js +1 -0
  252. package/dist/ui/_nuxt/Dc-5oQ3p.js +1 -0
  253. package/dist/ui/_nuxt/DcWK9jms.js +1 -0
  254. package/dist/ui/_nuxt/DcaNXYhu.js +1 -0
  255. package/dist/ui/_nuxt/Dd19v3D-.js +1 -0
  256. package/dist/ui/_nuxt/DdkO51Og.js +1 -0
  257. package/dist/ui/_nuxt/Ddv68eIx.js +1 -0
  258. package/dist/ui/_nuxt/Des-eS-w.js +1 -0
  259. package/dist/ui/_nuxt/Df6bDoY_.js +1 -0
  260. package/dist/ui/_nuxt/DfNjGIrv.js +1 -0
  261. package/dist/ui/_nuxt/DhaVEd23.js +1 -0
  262. package/dist/ui/_nuxt/DjAJT7YJ.js +1 -0
  263. package/dist/ui/_nuxt/DkFqJrB1.js +1 -0
  264. package/dist/ui/_nuxt/DkwncUOv.js +1 -0
  265. package/dist/ui/_nuxt/DlAUqK2U.js +1 -0
  266. package/dist/ui/_nuxt/DnF83RMp.js +1 -0
  267. package/dist/ui/_nuxt/DnULxvSX.js +1 -0
  268. package/dist/ui/_nuxt/Dpen1YoG.js +1 -0
  269. package/dist/ui/_nuxt/Dph4kLrZ.js +1 -0
  270. package/dist/ui/_nuxt/DqQDbK_p.js +1 -0
  271. package/dist/ui/_nuxt/DqwNpetd.js +1 -0
  272. package/dist/ui/_nuxt/DsOJ9woJ.js +1 -0
  273. package/dist/ui/_nuxt/Dspwwk_N.js +1 -0
  274. package/dist/ui/_nuxt/Dx-B1_4e.js +1 -0
  275. package/dist/ui/_nuxt/DyxjwDmM.js +1 -0
  276. package/dist/ui/_nuxt/E3gJ1_iC.js +1 -0
  277. package/dist/ui/_nuxt/GsRaNv29.js +1 -0
  278. package/dist/ui/_nuxt/IF9eRakj.js +1 -0
  279. package/dist/ui/_nuxt/IeuSbFQv.js +1 -0
  280. package/dist/ui/_nuxt/JZbLTBME.js +1 -0
  281. package/dist/ui/_nuxt/L9t79GZl.js +1 -0
  282. package/dist/ui/_nuxt/MzD3tlZU.js +1 -0
  283. package/dist/ui/_nuxt/P80f7IUj.js +1 -0
  284. package/dist/ui/_nuxt/Pmp26Uib.js +1 -0
  285. package/dist/ui/_nuxt/QIJgUcNo.js +1 -0
  286. package/dist/ui/_nuxt/VOosw3JB.js +1 -0
  287. package/dist/ui/_nuxt/Ve4PFQV2.js +1 -0
  288. package/dist/ui/_nuxt/W9tJ9s81.js +1 -0
  289. package/dist/ui/_nuxt/Yzrsuije.js +1 -0
  290. package/dist/ui/_nuxt/_H4v1dQx.js +1 -0
  291. package/dist/ui/_nuxt/_ykCGR6B.js +1 -0
  292. package/dist/ui/_nuxt/bCR0ucgS.js +1 -0
  293. package/dist/ui/_nuxt/bE4Kk8sk.js +1 -0
  294. package/dist/ui/_nuxt/bN70gL4F.js +1 -0
  295. package/dist/ui/_nuxt/builds/latest.json +1 -1
  296. package/dist/ui/_nuxt/builds/meta/12d68071-f4db-447f-b929-9033d66eadc3.json +1 -0
  297. package/dist/ui/_nuxt/dwOrl1Do.js +1 -0
  298. package/dist/ui/_nuxt/entry.DfrFFNxd.css +1 -0
  299. package/dist/ui/_nuxt/eo99z4R2.js +1 -0
  300. package/dist/ui/_nuxt/error-404.C93cll2q.css +1 -0
  301. package/dist/ui/_nuxt/error-500.CPQqaJsC.css +1 -0
  302. package/dist/ui/_nuxt/fuZLfV_i.js +1 -0
  303. package/dist/ui/_nuxt/g9-lgVsj.js +1 -0
  304. package/dist/ui/_nuxt/gcz8RCvz.js +1 -0
  305. package/dist/ui/_nuxt/hJgmCMqR.js +1 -0
  306. package/dist/ui/_nuxt/hegEt444.js +1 -0
  307. package/dist/ui/_nuxt/k_qm7-4y.js +1 -0
  308. package/dist/ui/_nuxt/lBpI9LM0.js +1 -0
  309. package/dist/ui/_nuxt/lXgVvXCa.js +1 -0
  310. package/dist/ui/_nuxt/mWjccvbQ.js +1 -0
  311. package/dist/ui/_nuxt/n2N0HUVH.js +1 -0
  312. package/dist/ui/_nuxt/oH_c3LbQ.js +1 -0
  313. package/dist/ui/_nuxt/qdsjHGoJ.js +1 -0
  314. package/dist/ui/_nuxt/rGO070M0.js +1 -0
  315. package/dist/ui/_nuxt/rZm6bMo-.js +1 -0
  316. package/dist/ui/_nuxt/rgL8RFrC.js +1 -0
  317. package/dist/ui/_nuxt/u5AG7uiY.js +1 -0
  318. package/dist/ui/_nuxt/uYugtg8r.js +1 -0
  319. package/dist/ui/_nuxt/vE_lwT2v.js +1 -0
  320. package/dist/ui/_nuxt/vGWfd6FD.js +1 -0
  321. package/dist/ui/_nuxt/wDzz0qaB.js +1 -0
  322. package/dist/ui/_nuxt/wEQ09or8.js +1 -0
  323. package/dist/ui/_nuxt/yv6CvBhz.js +1 -0
  324. package/dist/ui/index.html +1 -1
  325. package/package.json +21 -22
  326. package/dist/ui/_nuxt/BR_H8Y5I.js +0 -3
  327. package/dist/ui/_nuxt/Cr8ZhsI1.js +0 -3
  328. package/dist/ui/_nuxt/D7-M_06k.js +0 -1
  329. package/dist/ui/_nuxt/DFs1tY5L.js +0 -2
  330. package/dist/ui/_nuxt/DSg5v247.js +0 -1
  331. package/dist/ui/_nuxt/_eJq5waD.js +0 -1
  332. package/dist/ui/_nuxt/builds/meta/560d1a3b-6050-40f3-af12-eecaef34ee9e.json +0 -1
  333. package/dist/ui/_nuxt/entry.CpgMGkX_.css +0 -1
  334. package/dist/ui/_nuxt/error-404.Cl81wDDB.css +0 -1
  335. package/dist/ui/_nuxt/error-500.eY3F7Rvm.css +0 -1
@@ -0,0 +1,249 @@
1
+ //#region src/types/config.d.ts
2
+ interface GhfsUserConfig {
3
+ /**
4
+ * The repository to sync.
5
+ *
6
+ * Will try to detect the repository from the current working directory or the `package.json` file.
7
+ */
8
+ repo?: string;
9
+ /**
10
+ * The directory to store the synced issues and pull requests.
11
+ *
12
+ * @default '.ghfs'
13
+ */
14
+ directory?: string;
15
+ /**
16
+ * The authentication configuration.
17
+ */
18
+ auth?: {
19
+ /**
20
+ * The GitHub personal access token to use for authentication.
21
+ *
22
+ * When not provided, will try to get the token from `gh auth token` or the environment variables `GH_TOKEN` or `GITHUB_TOKEN`.
23
+ */
24
+ token?: string;
25
+ };
26
+ sync?: {
27
+ /**
28
+ * Whether to sync issues.
29
+ *
30
+ * @default true
31
+ */
32
+ issues?: boolean;
33
+ /**
34
+ * Whether to sync pull requests.
35
+ *
36
+ * @default true
37
+ */
38
+ pulls?: boolean;
39
+ /**
40
+ * When to sync closed issues and pull requests.
41
+ *
42
+ * - `true`: sync all closed issues and pull requests.
43
+ * - `false`: don't sync any closed issues and pull requests. And delete any existing closed issues and pull requests from the local filesystem.
44
+ *
45
+ * @default false
46
+ */
47
+ closed?: boolean;
48
+ /**
49
+ * When to download the pull request patch files.
50
+ *
51
+ * - `'open'`: only download open pull request patch files.
52
+ * - `'all'`: download all pull request patch files.
53
+ * - `false`: don't download any pull request patch files.
54
+ *
55
+ * @default 'open'
56
+ */
57
+ patches?: 'open' | 'all' | false;
58
+ };
59
+ }
60
+ type GhfsResolvedConfig = Required<GhfsUserConfig> & {
61
+ cwd: string;
62
+ auth: Required<GhfsUserConfig['auth']>;
63
+ sync: Required<GhfsUserConfig['sync']>;
64
+ };
65
+ //#endregion
66
+ //#region src/types/issue.d.ts
67
+ type IssueKind = 'issue' | 'pull';
68
+ type IssueState = 'open' | 'closed';
69
+ //#endregion
70
+ //#region src/types/provider.d.ts
71
+ interface ProviderReactions {
72
+ totalCount: number;
73
+ plusOne: number;
74
+ minusOne: number;
75
+ laugh: number;
76
+ hooray: number;
77
+ confused: number;
78
+ heart: number;
79
+ rocket: number;
80
+ eyes: number;
81
+ }
82
+ type IssueStateReason = 'completed' | 'not_planned' | 'reopened';
83
+ interface ProviderItem {
84
+ number: number;
85
+ kind: IssueKind;
86
+ url?: string;
87
+ state: IssueState;
88
+ stateReason?: IssueStateReason | null;
89
+ updatedAt: string;
90
+ createdAt: string;
91
+ closedAt: string | null;
92
+ title: string;
93
+ body: string | null;
94
+ author: string | null;
95
+ labels: string[];
96
+ assignees: string[];
97
+ milestone: string | null;
98
+ reactions?: ProviderReactions;
99
+ }
100
+ interface ProviderComment {
101
+ id: number;
102
+ body: string | null;
103
+ createdAt: string;
104
+ updatedAt: string;
105
+ author: string | null;
106
+ reactions?: ProviderReactions;
107
+ }
108
+ interface ProviderPullMetadata {
109
+ isDraft: boolean;
110
+ merged: boolean;
111
+ mergedAt: string | null;
112
+ baseRef: string;
113
+ headRef: string;
114
+ requestedReviewers: string[];
115
+ }
116
+ interface ProviderCommit {
117
+ sha: string;
118
+ message: string;
119
+ authorLogin: string | null;
120
+ authorName: string | null;
121
+ authorDate: string;
122
+ committerLogin: string | null;
123
+ committerDate: string;
124
+ url?: string;
125
+ }
126
+ type ProviderTimelineEventKind = 'committed' | 'closed' | 'reopened' | 'merged' | 'labeled' | 'unlabeled' | 'assigned' | 'unassigned' | 'review_requested' | 'review_request_removed' | 'reviewed' | 'commented' | 'renamed' | 'head_ref_force_pushed' | 'head_ref_deleted' | 'head_ref_restored' | 'locked' | 'unlocked' | 'ready_for_review' | 'convert_to_draft' | 'referenced' | 'cross-referenced' | 'unknown';
127
+ type ProviderReviewState = 'approved' | 'changes_requested' | 'commented' | 'dismissed' | 'pending';
128
+ interface ProviderTimelineEvent {
129
+ id: string;
130
+ kind: ProviderTimelineEventKind;
131
+ createdAt: string;
132
+ actor: string | null;
133
+ sha?: string;
134
+ commitMessage?: string;
135
+ label?: {
136
+ name: string;
137
+ color: string;
138
+ };
139
+ assignee?: string;
140
+ requestedReviewer?: string;
141
+ review?: {
142
+ state: ProviderReviewState;
143
+ body: string | null;
144
+ submittedAt: string;
145
+ };
146
+ commentId?: number;
147
+ body?: string | null;
148
+ rename?: {
149
+ from: string;
150
+ to: string;
151
+ };
152
+ stateReason?: string | null;
153
+ }
154
+ interface ProviderRepository {
155
+ name: string;
156
+ full_name: string;
157
+ description: string | null;
158
+ private: boolean;
159
+ archived: boolean;
160
+ default_branch: string;
161
+ html_url: string;
162
+ fork: boolean;
163
+ open_issues_count: number;
164
+ has_issues: boolean;
165
+ has_projects: boolean;
166
+ has_wiki: boolean;
167
+ created_at: string;
168
+ updated_at: string;
169
+ pushed_at: string | null;
170
+ owner: {
171
+ login: string;
172
+ };
173
+ }
174
+ interface ProviderLabel {
175
+ name: string;
176
+ color: string;
177
+ description: string | null;
178
+ default: boolean;
179
+ }
180
+ interface ProviderAuthenticatedUser {
181
+ login: string;
182
+ name: string | null;
183
+ avatarUrl: string;
184
+ }
185
+ interface ProviderMilestone {
186
+ number: number;
187
+ title: string;
188
+ state: 'open' | 'closed';
189
+ description: string | null;
190
+ due_on: string | null;
191
+ open_issues: number;
192
+ closed_issues: number;
193
+ created_at: string;
194
+ updated_at: string;
195
+ closed_at: string | null;
196
+ }
197
+ interface ProviderItemSnapshot {
198
+ number: number;
199
+ kind: IssueKind;
200
+ updatedAt: string | null;
201
+ }
202
+ interface ProviderUpdateCounts {
203
+ issues: number;
204
+ pulls: number;
205
+ }
206
+ type ProviderLockReason = 'resolved' | 'off-topic' | 'too heated' | 'too-heated' | 'spam';
207
+ interface PaginateItemsOptions {
208
+ state: IssueState | 'all';
209
+ since?: string;
210
+ }
211
+ interface RepositoryProvider {
212
+ paginateItems: (options: PaginateItemsOptions) => AsyncIterable<ProviderItem[]>;
213
+ fetchItems: (options: PaginateItemsOptions) => Promise<ProviderItem[]>;
214
+ eachItem: (options: PaginateItemsOptions) => AsyncIterable<ProviderItem>;
215
+ fetchItemsByNumbers: (numbers: number[]) => Promise<ProviderItem[]>;
216
+ fetchComments: (number: number) => Promise<ProviderComment[]>;
217
+ fetchPullMetadata: (number: number) => Promise<ProviderPullMetadata>;
218
+ fetchPullPatch: (number: number) => Promise<string>;
219
+ fetchPullCommits: (number: number) => Promise<ProviderCommit[]>;
220
+ fetchTimeline: (number: number) => Promise<ProviderTimelineEvent[]>;
221
+ fetchItemSnapshot: (number: number) => Promise<ProviderItemSnapshot>;
222
+ fetchRepository: () => Promise<ProviderRepository>;
223
+ fetchRepositoryLabels: () => Promise<ProviderLabel[]>;
224
+ fetchRepositoryMilestones: () => Promise<ProviderMilestone[]>;
225
+ fetchAuthenticatedUser: () => Promise<ProviderAuthenticatedUser | null>;
226
+ countUpdatedSince: (since: string) => Promise<ProviderUpdateCounts>;
227
+ getRequestCount: () => number;
228
+ actionClose: (number: number) => Promise<void>;
229
+ actionReopen: (number: number) => Promise<void>;
230
+ actionSetTitle: (number: number, title: string) => Promise<void>;
231
+ actionSetBody: (number: number, body: string) => Promise<void>;
232
+ actionAddComment: (number: number, body: string) => Promise<void>;
233
+ actionAddLabels: (number: number, labels: string[]) => Promise<void>;
234
+ actionRemoveLabels: (number: number, labels: string[]) => Promise<void>;
235
+ actionSetLabels: (number: number, labels: string[]) => Promise<void>;
236
+ actionAddAssignees: (number: number, assignees: string[]) => Promise<void>;
237
+ actionRemoveAssignees: (number: number, assignees: string[]) => Promise<void>;
238
+ actionSetAssignees: (number: number, assignees: string[]) => Promise<void>;
239
+ actionSetMilestone: (number: number, milestone: string | number) => Promise<void>;
240
+ actionClearMilestone: (number: number) => Promise<void>;
241
+ actionLock: (number: number, reason?: ProviderLockReason) => Promise<void>;
242
+ actionUnlock: (number: number) => Promise<void>;
243
+ actionRequestReviewers: (number: number, reviewers: string[]) => Promise<void>;
244
+ actionRemoveReviewers: (number: number, reviewers: string[]) => Promise<void>;
245
+ actionMarkReadyForReview: (number: number) => Promise<void>;
246
+ actionConvertToDraft: (number: number) => Promise<void>;
247
+ }
248
+ //#endregion
249
+ export { ProviderItemSnapshot as a, ProviderTimelineEvent as c, IssueState as d, GhfsResolvedConfig as f, ProviderItem as i, RepositoryProvider as l, ProviderComment as n, ProviderLockReason as o, GhfsUserConfig as p, ProviderCommit as r, ProviderPullMetadata as s, PaginateItemsOptions as t, IssueKind as u };
@@ -0,0 +1,330 @@
1
+ import { c as ProviderTimelineEvent, d as IssueState, f as GhfsResolvedConfig, i as ProviderItem, n as ProviderComment, r as ProviderCommit, s as ProviderPullMetadata, u as IssueKind } from "../provider-DCIsHVeA.mjs";
2
+
3
+ //#region src/types/execution.d.ts
4
+ interface ExecutionResult {
5
+ runId: string;
6
+ createdAt: string;
7
+ mode: 'report' | 'apply';
8
+ repo: string;
9
+ applied: number;
10
+ planned: number;
11
+ failed: number;
12
+ details: Array<{
13
+ op: number;
14
+ action: string;
15
+ number: number;
16
+ target?: IssueKind;
17
+ status: 'planned' | 'applied' | 'failed' | 'skipped';
18
+ message: string;
19
+ }>;
20
+ }
21
+ //#endregion
22
+ //#region src/types/sync-state.d.ts
23
+ type SyncRunStage = 'metadata' | 'pagination' | 'fetch' | 'materialize' | 'prune' | 'save';
24
+ interface SyncRunCounters {
25
+ scanned: number;
26
+ selected: number;
27
+ processed: number;
28
+ skipped: number;
29
+ written: number;
30
+ moved: number;
31
+ patchesWritten: number;
32
+ patchesDeleted: number;
33
+ }
34
+ interface SyncRunTelemetry {
35
+ runId: string;
36
+ repo: string;
37
+ startedAt: string;
38
+ finishedAt: string;
39
+ durationMs: number;
40
+ requestCount: number;
41
+ since?: string;
42
+ numbersCount?: number;
43
+ counters: SyncRunCounters;
44
+ stages: Record<SyncRunStage, number>;
45
+ }
46
+ interface SyncItemCanonicalData {
47
+ item: ProviderItem;
48
+ comments: ProviderComment[];
49
+ pull?: ProviderPullMetadata;
50
+ commits?: ProviderCommit[];
51
+ timeline?: ProviderTimelineEvent[];
52
+ }
53
+ interface SyncItemState {
54
+ number: number;
55
+ kind: IssueKind;
56
+ state: IssueState;
57
+ lastUpdatedAt: string;
58
+ lastSyncedAt: string;
59
+ filePath: string;
60
+ patchPath?: string;
61
+ data: SyncItemCanonicalData;
62
+ }
63
+ interface SyncState {
64
+ version: 2;
65
+ ghfsVersion?: string;
66
+ repo?: string;
67
+ lastSyncedAt?: string;
68
+ lastSince?: string;
69
+ lastRepoUpdatedAt?: string;
70
+ lastSyncRun?: SyncRunTelemetry;
71
+ items: Record<string, SyncItemState>;
72
+ executions: ExecutionResult[];
73
+ }
74
+ //#endregion
75
+ //#region src/execute/actions.d.ts
76
+ declare const ACTIONS_SUPPORTED: readonly ["close", "close-with-comment", "reopen", "set-title", "set-body", "add-comment", "add-labels", "remove-labels", "set-labels", "add-assignees", "remove-assignees", "set-assignees", "set-milestone", "clear-milestone", "lock", "unlock", "request-reviewers", "remove-reviewers", "mark-ready-for-review", "convert-to-draft"];
77
+ type ActionName = typeof ACTIONS_SUPPORTED[number];
78
+ //#endregion
79
+ //#region src/execute/types.d.ts
80
+ interface PendingOpBase {
81
+ number: number;
82
+ action: ActionName;
83
+ ifUnchangedSince?: string;
84
+ }
85
+ interface PendingTitleOp extends PendingOpBase {
86
+ action: 'set-title';
87
+ title: string;
88
+ }
89
+ interface PendingBodyOp extends PendingOpBase {
90
+ action: 'set-body';
91
+ body: string;
92
+ }
93
+ interface PendingCommentOp extends PendingOpBase {
94
+ action: 'add-comment' | 'close-with-comment';
95
+ body: string;
96
+ }
97
+ interface PendingLabelsOp extends PendingOpBase {
98
+ action: 'add-labels' | 'remove-labels' | 'set-labels';
99
+ labels: string[];
100
+ }
101
+ interface PendingAssigneesOp extends PendingOpBase {
102
+ action: 'add-assignees' | 'remove-assignees' | 'set-assignees';
103
+ assignees: string[];
104
+ }
105
+ interface PendingSetMilestoneOp extends PendingOpBase {
106
+ action: 'set-milestone';
107
+ milestone: string | number;
108
+ }
109
+ interface PendingLockOp extends PendingOpBase {
110
+ action: 'lock';
111
+ reason?: 'resolved' | 'off-topic' | 'too heated' | 'too-heated' | 'spam';
112
+ }
113
+ interface PendingReviewersOp extends PendingOpBase {
114
+ action: 'request-reviewers' | 'remove-reviewers';
115
+ reviewers: string[];
116
+ }
117
+ interface PendingSimpleOp extends PendingOpBase {
118
+ action: 'close' | 'reopen' | 'clear-milestone' | 'unlock' | 'mark-ready-for-review' | 'convert-to-draft';
119
+ }
120
+ type PendingOp = PendingSimpleOp | PendingTitleOp | PendingBodyOp | PendingCommentOp | PendingLabelsOp | PendingAssigneesOp | PendingSetMilestoneOp | PendingLockOp | PendingReviewersOp;
121
+ //#endregion
122
+ //#region src/sync/contracts.d.ts
123
+ type SyncStage = 'metadata' | 'pagination' | 'fetch' | 'materialize' | 'prune' | 'save';
124
+ interface SyncProgressSnapshot {
125
+ scanned: number;
126
+ selected: number;
127
+ processed: number;
128
+ skipped: number;
129
+ written: number;
130
+ moved: number;
131
+ patchesWritten: number;
132
+ patchesDeleted: number;
133
+ }
134
+ interface SyncSummary {
135
+ repo: string;
136
+ since?: string;
137
+ syncedAt: string;
138
+ totalIssues: number;
139
+ totalPulls: number;
140
+ updatedIssues: number;
141
+ updatedPulls: number;
142
+ trackedItems: number;
143
+ requestCount: number;
144
+ selected: number;
145
+ processed: number;
146
+ skipped: number;
147
+ scanned: number;
148
+ written: number;
149
+ moved: number;
150
+ patchesWritten: number;
151
+ patchesDeleted: number;
152
+ durationMs: number;
153
+ }
154
+ //#endregion
155
+ //#region src/server/ui-state.d.ts
156
+ type PrTabId = 'conversation' | 'commits' | 'changes';
157
+ interface UserOverride {
158
+ login?: string;
159
+ name?: string;
160
+ avatarUrl?: string;
161
+ }
162
+ interface UiState {
163
+ /** Map of issue number (string) → pending comment draft body. */
164
+ drafts: Record<string, string>;
165
+ /** Size (in percent) of the list pane in the Splitpanes layout. */
166
+ listPaneSize?: number;
167
+ /** Last tab selected on the PR detail panel. */
168
+ lastPrTab?: PrTabId;
169
+ /** Override for the authenticated user info shown in the UI. */
170
+ userOverride?: UserOverride;
171
+ }
172
+ //#endregion
173
+ //#region src/server/types.d.ts
174
+ interface CurrentUser {
175
+ login: string;
176
+ name: string | null;
177
+ avatarUrl: string;
178
+ }
179
+ type QueueSource = 'execute.yml' | 'execute.md' | 'per-item';
180
+ interface QueueEntry {
181
+ /** Stable id derived from source+index+action+number; survives refreshes. */
182
+ id: string;
183
+ source: QueueSource;
184
+ /** Index within its source list (ymlOps concat execute.md ops concat per-item ops). */
185
+ index: number;
186
+ op: PendingOp;
187
+ /** Relative file path under the storage directory, for per-item entries. */
188
+ filePath?: string;
189
+ }
190
+ interface QueueState {
191
+ entries: QueueEntry[];
192
+ warnings: string[];
193
+ /** Total queued ops; drives the ↑ counter. */
194
+ upCount: number;
195
+ }
196
+ interface RemoteStatus {
197
+ /** Items updated on GitHub since lastSyncedAt; drives the ↓ counter. */
198
+ downCount: number;
199
+ /** ISO timestamp of the last poll (success or failure). */
200
+ checkedAt: string;
201
+ /** True if poll was never run, failed, or no token is available. */
202
+ stale: boolean;
203
+ /** Optional message explaining stale state (e.g. "Missing token"). */
204
+ message?: string;
205
+ }
206
+ interface RepoMeta {
207
+ repo: string;
208
+ storageDir: string;
209
+ ghfsVersion: string;
210
+ lastSyncedAt?: string;
211
+ lastSince?: string;
212
+ hasToken: boolean;
213
+ }
214
+ interface RepoLabel {
215
+ name: string;
216
+ color: string;
217
+ description: string | null;
218
+ }
219
+ interface InitialPayload {
220
+ repo: RepoMeta;
221
+ syncState: SyncState;
222
+ queue: QueueState;
223
+ remote: RemoteStatus;
224
+ recentExecutions: ExecutionResult[];
225
+ uiState: UiState;
226
+ repositoryLabels: RepoLabel[];
227
+ currentUser: CurrentUser | null;
228
+ }
229
+ interface SyncTriggerOptions {
230
+ full?: boolean;
231
+ since?: string;
232
+ numbers?: number[];
233
+ }
234
+ interface ExecuteTriggerOptions {
235
+ entryIds?: string[];
236
+ continueOnError?: boolean;
237
+ }
238
+ interface SyncProgressPayload {
239
+ stage: SyncStage;
240
+ message?: string;
241
+ snapshot: SyncProgressSnapshot;
242
+ }
243
+ interface ExecuteProgressPayload {
244
+ completed: number;
245
+ planned: number;
246
+ applied: number;
247
+ failed: number;
248
+ detail: ExecutionResult['details'][number];
249
+ }
250
+ interface ServerFunctions {
251
+ getInitialPayload: () => Promise<InitialPayload>;
252
+ getSyncState: () => Promise<SyncState>;
253
+ getQueue: () => Promise<QueueState>;
254
+ getRepoMeta: () => Promise<RepoMeta>;
255
+ triggerSync: (options: SyncTriggerOptions) => Promise<SyncSummary>;
256
+ executeQueue: (options: ExecuteTriggerOptions) => Promise<ExecutionResult>;
257
+ addQueueOp: (op: PendingOp) => Promise<QueueState>;
258
+ updateQueueOp: (id: string, op: PendingOp) => Promise<QueueState>;
259
+ removeQueueOp: (id: string) => Promise<QueueState>;
260
+ clearQueue: () => Promise<QueueState>;
261
+ checkRemote: () => Promise<RemoteStatus>;
262
+ openInEditor: (filePath: string) => Promise<void>;
263
+ saveUiState: (state: UiState) => Promise<void>;
264
+ getPullPatch: (number: number) => Promise<string | null>;
265
+ }
266
+ interface ClientFunctions {
267
+ onSyncStageStart: (payload: {
268
+ stage: SyncStage;
269
+ message: string;
270
+ }) => void;
271
+ onSyncProgress: (payload: SyncProgressPayload) => void;
272
+ onSyncStageEnd: (payload: {
273
+ stage: SyncStage;
274
+ durationMs: number;
275
+ }) => void;
276
+ onSyncComplete: (summary: SyncSummary) => void;
277
+ onSyncError: (message: string) => void;
278
+ onExecuteStart: (payload: {
279
+ planned: number;
280
+ }) => void;
281
+ onExecuteProgress: (payload: ExecuteProgressPayload) => void;
282
+ onExecuteComplete: (result: ExecutionResult) => void;
283
+ onExecuteError: (message: string) => void;
284
+ onSyncStateChange: (state: SyncState) => void;
285
+ onQueueChange: (queue: QueueState) => void;
286
+ onRemoteStatusChange: (status: RemoteStatus) => void;
287
+ }
288
+ //#endregion
289
+ //#region src/server/index.d.ts
290
+ interface UiServerLogger {
291
+ info?: (message: string) => void;
292
+ warn?: (message: string) => void;
293
+ }
294
+ interface PortlessServerOptions {
295
+ enabled: boolean;
296
+ subdomain: string;
297
+ namespace?: string;
298
+ }
299
+ interface CreateUiServerOptions {
300
+ config: GhfsResolvedConfig;
301
+ repo: string;
302
+ initialToken?: string;
303
+ port: number;
304
+ host: string;
305
+ onRequestToken?: () => Promise<string>;
306
+ /** Override the directory serving the prebuilt Nuxt SPA. */
307
+ staticDir?: string;
308
+ /** When true, skip serving static assets (dev proxies to Nuxt dev server). */
309
+ devMode?: boolean;
310
+ /** Poller tick interval; default 60_000. */
311
+ pollerIntervalMs?: number;
312
+ /** When provided and enabled, expose the UI through portless at https://<subdomain>.<namespace>.localhost. */
313
+ portless?: PortlessServerOptions;
314
+ /** Logger for non-fatal notices (e.g. portless fallback). */
315
+ logger?: UiServerLogger;
316
+ }
317
+ interface UiServerHandle {
318
+ /** The preferred URL to open — the portless URL when available, otherwise the direct URL. */
319
+ url: string;
320
+ /** The raw `http://host:port` URL, always available. */
321
+ directUrl: string;
322
+ /** The portless URL when the reverse proxy was set up successfully. */
323
+ portlessUrl?: string;
324
+ port: number;
325
+ host: string;
326
+ close: () => Promise<void>;
327
+ }
328
+ declare function createUiServer(options: CreateUiServerOptions): Promise<UiServerHandle>;
329
+ //#endregion
330
+ export { type ClientFunctions, CreateUiServerOptions, type InitialPayload, PortlessServerOptions, type QueueEntry, type QueueState, type RemoteStatus, type RepoMeta, type ServerFunctions, UiServerHandle, UiServerLogger, createUiServer };
@@ -0,0 +1,2 @@
1
+ import { t as createUiServer } from "../server-BwSU4kqr.mjs";
2
+ export { createUiServer };