squidcloudctl 1.1.3 → 1.1.4

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 (258) hide show
  1. package/dist/auth-revoke-IRZJIB2A.js +2 -0
  2. package/dist/{auth-revoke-B2JBJB36.js.map → auth-revoke-IRZJIB2A.js.map} +1 -1
  3. package/dist/auth-sessions-JZF7HUBL.js +2 -0
  4. package/dist/{auth-sessions-ZPMHJBIJ.js.map → auth-sessions-JZF7HUBL.js.map} +1 -1
  5. package/dist/auth-status-WHT7RXX6.js +2 -0
  6. package/dist/{auth-status-BZGX7ZXN.js.map → auth-status-WHT7RXX6.js.map} +1 -1
  7. package/dist/bin/squidcloud.js +1 -1
  8. package/dist/bin/squidcloud.js.map +1 -1
  9. package/dist/chunk-MU5KHPCI.js +2 -0
  10. package/dist/chunk-MU5KHPCI.js.map +1 -0
  11. package/dist/chunk-PSJQAIDB.js +2 -0
  12. package/dist/chunk-PSJQAIDB.js.map +1 -0
  13. package/dist/chunk-SVR7W7MP.js +3 -0
  14. package/dist/chunk-SVR7W7MP.js.map +1 -0
  15. package/dist/chunk-W6CRHANC.js +2 -0
  16. package/dist/chunk-W6CRHANC.js.map +1 -0
  17. package/dist/client-HD3YWJJJ.js +2 -0
  18. package/dist/{client-RBFTHJQ4.js.map → client-HD3YWJJJ.js.map} +1 -1
  19. package/dist/{collab-activity-LEPWGNXB.js → collab-activity-UNX2PJZE.js} +2 -2
  20. package/dist/{collab-activity-LEPWGNXB.js.map → collab-activity-UNX2PJZE.js.map} +1 -1
  21. package/dist/collab-invite-Y54NCHSB.js +2 -0
  22. package/dist/{collab-invite-6QGPY7SO.js.map → collab-invite-Y54NCHSB.js.map} +1 -1
  23. package/dist/collab-leave-CR4VOXZV.js +2 -0
  24. package/dist/{collab-leave-YMTEY2CZ.js.map → collab-leave-CR4VOXZV.js.map} +1 -1
  25. package/dist/collab-list-BHO5IEAR.js +2 -0
  26. package/dist/{collab-list-AQUFYKGI.js.map → collab-list-BHO5IEAR.js.map} +1 -1
  27. package/dist/collab-remove-XI3NX2M7.js +2 -0
  28. package/dist/{collab-remove-CJSQYEUI.js.map → collab-remove-XI3NX2M7.js.map} +1 -1
  29. package/dist/collab-transfer-U4XXODAN.js +2 -0
  30. package/dist/{collab-transfer-I6O6T3AC.js.map → collab-transfer-U4XXODAN.js.map} +1 -1
  31. package/dist/deploy-5AQMGJ2Q.js +3 -0
  32. package/dist/{deploy-3AMFZQ7I.js.map → deploy-5AQMGJ2Q.js.map} +1 -1
  33. package/dist/doctor-5TK2COIN.js +2 -0
  34. package/dist/{doctor-DAYHBLCK.js.map → doctor-5TK2COIN.js.map} +1 -1
  35. package/dist/forms-clear-4BQMLGGN.js +2 -0
  36. package/dist/{forms-clear-BFDMRIWW.js.map → forms-clear-4BQMLGGN.js.map} +1 -1
  37. package/dist/forms-create-ORURKN5O.js +2 -0
  38. package/dist/{forms-create-EWU47AIO.js.map → forms-create-ORURKN5O.js.map} +1 -1
  39. package/dist/forms-delete-NT4SAO6G.js +2 -0
  40. package/dist/{forms-delete-HJISSH4G.js.map → forms-delete-NT4SAO6G.js.map} +1 -1
  41. package/dist/forms-embed-5L4DHGXC.js +3 -0
  42. package/dist/{forms-embed-GSIGC4V7.js.map → forms-embed-5L4DHGXC.js.map} +1 -1
  43. package/dist/forms-export-5SDRUFV3.js +2 -0
  44. package/dist/{forms-export-KLFI4NJ7.js.map → forms-export-5SDRUFV3.js.map} +1 -1
  45. package/dist/forms-info-JOYOMPC3.js +2 -0
  46. package/dist/{forms-info-BRG5D5D7.js.map → forms-info-JOYOMPC3.js.map} +1 -1
  47. package/dist/forms-list-CS7J3ULK.js +2 -0
  48. package/dist/{forms-list-GYBKM5YD.js.map → forms-list-CS7J3ULK.js.map} +1 -1
  49. package/dist/forms-submissions-KWGRYLAY.js +2 -0
  50. package/dist/{forms-submissions-RKNVL2FS.js.map → forms-submissions-KWGRYLAY.js.map} +1 -1
  51. package/dist/login-DRNKN2XZ.js +3 -0
  52. package/dist/login-DRNKN2XZ.js.map +1 -0
  53. package/dist/logout-UF55Z67V.js +2 -0
  54. package/dist/{logout-HGLROFNP.js.map → logout-UF55Z67V.js.map} +1 -1
  55. package/dist/logs-export-O74GEMCD.js +2 -0
  56. package/dist/{logs-export-547MGHOL.js.map → logs-export-O74GEMCD.js.map} +1 -1
  57. package/dist/logs-search-JAGCLPVE.js +2 -0
  58. package/dist/{logs-search-P52C7PUZ.js.map → logs-search-JAGCLPVE.js.map} +1 -1
  59. package/dist/{logs-tail-K4CWSSGP.js → logs-tail-NFHOK3RM.js} +3 -3
  60. package/dist/{logs-tail-K4CWSSGP.js.map → logs-tail-NFHOK3RM.js.map} +1 -1
  61. package/dist/monitor-ZLSLSVEZ.js +2 -0
  62. package/dist/{monitor-IEQ4UD2H.js.map → monitor-ZLSLSVEZ.js.map} +1 -1
  63. package/dist/monitor-automations-VK6CZSNG.js +2 -0
  64. package/dist/{monitor-automations-4UNPGIZG.js.map → monitor-automations-VK6CZSNG.js.map} +1 -1
  65. package/dist/monitor-pipelines-WQOY5O4K.js +2 -0
  66. package/dist/{monitor-pipelines-FVASSAV4.js.map → monitor-pipelines-WQOY5O4K.js.map} +1 -1
  67. package/dist/monitor-sites-XRIEHVIV.js +2 -0
  68. package/dist/{monitor-sites-GN2CSO6K.js.map → monitor-sites-XRIEHVIV.js.map} +1 -1
  69. package/dist/monitor-storage-2ULH4E4F.js +2 -0
  70. package/dist/{monitor-storage-XBPKQTPJ.js.map → monitor-storage-2ULH4E4F.js.map} +1 -1
  71. package/dist/scripts-cancel-XYWJD3QW.js +2 -0
  72. package/dist/{scripts-cancel-NOVNOP4C.js.map → scripts-cancel-XYWJD3QW.js.map} +1 -1
  73. package/dist/scripts-delete-2EUZDGOW.js +2 -0
  74. package/dist/{scripts-delete-GDPLFXWI.js.map → scripts-delete-2EUZDGOW.js.map} +1 -1
  75. package/dist/scripts-disable-7UQUGTO4.js +2 -0
  76. package/dist/{scripts-disable-GQCO7Z2O.js.map → scripts-disable-7UQUGTO4.js.map} +1 -1
  77. package/dist/scripts-enable-N7RK2ZRG.js +2 -0
  78. package/dist/{scripts-enable-MEC2YFAZ.js.map → scripts-enable-N7RK2ZRG.js.map} +1 -1
  79. package/dist/scripts-list-F2RJ7TJ6.js +2 -0
  80. package/dist/{scripts-list-CWCKTE6G.js.map → scripts-list-F2RJ7TJ6.js.map} +1 -1
  81. package/dist/scripts-logs-PIIKLZXW.js +2 -0
  82. package/dist/{scripts-logs-BFI7ZBMA.js.map → scripts-logs-PIIKLZXW.js.map} +1 -1
  83. package/dist/scripts-run-4EUWVBS6.js +2 -0
  84. package/dist/{scripts-run-D5WQF7CD.js.map → scripts-run-4EUWVBS6.js.map} +1 -1
  85. package/dist/scripts-status-BVCSUDUA.js +2 -0
  86. package/dist/{scripts-status-H3DZSNGH.js.map → scripts-status-BVCSUDUA.js.map} +1 -1
  87. package/dist/scripts-validate-TU47YDOT.js +2 -0
  88. package/dist/{scripts-validate-GFEEMXGM.js.map → scripts-validate-TU47YDOT.js.map} +1 -1
  89. package/dist/scripts-watch-TQURXMIL.js +2 -0
  90. package/dist/{scripts-watch-YNPV5J7L.js.map → scripts-watch-TQURXMIL.js.map} +1 -1
  91. package/dist/session-R7SGJZAG.js +2 -0
  92. package/dist/{session-TQAYXXL4.js.map → session-R7SGJZAG.js.map} +1 -1
  93. package/dist/sign-cancel-SOBRK2XX.js +2 -0
  94. package/dist/{sign-cancel-65ENAT3A.js.map → sign-cancel-SOBRK2XX.js.map} +1 -1
  95. package/dist/sign-download-GLJS64WT.js +2 -0
  96. package/dist/{sign-download-DRG6AEW7.js.map → sign-download-GLJS64WT.js.map} +1 -1
  97. package/dist/sign-list-ZMM7F4K2.js +2 -0
  98. package/dist/{sign-list-G5SAZIGV.js.map → sign-list-ZMM7F4K2.js.map} +1 -1
  99. package/dist/sign-request-PO24EDJG.js +2 -0
  100. package/dist/{sign-request-KDWRY6NM.js.map → sign-request-PO24EDJG.js.map} +1 -1
  101. package/dist/sign-status-KD7I3PZH.js +2 -0
  102. package/dist/{sign-status-IHMHFX4R.js.map → sign-status-KD7I3PZH.js.map} +1 -1
  103. package/dist/sign-verify-LRZPLJYX.js +2 -0
  104. package/dist/{sign-verify-6GZYRRYD.js.map → sign-verify-LRZPLJYX.js.map} +1 -1
  105. package/dist/sites-analytics-RU63VLE4.js +2 -0
  106. package/dist/{sites-analytics-5U7LPRGD.js.map → sites-analytics-RU63VLE4.js.map} +1 -1
  107. package/dist/sites-delete-MGAIPA4A.js +2 -0
  108. package/dist/{sites-delete-T5H6QHHE.js.map → sites-delete-MGAIPA4A.js.map} +1 -1
  109. package/dist/sites-deploys-UNRERGLN.js +2 -0
  110. package/dist/{sites-deploys-AGHGIVLV.js.map → sites-deploys-UNRERGLN.js.map} +1 -1
  111. package/dist/sites-info-NVMVESXX.js +2 -0
  112. package/dist/{sites-info-55Y5G46C.js.map → sites-info-NVMVESXX.js.map} +1 -1
  113. package/dist/sites-list-KQZVB3Y2.js +2 -0
  114. package/dist/{sites-list-AESG52QR.js.map → sites-list-KQZVB3Y2.js.map} +1 -1
  115. package/dist/sites-logs-MINP5YLW.js +3 -0
  116. package/dist/{sites-logs-CLJ35QZF.js.map → sites-logs-MINP5YLW.js.map} +1 -1
  117. package/dist/sites-open-OZ5RORV4.js +3 -0
  118. package/dist/{sites-open-6FLQLGDU.js.map → sites-open-OZ5RORV4.js.map} +1 -1
  119. package/dist/sites-purge-K6CUCSQA.js +2 -0
  120. package/dist/{sites-purge-3EE6M54Y.js.map → sites-purge-K6CUCSQA.js.map} +1 -1
  121. package/dist/sites-rename-HXM4MMDS.js +2 -0
  122. package/dist/{sites-rename-JJPIKOEV.js.map → sites-rename-HXM4MMDS.js.map} +1 -1
  123. package/dist/sites-rollback-FVELQVJK.js +2 -0
  124. package/dist/{sites-rollback-LG76J5XE.js.map → sites-rollback-FVELQVJK.js.map} +1 -1
  125. package/dist/sites-unpublish-FQSQA763.js +2 -0
  126. package/dist/{sites-unpublish-77EWOZI6.js.map → sites-unpublish-FQSQA763.js.map} +1 -1
  127. package/dist/sites-visibility-QDDJWBOT.js +2 -0
  128. package/dist/{sites-visibility-E6MDL2R5.js.map → sites-visibility-QDDJWBOT.js.map} +1 -1
  129. package/dist/storage-cat-TASP3DK7.js +2 -0
  130. package/dist/{storage-cat-NMDWAEM4.js.map → storage-cat-TASP3DK7.js.map} +1 -1
  131. package/dist/storage-clean-WCV7ENP2.js +2 -0
  132. package/dist/{storage-clean-6S5GP2AR.js.map → storage-clean-WCV7ENP2.js.map} +1 -1
  133. package/dist/storage-cp-PV6LPCYV.js +2 -0
  134. package/dist/{storage-cp-XM6KPPDU.js.map → storage-cp-PV6LPCYV.js.map} +1 -1
  135. package/dist/storage-diff-BDKHYLIC.js +2 -0
  136. package/dist/{storage-diff-2UTHBORN.js.map → storage-diff-BDKHYLIC.js.map} +1 -1
  137. package/dist/storage-download-UEQYEO73.js +3 -0
  138. package/dist/{storage-download-6OZCB7M4.js.map → storage-download-UEQYEO73.js.map} +1 -1
  139. package/dist/storage-info-4IVQWOSM.js +2 -0
  140. package/dist/{storage-info-ZD6LDRFG.js.map → storage-info-4IVQWOSM.js.map} +1 -1
  141. package/dist/storage-ls-AMBO3S2J.js +2 -0
  142. package/dist/{storage-ls-KE7UDC3I.js.map → storage-ls-AMBO3S2J.js.map} +1 -1
  143. package/dist/storage-mkdir-5IXAS4YP.js +2 -0
  144. package/dist/{storage-mkdir-YR6DI3T6.js.map → storage-mkdir-5IXAS4YP.js.map} +1 -1
  145. package/dist/storage-mv-4DCYMNNI.js +2 -0
  146. package/dist/{storage-mv-3NQNRFPE.js.map → storage-mv-4DCYMNNI.js.map} +1 -1
  147. package/dist/storage-rm-5K7F7ZP7.js +2 -0
  148. package/dist/{storage-rm-EF36YTVT.js.map → storage-rm-5K7F7ZP7.js.map} +1 -1
  149. package/dist/storage-search-FCNFG2BS.js +2 -0
  150. package/dist/{storage-search-73OT4DNB.js.map → storage-search-FCNFG2BS.js.map} +1 -1
  151. package/dist/storage-share-4PVM4QIC.js +2 -0
  152. package/dist/{storage-share-VK5Z3IRP.js.map → storage-share-4PVM4QIC.js.map} +1 -1
  153. package/dist/storage-tag-SXSOQVY6.js +2 -0
  154. package/dist/{storage-tag-VMF6QLSU.js.map → storage-tag-SXSOQVY6.js.map} +1 -1
  155. package/dist/storage-unshare-EMXDT7DS.js +2 -0
  156. package/dist/{storage-unshare-NAVNQCKH.js.map → storage-unshare-EMXDT7DS.js.map} +1 -1
  157. package/dist/storage-upload-EHOTOYS5.js +2 -0
  158. package/dist/{storage-upload-LA2VFTEN.js.map → storage-upload-EHOTOYS5.js.map} +1 -1
  159. package/dist/time-list-2XMDLMRC.js +2 -0
  160. package/dist/{time-list-4FAFRADD.js.map → time-list-2XMDLMRC.js.map} +1 -1
  161. package/dist/time-lock-WQKPTILH.js +2 -0
  162. package/dist/{time-lock-L4PL43SC.js.map → time-lock-WQKPTILH.js.map} +1 -1
  163. package/dist/time-proof-4YZLG6NG.js +2 -0
  164. package/dist/{time-proof-ZOOUFIKS.js.map → time-proof-4YZLG6NG.js.map} +1 -1
  165. package/dist/time-status-YRQVIKNH.js +2 -0
  166. package/dist/{time-status-M4QX6GTM.js.map → time-status-YRQVIKNH.js.map} +1 -1
  167. package/dist/time-unlock-OUIAP7RY.js +2 -0
  168. package/dist/{time-unlock-UPHP5V74.js.map → time-unlock-OUIAP7RY.js.map} +1 -1
  169. package/dist/{update-XJQSXSFU.js → update-DOHW47PB.js} +2 -2
  170. package/dist/{update-XJQSXSFU.js.map → update-DOHW47PB.js.map} +1 -1
  171. package/dist/whoami-ZFYNNZSF.js +2 -0
  172. package/dist/{whoami-2ABU6JQD.js.map → whoami-ZFYNNZSF.js.map} +1 -1
  173. package/package.json +1 -1
  174. package/dist/auth-revoke-B2JBJB36.js +0 -2
  175. package/dist/auth-sessions-ZPMHJBIJ.js +0 -2
  176. package/dist/auth-status-BZGX7ZXN.js +0 -2
  177. package/dist/chunk-E2I4VVR5.js +0 -2
  178. package/dist/chunk-E2I4VVR5.js.map +0 -1
  179. package/dist/chunk-FYFPDKJM.js +0 -3
  180. package/dist/chunk-FYFPDKJM.js.map +0 -1
  181. package/dist/chunk-RXARHDCW.js +0 -2
  182. package/dist/chunk-RXARHDCW.js.map +0 -1
  183. package/dist/client-RBFTHJQ4.js +0 -2
  184. package/dist/collab-invite-6QGPY7SO.js +0 -2
  185. package/dist/collab-leave-YMTEY2CZ.js +0 -2
  186. package/dist/collab-list-AQUFYKGI.js +0 -2
  187. package/dist/collab-remove-CJSQYEUI.js +0 -2
  188. package/dist/collab-transfer-I6O6T3AC.js +0 -2
  189. package/dist/deploy-3AMFZQ7I.js +0 -3
  190. package/dist/doctor-DAYHBLCK.js +0 -2
  191. package/dist/forms-clear-BFDMRIWW.js +0 -2
  192. package/dist/forms-create-EWU47AIO.js +0 -2
  193. package/dist/forms-delete-HJISSH4G.js +0 -2
  194. package/dist/forms-embed-GSIGC4V7.js +0 -3
  195. package/dist/forms-export-KLFI4NJ7.js +0 -2
  196. package/dist/forms-info-BRG5D5D7.js +0 -2
  197. package/dist/forms-list-GYBKM5YD.js +0 -2
  198. package/dist/forms-submissions-RKNVL2FS.js +0 -2
  199. package/dist/login-CG7LSZMB.js +0 -2
  200. package/dist/login-CG7LSZMB.js.map +0 -1
  201. package/dist/logout-HGLROFNP.js +0 -2
  202. package/dist/logs-export-547MGHOL.js +0 -2
  203. package/dist/logs-search-P52C7PUZ.js +0 -2
  204. package/dist/monitor-IEQ4UD2H.js +0 -2
  205. package/dist/monitor-automations-4UNPGIZG.js +0 -2
  206. package/dist/monitor-pipelines-FVASSAV4.js +0 -2
  207. package/dist/monitor-sites-GN2CSO6K.js +0 -2
  208. package/dist/monitor-storage-XBPKQTPJ.js +0 -2
  209. package/dist/scripts-cancel-NOVNOP4C.js +0 -2
  210. package/dist/scripts-delete-GDPLFXWI.js +0 -2
  211. package/dist/scripts-disable-GQCO7Z2O.js +0 -2
  212. package/dist/scripts-enable-MEC2YFAZ.js +0 -2
  213. package/dist/scripts-list-CWCKTE6G.js +0 -2
  214. package/dist/scripts-logs-BFI7ZBMA.js +0 -2
  215. package/dist/scripts-run-D5WQF7CD.js +0 -2
  216. package/dist/scripts-status-H3DZSNGH.js +0 -2
  217. package/dist/scripts-validate-GFEEMXGM.js +0 -2
  218. package/dist/scripts-watch-YNPV5J7L.js +0 -2
  219. package/dist/session-TQAYXXL4.js +0 -2
  220. package/dist/sign-cancel-65ENAT3A.js +0 -2
  221. package/dist/sign-download-DRG6AEW7.js +0 -2
  222. package/dist/sign-list-G5SAZIGV.js +0 -2
  223. package/dist/sign-request-KDWRY6NM.js +0 -2
  224. package/dist/sign-status-IHMHFX4R.js +0 -2
  225. package/dist/sign-verify-6GZYRRYD.js +0 -2
  226. package/dist/sites-analytics-5U7LPRGD.js +0 -2
  227. package/dist/sites-delete-T5H6QHHE.js +0 -2
  228. package/dist/sites-deploys-AGHGIVLV.js +0 -2
  229. package/dist/sites-info-55Y5G46C.js +0 -2
  230. package/dist/sites-list-AESG52QR.js +0 -2
  231. package/dist/sites-logs-CLJ35QZF.js +0 -3
  232. package/dist/sites-open-6FLQLGDU.js +0 -3
  233. package/dist/sites-purge-3EE6M54Y.js +0 -2
  234. package/dist/sites-rename-JJPIKOEV.js +0 -2
  235. package/dist/sites-rollback-LG76J5XE.js +0 -2
  236. package/dist/sites-unpublish-77EWOZI6.js +0 -2
  237. package/dist/sites-visibility-E6MDL2R5.js +0 -2
  238. package/dist/storage-cat-NMDWAEM4.js +0 -2
  239. package/dist/storage-clean-6S5GP2AR.js +0 -2
  240. package/dist/storage-cp-XM6KPPDU.js +0 -2
  241. package/dist/storage-diff-2UTHBORN.js +0 -2
  242. package/dist/storage-download-6OZCB7M4.js +0 -3
  243. package/dist/storage-info-ZD6LDRFG.js +0 -2
  244. package/dist/storage-ls-KE7UDC3I.js +0 -2
  245. package/dist/storage-mkdir-YR6DI3T6.js +0 -2
  246. package/dist/storage-mv-3NQNRFPE.js +0 -2
  247. package/dist/storage-rm-EF36YTVT.js +0 -2
  248. package/dist/storage-search-73OT4DNB.js +0 -2
  249. package/dist/storage-share-VK5Z3IRP.js +0 -2
  250. package/dist/storage-tag-VMF6QLSU.js +0 -2
  251. package/dist/storage-unshare-NAVNQCKH.js +0 -2
  252. package/dist/storage-upload-LA2VFTEN.js +0 -2
  253. package/dist/time-list-4FAFRADD.js +0 -2
  254. package/dist/time-lock-L4PL43SC.js +0 -2
  255. package/dist/time-proof-ZOOUFIKS.js +0 -2
  256. package/dist/time-status-M4QX6GTM.js +0 -2
  257. package/dist/time-unlock-UPHP5V74.js +0 -2
  258. package/dist/whoami-2ABU6JQD.js +0 -2
@@ -0,0 +1,2 @@
1
+ import {c}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import {a as a$1}from'./chunk-THMWE2I6.js';import {a,b}from'./chunk-G4JU7IUC.js';import'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import t from'chalk';async function y(l){let o=((await c(`/api/v1/sites/${l}/deploys`,{authenticated:true})).deploys||[]).map(e=>({id:t.dim(e.id.slice(0,8)),date:b(e.created_at),files:String(e.file_count),size:a(e.total_size),by:e.triggered_by,status:e.status==="success"?t.green("\u25CF"):e.status==="failed"?t.red("\u25CF"):t.yellow("\u25CB")}));console.log(a$1(o,[{key:"id",label:"Deploy"},{key:"date",label:"Date"},{key:"files",label:"Files"},{key:"size",label:"Size"},{key:"by",label:"Triggered By"},{key:"status",label:""}]));}export{y as default};//# sourceMappingURL=sites-deploys-UNRERGLN.js.map
2
+ //# sourceMappingURL=sites-deploys-UNRERGLN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-deploys.ts"],"names":["sitesDeploys","slug","rows","apiGet","d","chalk","formatDate","formatBytes","renderTable"],"mappings":"8NAcA,eAAOA,CAAAA,CAAoCC,CAAAA,CAA6B,CAEtE,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAmC,CAAA,cAAA,EAAiBF,CAAI,CAAA,QAAA,CAAA,CAAY,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EAC3F,OAAA,EAAW,EAAC,EAAG,GAAA,CAAIG,CAAAA,GAAM,CAC1C,EAAA,CAAIC,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,GAAG,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,CAAA,CAC9B,IAAA,CAAME,CAAAA,CAAWF,CAAAA,CAAE,UAAU,CAAA,CAC7B,KAAA,CAAO,MAAA,CAAOA,CAAAA,CAAE,UAAU,EAC1B,IAAA,CAAMG,CAAAA,CAAYH,CAAAA,CAAE,UAAU,CAAA,CAC9B,EAAA,CAAIA,CAAAA,CAAE,YAAA,CACN,MAAA,CAAQA,CAAAA,CAAE,MAAA,GAAW,SAAA,CAAYC,CAAAA,CAAM,KAAA,CAAM,QAAG,CAAA,CAAID,CAAAA,CAAE,MAAA,GAAW,QAAA,CAAWC,CAAAA,CAAM,GAAA,CAAI,QAAG,CAAA,CAAIA,CAAAA,CAAM,MAAA,CAAO,QAAG,CAC/G,CAAA,CAAE,CAAA,CACF,QAAQ,GAAA,CAAIG,GAAAA,CAAYN,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,IAAA,CAAM,KAAA,CAAO,QAAS,CAAA,CAC7B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,OAAA,CAAS,KAAA,CAAO,OAAQ,CAAA,CAC/B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,IAAA,CAAM,KAAA,CAAO,cAAe,CAAA,CACnC,CAAE,GAAA,CAAK,QAAA,CAAU,KAAA,CAAO,EAAG,CAC7B,CAAC,CAAC,EACJ","file":"sites-deploys-AGHGIVLV.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatDate, formatBytes } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface DeployEntry {\n id: string\n created_at: string\n file_count: number\n total_size: number\n triggered_by: string\n status: string\n}\n\nexport default async function sitesDeploys(slug: string): Promise<void> {\n const data = await apiGet<{ deploys: DeployEntry[] }>(`/api/v1/sites/${slug}/deploys`, { authenticated: true })\n const rows = (data.deploys || []).map(d => ({\n id: chalk.dim(d.id.slice(0, 8)),\n date: formatDate(d.created_at),\n files: String(d.file_count),\n size: formatBytes(d.total_size),\n by: d.triggered_by,\n status: d.status === 'success' ? chalk.green('●') : d.status === 'failed' ? chalk.red('●') : chalk.yellow('○'),\n }))\n console.log(renderTable(rows, [\n { key: 'id', label: 'Deploy' },\n { key: 'date', label: 'Date' },\n { key: 'files', label: 'Files' },\n { key: 'size', label: 'Size' },\n { key: 'by', label: 'Triggered By' },\n { key: 'status', label: '' },\n ]))\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-deploys.ts"],"names":["sitesDeploys","slug","rows","apiGet","d","chalk","formatDate","formatBytes","renderTable"],"mappings":"0PAcA,eAAOA,CAAAA,CAAoCC,CAAAA,CAA6B,CAEtE,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAmC,CAAA,cAAA,EAAiBF,CAAI,CAAA,QAAA,CAAA,CAAY,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EAC3F,OAAA,EAAW,EAAC,EAAG,GAAA,CAAIG,CAAAA,GAAM,CAC1C,EAAA,CAAIC,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,GAAG,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,CAAA,CAC9B,IAAA,CAAME,CAAAA,CAAWF,CAAAA,CAAE,UAAU,CAAA,CAC7B,KAAA,CAAO,MAAA,CAAOA,CAAAA,CAAE,UAAU,EAC1B,IAAA,CAAMG,CAAAA,CAAYH,CAAAA,CAAE,UAAU,CAAA,CAC9B,EAAA,CAAIA,CAAAA,CAAE,YAAA,CACN,MAAA,CAAQA,CAAAA,CAAE,MAAA,GAAW,SAAA,CAAYC,CAAAA,CAAM,KAAA,CAAM,QAAG,CAAA,CAAID,CAAAA,CAAE,MAAA,GAAW,QAAA,CAAWC,CAAAA,CAAM,GAAA,CAAI,QAAG,CAAA,CAAIA,CAAAA,CAAM,MAAA,CAAO,QAAG,CAC/G,CAAA,CAAE,CAAA,CACF,QAAQ,GAAA,CAAIG,GAAAA,CAAYN,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,IAAA,CAAM,KAAA,CAAO,QAAS,CAAA,CAC7B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,OAAA,CAAS,KAAA,CAAO,OAAQ,CAAA,CAC/B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,IAAA,CAAM,KAAA,CAAO,cAAe,CAAA,CACnC,CAAE,GAAA,CAAK,QAAA,CAAU,KAAA,CAAO,EAAG,CAC7B,CAAC,CAAC,EACJ","file":"sites-deploys-UNRERGLN.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatDate, formatBytes } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface DeployEntry {\n id: string\n created_at: string\n file_count: number\n total_size: number\n triggered_by: string\n status: string\n}\n\nexport default async function sitesDeploys(slug: string): Promise<void> {\n const data = await apiGet<{ deploys: DeployEntry[] }>(`/api/v1/sites/${slug}/deploys`, { authenticated: true })\n const rows = (data.deploys || []).map(d => ({\n id: chalk.dim(d.id.slice(0, 8)),\n date: formatDate(d.created_at),\n files: String(d.file_count),\n size: formatBytes(d.total_size),\n by: d.triggered_by,\n status: d.status === 'success' ? chalk.green('●') : d.status === 'failed' ? chalk.red('●') : chalk.yellow('○'),\n }))\n console.log(renderTable(rows, [\n { key: 'id', label: 'Deploy' },\n { key: 'date', label: 'Date' },\n { key: 'files', label: 'Files' },\n { key: 'size', label: 'Size' },\n { key: 'by', label: 'Triggered By' },\n { key: 'status', label: '' },\n ]))\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {c}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import {b,a}from'./chunk-G4JU7IUC.js';import {f,m,l}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import t from'chalk';async function u(n){let i=(await c(`/api/v1/sites/${n}`,{authenticated:true})).site;if(f()){m(i);return}l(""),l(` ${t.bold(i.slug)}`),l(` ${t.dim(i.url)}`),l(`${t.dim(" \u2500\u2500\u2500".repeat(10))}`),l(` ${t.bold("Status:")} ${i.status==="active"?t.green("\u25CF active"):t.yellow("\u25CB "+i.status)}`),l(` ${t.bold("Visibility:")} ${i.visibility==="public"?t.green("public"):t.yellow("private")}`),l(` ${t.bold("Created:")} ${b(i.created_at)}`),l(` ${t.bold("Last Deploy:")} ${i.last_deploy?b(i.last_deploy):t.dim("never")}`),l(` ${t.bold("Deploys:")} ${i.deploy_count}`),l(` ${t.bold("Files:")} ${i.file_count} (${a(i.total_size)})`),l(` ${t.bold("Visitors:")} ${i.visitor_count}`),l("");}export{u as default};//# sourceMappingURL=sites-info-NVMVESXX.js.map
2
+ //# sourceMappingURL=sites-info-NVMVESXX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-info.ts"],"names":["sitesInfo","slug","site","apiGet","isJsonMode","logJSON","logRaw","chalk","formatDate","formatBytes"],"mappings":"+LAmBA,eAAOA,EAAiCC,CAAAA,CAA6B,CAEnE,IAAMC,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAA6B,CAAA,cAAA,EAAiBF,CAAI,CAAA,CAAA,CAAI,CAAE,cAAe,IAAK,CAAC,GAC9E,IAAA,CAElB,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQH,CAAI,EACZ,MACF,CAEAI,EAAO,EAAE,CAAA,CACTA,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAKL,CAAAA,CAAK,IAAI,CAAC,CAAA,CAAE,EACnCI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,GAAA,CAAIL,EAAK,GAAG,CAAC,EAAE,CAAA,CACjCI,CAAAA,CAAO,GAAGC,CAAAA,CAAM,GAAA,CAAI,sBAAA,CAAQ,MAAA,CAAO,EAAE,CAAC,CAAC,EAAE,CAAA,CACzCD,CAAAA,CAAO,KAAKC,CAAAA,CAAM,IAAA,CAAK,SAAS,CAAC,SAASL,CAAAA,CAAK,MAAA,GAAW,SAAWK,CAAAA,CAAM,KAAA,CAAM,eAAU,CAAA,CAAIA,CAAAA,CAAM,OAAO,SAAA,CAAOL,CAAAA,CAAK,MAAM,CAAC,CAAA,CAAE,EACjII,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,aAAa,CAAC,CAAA,GAAA,EAAML,EAAK,UAAA,GAAe,QAAA,CAAWK,EAAM,KAAA,CAAM,QAAQ,EAAIA,CAAAA,CAAM,MAAA,CAAO,SAAS,CAAC,EAAE,CAAA,CAC3HD,CAAAA,CAAO,KAAKC,CAAAA,CAAM,IAAA,CAAK,UAAU,CAAC,CAAA,MAAA,EAASC,CAAAA,CAAWN,CAAAA,CAAK,UAAU,CAAC,CAAA,CAAE,EACxEI,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,cAAc,CAAC,CAAA,EAAA,EAAKL,EAAK,WAAA,CAAcM,CAAAA,CAAWN,EAAK,WAAW,CAAA,CAAIK,EAAM,GAAA,CAAI,OAAO,CAAC,CAAA,CAAE,EACjHD,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,UAAU,CAAC,CAAA,MAAA,EAASL,CAAAA,CAAK,YAAY,CAAA,CAAE,EAC9DI,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,QAAQ,CAAC,CAAA,QAAA,EAAWL,CAAAA,CAAK,UAAU,CAAA,EAAA,EAAKO,EAAYP,CAAAA,CAAK,UAAU,CAAC,CAAA,CAAA,CAAG,CAAA,CAC9FI,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,WAAW,CAAC,QAAQL,CAAAA,CAAK,aAAa,EAAE,CAAA,CAC/DI,CAAAA,CAAO,EAAE,EACX","file":"sites-info-55Y5G46C.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { logJSON, logRaw } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatBytes, formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SiteDetail {\n slug: string\n url: string\n visibility: 'public' | 'private'\n created_at: string\n last_deploy: string | null\n deploy_count: number\n file_count: number\n total_size: number\n visitor_count: number\n status: string\n}\n\nexport default async function sitesInfo(slug: string): Promise<void> {\n const data = await apiGet<{ site: SiteDetail }>(`/api/v1/sites/${slug}`, { authenticated: true })\n const site = data.site\n\n if (isJsonMode()) {\n logJSON(site)\n return\n }\n\n logRaw('')\n logRaw(` ${chalk.bold(site.slug)}`)\n logRaw(` ${chalk.dim(site.url)}`)\n logRaw(`${chalk.dim(' ───'.repeat(10))}`)\n logRaw(` ${chalk.bold('Status:')} ${site.status === 'active' ? chalk.green('● active') : chalk.yellow('○ ' + site.status)}`)\n logRaw(` ${chalk.bold('Visibility:')} ${site.visibility === 'public' ? chalk.green('public') : chalk.yellow('private')}`)\n logRaw(` ${chalk.bold('Created:')} ${formatDate(site.created_at)}`)\n logRaw(` ${chalk.bold('Last Deploy:')} ${site.last_deploy ? formatDate(site.last_deploy) : chalk.dim('never')}`)\n logRaw(` ${chalk.bold('Deploys:')} ${site.deploy_count}`)\n logRaw(` ${chalk.bold('Files:')} ${site.file_count} (${formatBytes(site.total_size)})`)\n logRaw(` ${chalk.bold('Visitors:')} ${site.visitor_count}`)\n logRaw('')\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-info.ts"],"names":["sitesInfo","slug","site","apiGet","isJsonMode","logJSON","logRaw","chalk","formatDate","formatBytes"],"mappings":"2NAmBA,eAAOA,EAAiCC,CAAAA,CAA6B,CAEnE,IAAMC,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAA6B,CAAA,cAAA,EAAiBF,CAAI,CAAA,CAAA,CAAI,CAAE,cAAe,IAAK,CAAC,GAC9E,IAAA,CAElB,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQH,CAAI,EACZ,MACF,CAEAI,EAAO,EAAE,CAAA,CACTA,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAKL,CAAAA,CAAK,IAAI,CAAC,CAAA,CAAE,EACnCI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,GAAA,CAAIL,EAAK,GAAG,CAAC,EAAE,CAAA,CACjCI,CAAAA,CAAO,GAAGC,CAAAA,CAAM,GAAA,CAAI,sBAAA,CAAQ,MAAA,CAAO,EAAE,CAAC,CAAC,EAAE,CAAA,CACzCD,CAAAA,CAAO,KAAKC,CAAAA,CAAM,IAAA,CAAK,SAAS,CAAC,SAASL,CAAAA,CAAK,MAAA,GAAW,SAAWK,CAAAA,CAAM,KAAA,CAAM,eAAU,CAAA,CAAIA,CAAAA,CAAM,OAAO,SAAA,CAAOL,CAAAA,CAAK,MAAM,CAAC,CAAA,CAAE,EACjII,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,aAAa,CAAC,CAAA,GAAA,EAAML,EAAK,UAAA,GAAe,QAAA,CAAWK,EAAM,KAAA,CAAM,QAAQ,EAAIA,CAAAA,CAAM,MAAA,CAAO,SAAS,CAAC,EAAE,CAAA,CAC3HD,CAAAA,CAAO,KAAKC,CAAAA,CAAM,IAAA,CAAK,UAAU,CAAC,CAAA,MAAA,EAASC,CAAAA,CAAWN,CAAAA,CAAK,UAAU,CAAC,CAAA,CAAE,EACxEI,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,cAAc,CAAC,CAAA,EAAA,EAAKL,EAAK,WAAA,CAAcM,CAAAA,CAAWN,EAAK,WAAW,CAAA,CAAIK,EAAM,GAAA,CAAI,OAAO,CAAC,CAAA,CAAE,EACjHD,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,UAAU,CAAC,CAAA,MAAA,EAASL,CAAAA,CAAK,YAAY,CAAA,CAAE,EAC9DI,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,QAAQ,CAAC,CAAA,QAAA,EAAWL,CAAAA,CAAK,UAAU,CAAA,EAAA,EAAKO,EAAYP,CAAAA,CAAK,UAAU,CAAC,CAAA,CAAA,CAAG,CAAA,CAC9FI,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,WAAW,CAAC,QAAQL,CAAAA,CAAK,aAAa,EAAE,CAAA,CAC/DI,CAAAA,CAAO,EAAE,EACX","file":"sites-info-NVMVESXX.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { logJSON, logRaw } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatBytes, formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SiteDetail {\n slug: string\n url: string\n visibility: 'public' | 'private'\n created_at: string\n last_deploy: string | null\n deploy_count: number\n file_count: number\n total_size: number\n visitor_count: number\n status: string\n}\n\nexport default async function sitesInfo(slug: string): Promise<void> {\n const data = await apiGet<{ site: SiteDetail }>(`/api/v1/sites/${slug}`, { authenticated: true })\n const site = data.site\n\n if (isJsonMode()) {\n logJSON(site)\n return\n }\n\n logRaw('')\n logRaw(` ${chalk.bold(site.slug)}`)\n logRaw(` ${chalk.dim(site.url)}`)\n logRaw(`${chalk.dim(' ───'.repeat(10))}`)\n logRaw(` ${chalk.bold('Status:')} ${site.status === 'active' ? chalk.green('● active') : chalk.yellow('○ ' + site.status)}`)\n logRaw(` ${chalk.bold('Visibility:')} ${site.visibility === 'public' ? chalk.green('public') : chalk.yellow('private')}`)\n logRaw(` ${chalk.bold('Created:')} ${formatDate(site.created_at)}`)\n logRaw(` ${chalk.bold('Last Deploy:')} ${site.last_deploy ? formatDate(site.last_deploy) : chalk.dim('never')}`)\n logRaw(` ${chalk.bold('Deploys:')} ${site.deploy_count}`)\n logRaw(` ${chalk.bold('Files:')} ${site.file_count} (${formatBytes(site.total_size)})`)\n logRaw(` ${chalk.bold('Visitors:')} ${site.visitor_count}`)\n logRaw('')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {c}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import {a}from'./chunk-THMWE2I6.js';import {c as c$1}from'./chunk-G4JU7IUC.js';import'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import e from'chalk';async function o(){let r=((await c("/api/v1/sites",{authenticated:true})).sites||[]).map(i=>({slug:e.hex("#4FC3F7")(i.slug),url:e.dim(i.url),visibility:i.visibility==="public"?e.green("public"):e.yellow("private"),deployed:i.last_deploy?c$1(i.last_deploy):e.dim("never"),files:String(i.file_count??"-"),visitors:String(i.visitors??"-")}));console.log(a(r,[{key:"slug",label:"Site"},{key:"url",label:"URL"},{key:"visibility",label:"Visibility"},{key:"deployed",label:"Last Deploy"},{key:"files",label:"Files"},{key:"visitors",label:"Visitors"}]));}export{o as default};//# sourceMappingURL=sites-list-KQZVB3Y2.js.map
2
+ //# sourceMappingURL=sites-list-KQZVB3Y2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-list.ts"],"names":["sitesList","rows","apiGet","s","chalk","formatRelative","renderTable"],"mappings":"qNAcA,eAAOA,CAAAA,EAAkD,CAEvD,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAA8B,eAAA,CAAiB,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACtE,KAAA,EAAS,EAAC,EAAG,GAAA,CAAIC,CAAAA,GAAM,CACxC,IAAA,CAAMC,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAAED,CAAAA,CAAE,IAAI,CAAA,CACjC,GAAA,CAAKC,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,GAAG,CAAA,CACpB,UAAA,CAAYA,CAAAA,CAAE,UAAA,GAAe,QAAA,CAAWC,CAAAA,CAAM,KAAA,CAAM,QAAQ,EAAIA,CAAAA,CAAM,MAAA,CAAO,SAAS,CAAA,CACtF,QAAA,CAAUD,CAAAA,CAAE,WAAA,CAAcE,CAAAA,CAAeF,CAAAA,CAAE,WAAW,CAAA,CAAIC,CAAAA,CAAM,GAAA,CAAI,OAAO,EAC3E,KAAA,CAAO,MAAA,CAAOD,CAAAA,CAAE,UAAA,EAAc,GAAG,CAAA,CACjC,QAAA,CAAU,MAAA,CAAOA,CAAAA,CAAE,QAAA,EAAY,GAAG,CACpC,CAAA,CAAE,CAAA,CACF,QAAQ,GAAA,CAAIG,CAAAA,CAAYL,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,KAAA,CAAO,KAAA,CAAO,KAAM,CAAA,CAC3B,CAAE,GAAA,CAAK,YAAA,CAAc,KAAA,CAAO,YAAa,CAAA,CACzC,CAAE,GAAA,CAAK,UAAA,CAAY,KAAA,CAAO,aAAc,CAAA,CACxC,CAAE,IAAK,OAAA,CAAS,KAAA,CAAO,OAAQ,CAAA,CAC/B,CAAE,GAAA,CAAK,UAAA,CAAY,KAAA,CAAO,UAAW,CACvC,CAAC,CAAC,EACJ","file":"sites-list-AESG52QR.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SiteInfo {\n slug: string\n url: string\n visibility: 'public' | 'private'\n last_deploy: string\n file_count: number\n visitors: number\n}\n\nexport default async function sitesList(): Promise<void> {\n const data = await apiGet<{ sites: SiteInfo[] }>('/api/v1/sites', { authenticated: true })\n const rows = (data.sites || []).map(s => ({\n slug: chalk.hex('#4FC3F7')(s.slug),\n url: chalk.dim(s.url),\n visibility: s.visibility === 'public' ? chalk.green('public') : chalk.yellow('private'),\n deployed: s.last_deploy ? formatRelative(s.last_deploy) : chalk.dim('never'),\n files: String(s.file_count ?? '-'),\n visitors: String(s.visitors ?? '-'),\n }))\n console.log(renderTable(rows, [\n { key: 'slug', label: 'Site' },\n { key: 'url', label: 'URL' },\n { key: 'visibility', label: 'Visibility' },\n { key: 'deployed', label: 'Last Deploy' },\n { key: 'files', label: 'Files' },\n { key: 'visitors', label: 'Visitors' },\n ]))\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-list.ts"],"names":["sitesList","rows","apiGet","s","chalk","formatRelative","renderTable"],"mappings":"wPAcA,eAAOA,CAAAA,EAAkD,CAEvD,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAA8B,eAAA,CAAiB,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACtE,KAAA,EAAS,EAAC,EAAG,GAAA,CAAIC,CAAAA,GAAM,CACxC,IAAA,CAAMC,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAAED,CAAAA,CAAE,IAAI,CAAA,CACjC,GAAA,CAAKC,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,GAAG,CAAA,CACpB,UAAA,CAAYA,CAAAA,CAAE,UAAA,GAAe,QAAA,CAAWC,CAAAA,CAAM,KAAA,CAAM,QAAQ,EAAIA,CAAAA,CAAM,MAAA,CAAO,SAAS,CAAA,CACtF,QAAA,CAAUD,CAAAA,CAAE,WAAA,CAAcE,GAAAA,CAAeF,CAAAA,CAAE,WAAW,CAAA,CAAIC,CAAAA,CAAM,GAAA,CAAI,OAAO,EAC3E,KAAA,CAAO,MAAA,CAAOD,CAAAA,CAAE,UAAA,EAAc,GAAG,CAAA,CACjC,QAAA,CAAU,MAAA,CAAOA,CAAAA,CAAE,QAAA,EAAY,GAAG,CACpC,CAAA,CAAE,CAAA,CACF,QAAQ,GAAA,CAAIG,CAAAA,CAAYL,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,KAAA,CAAO,KAAA,CAAO,KAAM,CAAA,CAC3B,CAAE,GAAA,CAAK,YAAA,CAAc,KAAA,CAAO,YAAa,CAAA,CACzC,CAAE,GAAA,CAAK,UAAA,CAAY,KAAA,CAAO,aAAc,CAAA,CACxC,CAAE,IAAK,OAAA,CAAS,KAAA,CAAO,OAAQ,CAAA,CAC/B,CAAE,GAAA,CAAK,UAAA,CAAY,KAAA,CAAO,UAAW,CACvC,CAAC,CAAC,EACJ","file":"sites-list-KQZVB3Y2.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SiteInfo {\n slug: string\n url: string\n visibility: 'public' | 'private'\n last_deploy: string\n file_count: number\n visitors: number\n}\n\nexport default async function sitesList(): Promise<void> {\n const data = await apiGet<{ sites: SiteInfo[] }>('/api/v1/sites', { authenticated: true })\n const rows = (data.sites || []).map(s => ({\n slug: chalk.hex('#4FC3F7')(s.slug),\n url: chalk.dim(s.url),\n visibility: s.visibility === 'public' ? chalk.green('public') : chalk.yellow('private'),\n deployed: s.last_deploy ? formatRelative(s.last_deploy) : chalk.dim('never'),\n files: String(s.file_count ?? '-'),\n visitors: String(s.visitors ?? '-'),\n }))\n console.log(renderTable(rows, [\n { key: 'slug', label: 'Site' },\n { key: 'url', label: 'URL' },\n { key: 'visibility', label: 'Visibility' },\n { key: 'deployed', label: 'Last Deploy' },\n { key: 'files', label: 'Files' },\n { key: 'visitors', label: 'Visitors' },\n ]))\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import {a}from'./chunk-NDB6KXYI.js';import {d}from'./chunk-W6CRHANC.js';import {WebSocket}from'ws';import o from'chalk';async function u(n){let i=await d();i||(console.error("Not authenticated"),process.exit(1));let m=a().replace(/^http/,"ws"),s=new WebSocket(`${m}/api/v1/sites/${n}/logs/stream`,{headers:{Authorization:`Bearer ${i.access_token}`}});console.log(o.dim(`Streaming live logs for ${n}... (Ctrl+C to stop)`)),console.log(""),s.on("message",t=>{try{let e=JSON.parse(t.toString()),l=o.dim(new Date(e.timestamp).toLocaleTimeString()),p=e.method?.padEnd(6)||"",r=e.status_code,d=r>=400?o.red:r>=300?o.yellow:o.green,g=e.path||"",$=o.dim(e.ip||""),f=e.duration_ms?o.dim(`${e.duration_ms}ms`):"";console.log(`${l} ${d(r)} ${p} ${g} ${$} ${f}`);}catch{console.log(t.toString());}}),s.on("error",t=>{console.error(o.red(`WebSocket error: ${t.message}`)),process.exit(1);}),s.on("close",()=>{console.log(o.dim(`
2
+ Connection closed`)),process.exit(0);}),process.on("SIGINT",()=>{s.close(),process.exit(0);});}export{u as default};//# sourceMappingURL=sites-logs-MINP5YLW.js.map
3
+ //# sourceMappingURL=sites-logs-MINP5YLW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-logs.ts"],"names":["sitesLogs","slug","session","loadSession","apiBase","getApiBase","ws","WebSocket","chalk","data","entry","timestamp","method","status","statusColor","path","ip","duration","err"],"mappings":"wHAKA,eAAOA,EAAiCC,CAAAA,CAA6B,CACnE,IAAMC,CAAAA,CAAU,MAAMC,GAAY,CAC7BD,CAAAA,GACH,QAAQ,KAAA,CAAM,mBAAmB,EACjC,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAME,IAAUC,CAAAA,EAAW,CAAE,QAAQ,OAAA,CAAS,IAAI,EAC5CC,CAAAA,CAAK,IAAIC,UAAU,CAAA,EAAGH,GAAO,iBAAiBH,CAAI,CAAA,YAAA,CAAA,CAAgB,CACtE,OAAA,CAAS,CACP,cAAe,CAAA,OAAA,EAAUC,CAAAA,CAAQ,YAAY,CAAA,CAC/C,CACF,CAAC,CAAA,CAED,OAAA,CAAQ,IAAIM,CAAAA,CAAM,GAAA,CAAI,2BAA2BP,CAAI,CAAA,oBAAA,CAAsB,CAAC,CAAA,CAC5E,OAAA,CAAQ,IAAI,EAAE,CAAA,CAEdK,EAAG,EAAA,CAAG,SAAA,CAAYG,GAAiB,CACjC,GAAI,CACF,IAAMC,CAAAA,CAAQ,KAAK,KAAA,CAAMD,CAAAA,CAAK,UAAU,CAAA,CAClCE,EAAYH,CAAAA,CAAM,GAAA,CAAI,IAAI,IAAA,CAAKE,CAAAA,CAAM,SAAS,CAAA,CAAE,kBAAA,EAAoB,CAAA,CACpEE,CAAAA,CAASF,CAAAA,CAAM,MAAA,EAAQ,MAAA,CAAO,CAAC,GAAK,EAAA,CACpCG,CAAAA,CAASH,EAAM,WAAA,CACfI,CAAAA,CAAcD,GAAU,GAAA,CAAML,CAAAA,CAAM,IAAMK,CAAAA,EAAU,GAAA,CAAML,EAAM,MAAA,CAASA,CAAAA,CAAM,MAC/EO,CAAAA,CAAOL,CAAAA,CAAM,MAAQ,EAAA,CACrBM,CAAAA,CAAKR,EAAM,GAAA,CAAIE,CAAAA,CAAM,IAAM,EAAE,CAAA,CAC7BO,EAAWP,CAAAA,CAAM,WAAA,CAAcF,EAAM,GAAA,CAAI,CAAA,EAAGE,EAAM,WAAW,CAAA,EAAA,CAAI,EAAI,EAAA,CAC3E,OAAA,CAAQ,IAAI,CAAA,EAAGC,CAAS,IAAIG,CAAAA,CAAYD,CAAM,CAAC,CAAA,CAAA,EAAID,CAAM,CAAA,CAAA,EAAIG,CAAI,CAAA,CAAA,EAAIC,CAAE,IAAIC,CAAQ,CAAA,CAAE,EACvF,CAAA,KAAQ,CACN,QAAQ,GAAA,CAAIR,CAAAA,CAAK,UAAU,EAC7B,CACF,CAAC,CAAA,CAEDH,EAAG,EAAA,CAAG,OAAA,CAAUY,GAAe,CAC7B,OAAA,CAAQ,MAAMV,CAAAA,CAAM,GAAA,CAAI,oBAAoBU,CAAAA,CAAI,OAAO,EAAE,CAAC,CAAA,CAC1D,QAAQ,IAAA,CAAK,CAAC,EAChB,CAAC,CAAA,CAEDZ,EAAG,EAAA,CAAG,OAAA,CAAS,IAAM,CACnB,OAAA,CAAQ,GAAA,CAAIE,CAAAA,CAAM,GAAA,CAAI;AAAA,iBAAA,CAAqB,CAAC,EAC5C,OAAA,CAAQ,IAAA,CAAK,CAAC,EAChB,CAAC,EAED,OAAA,CAAQ,EAAA,CAAG,SAAU,IAAM,CACzBF,EAAG,KAAA,EAAM,CACT,QAAQ,IAAA,CAAK,CAAC,EAChB,CAAC,EACH","file":"sites-logs-CLJ35QZF.js","sourcesContent":["import { WebSocket } from 'ws'\nimport chalk from 'chalk'\nimport { loadSession } from '../../lib/auth/session.js'\nimport { getApiBase } from '../../lib/api/cert-pin.js'\n\nexport default async function sitesLogs(slug: string): Promise<void> {\n const session = await loadSession()\n if (!session) {\n console.error('Not authenticated')\n process.exit(1)\n }\n\n const apiBase = getApiBase().replace(/^http/, 'ws')\n const ws = new WebSocket(`${apiBase}/api/v1/sites/${slug}/logs/stream`, {\n headers: {\n Authorization: `Bearer ${session.access_token}`,\n },\n })\n\n console.log(chalk.dim(`Streaming live logs for ${slug}... (Ctrl+C to stop)`))\n console.log('')\n\n ws.on('message', (data: Buffer) => {\n try {\n const entry = JSON.parse(data.toString())\n const timestamp = chalk.dim(new Date(entry.timestamp).toLocaleTimeString())\n const method = entry.method?.padEnd(6) || ''\n const status = entry.status_code\n const statusColor = status >= 400 ? chalk.red : status >= 300 ? chalk.yellow : chalk.green\n const path = entry.path || ''\n const ip = chalk.dim(entry.ip || '')\n const duration = entry.duration_ms ? chalk.dim(`${entry.duration_ms}ms`) : ''\n console.log(`${timestamp} ${statusColor(status)} ${method} ${path} ${ip} ${duration}`)\n } catch {\n console.log(data.toString())\n }\n })\n\n ws.on('error', (err: Error) => {\n console.error(chalk.red(`WebSocket error: ${err.message}`))\n process.exit(1)\n })\n\n ws.on('close', () => {\n console.log(chalk.dim('\\nConnection closed'))\n process.exit(0)\n })\n\n process.on('SIGINT', () => {\n ws.close()\n process.exit(0)\n })\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-logs.ts"],"names":["sitesLogs","slug","session","loadSession","apiBase","getApiBase","ws","WebSocket","chalk","data","entry","timestamp","method","status","statusColor","path","ip","duration","err"],"mappings":"wHAKA,eAAOA,EAAiCC,CAAAA,CAA6B,CACnE,IAAMC,CAAAA,CAAU,MAAMC,GAAY,CAC7BD,CAAAA,GACH,QAAQ,KAAA,CAAM,mBAAmB,EACjC,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAME,EAAUC,CAAAA,EAAW,CAAE,QAAQ,OAAA,CAAS,IAAI,EAC5CC,CAAAA,CAAK,IAAIC,UAAU,CAAA,EAAGH,CAAO,iBAAiBH,CAAI,CAAA,YAAA,CAAA,CAAgB,CACtE,OAAA,CAAS,CACP,cAAe,CAAA,OAAA,EAAUC,CAAAA,CAAQ,YAAY,CAAA,CAC/C,CACF,CAAC,CAAA,CAED,OAAA,CAAQ,IAAIM,CAAAA,CAAM,GAAA,CAAI,2BAA2BP,CAAI,CAAA,oBAAA,CAAsB,CAAC,CAAA,CAC5E,OAAA,CAAQ,IAAI,EAAE,CAAA,CAEdK,EAAG,EAAA,CAAG,SAAA,CAAYG,GAAiB,CACjC,GAAI,CACF,IAAMC,CAAAA,CAAQ,KAAK,KAAA,CAAMD,CAAAA,CAAK,UAAU,CAAA,CAClCE,EAAYH,CAAAA,CAAM,GAAA,CAAI,IAAI,IAAA,CAAKE,CAAAA,CAAM,SAAS,CAAA,CAAE,kBAAA,EAAoB,CAAA,CACpEE,CAAAA,CAASF,CAAAA,CAAM,MAAA,EAAQ,MAAA,CAAO,CAAC,GAAK,EAAA,CACpCG,CAAAA,CAASH,EAAM,WAAA,CACfI,CAAAA,CAAcD,GAAU,GAAA,CAAML,CAAAA,CAAM,IAAMK,CAAAA,EAAU,GAAA,CAAML,EAAM,MAAA,CAASA,CAAAA,CAAM,MAC/EO,CAAAA,CAAOL,CAAAA,CAAM,MAAQ,EAAA,CACrBM,CAAAA,CAAKR,EAAM,GAAA,CAAIE,CAAAA,CAAM,IAAM,EAAE,CAAA,CAC7BO,EAAWP,CAAAA,CAAM,WAAA,CAAcF,EAAM,GAAA,CAAI,CAAA,EAAGE,EAAM,WAAW,CAAA,EAAA,CAAI,EAAI,EAAA,CAC3E,OAAA,CAAQ,IAAI,CAAA,EAAGC,CAAS,IAAIG,CAAAA,CAAYD,CAAM,CAAC,CAAA,CAAA,EAAID,CAAM,CAAA,CAAA,EAAIG,CAAI,CAAA,CAAA,EAAIC,CAAE,IAAIC,CAAQ,CAAA,CAAE,EACvF,CAAA,KAAQ,CACN,QAAQ,GAAA,CAAIR,CAAAA,CAAK,UAAU,EAC7B,CACF,CAAC,CAAA,CAEDH,EAAG,EAAA,CAAG,OAAA,CAAUY,GAAe,CAC7B,OAAA,CAAQ,MAAMV,CAAAA,CAAM,GAAA,CAAI,oBAAoBU,CAAAA,CAAI,OAAO,EAAE,CAAC,CAAA,CAC1D,QAAQ,IAAA,CAAK,CAAC,EAChB,CAAC,CAAA,CAEDZ,EAAG,EAAA,CAAG,OAAA,CAAS,IAAM,CACnB,OAAA,CAAQ,GAAA,CAAIE,CAAAA,CAAM,GAAA,CAAI;AAAA,iBAAA,CAAqB,CAAC,EAC5C,OAAA,CAAQ,IAAA,CAAK,CAAC,EAChB,CAAC,EAED,OAAA,CAAQ,EAAA,CAAG,SAAU,IAAM,CACzBF,EAAG,KAAA,EAAM,CACT,QAAQ,IAAA,CAAK,CAAC,EAChB,CAAC,EACH","file":"sites-logs-MINP5YLW.js","sourcesContent":["import { WebSocket } from 'ws'\nimport chalk from 'chalk'\nimport { loadSession } from '../../lib/auth/session.js'\nimport { getApiBase } from '../../lib/api/cert-pin.js'\n\nexport default async function sitesLogs(slug: string): Promise<void> {\n const session = await loadSession()\n if (!session) {\n console.error('Not authenticated')\n process.exit(1)\n }\n\n const apiBase = getApiBase().replace(/^http/, 'ws')\n const ws = new WebSocket(`${apiBase}/api/v1/sites/${slug}/logs/stream`, {\n headers: {\n Authorization: `Bearer ${session.access_token}`,\n },\n })\n\n console.log(chalk.dim(`Streaming live logs for ${slug}... (Ctrl+C to stop)`))\n console.log('')\n\n ws.on('message', (data: Buffer) => {\n try {\n const entry = JSON.parse(data.toString())\n const timestamp = chalk.dim(new Date(entry.timestamp).toLocaleTimeString())\n const method = entry.method?.padEnd(6) || ''\n const status = entry.status_code\n const statusColor = status >= 400 ? chalk.red : status >= 300 ? chalk.yellow : chalk.green\n const path = entry.path || ''\n const ip = chalk.dim(entry.ip || '')\n const duration = entry.duration_ms ? chalk.dim(`${entry.duration_ms}ms`) : ''\n console.log(`${timestamp} ${statusColor(status)} ${method} ${path} ${ip} ${duration}`)\n } catch {\n console.log(data.toString())\n }\n })\n\n ws.on('error', (err: Error) => {\n console.error(chalk.red(`WebSocket error: ${err.message}`))\n process.exit(1)\n })\n\n ws.on('close', () => {\n console.log(chalk.dim('\\nConnection closed'))\n process.exit(0)\n })\n\n process.on('SIGINT', () => {\n ws.close()\n process.exit(0)\n })\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import {c}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import {j}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import a from'open';async function r(t){let i=(await c(`/api/v1/sites/${t}`,{authenticated:true})).site.url||`https://squidcloud.vercel.app/sites/${t}`;j(`Opening ${i}...`),await a(i);}
2
+ export{r as default};//# sourceMappingURL=sites-open-OZ5RORV4.js.map
3
+ //# sourceMappingURL=sites-open-OZ5RORV4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-open.ts"],"names":["sitesOpen","slug","url","apiGet","logInfo","open"],"mappings":"oJAIA,eAAOA,CAAAA,CAAiCC,CAAAA,CAA6B,CAEnE,IAAMC,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAkC,CAAA,cAAA,EAAiBF,CAAI,GAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACpF,IAAA,CAAK,GAAA,EAAO,CAAA,oCAAA,EAAuCA,CAAI,CAAA,CAAA,CACxEG,CAAAA,CAAQ,CAAA,QAAA,EAAWF,CAAG,CAAA,GAAA,CAAK,CAAA,CAC3B,MAAMG,CAAAA,CAAKH,CAAG,EAChB","file":"sites-open-6FLQLGDU.js","sourcesContent":["import open from 'open'\nimport { apiGet } from '../../lib/api/client.js'\nimport { logInfo } from '../../lib/output/logger.js'\n\nexport default async function sitesOpen(slug: string): Promise<void> {\n const data = await apiGet<{ site: { url: string } }>(`/api/v1/sites/${slug}`, { authenticated: true })\n const url = data.site.url || `https://squidcloud.vercel.app/sites/${slug}`\n logInfo(`Opening ${url}...`)\n await open(url)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-open.ts"],"names":["sitesOpen","slug","url","apiGet","logInfo","open"],"mappings":"gLAIA,eAAOA,CAAAA,CAAiCC,CAAAA,CAA6B,CAEnE,IAAMC,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAkC,CAAA,cAAA,EAAiBF,CAAI,GAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACpF,IAAA,CAAK,GAAA,EAAO,CAAA,oCAAA,EAAuCA,CAAI,CAAA,CAAA,CACxEG,CAAAA,CAAQ,CAAA,QAAA,EAAWF,CAAG,CAAA,GAAA,CAAK,CAAA,CAC3B,MAAMG,CAAAA,CAAKH,CAAG,EAChB","file":"sites-open-OZ5RORV4.js","sourcesContent":["import open from 'open'\nimport { apiGet } from '../../lib/api/client.js'\nimport { logInfo } from '../../lib/output/logger.js'\n\nexport default async function sitesOpen(slug: string): Promise<void> {\n const data = await apiGet<{ site: { url: string } }>(`/api/v1/sites/${slug}`, { authenticated: true })\n const url = data.site.url || `https://squidcloud.vercel.app/sites/${slug}`\n logInfo(`Opening ${url}...`)\n await open(url)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';async function c(e){let r=a(`Purging CDN cache for ${e}...`);r.start(),await d(`/api/v1/sites/${e}/purge`,{},{authenticated:true}),r.succeed(),g(`CDN cache purged for ${e}`);}export{c as default};//# sourceMappingURL=sites-purge-K6CUCSQA.js.map
2
+ //# sourceMappingURL=sites-purge-K6CUCSQA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-purge.ts"],"names":["sitesPurge","slug","spinner","createSpinner","apiPost","logSuccess"],"mappings":"gMAIA,eAAOA,CAAAA,CAAkCC,GAAAA,CAA6B,CACpE,IAAMC,EAAUC,CAAAA,CAAc,CAAA,sBAAA,EAAyBF,GAAI,CAAA,GAAA,CAAK,CAAA,CAChEC,CAAAA,CAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,CAAA,cAAA,EAAiBH,GAAI,CAAA,MAAA,CAAA,CAAU,EAAC,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACxEC,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,qBAAA,EAAwBJ,GAAI,EAAE,EAC3C","file":"sites-purge-3EE6M54Y.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function sitesPurge(slug: string): Promise<void> {\n const spinner = createSpinner(`Purging CDN cache for ${slug}...`)\n spinner.start()\n await apiPost(`/api/v1/sites/${slug}/purge`, {}, { authenticated: true })\n spinner.succeed()\n logSuccess(`CDN cache purged for ${slug}`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-purge.ts"],"names":["sitesPurge","slug","spinner","createSpinner","apiPost","logSuccess"],"mappings":"4NAIA,eAAOA,CAAAA,CAAkCC,CAAAA,CAA6B,CACpE,IAAMC,EAAUC,CAAAA,CAAc,CAAA,sBAAA,EAAyBF,CAAI,CAAA,GAAA,CAAK,CAAA,CAChEC,CAAAA,CAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,CAAA,cAAA,EAAiBH,CAAI,CAAA,MAAA,CAAA,CAAU,EAAC,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACxEC,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,qBAAA,EAAwBJ,CAAI,EAAE,EAC3C","file":"sites-purge-K6CUCSQA.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function sitesPurge(slug: string): Promise<void> {\n const spinner = createSpinner(`Purging CDN cache for ${slug}...`)\n spinner.start()\n await apiPost(`/api/v1/sites/${slug}/purge`, {}, { authenticated: true })\n spinner.succeed()\n logSuccess(`CDN cache purged for ${slug}`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import s from'inquirer';async function c(t,e){let{confirm:a$1}=await s.prompt([{type:"input",name:"confirm",message:`Type "${t}" to confirm renaming to "${e}":`,validate:m=>m===t?true:"Type the exact old slug to confirm"}]);if(a$1!==t)return;let r=a(`Renaming ${t} to ${e}...`);r.start(),await d(`/api/v1/sites/${t}/rename`,{new_slug:e},{authenticated:true}),r.succeed(),g(`Site renamed from ${t} to ${e}`);}export{c as default};//# sourceMappingURL=sites-rename-HXM4MMDS.js.map
2
+ //# sourceMappingURL=sites-rename-HXM4MMDS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-rename.ts"],"names":["sitesRename","slug","newSlug","confirm","inquirer","v","spinner","createSpinner","apiPost","logSuccess"],"mappings":"wNAKA,eAAOA,CAAAA,CAAmCC,EAAcC,GAAAA,CAAgC,CACtF,GAAM,CAAE,QAAAC,CAAQ,CAAA,CAAI,MAAMC,CAAAA,CAAS,OAAO,CAAC,CACzC,IAAA,CAAM,OAAA,CACN,KAAM,SAAA,CACN,OAAA,CAAS,CAAA,MAAA,EAASH,CAAI,6BAA6BC,GAAO,CAAA,EAAA,CAAA,CAC1D,QAAA,CAAWG,CAAAA,EAAcA,IAAMJ,CAAAA,CAAO,IAAA,CAAO,oCAC/C,CAAC,CAAC,CAAA,CACF,GAAIE,CAAAA,GAAYF,CAAAA,CAAM,OAEtB,IAAMK,CAAAA,CAAUC,CAAAA,CAAc,CAAA,SAAA,EAAYN,CAAI,CAAA,IAAA,EAAOC,GAAO,CAAA,GAAA,CAAK,CAAA,CACjEI,EAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,iBAAiBP,CAAI,CAAA,OAAA,CAAA,CAAW,CAAE,QAAA,CAAUC,GAAQ,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC5FI,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,EAAW,CAAA,kBAAA,EAAqBR,CAAI,CAAA,IAAA,EAAOC,GAAO,EAAE,EACtD","file":"sites-rename-JJPIKOEV.js","sourcesContent":["import inquirer from 'inquirer'\nimport { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function sitesRename(slug: string, newSlug: string): Promise<void> {\n const { confirm } = await inquirer.prompt([{\n type: 'input',\n name: 'confirm',\n message: `Type \"${slug}\" to confirm renaming to \"${newSlug}\":`,\n validate: (v: string) => v === slug ? true : 'Type the exact old slug to confirm',\n }])\n if (confirm !== slug) return\n\n const spinner = createSpinner(`Renaming ${slug} to ${newSlug}...`)\n spinner.start()\n await apiPost(`/api/v1/sites/${slug}/rename`, { new_slug: newSlug }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Site renamed from ${slug} to ${newSlug}`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-rename.ts"],"names":["sitesRename","slug","newSlug","confirm","inquirer","v","spinner","createSpinner","apiPost","logSuccess"],"mappings":"oPAKA,eAAOA,CAAAA,CAAmCC,EAAcC,CAAAA,CAAgC,CACtF,GAAM,CAAE,QAAAC,GAAQ,CAAA,CAAI,MAAMC,CAAAA,CAAS,OAAO,CAAC,CACzC,IAAA,CAAM,OAAA,CACN,KAAM,SAAA,CACN,OAAA,CAAS,CAAA,MAAA,EAASH,CAAI,6BAA6BC,CAAO,CAAA,EAAA,CAAA,CAC1D,QAAA,CAAWG,CAAAA,EAAcA,IAAMJ,CAAAA,CAAO,IAAA,CAAO,oCAC/C,CAAC,CAAC,CAAA,CACF,GAAIE,GAAAA,GAAYF,CAAAA,CAAM,OAEtB,IAAMK,CAAAA,CAAUC,CAAAA,CAAc,CAAA,SAAA,EAAYN,CAAI,CAAA,IAAA,EAAOC,CAAO,CAAA,GAAA,CAAK,CAAA,CACjEI,EAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,iBAAiBP,CAAI,CAAA,OAAA,CAAA,CAAW,CAAE,QAAA,CAAUC,CAAQ,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC5FI,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,EAAW,CAAA,kBAAA,EAAqBR,CAAI,CAAA,IAAA,EAAOC,CAAO,EAAE,EACtD","file":"sites-rename-HXM4MMDS.js","sourcesContent":["import inquirer from 'inquirer'\nimport { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function sitesRename(slug: string, newSlug: string): Promise<void> {\n const { confirm } = await inquirer.prompt([{\n type: 'input',\n name: 'confirm',\n message: `Type \"${slug}\" to confirm renaming to \"${newSlug}\":`,\n validate: (v: string) => v === slug ? true : 'Type the exact old slug to confirm',\n }])\n if (confirm !== slug) return\n\n const spinner = createSpinner(`Renaming ${slug} to ${newSlug}...`)\n spinner.start()\n await apiPost(`/api/v1/sites/${slug}/rename`, { new_slug: newSlug }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Site renamed from ${slug} to ${newSlug}`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {c,d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {b}from'./chunk-G4JU7IUC.js';import {l,g as g$1}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import b$1 from'inquirer';import g from'chalk';async function u(t,d$1){let s=a("Fetching deploy history...");s.start();let m=await c(`/api/v1/sites/${t}/deploys`,{authenticated:true});s.stop();let e=d$1?.to;if(!e){l(""),l(g.bold(` Select a deployment to roll back to for ${t}:`)),l("");let y=m.deploys.slice(0,10).map(o=>({name:`${b(o.created_at)} \u2014 ${o.file_count} files \u2014 ${o.triggered_by}`,value:o.id})),{selected:f}=await b$1.prompt([{type:"list",name:"selected",message:"Choose deployment:",choices:y}]);e=f;}e||(console.error("No deployment selected"),process.exit(1));let a$1=a(`Rolling back ${t} to ${e.slice(0,8)}...`);a$1.start(),await d(`/api/v1/sites/${t}/rollback`,{deploy_id:e},{authenticated:true}),a$1.succeed(),g$1(`Site ${t} rolled back to deployment ${e.slice(0,8)}`);}export{u as default};//# sourceMappingURL=sites-rollback-FVELQVJK.js.map
2
+ //# sourceMappingURL=sites-rollback-FVELQVJK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-rollback.ts"],"names":["sitesRollback","slug","options","spinner","createSpinner","data","apiGet","deployId","logRaw","chalk","choices","d","formatDate","selected","inquirer","rollbackSpinner","apiPost","logSuccess"],"mappings":"qSAgBA,eAAOA,CAAAA,CAAqCC,CAAAA,CAAcC,GAAAA,CAA0C,CAClG,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,4BAA4B,CAAA,CAC1DD,EAAQ,KAAA,EAAM,CAEd,IAAME,CAAAA,CAAO,MAAMC,CAAAA,CAAmC,CAAA,cAAA,EAAiBL,CAAI,CAAA,QAAA,CAAA,CAAY,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC9GE,EAAQ,IAAA,EAAK,CAEb,IAAII,GAAAA,CAAWL,KAAS,EAAA,CAExB,GAAI,CAACK,GAAAA,CAAU,CACbC,CAAAA,CAAO,EAAE,CAAA,CACTA,CAAAA,CAAOC,EAAM,IAAA,CAAK,CAAA,0CAAA,EAA6CR,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CACvEO,CAAAA,CAAO,EAAE,CAAA,CACT,IAAME,CAAAA,CAAUL,CAAAA,CAAK,OAAA,CAAQ,KAAA,CAAM,EAAG,EAAE,CAAA,CAAE,GAAA,CAAIM,CAAAA,GAAM,CAClD,IAAA,CAAM,CAAA,EAAGC,GAAAA,CAAWD,CAAAA,CAAE,UAAU,CAAC,CAAA,QAAA,EAAMA,EAAE,UAAU,CAAA,cAAA,EAAYA,EAAE,YAAY,CAAA,CAAA,CAC7E,KAAA,CAAOA,CAAAA,CAAE,EACX,CAAA,CAAE,CAAA,CACI,CAAE,QAAA,CAAAE,CAAS,CAAA,CAAI,MAAMC,GAAAA,CAAS,MAAA,CAAO,CAAC,CAC1C,IAAA,CAAM,MAAA,CACN,IAAA,CAAM,WACN,OAAA,CAAS,oBAAA,CACT,OAAA,CAAAJ,CACF,CAAC,CAAC,CAAA,CACFH,GAAAA,CAAWM,EACb,CAEKN,GAAAA,GACH,OAAA,CAAQ,KAAA,CAAM,wBAAwB,EACtC,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAMQ,EAAkBX,CAAAA,CAAc,CAAA,aAAA,EAAgBH,CAAI,CAAA,IAAA,EAAOM,IAAS,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,KAAK,CAAA,CAC1FQ,CAAAA,CAAgB,KAAA,EAAM,CACtB,MAAMC,CAAAA,CAAQ,CAAA,cAAA,EAAiBf,CAAI,CAAA,SAAA,CAAA,CAAa,CAAE,SAAA,CAAWM,GAAS,CAAA,CAAG,CAAE,cAAe,IAAK,CAAC,CAAA,CAChGQ,CAAAA,CAAgB,SAAQ,CACxBE,GAAAA,CAAW,CAAA,KAAA,EAAQhB,CAAI,8BAA8BM,GAAAA,CAAS,KAAA,CAAM,EAAG,CAAC,CAAC,EAAE,EAC7E","file":"sites-rollback-LG76J5XE.js","sourcesContent":["import inquirer from 'inquirer'\nimport { apiGet, apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logRaw } from '../../lib/output/logger.js'\nimport { formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface DeployEntry {\n id: string\n created_at: string\n file_count: number\n total_size: number\n triggered_by: string\n status: string\n}\n\nexport default async function sitesRollback(slug: string, options?: { to?: string }): Promise<void> {\n const spinner = createSpinner('Fetching deploy history...')\n spinner.start()\n\n const data = await apiGet<{ deploys: DeployEntry[] }>(`/api/v1/sites/${slug}/deploys`, { authenticated: true })\n spinner.stop()\n\n let deployId = options?.to\n\n if (!deployId) {\n logRaw('')\n logRaw(chalk.bold(` Select a deployment to roll back to for ${slug}:`))\n logRaw('')\n const choices = data.deploys.slice(0, 10).map(d => ({\n name: `${formatDate(d.created_at)} — ${d.file_count} files — ${d.triggered_by}`,\n value: d.id,\n }))\n const { selected } = await inquirer.prompt([{\n type: 'list',\n name: 'selected',\n message: 'Choose deployment:',\n choices,\n }])\n deployId = selected\n }\n\n if (!deployId) {\n console.error('No deployment selected')\n process.exit(1)\n }\n\n const rollbackSpinner = createSpinner(`Rolling back ${slug} to ${deployId.slice(0, 8)}...`)\n rollbackSpinner.start()\n await apiPost(`/api/v1/sites/${slug}/rollback`, { deploy_id: deployId }, { authenticated: true })\n rollbackSpinner.succeed()\n logSuccess(`Site ${slug} rolled back to deployment ${deployId.slice(0, 8)}`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-rollback.ts"],"names":["sitesRollback","slug","options","spinner","createSpinner","data","apiGet","deployId","logRaw","chalk","choices","d","formatDate","selected","inquirer","rollbackSpinner","apiPost","logSuccess"],"mappings":"0TAgBA,eAAOA,CAAAA,CAAqCC,CAAAA,CAAcC,GAAAA,CAA0C,CAClG,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,4BAA4B,CAAA,CAC1DD,EAAQ,KAAA,EAAM,CAEd,IAAME,CAAAA,CAAO,MAAMC,CAAAA,CAAmC,CAAA,cAAA,EAAiBL,CAAI,CAAA,QAAA,CAAA,CAAY,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC9GE,EAAQ,IAAA,EAAK,CAEb,IAAII,CAAAA,CAAWL,KAAS,EAAA,CAExB,GAAI,CAACK,CAAAA,CAAU,CACbC,CAAAA,CAAO,EAAE,CAAA,CACTA,CAAAA,CAAOC,EAAM,IAAA,CAAK,CAAA,0CAAA,EAA6CR,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CACvEO,CAAAA,CAAO,EAAE,CAAA,CACT,IAAME,CAAAA,CAAUL,CAAAA,CAAK,OAAA,CAAQ,KAAA,CAAM,EAAG,EAAE,CAAA,CAAE,GAAA,CAAIM,CAAAA,GAAM,CAClD,IAAA,CAAM,CAAA,EAAGC,CAAAA,CAAWD,CAAAA,CAAE,UAAU,CAAC,CAAA,QAAA,EAAMA,EAAE,UAAU,CAAA,cAAA,EAAYA,EAAE,YAAY,CAAA,CAAA,CAC7E,KAAA,CAAOA,CAAAA,CAAE,EACX,CAAA,CAAE,CAAA,CACI,CAAE,QAAA,CAAAE,CAAS,CAAA,CAAI,MAAMC,GAAAA,CAAS,MAAA,CAAO,CAAC,CAC1C,IAAA,CAAM,MAAA,CACN,IAAA,CAAM,WACN,OAAA,CAAS,oBAAA,CACT,OAAA,CAAAJ,CACF,CAAC,CAAC,CAAA,CACFH,CAAAA,CAAWM,EACb,CAEKN,CAAAA,GACH,OAAA,CAAQ,KAAA,CAAM,wBAAwB,EACtC,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAMQ,IAAkBX,CAAAA,CAAc,CAAA,aAAA,EAAgBH,CAAI,CAAA,IAAA,EAAOM,EAAS,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,KAAK,CAAA,CAC1FQ,GAAAA,CAAgB,KAAA,EAAM,CACtB,MAAMC,CAAAA,CAAQ,CAAA,cAAA,EAAiBf,CAAI,CAAA,SAAA,CAAA,CAAa,CAAE,SAAA,CAAWM,CAAS,CAAA,CAAG,CAAE,cAAe,IAAK,CAAC,CAAA,CAChGQ,GAAAA,CAAgB,SAAQ,CACxBE,GAAAA,CAAW,CAAA,KAAA,EAAQhB,CAAI,8BAA8BM,CAAAA,CAAS,KAAA,CAAM,EAAG,CAAC,CAAC,EAAE,EAC7E","file":"sites-rollback-FVELQVJK.js","sourcesContent":["import inquirer from 'inquirer'\nimport { apiGet, apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logRaw } from '../../lib/output/logger.js'\nimport { formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface DeployEntry {\n id: string\n created_at: string\n file_count: number\n total_size: number\n triggered_by: string\n status: string\n}\n\nexport default async function sitesRollback(slug: string, options?: { to?: string }): Promise<void> {\n const spinner = createSpinner('Fetching deploy history...')\n spinner.start()\n\n const data = await apiGet<{ deploys: DeployEntry[] }>(`/api/v1/sites/${slug}/deploys`, { authenticated: true })\n spinner.stop()\n\n let deployId = options?.to\n\n if (!deployId) {\n logRaw('')\n logRaw(chalk.bold(` Select a deployment to roll back to for ${slug}:`))\n logRaw('')\n const choices = data.deploys.slice(0, 10).map(d => ({\n name: `${formatDate(d.created_at)} — ${d.file_count} files — ${d.triggered_by}`,\n value: d.id,\n }))\n const { selected } = await inquirer.prompt([{\n type: 'list',\n name: 'selected',\n message: 'Choose deployment:',\n choices,\n }])\n deployId = selected\n }\n\n if (!deployId) {\n console.error('No deployment selected')\n process.exit(1)\n }\n\n const rollbackSpinner = createSpinner(`Rolling back ${slug} to ${deployId.slice(0, 8)}...`)\n rollbackSpinner.start()\n await apiPost(`/api/v1/sites/${slug}/rollback`, { deploy_id: deployId }, { authenticated: true })\n rollbackSpinner.succeed()\n logSuccess(`Site ${slug} rolled back to deployment ${deployId.slice(0, 8)}`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$1}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import p from'inquirer';async function a(t){let{confirm:o}=await p.prompt([{type:"input",name:"confirm",message:`Type "${t}" to unpublish this site:`,validate:s=>s===t?true:"Type the exact slug to confirm"}]);if(o!==t)return;let i=a$1(`Unpublishing ${t}...`);i.start(),await d(`/api/v1/sites/${t}/unpublish`,{},{authenticated:true}),i.succeed(),g(`Site ${t} unpublished \u2014 URL now returns 404`);}export{a as default};//# sourceMappingURL=sites-unpublish-FQSQA763.js.map
2
+ //# sourceMappingURL=sites-unpublish-FQSQA763.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-unpublish.ts"],"names":["sitesUnpublish","slug","confirm","inquirer","v","spinner","createSpinner","apiPost","logSuccess"],"mappings":"wNAKA,eAAOA,CAAAA,CAAsCC,CAAAA,CAA6B,CACxE,GAAM,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAI,MAAMC,EAAS,MAAA,CAAO,CAAC,CACzC,IAAA,CAAM,OAAA,CACN,IAAA,CAAM,SAAA,CACN,OAAA,CAAS,SAASF,CAAI,CAAA,yBAAA,CAAA,CACtB,QAAA,CAAWG,CAAAA,EAAcA,CAAAA,GAAMH,CAAAA,CAAO,IAAA,CAAO,gCAC/C,CAAC,CAAC,CAAA,CACF,GAAIC,CAAAA,GAAYD,CAAAA,CAAM,OAEtB,IAAMI,CAAAA,CAAUC,CAAAA,CAAc,CAAA,aAAA,EAAgBL,CAAI,CAAA,GAAA,CAAK,CAAA,CACvDI,CAAAA,CAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,CAAA,cAAA,EAAiBN,CAAI,CAAA,UAAA,CAAA,CAAc,EAAC,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC5EI,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,KAAA,EAAQP,CAAI,yCAAoC,EAC7D","file":"sites-unpublish-77EWOZI6.js","sourcesContent":["import inquirer from 'inquirer'\nimport { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function sitesUnpublish(slug: string): Promise<void> {\n const { confirm } = await inquirer.prompt([{\n type: 'input',\n name: 'confirm',\n message: `Type \"${slug}\" to unpublish this site:`,\n validate: (v: string) => v === slug ? true : 'Type the exact slug to confirm',\n }])\n if (confirm !== slug) return\n\n const spinner = createSpinner(`Unpublishing ${slug}...`)\n spinner.start()\n await apiPost(`/api/v1/sites/${slug}/unpublish`, {}, { authenticated: true })\n spinner.succeed()\n logSuccess(`Site ${slug} unpublished — URL now returns 404`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-unpublish.ts"],"names":["sitesUnpublish","slug","confirm","inquirer","v","spinner","createSpinner","apiPost","logSuccess"],"mappings":"2PAKA,eAAOA,CAAAA,CAAsCC,CAAAA,CAA6B,CACxE,GAAM,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAI,MAAMC,EAAS,MAAA,CAAO,CAAC,CACzC,IAAA,CAAM,OAAA,CACN,IAAA,CAAM,SAAA,CACN,OAAA,CAAS,SAASF,CAAI,CAAA,yBAAA,CAAA,CACtB,QAAA,CAAWG,CAAAA,EAAcA,CAAAA,GAAMH,CAAAA,CAAO,IAAA,CAAO,gCAC/C,CAAC,CAAC,CAAA,CACF,GAAIC,CAAAA,GAAYD,CAAAA,CAAM,OAEtB,IAAMI,CAAAA,CAAUC,GAAAA,CAAc,CAAA,aAAA,EAAgBL,CAAI,CAAA,GAAA,CAAK,CAAA,CACvDI,CAAAA,CAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,CAAA,cAAA,EAAiBN,CAAI,CAAA,UAAA,CAAA,CAAc,EAAC,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC5EI,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,KAAA,EAAQP,CAAI,yCAAoC,EAC7D","file":"sites-unpublish-FQSQA763.js","sourcesContent":["import inquirer from 'inquirer'\nimport { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function sitesUnpublish(slug: string): Promise<void> {\n const { confirm } = await inquirer.prompt([{\n type: 'input',\n name: 'confirm',\n message: `Type \"${slug}\" to unpublish this site:`,\n validate: (v: string) => v === slug ? true : 'Type the exact slug to confirm',\n }])\n if (confirm !== slug) return\n\n const spinner = createSpinner(`Unpublishing ${slug}...`)\n spinner.start()\n await apiPost(`/api/v1/sites/${slug}/unpublish`, {}, { authenticated: true })\n spinner.succeed()\n logSuccess(`Site ${slug} unpublished — URL now returns 404`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';async function c(i,e){let t=e.public?"public":e.private?"private":"public",o=a(`Setting ${i} visibility to ${t}...`);o.start(),await d(`/api/v1/sites/${i}/visibility`,{visibility:t},{authenticated:true}),o.succeed(),g(`Site ${i} is now ${t}`);}export{c as default};//# sourceMappingURL=sites-visibility-QDDJWBOT.js.map
2
+ //# sourceMappingURL=sites-visibility-QDDJWBOT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-visibility.ts"],"names":["sitesVisibility","slug","options","visibility","spinner","createSpinner","apiPost","logSuccess"],"mappings":"gMAIA,eAAOA,CAAAA,CAAuCC,EAAcC,GAAAA,CAAiE,CAC3H,IAAMC,CAAAA,CAAaD,GAAAA,CAAQ,OAAS,QAAA,CAAWA,GAAAA,CAAQ,QAAU,SAAA,CAAY,QAAA,CACvEE,EAAUC,CAAAA,CAAc,CAAA,QAAA,EAAWJ,CAAI,CAAA,eAAA,EAAkBE,CAAU,CAAA,GAAA,CAAK,CAAA,CAC9EC,CAAAA,CAAQ,KAAA,GACR,MAAME,CAAAA,CAAQ,iBAAiBL,CAAI,CAAA,WAAA,CAAA,CAAe,CAAE,UAAA,CAAAE,CAAW,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACzFC,CAAAA,CAAQ,SAAQ,CAChBG,CAAAA,CAAW,QAAQN,CAAI,CAAA,QAAA,EAAWE,CAAU,CAAA,CAAE,EAChD","file":"sites-visibility-E6MDL2R5.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function sitesVisibility(slug: string, options: { public?: boolean; private?: boolean }): Promise<void> {\n const visibility = options.public ? 'public' : options.private ? 'private' : 'public'\n const spinner = createSpinner(`Setting ${slug} visibility to ${visibility}...`)\n spinner.start()\n await apiPost(`/api/v1/sites/${slug}/visibility`, { visibility }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Site ${slug} is now ${visibility}`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-visibility.ts"],"names":["sitesVisibility","slug","options","visibility","spinner","createSpinner","apiPost","logSuccess"],"mappings":"4NAIA,eAAOA,CAAAA,CAAuCC,EAAcC,CAAAA,CAAiE,CAC3H,IAAMC,CAAAA,CAAaD,CAAAA,CAAQ,OAAS,QAAA,CAAWA,CAAAA,CAAQ,QAAU,SAAA,CAAY,QAAA,CACvEE,EAAUC,CAAAA,CAAc,CAAA,QAAA,EAAWJ,CAAI,CAAA,eAAA,EAAkBE,CAAU,CAAA,GAAA,CAAK,CAAA,CAC9EC,CAAAA,CAAQ,KAAA,GACR,MAAME,CAAAA,CAAQ,iBAAiBL,CAAI,CAAA,WAAA,CAAA,CAAe,CAAE,UAAA,CAAAE,CAAW,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACzFC,CAAAA,CAAQ,SAAQ,CAChBG,CAAAA,CAAW,QAAQN,CAAI,CAAA,QAAA,EAAWE,CAAU,CAAA,CAAE,EAChD","file":"sites-visibility-QDDJWBOT.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function sitesVisibility(slug: string, options: { public?: boolean; private?: boolean }): Promise<void> {\n const visibility = options.public ? 'public' : options.private ? 'private' : 'public'\n const spinner = createSpinner(`Setting ${slug} visibility to ${visibility}...`)\n spinner.start()\n await apiPost(`/api/v1/sites/${slug}/visibility`, { visibility }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Site ${slug} is now ${visibility}`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {c}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {l}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';async function i(t){let o=a(`Fetching ${t}...`);o.start();let a$1=await c(`/api/v1/storage/cat?path=${encodeURIComponent(t)}`,{authenticated:true});o.stop(),l(a$1.content);}export{i as default};//# sourceMappingURL=storage-cat-TASP3DK7.js.map
2
+ //# sourceMappingURL=storage-cat-TASP3DK7.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-cat.ts"],"names":["storageCat","path","spinner","createSpinner","data","apiGet","logRaw"],"mappings":"gMAKA,eAAOA,CAAAA,CAAkCC,CAAAA,CAA6B,CACpE,IAAMC,EAAUC,CAAAA,CAAc,CAAA,SAAA,EAAYF,CAAI,CAAA,GAAA,CAAK,CAAA,CACnDC,CAAAA,CAAQ,KAAA,EAAM,CACd,IAAME,CAAAA,CAAO,MAAMC,CAAAA,CAA4B,CAAA,yBAAA,EAA4B,kBAAA,CAAmBJ,CAAI,CAAC,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC9HC,EAAQ,IAAA,EAAK,CACbI,CAAAA,CAAOF,CAAAA,CAAK,OAAO,EACrB","file":"storage-cat-NMDWAEM4.js","sourcesContent":["import chalk from 'chalk'\nimport { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logRaw } from '../../lib/output/logger.js'\n\nexport default async function storageCat(path: string): Promise<void> {\n const spinner = createSpinner(`Fetching ${path}...`)\n spinner.start()\n const data = await apiGet<{ content: string }>(`/api/v1/storage/cat?path=${encodeURIComponent(path)}`, { authenticated: true })\n spinner.stop()\n logRaw(data.content)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-cat.ts"],"names":["storageCat","path","spinner","createSpinner","data","apiGet","logRaw"],"mappings":"4NAKA,eAAOA,CAAAA,CAAkCC,CAAAA,CAA6B,CACpE,IAAMC,EAAUC,CAAAA,CAAc,CAAA,SAAA,EAAYF,CAAI,CAAA,GAAA,CAAK,CAAA,CACnDC,CAAAA,CAAQ,KAAA,EAAM,CACd,IAAME,GAAAA,CAAO,MAAMC,CAAAA,CAA4B,CAAA,yBAAA,EAA4B,kBAAA,CAAmBJ,CAAI,CAAC,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC9HC,EAAQ,IAAA,EAAK,CACbI,CAAAA,CAAOF,GAAAA,CAAK,OAAO,EACrB","file":"storage-cat-TASP3DK7.js","sourcesContent":["import chalk from 'chalk'\nimport { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logRaw } from '../../lib/output/logger.js'\n\nexport default async function storageCat(path: string): Promise<void> {\n const spinner = createSpinner(`Fetching ${path}...`)\n spinner.start()\n const data = await apiGet<{ content: string }>(`/api/v1/storage/cat?path=${encodeURIComponent(path)}`, { authenticated: true })\n spinner.stop()\n logRaw(data.content)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {a as a$1}from'./chunk-G4JU7IUC.js';import {f,m as m$1,g}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';async function m(){let r=a("Scanning for orphaned files...");r.start();let e=await d("/api/v1/storage/clean",{orphaned:true},{authenticated:true});if(r.succeed(),f()){m$1(e);return}g(`Cleaned ${e.deleted} orphaned files (${a$1(e.freed_bytes)})`);}export{m as default};//# sourceMappingURL=storage-clean-WCV7ENP2.js.map
2
+ //# sourceMappingURL=storage-clean-WCV7ENP2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-clean.ts"],"names":["storageClean","spinner","createSpinner","result","apiPost","isJsonMode","logJSON","logSuccess","formatBytes"],"mappings":"+OAOA,eAAOA,CAAAA,EAAqD,CAC1D,IAAMC,CAAAA,CAAUC,EAAc,gCAAgC,CAAA,CAC9DD,EAAQ,KAAA,EAAM,CACd,IAAME,GAAAA,CAAS,MAAMC,EAAkD,uBAAA,CAAyB,CAAE,SAAU,IAAK,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,EAE3I,GADAH,CAAAA,CAAQ,SAAQ,CACZI,CAAAA,GAAc,CAChBC,GAAAA,CAAQH,GAAM,CAAA,CACd,MACF,CACAI,CAAAA,CAAW,CAAA,QAAA,EAAWJ,IAAO,OAAO,CAAA,iBAAA,EAAoBK,EAAYL,GAAAA,CAAO,WAAW,CAAC,CAAA,CAAA,CAAG,EAC5F","file":"storage-clean-6S5GP2AR.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\nimport { formatBytes } from '../../lib/utils/format.js'\n\nexport default async function storageClean(): Promise<void> {\n const spinner = createSpinner('Scanning for orphaned files...')\n spinner.start()\n const result = await apiPost<{ deleted: number; freed_bytes: number }>('/api/v1/storage/clean', { orphaned: true }, { authenticated: true })\n spinner.succeed()\n if (isJsonMode()) {\n logJSON(result)\n return\n }\n logSuccess(`Cleaned ${result.deleted} orphaned files (${formatBytes(result.freed_bytes)})`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-clean.ts"],"names":["storageClean","spinner","createSpinner","result","apiPost","isJsonMode","logJSON","logSuccess","formatBytes"],"mappings":"kRAOA,eAAOA,CAAAA,EAAqD,CAC1D,IAAMC,CAAAA,CAAUC,EAAc,gCAAgC,CAAA,CAC9DD,EAAQ,KAAA,EAAM,CACd,IAAME,CAAAA,CAAS,MAAMC,EAAkD,uBAAA,CAAyB,CAAE,SAAU,IAAK,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,EAE3I,GADAH,CAAAA,CAAQ,SAAQ,CACZI,CAAAA,GAAc,CAChBC,GAAAA,CAAQH,CAAM,CAAA,CACd,MACF,CACAI,CAAAA,CAAW,CAAA,QAAA,EAAWJ,EAAO,OAAO,CAAA,iBAAA,EAAoBK,IAAYL,CAAAA,CAAO,WAAW,CAAC,CAAA,CAAA,CAAG,EAC5F","file":"storage-clean-WCV7ENP2.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\nimport { formatBytes } from '../../lib/utils/format.js'\n\nexport default async function storageClean(): Promise<void> {\n const spinner = createSpinner('Scanning for orphaned files...')\n spinner.start()\n const result = await apiPost<{ deleted: number; freed_bytes: number }>('/api/v1/storage/clean', { orphaned: true }, { authenticated: true })\n spinner.succeed()\n if (isJsonMode()) {\n logJSON(result)\n return\n }\n logSuccess(`Cleaned ${result.deleted} orphaned files (${formatBytes(result.freed_bytes)})`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';async function e(t,i){let o=a(`Copying ${t} \u2192 ${i}...`);o.start(),await d("/api/v1/storage/copy",{source:t,destination:i},{authenticated:true}),o.succeed(),g(`Copied ${t} \u2192 ${i}`);}export{e as default};//# sourceMappingURL=storage-cp-PV6LPCYV.js.map
2
+ //# sourceMappingURL=storage-cp-PV6LPCYV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-cp.ts"],"names":["storageCp","source","dest","spinner","createSpinner","apiPost","logSuccess"],"mappings":"uMAIA,eAAOA,EAAiCC,CAAAA,CAAgBC,CAAAA,CAA6B,CACnF,IAAMC,EAAUC,CAAAA,CAAc,CAAA,QAAA,EAAWH,CAAM,CAAA,QAAA,EAAMC,CAAI,CAAA,GAAA,CAAK,CAAA,CAC9DC,EAAQ,KAAA,EAAM,CACd,MAAME,GAAAA,CAAQ,sBAAA,CAAwB,CAAE,MAAA,CAAAJ,EAAQ,WAAA,CAAaC,CAAK,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC5FC,CAAAA,CAAQ,OAAA,GACRG,CAAAA,CAAW,CAAA,OAAA,EAAUL,CAAM,CAAA,QAAA,EAAMC,CAAI,EAAE,EACzC","file":"storage-cp-XM6KPPDU.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageCp(source: string, dest: string): Promise<void> {\n const spinner = createSpinner(`Copying ${source} → ${dest}...`)\n spinner.start()\n await apiPost('/api/v1/storage/copy', { source, destination: dest }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Copied ${source} → ${dest}`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-cp.ts"],"names":["storageCp","source","dest","spinner","createSpinner","apiPost","logSuccess"],"mappings":"4NAIA,eAAOA,EAAiCC,CAAAA,CAAgBC,CAAAA,CAA6B,CACnF,IAAMC,EAAUC,CAAAA,CAAc,CAAA,QAAA,EAAWH,CAAM,CAAA,QAAA,EAAMC,CAAI,CAAA,GAAA,CAAK,CAAA,CAC9DC,EAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,sBAAA,CAAwB,CAAE,MAAA,CAAAJ,EAAQ,WAAA,CAAaC,CAAK,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC5FC,CAAAA,CAAQ,OAAA,GACRG,CAAAA,CAAW,CAAA,OAAA,EAAUL,CAAM,CAAA,QAAA,EAAMC,CAAI,EAAE,EACzC","file":"storage-cp-PV6LPCYV.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageCp(source: string, dest: string): Promise<void> {\n const spinner = createSpinner(`Copying ${source} → ${dest}...`)\n spinner.start()\n await apiPost('/api/v1/storage/copy', { source, destination: dest }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Copied ${source} → ${dest}`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {c as c$1}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {l}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import y from'fs';import c from'path';import {createHash}from'crypto';import o from'chalk';async function S(v,w){let g=a("Computing diff...");g.start();let m=c.resolve(v),l$1=new Map;function p(e,a){let F=y.readdirSync(e,{withFileTypes:true});for(let s of F){let h=c.join(e,s.name),k=c.relative(a,h);if(!(s.name.startsWith(".")||s.name==="node_modules")){if(s.isDirectory())p(h,a);else if(s.isFile()){let C=createHash("sha256").update(y.readFileSync(h)).digest("hex");l$1.set(k,C);}}}}p(m,m);let $=await c$1(`/api/v1/storage/ls-recursive?path=${encodeURIComponent(w)}`,{authenticated:true}),f=new Map(($.files||[]).map(e=>[e.path,e.hash]));g.stop();let n=[],r=[],i=[];for(let[e,a]of l$1)f.has(e)?f.get(e)!==a&&i.push(e):n.push(e);for(let e of f.keys())l$1.has(e)||r.push(e);l(""),n.length===0&&r.length===0&&i.length===0?l(` ${o.green("\u2713 Identical \u2014 no changes")}`):(n.length>0&&(l(o.green(` + ${n.length} to upload`)),n.forEach(e=>l(o.green(` + ${e}`)))),i.length>0&&(l(o.yellow(` ~ ${i.length} modified`)),i.forEach(e=>l(o.yellow(` ~ ${e}`)))),r.length>0&&(l(o.red(` - ${r.length} to delete`)),r.forEach(e=>l(o.red(` - ${e}`))))),l("");}export{S as default};//# sourceMappingURL=storage-diff-BDKHYLIC.js.map
2
+ //# sourceMappingURL=storage-diff-BDKHYLIC.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-diff.ts"],"names":["storageDiff","localPath","remotePath","spinner","createSpinner","localDir","path","localFiles","walk","dir","baseDir","entries","fs","entry","fullPath","relative","hash","createHash","remote","apiGet","remoteFiles","f","added","removed","modified","rel","logRaw","chalk"],"mappings":"2RASA,eAAOA,EAAmCC,CAAAA,CAAmBC,CAAAA,CAAmC,CAC9F,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,mBAAmB,CAAA,CACjDD,EAAQ,KAAA,EAAM,CAEd,IAAME,CAAAA,CAAWC,CAAAA,CAAK,OAAA,CAAQL,CAAS,CAAA,CACjCM,IAAa,IAAI,GAAA,CAEvB,SAASC,CAAAA,CAAKC,CAAAA,CAAaC,CAAAA,CAAuB,CAChD,IAAMC,EAAUC,CAAAA,CAAG,WAAA,CAAYH,CAAAA,CAAK,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC3D,QAAWI,CAAAA,IAASF,CAAAA,CAAS,CAC3B,IAAMG,CAAAA,CAAWR,CAAAA,CAAK,IAAA,CAAKG,CAAAA,CAAKI,EAAM,IAAI,CAAA,CACpCE,CAAAA,CAAWT,CAAAA,CAAK,SAASI,CAAAA,CAASI,CAAQ,CAAA,CAChD,GAAI,EAAAD,CAAAA,CAAM,IAAA,CAAK,UAAA,CAAW,GAAG,CAAA,EAAKA,CAAAA,CAAM,IAAA,GAAS,cAAA,CAAA,CAAA,CACjD,GAAIA,CAAAA,CAAM,WAAA,EAAY,CACpBL,CAAAA,CAAKM,CAAAA,CAAUJ,CAAO,CAAA,CAAA,KAAA,GACbG,CAAAA,CAAM,QAAO,CAAG,CACzB,IAAMG,CAAAA,CAAOC,UAAAA,CAAW,QAAQ,CAAA,CAAE,MAAA,CAAOL,EAAG,YAAA,CAAaE,CAAQ,CAAC,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,CAChFP,GAAAA,CAAW,IAAIQ,CAAAA,CAAUC,CAAI,EAC/B,CAAA,CACF,CACF,CACAR,CAAAA,CAAKH,CAAAA,CAAUA,CAAQ,CAAA,CAEvB,IAAMa,CAAAA,CAAS,MAAMC,CAAAA,CAAoD,CAAA,kCAAA,EAAqC,kBAAA,CAAmBjB,CAAU,CAAC,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACjKkB,CAAAA,CAAc,IAAI,KAAKF,CAAAA,CAAO,KAAA,EAAS,EAAC,EAAG,IAAIG,CAAAA,EAAK,CAACA,CAAAA,CAAE,IAAA,CAAMA,EAAE,IAAI,CAAC,CAAC,CAAA,CAE3ElB,CAAAA,CAAQ,IAAA,EAAK,CAEb,IAAMmB,EAAkB,EAAC,CACnBC,CAAAA,CAAoB,EAAC,CACrBC,CAAAA,CAAqB,EAAC,CAE5B,OAAW,CAACC,CAAAA,CAAKT,CAAI,CAAA,GAAKT,GAAAA,CACnBa,CAAAA,CAAY,GAAA,CAAIK,CAAG,EAEbL,CAAAA,CAAY,GAAA,CAAIK,CAAG,CAAA,GAAMT,CAAAA,EAClCQ,CAAAA,CAAS,IAAA,CAAKC,CAAG,EAFjBH,CAAAA,CAAM,IAAA,CAAKG,CAAG,CAAA,CAKlB,IAAA,IAAWA,CAAAA,IAAOL,CAAAA,CAAY,IAAA,GACvBb,GAAAA,CAAW,GAAA,CAAIkB,CAAG,CAAA,EACrBF,CAAAA,CAAQ,IAAA,CAAKE,CAAG,CAAA,CAIpBC,EAAO,EAAE,CAAA,CACLJ,CAAAA,CAAM,MAAA,GAAW,CAAA,EAAKC,CAAAA,CAAQ,MAAA,GAAW,CAAA,EAAKC,EAAS,MAAA,GAAW,CAAA,CACpEE,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,KAAA,CAAM,oCAA0B,CAAC,CAAA,CAAE,GAEjDL,CAAAA,CAAM,MAAA,CAAS,CAAA,GACjBI,CAAAA,CAAOC,CAAAA,CAAM,KAAA,CAAM,CAAA,IAAA,EAAOL,CAAAA,CAAM,MAAM,CAAA,UAAA,CAAY,CAAC,CAAA,CACnDA,CAAAA,CAAM,OAAA,CAAQD,CAAAA,EAAKK,CAAAA,CAAOC,CAAAA,CAAM,MAAM,CAAA,MAAA,EAASN,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAElDG,CAAAA,CAAS,MAAA,CAAS,IACpBE,CAAAA,CAAOC,CAAAA,CAAM,MAAA,CAAO,CAAA,IAAA,EAAOH,EAAS,MAAM,CAAA,SAAA,CAAW,CAAC,CAAA,CACtDA,EAAS,OAAA,CAAQH,CAAAA,EAAKK,CAAAA,CAAOC,CAAAA,CAAM,MAAA,CAAO,CAAA,MAAA,EAASN,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAEtDE,CAAAA,CAAQ,MAAA,CAAS,CAAA,GACnBG,CAAAA,CAAOC,CAAAA,CAAM,GAAA,CAAI,OAAOJ,CAAAA,CAAQ,MAAM,CAAA,UAAA,CAAY,CAAC,CAAA,CACnDA,CAAAA,CAAQ,OAAA,CAAQF,CAAAA,EAAKK,EAAOC,CAAAA,CAAM,GAAA,CAAI,CAAA,MAAA,EAASN,CAAC,EAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAGxDK,CAAAA,CAAO,EAAE,EACX","file":"storage-diff-2UTHBORN.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { createHash } from 'node:crypto'\nimport { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logRaw } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\nimport { renderCompactTable } from '../../lib/output/table.js'\n\nexport default async function storageDiff(localPath: string, remotePath: string): Promise<void> {\n const spinner = createSpinner('Computing diff...')\n spinner.start()\n\n const localDir = path.resolve(localPath)\n const localFiles = new Map<string, string>()\n\n function walk(dir: string, baseDir: string): void {\n const entries = fs.readdirSync(dir, { withFileTypes: true })\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name)\n const relative = path.relative(baseDir, fullPath)\n if (entry.name.startsWith('.') || entry.name === 'node_modules') continue\n if (entry.isDirectory()) {\n walk(fullPath, baseDir)\n } else if (entry.isFile()) {\n const hash = createHash('sha256').update(fs.readFileSync(fullPath)).digest('hex')\n localFiles.set(relative, hash)\n }\n }\n }\n walk(localDir, localDir)\n\n const remote = await apiGet<{ files: { path: string; hash: string }[] }>(`/api/v1/storage/ls-recursive?path=${encodeURIComponent(remotePath)}`, { authenticated: true })\n const remoteFiles = new Map((remote.files || []).map(f => [f.path, f.hash]))\n\n spinner.stop()\n\n const added: string[] = []\n const removed: string[] = []\n const modified: string[] = []\n\n for (const [rel, hash] of localFiles) {\n if (!remoteFiles.has(rel)) {\n added.push(rel)\n } else if (remoteFiles.get(rel) !== hash) {\n modified.push(rel)\n }\n }\n for (const rel of remoteFiles.keys()) {\n if (!localFiles.has(rel)) {\n removed.push(rel)\n }\n }\n\n logRaw('')\n if (added.length === 0 && removed.length === 0 && modified.length === 0) {\n logRaw(` ${chalk.green('✓ Identical — no changes')}`)\n } else {\n if (added.length > 0) {\n logRaw(chalk.green(` + ${added.length} to upload`))\n added.forEach(f => logRaw(chalk.green(` + ${f}`)))\n }\n if (modified.length > 0) {\n logRaw(chalk.yellow(` ~ ${modified.length} modified`))\n modified.forEach(f => logRaw(chalk.yellow(` ~ ${f}`)))\n }\n if (removed.length > 0) {\n logRaw(chalk.red(` - ${removed.length} to delete`))\n removed.forEach(f => logRaw(chalk.red(` - ${f}`)))\n }\n }\n logRaw('')\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-diff.ts"],"names":["storageDiff","localPath","remotePath","spinner","createSpinner","localDir","path","localFiles","walk","dir","baseDir","entries","fs","entry","fullPath","relative","hash","createHash","remote","apiGet","remoteFiles","f","added","removed","modified","rel","logRaw","chalk"],"mappings":"8TASA,eAAOA,EAAmCC,CAAAA,CAAmBC,CAAAA,CAAmC,CAC9F,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,mBAAmB,CAAA,CACjDD,EAAQ,KAAA,EAAM,CAEd,IAAME,CAAAA,CAAWC,CAAAA,CAAK,OAAA,CAAQL,CAAS,CAAA,CACjCM,IAAa,IAAI,GAAA,CAEvB,SAASC,CAAAA,CAAKC,CAAAA,CAAaC,CAAAA,CAAuB,CAChD,IAAMC,EAAUC,CAAAA,CAAG,WAAA,CAAYH,CAAAA,CAAK,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC3D,QAAWI,CAAAA,IAASF,CAAAA,CAAS,CAC3B,IAAMG,CAAAA,CAAWR,CAAAA,CAAK,IAAA,CAAKG,CAAAA,CAAKI,EAAM,IAAI,CAAA,CACpCE,CAAAA,CAAWT,CAAAA,CAAK,SAASI,CAAAA,CAASI,CAAQ,CAAA,CAChD,GAAI,EAAAD,CAAAA,CAAM,IAAA,CAAK,UAAA,CAAW,GAAG,CAAA,EAAKA,CAAAA,CAAM,IAAA,GAAS,cAAA,CAAA,CAAA,CACjD,GAAIA,CAAAA,CAAM,WAAA,EAAY,CACpBL,CAAAA,CAAKM,CAAAA,CAAUJ,CAAO,CAAA,CAAA,KAAA,GACbG,CAAAA,CAAM,QAAO,CAAG,CACzB,IAAMG,CAAAA,CAAOC,UAAAA,CAAW,QAAQ,CAAA,CAAE,MAAA,CAAOL,EAAG,YAAA,CAAaE,CAAQ,CAAC,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,CAChFP,GAAAA,CAAW,IAAIQ,CAAAA,CAAUC,CAAI,EAC/B,CAAA,CACF,CACF,CACAR,CAAAA,CAAKH,CAAAA,CAAUA,CAAQ,CAAA,CAEvB,IAAMa,CAAAA,CAAS,MAAMC,GAAAA,CAAoD,CAAA,kCAAA,EAAqC,kBAAA,CAAmBjB,CAAU,CAAC,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACjKkB,CAAAA,CAAc,IAAI,KAAKF,CAAAA,CAAO,KAAA,EAAS,EAAC,EAAG,IAAIG,CAAAA,EAAK,CAACA,CAAAA,CAAE,IAAA,CAAMA,EAAE,IAAI,CAAC,CAAC,CAAA,CAE3ElB,CAAAA,CAAQ,IAAA,EAAK,CAEb,IAAMmB,EAAkB,EAAC,CACnBC,CAAAA,CAAoB,EAAC,CACrBC,CAAAA,CAAqB,EAAC,CAE5B,OAAW,CAACC,CAAAA,CAAKT,CAAI,CAAA,GAAKT,GAAAA,CACnBa,CAAAA,CAAY,GAAA,CAAIK,CAAG,EAEbL,CAAAA,CAAY,GAAA,CAAIK,CAAG,CAAA,GAAMT,CAAAA,EAClCQ,CAAAA,CAAS,IAAA,CAAKC,CAAG,EAFjBH,CAAAA,CAAM,IAAA,CAAKG,CAAG,CAAA,CAKlB,IAAA,IAAWA,CAAAA,IAAOL,CAAAA,CAAY,IAAA,GACvBb,GAAAA,CAAW,GAAA,CAAIkB,CAAG,CAAA,EACrBF,CAAAA,CAAQ,IAAA,CAAKE,CAAG,CAAA,CAIpBC,EAAO,EAAE,CAAA,CACLJ,CAAAA,CAAM,MAAA,GAAW,CAAA,EAAKC,CAAAA,CAAQ,MAAA,GAAW,CAAA,EAAKC,EAAS,MAAA,GAAW,CAAA,CACpEE,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,KAAA,CAAM,oCAA0B,CAAC,CAAA,CAAE,GAEjDL,CAAAA,CAAM,MAAA,CAAS,CAAA,GACjBI,CAAAA,CAAOC,CAAAA,CAAM,KAAA,CAAM,CAAA,IAAA,EAAOL,CAAAA,CAAM,MAAM,CAAA,UAAA,CAAY,CAAC,CAAA,CACnDA,CAAAA,CAAM,OAAA,CAAQD,CAAAA,EAAKK,CAAAA,CAAOC,CAAAA,CAAM,MAAM,CAAA,MAAA,EAASN,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAElDG,CAAAA,CAAS,MAAA,CAAS,IACpBE,CAAAA,CAAOC,CAAAA,CAAM,MAAA,CAAO,CAAA,IAAA,EAAOH,EAAS,MAAM,CAAA,SAAA,CAAW,CAAC,CAAA,CACtDA,EAAS,OAAA,CAAQH,CAAAA,EAAKK,CAAAA,CAAOC,CAAAA,CAAM,MAAA,CAAO,CAAA,MAAA,EAASN,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAEtDE,CAAAA,CAAQ,MAAA,CAAS,CAAA,GACnBG,CAAAA,CAAOC,CAAAA,CAAM,GAAA,CAAI,OAAOJ,CAAAA,CAAQ,MAAM,CAAA,UAAA,CAAY,CAAC,CAAA,CACnDA,CAAAA,CAAQ,OAAA,CAAQF,CAAAA,EAAKK,EAAOC,CAAAA,CAAM,GAAA,CAAI,CAAA,MAAA,EAASN,CAAC,EAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAGxDK,CAAAA,CAAO,EAAE,EACX","file":"storage-diff-BDKHYLIC.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { createHash } from 'node:crypto'\nimport { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logRaw } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\nimport { renderCompactTable } from '../../lib/output/table.js'\n\nexport default async function storageDiff(localPath: string, remotePath: string): Promise<void> {\n const spinner = createSpinner('Computing diff...')\n spinner.start()\n\n const localDir = path.resolve(localPath)\n const localFiles = new Map<string, string>()\n\n function walk(dir: string, baseDir: string): void {\n const entries = fs.readdirSync(dir, { withFileTypes: true })\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name)\n const relative = path.relative(baseDir, fullPath)\n if (entry.name.startsWith('.') || entry.name === 'node_modules') continue\n if (entry.isDirectory()) {\n walk(fullPath, baseDir)\n } else if (entry.isFile()) {\n const hash = createHash('sha256').update(fs.readFileSync(fullPath)).digest('hex')\n localFiles.set(relative, hash)\n }\n }\n }\n walk(localDir, localDir)\n\n const remote = await apiGet<{ files: { path: string; hash: string }[] }>(`/api/v1/storage/ls-recursive?path=${encodeURIComponent(remotePath)}`, { authenticated: true })\n const remoteFiles = new Map((remote.files || []).map(f => [f.path, f.hash]))\n\n spinner.stop()\n\n const added: string[] = []\n const removed: string[] = []\n const modified: string[] = []\n\n for (const [rel, hash] of localFiles) {\n if (!remoteFiles.has(rel)) {\n added.push(rel)\n } else if (remoteFiles.get(rel) !== hash) {\n modified.push(rel)\n }\n }\n for (const rel of remoteFiles.keys()) {\n if (!localFiles.has(rel)) {\n removed.push(rel)\n }\n }\n\n logRaw('')\n if (added.length === 0 && removed.length === 0 && modified.length === 0) {\n logRaw(` ${chalk.green('✓ Identical — no changes')}`)\n } else {\n if (added.length > 0) {\n logRaw(chalk.green(` + ${added.length} to upload`))\n added.forEach(f => logRaw(chalk.green(` + ${f}`)))\n }\n if (modified.length > 0) {\n logRaw(chalk.yellow(` ~ ${modified.length} modified`))\n modified.forEach(f => logRaw(chalk.yellow(` ~ ${f}`)))\n }\n if (removed.length > 0) {\n logRaw(chalk.red(` - ${removed.length} to delete`))\n removed.forEach(f => logRaw(chalk.red(` - ${f}`)))\n }\n }\n logRaw('')\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import'./chunk-THMWE2I6.js';import {a as a$1}from'./chunk-G4JU7IUC.js';import {g}from'./chunk-QT7R3AXE.js';import d from'fs';import r from'path';import b from'cli-progress';import v from'chalk';async function C(a$2,l){let n=l?r.resolve(l):r.resolve(".",r.basename(a$2)),e=a(`Downloading ${a$2}...`);e.start();let o=await fetch(`https://squidcloud.vercel.app/api/v1/storage/download?path=${encodeURIComponent(a$2)}`,{headers:{Authorization:`Bearer ${(await import('./session-R7SGJZAG.js')).loadSession().then(c=>c?.access_token||"")}`}}),p=o.headers.get("content-length"),t=p?parseInt(p,10):0;(!o.ok||!o.body)&&(e.fail(),console.error("Download failed"),process.exit(1));let m=r.dirname(n);d.existsSync(m)||d.mkdirSync(m,{recursive:true});let f=d.createWriteStream(n),S=o.body.getReader(),s=0,i=new b.SingleBar({format:`${v.hex("#7C4DFF")("\u25B8")} Downloading |${v.hex("#7C4DFF")("{bar}")}| {percentage}% | {value}/{total}`,barCompleteChar:"\u2588",barIncompleteChar:"\u2591",hideCursor:true});for(t>0?i.start(t,0):e.stop();;){let{done:c,value:h}=await S.read();if(c)break;f.write(Buffer.from(h)),s+=h.length,t>0&&i.update(s);}f.end(),t>0?i.stop():e.succeed(),g(`Downloaded to ${n} (${a$1(s)})`);}
2
+ export{C as default};//# sourceMappingURL=storage-download-UEQYEO73.js.map
3
+ //# sourceMappingURL=storage-download-UEQYEO73.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-download.ts"],"names":["storageDownload","remote","local","localPath","path","spinner","createSpinner","response","s","contentLength","total","dir","fs","writer","reader","downloaded","progressBar","cliProgress","chalk","done","value","logSuccess","formatBytes"],"mappings":"iOAUA,eAAOA,EAAuCC,GAAAA,CAAgBC,CAAAA,CAA+B,CAC3F,IAAMC,CAAAA,CAAYD,CAAAA,CAAQE,EAAK,OAAA,CAAQF,CAAK,CAAA,CAAIE,CAAAA,CAAK,OAAA,CAAQ,GAAA,CAAKA,EAAK,QAAA,CAASH,GAAM,CAAC,CAAA,CAEjFI,CAAAA,CAAUC,CAAAA,CAAc,eAAeL,GAAM,CAAA,GAAA,CAAK,CAAA,CACxDI,CAAAA,CAAQ,KAAA,EAAM,CAEd,IAAME,CAAAA,CAAW,MAAM,KAAA,CACrB,CAAA,2DAAA,EAA8D,kBAAA,CAAmBN,GAAM,CAAC,CAAA,CAAA,CACxF,CACE,OAAA,CAAS,CAAE,aAAA,CAAe,CAAA,OAAA,EAAA,CAAW,MAAM,OAAO,uBAA2B,CAAA,EAAG,WAAA,EAAY,CAAE,IAAA,CAAKO,GAAKA,CAAAA,EAAG,YAAA,EAAgB,EAAE,CAAC,CAAA,CAAG,CACnI,CACF,CAAA,CACMC,CAAAA,CAAgBF,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,gBAAgB,EACrDG,CAAAA,CAAQD,CAAAA,CAAgB,QAAA,CAASA,CAAAA,CAAe,EAAE,CAAA,CAAI,GAExD,CAACF,CAAAA,CAAS,EAAA,EAAM,CAACA,CAAAA,CAAS,IAAA,IAC5BF,EAAQ,IAAA,EAAK,CACb,OAAA,CAAQ,KAAA,CAAM,iBAAiB,CAAA,CAC/B,QAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAMM,CAAAA,CAAMP,CAAAA,CAAK,OAAA,CAAQD,CAAS,CAAA,CAC7BS,CAAAA,CAAG,UAAA,CAAWD,CAAG,CAAA,EACpBC,CAAAA,CAAG,UAAUD,CAAAA,CAAK,CAAE,SAAA,CAAW,IAAK,CAAC,CAAA,CAGvC,IAAME,CAAAA,CAASD,CAAAA,CAAG,iBAAA,CAAkBT,CAAS,CAAA,CACvCW,CAAAA,CAASP,EAAS,IAAA,CAAK,SAAA,EAAU,CACnCQ,CAAAA,CAAa,CAAA,CAEXC,CAAAA,CAAc,IAAIC,GAAAA,CAAY,SAAA,CAAU,CAC5C,MAAA,CAAQ,CAAA,EAAGC,CAAAA,CAAM,IAAI,SAAS,CAAA,CAAE,QAAG,CAAC,CAAA,cAAA,EAAiBA,CAAAA,CAAM,IAAI,SAAS,CAAA,CAAE,OAAO,CAAC,CAAA,iCAAA,CAAA,CAClF,eAAA,CAAiB,SACjB,iBAAA,CAAmB,QAAA,CACnB,UAAA,CAAY,IACd,CAAC,CAAA,CAQD,IANIR,CAAAA,CAAQ,CAAA,CACVM,CAAAA,CAAY,KAAA,CAAMN,CAAAA,CAAO,CAAC,EAE1BL,CAAAA,CAAQ,IAAA,EAAK,GAGF,CACX,GAAM,CAAE,KAAAc,CAAAA,CAAM,KAAA,CAAAC,CAAM,CAAA,CAAI,MAAMN,CAAAA,CAAO,MAAK,CAC1C,GAAIK,CAAAA,CAAM,MACVN,CAAAA,CAAO,KAAA,CAAM,OAAO,IAAA,CAAKO,CAAK,CAAC,CAAA,CAC/BL,CAAAA,EAAcK,CAAAA,CAAM,OAChBV,CAAAA,CAAQ,CAAA,EACVM,CAAAA,CAAY,MAAA,CAAOD,CAAU,EAEjC,CAEAF,CAAAA,CAAO,GAAA,EAAI,CACPH,CAAAA,CAAQ,CAAA,CAAGM,CAAAA,CAAY,MAAK,CAC3BX,CAAAA,CAAQ,OAAA,EAAQ,CAErBgB,CAAAA,CAAW,CAAA,cAAA,EAAiBlB,CAAS,CAAA,EAAA,EAAKmB,CAAAA,CAAYP,CAAU,CAAC,CAAA,CAAA,CAAG,EACtE","file":"storage-download-6OZCB7M4.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logJSON, logInfo } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatBytes } from '../../lib/utils/format.js'\nimport cliProgress from 'cli-progress'\nimport chalk from 'chalk'\n\nexport default async function storageDownload(remote: string, local?: string): Promise<void> {\n const localPath = local ? path.resolve(local) : path.resolve('.', path.basename(remote))\n\n const spinner = createSpinner(`Downloading ${remote}...`)\n spinner.start()\n\n const response = await fetch(\n `https://squidcloud.vercel.app/api/v1/storage/download?path=${encodeURIComponent(remote)}`,\n {\n headers: { Authorization: `Bearer ${(await import('../../lib/auth/session.js')).loadSession().then(s => s?.access_token || '')}` },\n }\n )\n const contentLength = response.headers.get('content-length')\n const total = contentLength ? parseInt(contentLength, 10) : 0\n\n if (!response.ok || !response.body) {\n spinner.fail()\n console.error('Download failed')\n process.exit(1)\n }\n\n const dir = path.dirname(localPath)\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true })\n }\n\n const writer = fs.createWriteStream(localPath)\n const reader = response.body.getReader()\n let downloaded = 0\n\n const progressBar = new cliProgress.SingleBar({\n format: `${chalk.hex('#7C4DFF')('▸')} Downloading |${chalk.hex('#7C4DFF')('{bar}')}| {percentage}% | {value}/{total}`,\n barCompleteChar: '█',\n barIncompleteChar: '░',\n hideCursor: true,\n })\n\n if (total > 0) {\n progressBar.start(total, 0)\n } else {\n spinner.stop()\n }\n\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n writer.write(Buffer.from(value))\n downloaded += value.length\n if (total > 0) {\n progressBar.update(downloaded)\n }\n }\n\n writer.end()\n if (total > 0) progressBar.stop()\n else spinner.succeed()\n\n logSuccess(`Downloaded to ${localPath} (${formatBytes(downloaded)})`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-download.ts"],"names":["storageDownload","remote","local","localPath","path","spinner","createSpinner","response","s","contentLength","total","dir","fs","writer","reader","downloaded","progressBar","cliProgress","chalk","done","value","logSuccess","formatBytes"],"mappings":"sOAUA,eAAOA,EAAuCC,GAAAA,CAAgBC,CAAAA,CAA+B,CAC3F,IAAMC,CAAAA,CAAYD,CAAAA,CAAQE,EAAK,OAAA,CAAQF,CAAK,CAAA,CAAIE,CAAAA,CAAK,OAAA,CAAQ,GAAA,CAAKA,EAAK,QAAA,CAASH,GAAM,CAAC,CAAA,CAEjFI,CAAAA,CAAUC,CAAAA,CAAc,eAAeL,GAAM,CAAA,GAAA,CAAK,CAAA,CACxDI,CAAAA,CAAQ,KAAA,EAAM,CAEd,IAAME,CAAAA,CAAW,MAAM,KAAA,CACrB,CAAA,2DAAA,EAA8D,kBAAA,CAAmBN,GAAM,CAAC,CAAA,CAAA,CACxF,CACE,OAAA,CAAS,CAAE,aAAA,CAAe,CAAA,OAAA,EAAA,CAAW,MAAM,OAAO,uBAA2B,CAAA,EAAG,WAAA,EAAY,CAAE,IAAA,CAAKO,GAAKA,CAAAA,EAAG,YAAA,EAAgB,EAAE,CAAC,CAAA,CAAG,CACnI,CACF,CAAA,CACMC,CAAAA,CAAgBF,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,gBAAgB,EACrDG,CAAAA,CAAQD,CAAAA,CAAgB,QAAA,CAASA,CAAAA,CAAe,EAAE,CAAA,CAAI,GAExD,CAACF,CAAAA,CAAS,EAAA,EAAM,CAACA,CAAAA,CAAS,IAAA,IAC5BF,EAAQ,IAAA,EAAK,CACb,OAAA,CAAQ,KAAA,CAAM,iBAAiB,CAAA,CAC/B,QAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAMM,CAAAA,CAAMP,CAAAA,CAAK,OAAA,CAAQD,CAAS,CAAA,CAC7BS,CAAAA,CAAG,UAAA,CAAWD,CAAG,CAAA,EACpBC,CAAAA,CAAG,UAAUD,CAAAA,CAAK,CAAE,SAAA,CAAW,IAAK,CAAC,CAAA,CAGvC,IAAME,CAAAA,CAASD,CAAAA,CAAG,iBAAA,CAAkBT,CAAS,CAAA,CACvCW,CAAAA,CAASP,EAAS,IAAA,CAAK,SAAA,EAAU,CACnCQ,CAAAA,CAAa,CAAA,CAEXC,CAAAA,CAAc,IAAIC,CAAAA,CAAY,SAAA,CAAU,CAC5C,MAAA,CAAQ,CAAA,EAAGC,CAAAA,CAAM,IAAI,SAAS,CAAA,CAAE,QAAG,CAAC,CAAA,cAAA,EAAiBA,CAAAA,CAAM,IAAI,SAAS,CAAA,CAAE,OAAO,CAAC,CAAA,iCAAA,CAAA,CAClF,eAAA,CAAiB,SACjB,iBAAA,CAAmB,QAAA,CACnB,UAAA,CAAY,IACd,CAAC,CAAA,CAQD,IANIR,CAAAA,CAAQ,CAAA,CACVM,CAAAA,CAAY,KAAA,CAAMN,CAAAA,CAAO,CAAC,EAE1BL,CAAAA,CAAQ,IAAA,EAAK,GAGF,CACX,GAAM,CAAE,KAAAc,CAAAA,CAAM,KAAA,CAAAC,CAAM,CAAA,CAAI,MAAMN,CAAAA,CAAO,MAAK,CAC1C,GAAIK,CAAAA,CAAM,MACVN,CAAAA,CAAO,KAAA,CAAM,OAAO,IAAA,CAAKO,CAAK,CAAC,CAAA,CAC/BL,CAAAA,EAAcK,CAAAA,CAAM,OAChBV,CAAAA,CAAQ,CAAA,EACVM,CAAAA,CAAY,MAAA,CAAOD,CAAU,EAEjC,CAEAF,CAAAA,CAAO,GAAA,EAAI,CACPH,CAAAA,CAAQ,CAAA,CAAGM,CAAAA,CAAY,MAAK,CAC3BX,CAAAA,CAAQ,OAAA,EAAQ,CAErBgB,CAAAA,CAAW,CAAA,cAAA,EAAiBlB,CAAS,CAAA,EAAA,EAAKmB,GAAAA,CAAYP,CAAU,CAAC,CAAA,CAAA,CAAG,EACtE","file":"storage-download-UEQYEO73.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logJSON, logInfo } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatBytes } from '../../lib/utils/format.js'\nimport cliProgress from 'cli-progress'\nimport chalk from 'chalk'\n\nexport default async function storageDownload(remote: string, local?: string): Promise<void> {\n const localPath = local ? path.resolve(local) : path.resolve('.', path.basename(remote))\n\n const spinner = createSpinner(`Downloading ${remote}...`)\n spinner.start()\n\n const response = await fetch(\n `https://squidcloud.vercel.app/api/v1/storage/download?path=${encodeURIComponent(remote)}`,\n {\n headers: { Authorization: `Bearer ${(await import('../../lib/auth/session.js')).loadSession().then(s => s?.access_token || '')}` },\n }\n )\n const contentLength = response.headers.get('content-length')\n const total = contentLength ? parseInt(contentLength, 10) : 0\n\n if (!response.ok || !response.body) {\n spinner.fail()\n console.error('Download failed')\n process.exit(1)\n }\n\n const dir = path.dirname(localPath)\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true })\n }\n\n const writer = fs.createWriteStream(localPath)\n const reader = response.body.getReader()\n let downloaded = 0\n\n const progressBar = new cliProgress.SingleBar({\n format: `${chalk.hex('#7C4DFF')('▸')} Downloading |${chalk.hex('#7C4DFF')('{bar}')}| {percentage}% | {value}/{total}`,\n barCompleteChar: '█',\n barIncompleteChar: '░',\n hideCursor: true,\n })\n\n if (total > 0) {\n progressBar.start(total, 0)\n } else {\n spinner.stop()\n }\n\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n writer.write(Buffer.from(value))\n downloaded += value.length\n if (total > 0) {\n progressBar.update(downloaded)\n }\n }\n\n writer.end()\n if (total > 0) progressBar.stop()\n else spinner.succeed()\n\n logSuccess(`Downloaded to ${localPath} (${formatBytes(downloaded)})`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {c}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import {a,b}from'./chunk-G4JU7IUC.js';import {f,m as m$1,l}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import e from'chalk';async function m(r){let o=(await c(`/api/v1/storage/info?path=${encodeURIComponent(r)}`,{authenticated:true})).file;if(f()){m$1(o);return}l(""),l(` ${e.bold(o.name)}`),l(e.dim(" \u2500\u2500\u2500".repeat(10))),l(` ${e.bold("Size:")} ${a(o.size)}`),l(` ${e.bold("Type:")} ${o.mime_type}`),l(` ${e.bold("Hash:")} ${e.dim(o.content_hash?.slice(0,16)||"-")}`),l(` ${e.bold("Created:")} ${b(o.created_at)}`),l(` ${e.bold("Modified:")} ${b(o.updated_at)}`),l(` ${e.bold("Tags:")} ${o.tags?.length?o.tags.join(", "):e.dim("none")}`),l(` ${e.bold("Shared:")} ${o.shared?e.green("yes"):e.dim("no")}`),l(` ${e.bold("Published:")} ${o.published?e.green("yes"):e.dim("no")}`),l(` ${e.bold("Scan:")} ${o.scan_status||e.dim("pending")}`),l("");}export{m as default};//# sourceMappingURL=storage-info-4IVQWOSM.js.map
2
+ //# sourceMappingURL=storage-info-4IVQWOSM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-info.ts"],"names":["storageInfo","path","f","apiGet","isJsonMode","logJSON","logRaw","chalk","formatBytes","formatDate"],"mappings":"sMAmBA,eAAOA,CAAAA,CAAmCC,EAA6B,CAErE,IAAMC,GADO,MAAMC,CAAAA,CAA2B,6BAA6B,kBAAA,CAAmBF,CAAI,CAAC,CAAA,CAAA,CAAI,CAAE,cAAe,IAAK,CAAC,CAAA,EAC/G,IAAA,CAEf,GAAIG,CAAAA,GAAc,CAChBC,GAAAA,CAAQH,CAAC,CAAA,CACT,MACF,CAEAI,CAAAA,CAAO,EAAE,EACTA,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAKL,CAAAA,CAAE,IAAI,CAAC,CAAA,CAAE,EAChCI,CAAAA,CAAOC,CAAAA,CAAM,GAAA,CAAI,sBAAA,CAAQ,MAAA,CAAO,EAAE,CAAC,CAAC,CAAA,CACpCD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,OAAO,CAAC,YAAYC,CAAAA,CAAYN,CAAAA,CAAE,IAAI,CAAC,CAAA,CAAE,EAChEI,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,OAAO,CAAC,CAAA,SAAA,EAAYL,CAAAA,CAAE,SAAS,EAAE,CAAA,CACxDI,CAAAA,CAAO,KAAKC,CAAAA,CAAM,IAAA,CAAK,OAAO,CAAC,CAAA,SAAA,EAAYA,EAAM,GAAA,CAAIL,CAAAA,CAAE,cAAc,KAAA,CAAM,CAAA,CAAG,EAAE,CAAA,EAAK,GAAG,CAAC,CAAA,CAAE,CAAA,CAC3FI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,UAAU,CAAC,CAAA,MAAA,EAASE,EAAWP,CAAAA,CAAE,UAAU,CAAC,CAAA,CAAE,CAAA,CACrEI,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,WAAW,CAAC,QAAQE,CAAAA,CAAWP,CAAAA,CAAE,UAAU,CAAC,CAAA,CAAE,CAAA,CACrEI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,OAAO,CAAC,YAAYL,CAAAA,CAAE,IAAA,EAAM,OAASA,CAAAA,CAAE,IAAA,CAAK,KAAK,IAAI,CAAA,CAAIK,EAAM,GAAA,CAAI,MAAM,CAAC,CAAA,CAAE,CAAA,CACnGD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,SAAS,CAAC,CAAA,OAAA,EAAUL,EAAE,MAAA,CAASK,CAAAA,CAAM,MAAM,KAAK,CAAA,CAAIA,EAAM,GAAA,CAAI,IAAI,CAAC,CAAA,CAAE,CAAA,CAC5FD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,YAAY,CAAC,OAAOL,CAAAA,CAAE,SAAA,CAAYK,CAAAA,CAAM,KAAA,CAAM,KAAK,CAAA,CAAIA,EAAM,GAAA,CAAI,IAAI,CAAC,CAAA,CAAE,CAAA,CAC/FD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,OAAO,CAAC,YAAYL,CAAAA,CAAE,WAAA,EAAeK,EAAM,GAAA,CAAI,SAAS,CAAC,CAAA,CAAE,CAAA,CAClFD,CAAAA,CAAO,EAAE,EACX","file":"storage-info-ZD6LDRFG.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { logJSON, logRaw } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatBytes, formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface FileInfo {\n name: string\n size: number\n mime_type: string\n content_hash: string\n created_at: string\n updated_at: string\n tags: string[]\n shared: boolean\n published: boolean\n scan_status: string\n}\n\nexport default async function storageInfo(path: string): Promise<void> {\n const data = await apiGet<{ file: FileInfo }>(`/api/v1/storage/info?path=${encodeURIComponent(path)}`, { authenticated: true })\n const f = data.file\n\n if (isJsonMode()) {\n logJSON(f)\n return\n }\n\n logRaw('')\n logRaw(` ${chalk.bold(f.name)}`)\n logRaw(chalk.dim(' ───'.repeat(10)))\n logRaw(` ${chalk.bold('Size:')} ${formatBytes(f.size)}`)\n logRaw(` ${chalk.bold('Type:')} ${f.mime_type}`)\n logRaw(` ${chalk.bold('Hash:')} ${chalk.dim(f.content_hash?.slice(0, 16) || '-')}`)\n logRaw(` ${chalk.bold('Created:')} ${formatDate(f.created_at)}`)\n logRaw(` ${chalk.bold('Modified:')} ${formatDate(f.updated_at)}`)\n logRaw(` ${chalk.bold('Tags:')} ${f.tags?.length ? f.tags.join(', ') : chalk.dim('none')}`)\n logRaw(` ${chalk.bold('Shared:')} ${f.shared ? chalk.green('yes') : chalk.dim('no')}`)\n logRaw(` ${chalk.bold('Published:')} ${f.published ? chalk.green('yes') : chalk.dim('no')}`)\n logRaw(` ${chalk.bold('Scan:')} ${f.scan_status || chalk.dim('pending')}`)\n logRaw('')\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-info.ts"],"names":["storageInfo","path","f","apiGet","isJsonMode","logJSON","logRaw","chalk","formatBytes","formatDate"],"mappings":"kOAmBA,eAAOA,CAAAA,CAAmCC,EAA6B,CAErE,IAAMC,GADO,MAAMC,CAAAA,CAA2B,6BAA6B,kBAAA,CAAmBF,CAAI,CAAC,CAAA,CAAA,CAAI,CAAE,cAAe,IAAK,CAAC,CAAA,EAC/G,IAAA,CAEf,GAAIG,CAAAA,GAAc,CAChBC,GAAAA,CAAQH,CAAC,CAAA,CACT,MACF,CAEAI,CAAAA,CAAO,EAAE,EACTA,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAKL,CAAAA,CAAE,IAAI,CAAC,CAAA,CAAE,EAChCI,CAAAA,CAAOC,CAAAA,CAAM,GAAA,CAAI,sBAAA,CAAQ,MAAA,CAAO,EAAE,CAAC,CAAC,CAAA,CACpCD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,OAAO,CAAC,YAAYC,CAAAA,CAAYN,CAAAA,CAAE,IAAI,CAAC,CAAA,CAAE,EAChEI,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,OAAO,CAAC,CAAA,SAAA,EAAYL,CAAAA,CAAE,SAAS,EAAE,CAAA,CACxDI,CAAAA,CAAO,KAAKC,CAAAA,CAAM,IAAA,CAAK,OAAO,CAAC,CAAA,SAAA,EAAYA,EAAM,GAAA,CAAIL,CAAAA,CAAE,cAAc,KAAA,CAAM,CAAA,CAAG,EAAE,CAAA,EAAK,GAAG,CAAC,CAAA,CAAE,CAAA,CAC3FI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,UAAU,CAAC,CAAA,MAAA,EAASE,EAAWP,CAAAA,CAAE,UAAU,CAAC,CAAA,CAAE,CAAA,CACrEI,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,WAAW,CAAC,QAAQE,CAAAA,CAAWP,CAAAA,CAAE,UAAU,CAAC,CAAA,CAAE,CAAA,CACrEI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,OAAO,CAAC,YAAYL,CAAAA,CAAE,IAAA,EAAM,OAASA,CAAAA,CAAE,IAAA,CAAK,KAAK,IAAI,CAAA,CAAIK,EAAM,GAAA,CAAI,MAAM,CAAC,CAAA,CAAE,CAAA,CACnGD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,SAAS,CAAC,CAAA,OAAA,EAAUL,EAAE,MAAA,CAASK,CAAAA,CAAM,MAAM,KAAK,CAAA,CAAIA,EAAM,GAAA,CAAI,IAAI,CAAC,CAAA,CAAE,CAAA,CAC5FD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,YAAY,CAAC,OAAOL,CAAAA,CAAE,SAAA,CAAYK,CAAAA,CAAM,KAAA,CAAM,KAAK,CAAA,CAAIA,EAAM,GAAA,CAAI,IAAI,CAAC,CAAA,CAAE,CAAA,CAC/FD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,OAAO,CAAC,YAAYL,CAAAA,CAAE,WAAA,EAAeK,EAAM,GAAA,CAAI,SAAS,CAAC,CAAA,CAAE,CAAA,CAClFD,CAAAA,CAAO,EAAE,EACX","file":"storage-info-4IVQWOSM.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { logJSON, logRaw } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatBytes, formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface FileInfo {\n name: string\n size: number\n mime_type: string\n content_hash: string\n created_at: string\n updated_at: string\n tags: string[]\n shared: boolean\n published: boolean\n scan_status: string\n}\n\nexport default async function storageInfo(path: string): Promise<void> {\n const data = await apiGet<{ file: FileInfo }>(`/api/v1/storage/info?path=${encodeURIComponent(path)}`, { authenticated: true })\n const f = data.file\n\n if (isJsonMode()) {\n logJSON(f)\n return\n }\n\n logRaw('')\n logRaw(` ${chalk.bold(f.name)}`)\n logRaw(chalk.dim(' ───'.repeat(10)))\n logRaw(` ${chalk.bold('Size:')} ${formatBytes(f.size)}`)\n logRaw(` ${chalk.bold('Type:')} ${f.mime_type}`)\n logRaw(` ${chalk.bold('Hash:')} ${chalk.dim(f.content_hash?.slice(0, 16) || '-')}`)\n logRaw(` ${chalk.bold('Created:')} ${formatDate(f.created_at)}`)\n logRaw(` ${chalk.bold('Modified:')} ${formatDate(f.updated_at)}`)\n logRaw(` ${chalk.bold('Tags:')} ${f.tags?.length ? f.tags.join(', ') : chalk.dim('none')}`)\n logRaw(` ${chalk.bold('Shared:')} ${f.shared ? chalk.green('yes') : chalk.dim('no')}`)\n logRaw(` ${chalk.bold('Published:')} ${f.published ? chalk.green('yes') : chalk.dim('no')}`)\n logRaw(` ${chalk.bold('Scan:')} ${f.scan_status || chalk.dim('pending')}`)\n logRaw('')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {c}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import {a as a$1}from'./chunk-THMWE2I6.js';import {c as c$1,a}from'./chunk-G4JU7IUC.js';import'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import t from'chalk';async function m(s,a$2){let o=((await c(`/api/v1/storage/ls?path=${encodeURIComponent(s||"")}&long=${a$2?.long||false}&recursive=${a$2?.recursive||false}`,{authenticated:true})).entries||[]).map(e=>({name:e.type==="folder"?t.hex("#4FC3F7")(e.name+"/"):e.name,type:e.type==="folder"?t.dim("dir"):e.type,size:e.type==="file"?a(e.size):t.dim("-"),mime:e.type==="file"?t.dim(e.mime_type):"",modified:e.updated_at?c$1(e.updated_at):"",tags:e.tags?.length?t.dim(e.tags.join(",")):""}));if(a$2?.long)console.log(a$1(o,[{key:"name",label:"Name"},{key:"type",label:"Type"},{key:"size",label:"Size"},{key:"mime",label:"MIME"},{key:"modified",label:"Modified"},{key:"tags",label:"Tags"}]));else for(let e of o)console.log(e.name);}export{m as default};//# sourceMappingURL=storage-ls-AMBO3S2J.js.map
2
+ //# sourceMappingURL=storage-ls-AMBO3S2J.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-ls.ts"],"names":["storageLs","path","options","rows","apiGet","chalk","formatBytes","formatRelative","renderTable","row"],"mappings":"8NAeA,eAAOA,CAAAA,CAAiCC,CAAAA,CAAeC,IAAkE,CAIvH,IAAMC,CAAAA,CAAAA,CAAAA,CAFO,MAAMC,EAAoC,CAAA,wBAAA,EAA2B,kBAAA,CADhEH,CAAAA,EAAQ,EACoF,CAAC,CAAA,MAAA,EAASC,GAAAA,EAAS,IAAA,EAAQ,KAAK,cAAcA,GAAAA,EAAS,SAAA,EAAa,KAAK,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EAE/L,SAAW,EAAC,EAAG,GAAA,CAAI,CAAA,GAAM,CAC1C,IAAA,CAAM,CAAA,CAAE,IAAA,GAAS,QAAA,CAAWG,EAAM,GAAA,CAAI,SAAS,CAAA,CAAE,CAAA,CAAE,KAAO,GAAG,CAAA,CAAI,CAAA,CAAE,IAAA,CACnE,KAAM,CAAA,CAAE,IAAA,GAAS,QAAA,CAAWA,CAAAA,CAAM,IAAI,KAAK,CAAA,CAAI,CAAA,CAAE,IAAA,CACjD,KAAM,CAAA,CAAE,IAAA,GAAS,MAAA,CAASC,CAAAA,CAAY,EAAE,IAAI,CAAA,CAAID,CAAAA,CAAM,GAAA,CAAI,GAAG,CAAA,CAC7D,IAAA,CAAM,EAAE,IAAA,GAAS,MAAA,CAASA,EAAM,GAAA,CAAI,CAAA,CAAE,SAAS,CAAA,CAAI,GACnD,QAAA,CAAU,CAAA,CAAE,UAAA,CAAaE,CAAAA,CAAe,EAAE,UAAU,CAAA,CAAI,EAAA,CACxD,IAAA,CAAM,EAAE,IAAA,EAAM,MAAA,CAASF,CAAAA,CAAM,GAAA,CAAI,EAAE,IAAA,CAAK,IAAA,CAAK,GAAG,CAAC,EAAI,EACvD,CAAA,CAAE,CAAA,CAEF,GAAIH,KAAS,IAAA,CACX,OAAA,CAAQ,GAAA,CAAIM,GAAAA,CAAYL,EAAM,CAC5B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,MAAA,CAAQ,MAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,OAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,UAAA,CAAY,KAAA,CAAO,UAAW,EACrC,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAC/B,CAAC,CAAC,CAAA,CAAA,aAESM,CAAAA,IAAON,CAAAA,CAChB,QAAQ,GAAA,CAAIM,CAAAA,CAAI,IAAI,EAG1B","file":"storage-ls-KE7UDC3I.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatBytes, formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface StorageEntry {\n name: string\n type: 'file' | 'folder'\n size: number\n mime_type: string\n updated_at: string\n tags?: string[]\n shared?: boolean\n}\n\nexport default async function storageLs(path?: string, options?: { long?: boolean; recursive?: boolean }): Promise<void> {\n const queryPath = path || ''\n const data = await apiGet<{ entries: StorageEntry[] }>(`/api/v1/storage/ls?path=${encodeURIComponent(queryPath)}&long=${options?.long || false}&recursive=${options?.recursive || false}`, { authenticated: true })\n\n const rows = (data.entries || []).map(e => ({\n name: e.type === 'folder' ? chalk.hex('#4FC3F7')(e.name + '/') : e.name,\n type: e.type === 'folder' ? chalk.dim('dir') : e.type,\n size: e.type === 'file' ? formatBytes(e.size) : chalk.dim('-'),\n mime: e.type === 'file' ? chalk.dim(e.mime_type) : '',\n modified: e.updated_at ? formatRelative(e.updated_at) : '',\n tags: e.tags?.length ? chalk.dim(e.tags.join(',')) : '',\n }))\n\n if (options?.long) {\n console.log(renderTable(rows, [\n { key: 'name', label: 'Name' },\n { key: 'type', label: 'Type' },\n { key: 'size', label: 'Size' },\n { key: 'mime', label: 'MIME' },\n { key: 'modified', label: 'Modified' },\n { key: 'tags', label: 'Tags' },\n ]))\n } else {\n for (const row of rows) {\n console.log(row.name)\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-ls.ts"],"names":["storageLs","path","options","rows","apiGet","chalk","formatBytes","formatRelative","renderTable","row"],"mappings":"iQAeA,eAAOA,CAAAA,CAAiCC,CAAAA,CAAeC,IAAkE,CAIvH,IAAMC,CAAAA,CAAAA,CAAAA,CAFO,MAAMC,EAAoC,CAAA,wBAAA,EAA2B,kBAAA,CADhEH,CAAAA,EAAQ,EACoF,CAAC,CAAA,MAAA,EAASC,GAAAA,EAAS,IAAA,EAAQ,KAAK,cAAcA,GAAAA,EAAS,SAAA,EAAa,KAAK,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EAE/L,SAAW,EAAC,EAAG,GAAA,CAAI,CAAA,GAAM,CAC1C,IAAA,CAAM,CAAA,CAAE,IAAA,GAAS,QAAA,CAAWG,EAAM,GAAA,CAAI,SAAS,CAAA,CAAE,CAAA,CAAE,KAAO,GAAG,CAAA,CAAI,CAAA,CAAE,IAAA,CACnE,KAAM,CAAA,CAAE,IAAA,GAAS,QAAA,CAAWA,CAAAA,CAAM,IAAI,KAAK,CAAA,CAAI,CAAA,CAAE,IAAA,CACjD,KAAM,CAAA,CAAE,IAAA,GAAS,MAAA,CAASC,CAAAA,CAAY,EAAE,IAAI,CAAA,CAAID,CAAAA,CAAM,GAAA,CAAI,GAAG,CAAA,CAC7D,IAAA,CAAM,EAAE,IAAA,GAAS,MAAA,CAASA,EAAM,GAAA,CAAI,CAAA,CAAE,SAAS,CAAA,CAAI,GACnD,QAAA,CAAU,CAAA,CAAE,UAAA,CAAaE,GAAAA,CAAe,EAAE,UAAU,CAAA,CAAI,EAAA,CACxD,IAAA,CAAM,EAAE,IAAA,EAAM,MAAA,CAASF,CAAAA,CAAM,GAAA,CAAI,EAAE,IAAA,CAAK,IAAA,CAAK,GAAG,CAAC,EAAI,EACvD,CAAA,CAAE,CAAA,CAEF,GAAIH,KAAS,IAAA,CACX,OAAA,CAAQ,GAAA,CAAIM,GAAAA,CAAYL,EAAM,CAC5B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,MAAA,CAAQ,MAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,OAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,UAAA,CAAY,KAAA,CAAO,UAAW,EACrC,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAC/B,CAAC,CAAC,CAAA,CAAA,aAESM,CAAAA,IAAON,CAAAA,CAChB,QAAQ,GAAA,CAAIM,CAAAA,CAAI,IAAI,EAG1B","file":"storage-ls-AMBO3S2J.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatBytes, formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface StorageEntry {\n name: string\n type: 'file' | 'folder'\n size: number\n mime_type: string\n updated_at: string\n tags?: string[]\n shared?: boolean\n}\n\nexport default async function storageLs(path?: string, options?: { long?: boolean; recursive?: boolean }): Promise<void> {\n const queryPath = path || ''\n const data = await apiGet<{ entries: StorageEntry[] }>(`/api/v1/storage/ls?path=${encodeURIComponent(queryPath)}&long=${options?.long || false}&recursive=${options?.recursive || false}`, { authenticated: true })\n\n const rows = (data.entries || []).map(e => ({\n name: e.type === 'folder' ? chalk.hex('#4FC3F7')(e.name + '/') : e.name,\n type: e.type === 'folder' ? chalk.dim('dir') : e.type,\n size: e.type === 'file' ? formatBytes(e.size) : chalk.dim('-'),\n mime: e.type === 'file' ? chalk.dim(e.mime_type) : '',\n modified: e.updated_at ? formatRelative(e.updated_at) : '',\n tags: e.tags?.length ? chalk.dim(e.tags.join(',')) : '',\n }))\n\n if (options?.long) {\n console.log(renderTable(rows, [\n { key: 'name', label: 'Name' },\n { key: 'type', label: 'Type' },\n { key: 'size', label: 'Size' },\n { key: 'mime', label: 'MIME' },\n { key: 'modified', label: 'Modified' },\n { key: 'tags', label: 'Tags' },\n ]))\n } else {\n for (const row of rows) {\n console.log(row.name)\n }\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$1}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';async function a(r){let e=a$1(`Creating folder ${r}...`);e.start(),await d("/api/v1/storage/mkdir",{path:r},{authenticated:true}),e.succeed(),g(`Created folder ${r}`);}export{a as default};//# sourceMappingURL=storage-mkdir-5IXAS4YP.js.map
2
+ //# sourceMappingURL=storage-mkdir-5IXAS4YP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-mkdir.ts"],"names":["storageMkdir","path","spinner","createSpinner","apiPost","logSuccess"],"mappings":"gMAIA,eAAOA,CAAAA,CAAoCC,CAAAA,CAA6B,CACtE,IAAMC,IAAUC,CAAAA,CAAc,CAAA,gBAAA,EAAmBF,CAAI,CAAA,GAAA,CAAK,CAAA,CAC1DC,GAAAA,CAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,uBAAA,CAAyB,CAAE,IAAA,CAAAH,CAAK,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACxEC,GAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,eAAA,EAAkBJ,CAAI,EAAE,EACrC","file":"storage-mkdir-YR6DI3T6.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageMkdir(path: string): Promise<void> {\n const spinner = createSpinner(`Creating folder ${path}...`)\n spinner.start()\n await apiPost('/api/v1/storage/mkdir', { path }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Created folder ${path}`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-mkdir.ts"],"names":["storageMkdir","path","spinner","createSpinner","apiPost","logSuccess"],"mappings":"mOAIA,eAAOA,CAAAA,CAAoCC,CAAAA,CAA6B,CACtE,IAAMC,EAAUC,GAAAA,CAAc,CAAA,gBAAA,EAAmBF,CAAI,CAAA,GAAA,CAAK,CAAA,CAC1DC,CAAAA,CAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,uBAAA,CAAyB,CAAE,IAAA,CAAAH,CAAK,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACxEC,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,eAAA,EAAkBJ,CAAI,EAAE,EACrC","file":"storage-mkdir-5IXAS4YP.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageMkdir(path: string): Promise<void> {\n const spinner = createSpinner(`Creating folder ${path}...`)\n spinner.start()\n await apiPost('/api/v1/storage/mkdir', { path }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Created folder ${path}`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$1}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';async function a(t,i){let o=a$1(`Moving ${t} \u2192 ${i}...`);o.start(),await d("/api/v1/storage/move",{source:t,destination:i},{authenticated:true}),o.succeed(),g(`Moved ${t} \u2192 ${i}`);}export{a as default};//# sourceMappingURL=storage-mv-4DCYMNNI.js.map
2
+ //# sourceMappingURL=storage-mv-4DCYMNNI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-mv.ts"],"names":["storageMv","source","dest","spinner","createSpinner","apiPost","logSuccess"],"mappings":"gMAIA,eAAOA,EAAiCC,CAAAA,CAAgBC,CAAAA,CAA6B,CACnF,IAAMC,EAAUC,CAAAA,CAAc,CAAA,OAAA,EAAUH,CAAM,CAAA,QAAA,EAAMC,CAAI,CAAA,GAAA,CAAK,CAAA,CAC7DC,EAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,sBAAA,CAAwB,CAAE,MAAA,CAAAJ,EAAQ,WAAA,CAAaC,CAAK,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC5FC,CAAAA,CAAQ,OAAA,GACRG,CAAAA,CAAW,CAAA,MAAA,EAASL,CAAM,CAAA,QAAA,EAAMC,CAAI,EAAE,EACxC","file":"storage-mv-3NQNRFPE.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageMv(source: string, dest: string): Promise<void> {\n const spinner = createSpinner(`Moving ${source} → ${dest}...`)\n spinner.start()\n await apiPost('/api/v1/storage/move', { source, destination: dest }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Moved ${source} → ${dest}`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-mv.ts"],"names":["storageMv","source","dest","spinner","createSpinner","apiPost","logSuccess"],"mappings":"mOAIA,eAAOA,EAAiCC,CAAAA,CAAgBC,CAAAA,CAA6B,CACnF,IAAMC,EAAUC,GAAAA,CAAc,CAAA,OAAA,EAAUH,CAAM,CAAA,QAAA,EAAMC,CAAI,CAAA,GAAA,CAAK,CAAA,CAC7DC,EAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,sBAAA,CAAwB,CAAE,MAAA,CAAAJ,EAAQ,WAAA,CAAaC,CAAK,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC5FC,CAAAA,CAAQ,OAAA,GACRG,CAAAA,CAAW,CAAA,MAAA,EAASL,CAAM,CAAA,QAAA,EAAMC,CAAI,EAAE,EACxC","file":"storage-mv-4DCYMNNI.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageMv(source: string, dest: string): Promise<void> {\n const spinner = createSpinner(`Moving ${source} → ${dest}...`)\n spinner.start()\n await apiPost('/api/v1/storage/move', { source, destination: dest }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Moved ${source} → ${dest}`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {f}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import s from'inquirer';async function c(e,r){if(r?.recursive){let{confirm:a}=await s.prompt([{type:"confirm",name:"confirm",message:`Delete entire folder "${e}" and all contents?`,default:false}]);if(!a)return}let t=a(`Deleting ${e}...`);t.start(),await f(`/api/v1/storage/rm?path=${encodeURIComponent(e)}&recursive=${r?.recursive||false}`,{authenticated:true}),t.succeed(),g(`Deleted ${e}`);}export{c as default};//# sourceMappingURL=storage-rm-5K7F7ZP7.js.map
2
+ //# sourceMappingURL=storage-rm-5K7F7ZP7.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-rm.ts"],"names":["storageRm","path","options","confirm","inquirer","spinner","createSpinner","apiDelete","logSuccess"],"mappings":"+NAKA,eAAOA,CAAAA,CAAiCC,EAAcC,CAAAA,CAAkD,CACtG,GAAIA,CAAAA,EAAS,UAAW,CACtB,GAAM,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAI,MAAMC,CAAAA,CAAS,MAAA,CAAO,CAAC,CACzC,IAAA,CAAM,SAAA,CACN,KAAM,SAAA,CACN,OAAA,CAAS,CAAA,sBAAA,EAAyBH,CAAI,sBACtC,OAAA,CAAS,KACX,CAAC,CAAC,EACF,GAAI,CAACE,CAAAA,CAAS,MAChB,CACA,IAAME,CAAAA,CAAUC,CAAAA,CAAc,YAAYL,CAAI,CAAA,GAAA,CAAK,CAAA,CACnDI,CAAAA,CAAQ,OAAM,CACd,MAAME,CAAAA,CAAU,CAAA,wBAAA,EAA2B,mBAAmBN,CAAI,CAAC,CAAA,WAAA,EAAcC,CAAAA,EAAS,SAAA,EAAa,KAAK,CAAA,CAAA,CAAI,CAAE,cAAe,IAAK,CAAC,CAAA,CACvIG,CAAAA,CAAQ,SAAQ,CAChBG,GAAAA,CAAW,CAAA,QAAA,EAAWP,CAAI,EAAE,EAC9B","file":"storage-rm-EF36YTVT.js","sourcesContent":["import inquirer from 'inquirer'\nimport { apiDelete } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageRm(path: string, options?: { recursive?: boolean }): Promise<void> {\n if (options?.recursive) {\n const { confirm } = await inquirer.prompt([{\n type: 'confirm',\n name: 'confirm',\n message: `Delete entire folder \"${path}\" and all contents?`,\n default: false,\n }])\n if (!confirm) return\n }\n const spinner = createSpinner(`Deleting ${path}...`)\n spinner.start()\n await apiDelete(`/api/v1/storage/rm?path=${encodeURIComponent(path)}&recursive=${options?.recursive || false}`, { authenticated: true })\n spinner.succeed()\n logSuccess(`Deleted ${path}`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-rm.ts"],"names":["storageRm","path","options","confirm","inquirer","spinner","createSpinner","apiDelete","logSuccess"],"mappings":"oPAKA,eAAOA,CAAAA,CAAiCC,EAAcC,CAAAA,CAAkD,CACtG,GAAIA,CAAAA,EAAS,UAAW,CACtB,GAAM,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAI,MAAMC,CAAAA,CAAS,MAAA,CAAO,CAAC,CACzC,IAAA,CAAM,SAAA,CACN,KAAM,SAAA,CACN,OAAA,CAAS,CAAA,sBAAA,EAAyBH,CAAI,sBACtC,OAAA,CAAS,KACX,CAAC,CAAC,EACF,GAAI,CAACE,CAAAA,CAAS,MAChB,CACA,IAAME,CAAAA,CAAUC,CAAAA,CAAc,YAAYL,CAAI,CAAA,GAAA,CAAK,CAAA,CACnDI,CAAAA,CAAQ,OAAM,CACd,MAAME,CAAAA,CAAU,CAAA,wBAAA,EAA2B,mBAAmBN,CAAI,CAAC,CAAA,WAAA,EAAcC,CAAAA,EAAS,SAAA,EAAa,KAAK,CAAA,CAAA,CAAI,CAAE,cAAe,IAAK,CAAC,CAAA,CACvIG,CAAAA,CAAQ,SAAQ,CAChBG,CAAAA,CAAW,CAAA,QAAA,EAAWP,CAAI,EAAE,EAC9B","file":"storage-rm-5K7F7ZP7.js","sourcesContent":["import inquirer from 'inquirer'\nimport { apiDelete } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageRm(path: string, options?: { recursive?: boolean }): Promise<void> {\n if (options?.recursive) {\n const { confirm } = await inquirer.prompt([{\n type: 'confirm',\n name: 'confirm',\n message: `Delete entire folder \"${path}\" and all contents?`,\n default: false,\n }])\n if (!confirm) return\n }\n const spinner = createSpinner(`Deleting ${path}...`)\n spinner.start()\n await apiDelete(`/api/v1/storage/rm?path=${encodeURIComponent(path)}&recursive=${options?.recursive || false}`, { authenticated: true })\n spinner.succeed()\n logSuccess(`Deleted ${path}`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {c}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import {a as a$1}from'./chunk-THMWE2I6.js';import {c as c$1,a}from'./chunk-G4JU7IUC.js';import'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import m from'chalk';async function n(r){let s=((await c(`/api/v1/storage/search?q=${encodeURIComponent(r)}`,{authenticated:true})).results||[]).map(e=>({name:e.name,path:m.dim(e.path),type:e.type,size:a(e.size),modified:e.updated_at?c$1(e.updated_at):""}));console.log(a$1(s,[{key:"name",label:"Name"},{key:"path",label:"Path"},{key:"type",label:"Type"},{key:"size",label:"Size"},{key:"modified",label:"Modified"}]));}export{n as default};//# sourceMappingURL=storage-search-FCNFG2BS.js.map
2
+ //# sourceMappingURL=storage-search-FCNFG2BS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-search.ts"],"names":["storageSearch","query","rows","apiGet","r","chalk","formatBytes","formatRelative","renderTable"],"mappings":"8NAaA,eAAOA,EAAqCC,CAAAA,CAA8B,CAExE,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,EAAoC,CAAA,yBAAA,EAA4B,kBAAA,CAAmBF,CAAK,CAAC,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACpH,OAAA,EAAW,EAAC,EAAG,GAAA,CAAIG,IAAM,CAC1C,IAAA,CAAMA,EAAE,IAAA,CACR,IAAA,CAAMC,EAAM,GAAA,CAAID,CAAAA,CAAE,IAAI,CAAA,CACtB,IAAA,CAAMA,EAAE,IAAA,CACR,IAAA,CAAME,EAAYF,CAAAA,CAAE,IAAI,EACxB,QAAA,CAAUA,CAAAA,CAAE,UAAA,CAAaG,CAAAA,CAAeH,EAAE,UAAU,CAAA,CAAI,EAC1D,CAAA,CAAE,CAAA,CACF,QAAQ,GAAA,CAAII,GAAAA,CAAYN,EAAM,CAC5B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,UAAA,CAAY,KAAA,CAAO,UAAW,CACvC,CAAC,CAAC,EACJ","file":"storage-search-73OT4DNB.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatBytes, formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SearchResult {\n name: string\n path: string\n type: string\n size: number\n updated_at: string\n}\n\nexport default async function storageSearch(query: string): Promise<void> {\n const data = await apiGet<{ results: SearchResult[] }>(`/api/v1/storage/search?q=${encodeURIComponent(query)}`, { authenticated: true })\n const rows = (data.results || []).map(r => ({\n name: r.name,\n path: chalk.dim(r.path),\n type: r.type,\n size: formatBytes(r.size),\n modified: r.updated_at ? formatRelative(r.updated_at) : '',\n }))\n console.log(renderTable(rows, [\n { key: 'name', label: 'Name' },\n { key: 'path', label: 'Path' },\n { key: 'type', label: 'Type' },\n { key: 'size', label: 'Size' },\n { key: 'modified', label: 'Modified' },\n ]))\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-search.ts"],"names":["storageSearch","query","rows","apiGet","r","chalk","formatBytes","formatRelative","renderTable"],"mappings":"iQAaA,eAAOA,EAAqCC,CAAAA,CAA8B,CAExE,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,EAAoC,CAAA,yBAAA,EAA4B,kBAAA,CAAmBF,CAAK,CAAC,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACpH,OAAA,EAAW,EAAC,EAAG,GAAA,CAAIG,IAAM,CAC1C,IAAA,CAAMA,EAAE,IAAA,CACR,IAAA,CAAMC,EAAM,GAAA,CAAID,CAAAA,CAAE,IAAI,CAAA,CACtB,IAAA,CAAMA,EAAE,IAAA,CACR,IAAA,CAAME,EAAYF,CAAAA,CAAE,IAAI,EACxB,QAAA,CAAUA,CAAAA,CAAE,UAAA,CAAaG,GAAAA,CAAeH,EAAE,UAAU,CAAA,CAAI,EAC1D,CAAA,CAAE,CAAA,CACF,QAAQ,GAAA,CAAII,GAAAA,CAAYN,EAAM,CAC5B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,IAAK,UAAA,CAAY,KAAA,CAAO,UAAW,CACvC,CAAC,CAAC,EACJ","file":"storage-search-FCNFG2BS.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatBytes, formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SearchResult {\n name: string\n path: string\n type: string\n size: number\n updated_at: string\n}\n\nexport default async function storageSearch(query: string): Promise<void> {\n const data = await apiGet<{ results: SearchResult[] }>(`/api/v1/storage/search?q=${encodeURIComponent(query)}`, { authenticated: true })\n const rows = (data.results || []).map(r => ({\n name: r.name,\n path: chalk.dim(r.path),\n type: r.type,\n size: formatBytes(r.size),\n modified: r.updated_at ? formatRelative(r.updated_at) : '',\n }))\n console.log(renderTable(rows, [\n { key: 'name', label: 'Name' },\n { key: 'path', label: 'Path' },\n { key: 'type', label: 'Type' },\n { key: 'size', label: 'Size' },\n { key: 'modified', label: 'Modified' },\n ]))\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {f,m,g,c as c$1}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import c from'clipboardy';import l from'chalk';async function u(i,r){let t=a(`Creating share link for ${i}...`);t.start();let e=await d("/api/v1/storage/share",{path:i,expires_in:r?.expires,password:r?.password,max_views:r?.views,burn_after_reading:r?.burn},{authenticated:true});t.stop();try{await c.write(e.url);}catch{}if(f()){m(e);return}g("Share link created!"),console.log(` ${l.hex("#4FC3F7")(e.url)} ${c$1("")}`);}export{u as default};//# sourceMappingURL=storage-share-4PVM4QIC.js.map
2
+ //# sourceMappingURL=storage-share-4PVM4QIC.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-share.ts"],"names":["storageShare","path","options","spinner","createSpinner","result","apiPost","clipboard","isJsonMode","logJSON","logSuccess","chalk","copied"],"mappings":"4PAQA,eAAOA,EAAoCC,CAAAA,CAAcC,CAAAA,CAAkG,CACzJ,IAAMC,EAAUC,CAAAA,CAAc,CAAA,wBAAA,EAA2BH,CAAI,CAAA,GAAA,CAAK,CAAA,CAClEE,EAAQ,KAAA,EAAM,CACd,IAAME,GAAAA,CAAS,MAAMC,CAAAA,CAA2C,uBAAA,CAAyB,CACvF,IAAA,CAAAL,CAAAA,CACA,WAAYC,CAAAA,EAAS,OAAA,CACrB,SAAUA,CAAAA,EAAS,QAAA,CACnB,UAAWA,CAAAA,EAAS,KAAA,CACpB,mBAAoBA,CAAAA,EAAS,IAC/B,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,EAC1BC,CAAAA,CAAQ,IAAA,GAER,GAAI,CACF,MAAMI,CAAAA,CAAU,KAAA,CAAMF,IAAO,GAAG,EAClC,MAAQ,CAER,CAEA,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQJ,GAAM,CAAA,CACd,MACF,CAEAK,CAAAA,CAAW,qBAAqB,EAChC,OAAA,CAAQ,GAAA,CAAI,KAAKC,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAAEN,GAAAA,CAAO,GAAG,CAAC,CAAA,CAAA,EAAIO,IAAO,EAAE,CAAC,EAAE,EACnE","file":"storage-share-VK5Z3IRP.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport clipboard from 'clipboardy'\nimport chalk from 'chalk'\nimport { copied } from '../../lib/output/brand.js'\n\nexport default async function storageShare(path: string, options?: { expires?: string; password?: string; views?: number; burn?: boolean }): Promise<void> {\n const spinner = createSpinner(`Creating share link for ${path}...`)\n spinner.start()\n const result = await apiPost<{ url: string; share_id: string }>('/api/v1/storage/share', {\n path,\n expires_in: options?.expires,\n password: options?.password,\n max_views: options?.views,\n burn_after_reading: options?.burn,\n }, { authenticated: true })\n spinner.stop()\n\n try {\n await clipboard.write(result.url)\n } catch {\n // ignore\n }\n\n if (isJsonMode()) {\n logJSON(result)\n return\n }\n\n logSuccess(`Share link created!`)\n console.log(` ${chalk.hex('#4FC3F7')(result.url)} ${copied('')}`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-share.ts"],"names":["storageShare","path","options","spinner","createSpinner","result","apiPost","clipboard","isJsonMode","logJSON","logSuccess","chalk","copied"],"mappings":"wRAQA,eAAOA,EAAoCC,CAAAA,CAAcC,CAAAA,CAAkG,CACzJ,IAAMC,EAAUC,CAAAA,CAAc,CAAA,wBAAA,EAA2BH,CAAI,CAAA,GAAA,CAAK,CAAA,CAClEE,EAAQ,KAAA,EAAM,CACd,IAAME,CAAAA,CAAS,MAAMC,CAAAA,CAA2C,uBAAA,CAAyB,CACvF,IAAA,CAAAL,CAAAA,CACA,WAAYC,CAAAA,EAAS,OAAA,CACrB,SAAUA,CAAAA,EAAS,QAAA,CACnB,UAAWA,CAAAA,EAAS,KAAA,CACpB,mBAAoBA,CAAAA,EAAS,IAC/B,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,EAC1BC,CAAAA,CAAQ,IAAA,GAER,GAAI,CACF,MAAMI,CAAAA,CAAU,KAAA,CAAMF,EAAO,GAAG,EAClC,MAAQ,CAER,CAEA,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQJ,CAAM,CAAA,CACd,MACF,CAEAK,CAAAA,CAAW,qBAAqB,EAChC,OAAA,CAAQ,GAAA,CAAI,KAAKC,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAAEN,CAAAA,CAAO,GAAG,CAAC,CAAA,CAAA,EAAIO,IAAO,EAAE,CAAC,EAAE,EACnE","file":"storage-share-4PVM4QIC.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport clipboard from 'clipboardy'\nimport chalk from 'chalk'\nimport { copied } from '../../lib/output/brand.js'\n\nexport default async function storageShare(path: string, options?: { expires?: string; password?: string; views?: number; burn?: boolean }): Promise<void> {\n const spinner = createSpinner(`Creating share link for ${path}...`)\n spinner.start()\n const result = await apiPost<{ url: string; share_id: string }>('/api/v1/storage/share', {\n path,\n expires_in: options?.expires,\n password: options?.password,\n max_views: options?.views,\n burn_after_reading: options?.burn,\n }, { authenticated: true })\n spinner.stop()\n\n try {\n await clipboard.write(result.url)\n } catch {\n // ignore\n }\n\n if (isJsonMode()) {\n logJSON(result)\n return\n }\n\n logSuccess(`Share link created!`)\n console.log(` ${chalk.hex('#4FC3F7')(result.url)} ${copied('')}`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {g as g$1}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';async function g(a$1,e){if(e.add){let r=a(`Adding tag "${e.add}" to ${a$1}...`);r.start(),await d("/api/v1/storage/tags",{path:a$1,tag:e.add,action:"add"},{authenticated:true}),r.succeed(),g$1(`Tag "${e.add}" added to ${a$1}`);}if(e.remove){let r=a(`Removing tag "${e.remove}" from ${a$1}...`);r.start(),await d("/api/v1/storage/tags",{path:a$1,tag:e.remove,action:"remove"},{authenticated:true}),r.succeed(),g$1(`Tag "${e.remove}" removed from ${a$1}`);}}export{g as default};//# sourceMappingURL=storage-tag-SXSOQVY6.js.map
2
+ //# sourceMappingURL=storage-tag-SXSOQVY6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-tag.ts"],"names":["storageTag","path","options","spinner","createSpinner","apiPost","logSuccess"],"mappings":"uMAIA,eAAOA,CAAAA,CAAkCC,EAAcC,GAAAA,CAA2D,CAChH,GAAIA,GAAAA,CAAQ,GAAA,CAAK,CACf,IAAMC,CAAAA,CAAUC,EAAc,CAAA,YAAA,EAAeF,GAAAA,CAAQ,GAAG,CAAA,KAAA,EAAQD,CAAI,KAAK,CAAA,CACzEE,CAAAA,CAAQ,OAAM,CACd,MAAME,EAAQ,sBAAA,CAAwB,CAAE,KAAAJ,CAAAA,CAAM,GAAA,CAAKC,IAAQ,GAAA,CAAK,MAAA,CAAQ,KAAM,CAAA,CAAG,CAAE,cAAe,IAAK,CAAC,EACxGC,CAAAA,CAAQ,OAAA,GACRG,GAAAA,CAAW,CAAA,KAAA,EAAQJ,GAAAA,CAAQ,GAAG,CAAA,WAAA,EAAcD,CAAI,EAAE,EACpD,CACA,GAAIC,GAAAA,CAAQ,MAAA,CAAQ,CAClB,IAAMC,CAAAA,CAAUC,EAAc,CAAA,cAAA,EAAiBF,GAAAA,CAAQ,MAAM,CAAA,OAAA,EAAUD,CAAI,KAAK,CAAA,CAChFE,CAAAA,CAAQ,OAAM,CACd,MAAME,CAAAA,CAAQ,sBAAA,CAAwB,CAAE,IAAA,CAAAJ,EAAM,GAAA,CAAKC,GAAAA,CAAQ,OAAQ,MAAA,CAAQ,QAAS,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC9GC,EAAQ,OAAA,EAAQ,CAChBG,IAAW,CAAA,KAAA,EAAQJ,GAAAA,CAAQ,MAAM,CAAA,eAAA,EAAkBD,CAAI,CAAA,CAAE,EAC3D,CACF","file":"storage-tag-VMF6QLSU.js","sourcesContent":["import { apiPost, apiDelete } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageTag(path: string, options: { add?: string; remove?: string }): Promise<void> {\n if (options.add) {\n const spinner = createSpinner(`Adding tag \"${options.add}\" to ${path}...`)\n spinner.start()\n await apiPost('/api/v1/storage/tags', { path, tag: options.add, action: 'add' }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Tag \"${options.add}\" added to ${path}`)\n }\n if (options.remove) {\n const spinner = createSpinner(`Removing tag \"${options.remove}\" from ${path}...`)\n spinner.start()\n await apiPost('/api/v1/storage/tags', { path, tag: options.remove, action: 'remove' }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Tag \"${options.remove}\" removed from ${path}`)\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-tag.ts"],"names":["storageTag","path","options","spinner","createSpinner","apiPost","logSuccess"],"mappings":"mOAIA,eAAOA,CAAAA,CAAkCC,IAAcC,CAAAA,CAA2D,CAChH,GAAIA,CAAAA,CAAQ,GAAA,CAAK,CACf,IAAMC,CAAAA,CAAUC,EAAc,CAAA,YAAA,EAAeF,CAAAA,CAAQ,GAAG,CAAA,KAAA,EAAQD,GAAI,KAAK,CAAA,CACzEE,CAAAA,CAAQ,OAAM,CACd,MAAME,EAAQ,sBAAA,CAAwB,CAAE,KAAAJ,GAAAA,CAAM,GAAA,CAAKC,EAAQ,GAAA,CAAK,MAAA,CAAQ,KAAM,CAAA,CAAG,CAAE,cAAe,IAAK,CAAC,EACxGC,CAAAA,CAAQ,OAAA,GACRG,GAAAA,CAAW,CAAA,KAAA,EAAQJ,CAAAA,CAAQ,GAAG,CAAA,WAAA,EAAcD,GAAI,EAAE,EACpD,CACA,GAAIC,CAAAA,CAAQ,MAAA,CAAQ,CAClB,IAAMC,CAAAA,CAAUC,EAAc,CAAA,cAAA,EAAiBF,CAAAA,CAAQ,MAAM,CAAA,OAAA,EAAUD,GAAI,KAAK,CAAA,CAChFE,CAAAA,CAAQ,OAAM,CACd,MAAME,CAAAA,CAAQ,sBAAA,CAAwB,CAAE,IAAA,CAAAJ,IAAM,GAAA,CAAKC,CAAAA,CAAQ,OAAQ,MAAA,CAAQ,QAAS,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC9GC,EAAQ,OAAA,EAAQ,CAChBG,IAAW,CAAA,KAAA,EAAQJ,CAAAA,CAAQ,MAAM,CAAA,eAAA,EAAkBD,GAAI,CAAA,CAAE,EAC3D,CACF","file":"storage-tag-SXSOQVY6.js","sourcesContent":["import { apiPost, apiDelete } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageTag(path: string, options: { add?: string; remove?: string }): Promise<void> {\n if (options.add) {\n const spinner = createSpinner(`Adding tag \"${options.add}\" to ${path}...`)\n spinner.start()\n await apiPost('/api/v1/storage/tags', { path, tag: options.add, action: 'add' }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Tag \"${options.add}\" added to ${path}`)\n }\n if (options.remove) {\n const spinner = createSpinner(`Removing tag \"${options.remove}\" from ${path}...`)\n spinner.start()\n await apiPost('/api/v1/storage/tags', { path, tag: options.remove, action: 'remove' }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Tag \"${options.remove}\" removed from ${path}`)\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PSJQAIDB.js';import {f}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';async function s(e){let r=a(`Revoking share links for ${e}...`);r.start(),await f(`/api/v1/storage/share?path=${encodeURIComponent(e)}`,{authenticated:true}),r.succeed(),g(`All share links revoked for ${e}`);}export{s as default};//# sourceMappingURL=storage-unshare-EMXDT7DS.js.map
2
+ //# sourceMappingURL=storage-unshare-EMXDT7DS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-unshare.ts"],"names":["storageUnshare","path","spinner","createSpinner","apiDelete","logSuccess"],"mappings":"uMAIA,eAAOA,CAAAA,CAAsCC,CAAAA,CAA6B,CACxE,IAAMC,EAAUC,CAAAA,CAAc,CAAA,yBAAA,EAA4BF,CAAI,CAAA,GAAA,CAAK,CAAA,CACnEC,CAAAA,CAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAU,CAAA,2BAAA,EAA8B,kBAAA,CAAmBH,CAAI,CAAC,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACjGC,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,GAAAA,CAAW,CAAA,4BAAA,EAA+BJ,CAAI,EAAE,EAClD","file":"storage-unshare-NAVNQCKH.js","sourcesContent":["import { apiDelete } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageUnshare(path: string): Promise<void> {\n const spinner = createSpinner(`Revoking share links for ${path}...`)\n spinner.start()\n await apiDelete(`/api/v1/storage/share?path=${encodeURIComponent(path)}`, { authenticated: true })\n spinner.succeed()\n logSuccess(`All share links revoked for ${path}`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/storage/storage-unshare.ts"],"names":["storageUnshare","path","spinner","createSpinner","apiDelete","logSuccess"],"mappings":"4NAIA,eAAOA,CAAAA,CAAsCC,CAAAA,CAA6B,CACxE,IAAMC,EAAUC,CAAAA,CAAc,CAAA,yBAAA,EAA4BF,CAAI,CAAA,GAAA,CAAK,CAAA,CACnEC,CAAAA,CAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAU,CAAA,2BAAA,EAA8B,kBAAA,CAAmBH,CAAI,CAAC,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACjGC,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,4BAAA,EAA+BJ,CAAI,EAAE,EAClD","file":"storage-unshare-EMXDT7DS.js","sourcesContent":["import { apiDelete } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageUnshare(path: string): Promise<void> {\n const spinner = createSpinner(`Revoking share links for ${path}...`)\n spinner.start()\n await apiDelete(`/api/v1/storage/share?path=${encodeURIComponent(path)}`, { authenticated: true })\n spinner.succeed()\n logSuccess(`All share links revoked for ${path}`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$2}from'./chunk-MKRWNV2T.js';import {a}from'./chunk-PSJQAIDB.js';import {g}from'./chunk-MU5KHPCI.js';import'./chunk-NDB6KXYI.js';import'./chunk-SVR7W7MP.js';import'./chunk-THMWE2I6.js';import {a as a$1}from'./chunk-G4JU7IUC.js';import {j,f,m,g as g$1,i}from'./chunk-QT7R3AXE.js';import'./chunk-W6CRHANC.js';import s from'fs';import n from'path';import F from'chalk';import B from'cli-progress';import I from'ignore';async function N(C,P,l){let e=n.resolve(C),c=P||n.basename(e);s.existsSync(e)||(console.error(`File not found: ${e}`),process.exit(1));let v=s.statSync(e);if(v.isFile()){if(l?.dryRun){j(`[DRY-RUN] Would upload: ${e} \u2192 ${c}`);return}let t=a(`Uploading ${n.basename(e)}...`);t.start();let o=s.readFileSync(e),a$2=new FormData,i=new Blob([o]);a$2.append("file",i,n.basename(e));let f$1=await g(`/api/v1/storage/upload?path=${encodeURIComponent(c)}`,a$2,{authenticated:true});t.succeed(),f()?m(f$1):g$1(`Uploaded ${n.basename(e)} (${a$1(o.length)})`);return}if(v.isDirectory()){let a=function(r,d){let m=s.readdirSync(r,{withFileTypes:true});for(let p of m){let u=n.join(r,p.name),S=n.relative(d,u);t.ignores(S)||(p.isDirectory()?a(u,d):p.isFile()&&a$2(p.name)&&o.push({relative:S,absolute:u}));}};let t=I();l?.ignore&&t.add(l.ignore),t.add(".DS_Store"),t.add("node_modules"),t.add(".git");let o=[];if(a(e,e),o.length===0){i("No allowed files found to upload");return}if(l?.dryRun){j(`[DRY-RUN] Would upload ${o.length} files:`);for(let r of o)console.log(F.dim(` ${r.relative}`));return}let i$1=new B.SingleBar({format:`${F.hex("#7C4DFF")("\u25B8")} Uploading |${F.hex("#7C4DFF")("{bar}")}| {percentage}% | {value}/{total} files`,barCompleteChar:"\u2588",barIncompleteChar:"\u2591",hideCursor:true});i$1.start(o.length,0);let f$1=new FormData;for(let r of o){let d=s.readFileSync(r.absolute),m=new Blob([d]);f$1.append("files",m,r.relative);}let x=await g(`/api/v1/storage/upload?path=${encodeURIComponent(c)}`,f$1,{authenticated:true});i$1.update(o.length),i$1.stop(),f()?m(x):g$1(`Uploaded ${o.length} files to ${c}`);}}export{N as default};//# sourceMappingURL=storage-upload-EHOTOYS5.js.map
2
+ //# sourceMappingURL=storage-upload-EHOTOYS5.js.map