squidcloudctl 1.1.8 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/dist/{auth-revoke-6YX7LBWB.js → auth-revoke-DWV3OFW6.js} +2 -2
  2. package/dist/{auth-revoke-6YX7LBWB.js.map → auth-revoke-DWV3OFW6.js.map} +1 -1
  3. package/dist/{auth-sessions-2A63NMIW.js → auth-sessions-D4RWXFPE.js} +2 -2
  4. package/dist/{auth-sessions-2A63NMIW.js.map → auth-sessions-D4RWXFPE.js.map} +1 -1
  5. package/dist/auth-status-EPQU6F63.js +2 -0
  6. package/dist/{auth-status-AOV7GJLX.js.map → auth-status-EPQU6F63.js.map} +1 -1
  7. package/dist/bin/squidcloud.js +2 -2
  8. package/dist/bin/squidcloud.js.map +1 -1
  9. package/dist/chunk-EMRHLWPD.js +3 -0
  10. package/dist/chunk-EMRHLWPD.js.map +1 -0
  11. package/dist/chunk-EPDVSZII.js +2 -0
  12. package/dist/chunk-EPDVSZII.js.map +1 -0
  13. package/dist/{chunk-THMWE2I6.js → chunk-FNCZD2QB.js} +2 -2
  14. package/dist/{chunk-THMWE2I6.js.map → chunk-FNCZD2QB.js.map} +1 -1
  15. package/dist/chunk-N3AD2QRA.js +2 -0
  16. package/dist/chunk-N3AD2QRA.js.map +1 -0
  17. package/dist/chunk-SCKQAF44.js +2 -0
  18. package/dist/{chunk-LWB2J3KU.js.map → chunk-SCKQAF44.js.map} +1 -1
  19. package/dist/{chunk-PSJQAIDB.js → chunk-UNA5CAPX.js} +2 -2
  20. package/dist/{chunk-PSJQAIDB.js.map → chunk-UNA5CAPX.js.map} +1 -1
  21. package/dist/{collab-invite-6TN62APL.js → collab-invite-VDDBCLSH.js} +2 -2
  22. package/dist/{collab-invite-6TN62APL.js.map → collab-invite-VDDBCLSH.js.map} +1 -1
  23. package/dist/{collab-leave-RY2ULFWC.js → collab-leave-2AEIFR47.js} +2 -2
  24. package/dist/{collab-leave-RY2ULFWC.js.map → collab-leave-2AEIFR47.js.map} +1 -1
  25. package/dist/collab-list-MTJYXE53.js +2 -0
  26. package/dist/{collab-list-M4T5NTDC.js.map → collab-list-MTJYXE53.js.map} +1 -1
  27. package/dist/collab-remove-I3FKGFOF.js +2 -0
  28. package/dist/{collab-remove-BUD6VVD5.js.map → collab-remove-I3FKGFOF.js.map} +1 -1
  29. package/dist/{collab-transfer-R5IDVZAX.js → collab-transfer-VVHH6B2J.js} +2 -2
  30. package/dist/{collab-transfer-R5IDVZAX.js.map → collab-transfer-VVHH6B2J.js.map} +1 -1
  31. package/dist/config-PL34OPDL.js +2 -0
  32. package/dist/{config-7G24FXQJ.js.map → config-PL34OPDL.js.map} +1 -1
  33. package/dist/config-delete-4UN7BFBI.js +2 -0
  34. package/dist/{config-delete-VSIFFODZ.js.map → config-delete-4UN7BFBI.js.map} +1 -1
  35. package/dist/config-get-XOS7EWEQ.js +2 -0
  36. package/dist/{config-get-DDNSM5EH.js.map → config-get-XOS7EWEQ.js.map} +1 -1
  37. package/dist/config-reset-NIOGYFA5.js +2 -0
  38. package/dist/{config-reset-ZFMP4J5H.js.map → config-reset-NIOGYFA5.js.map} +1 -1
  39. package/dist/config-set-DRTRWWAA.js +2 -0
  40. package/dist/{config-set-O6JKOGGN.js.map → config-set-DRTRWWAA.js.map} +1 -1
  41. package/dist/deploy-UOPO2HHL.js +3 -0
  42. package/dist/{deploy-QKTIRD5U.js.map → deploy-UOPO2HHL.js.map} +1 -1
  43. package/dist/{doctor-2BGIPUMM.js → doctor-B7RAWBD5.js} +2 -2
  44. package/dist/{doctor-2BGIPUMM.js.map → doctor-B7RAWBD5.js.map} +1 -1
  45. package/dist/feedback-BEX6DRXB.js +3 -0
  46. package/dist/{feedback-QUGQAWZB.js.map → feedback-BEX6DRXB.js.map} +1 -1
  47. package/dist/{forms-clear-VTF3BEG4.js → forms-clear-VPH7SHJZ.js} +2 -2
  48. package/dist/{forms-clear-VTF3BEG4.js.map → forms-clear-VPH7SHJZ.js.map} +1 -1
  49. package/dist/forms-create-O5W7O2BI.js +2 -0
  50. package/dist/{forms-create-EGWXMYTW.js.map → forms-create-O5W7O2BI.js.map} +1 -1
  51. package/dist/{forms-delete-V7SEUFPO.js → forms-delete-H4RY6C64.js} +2 -2
  52. package/dist/{forms-delete-V7SEUFPO.js.map → forms-delete-H4RY6C64.js.map} +1 -1
  53. package/dist/{forms-export-DTHYLUF3.js → forms-export-MDWMZ7I7.js} +2 -2
  54. package/dist/{forms-export-DTHYLUF3.js.map → forms-export-MDWMZ7I7.js.map} +1 -1
  55. package/dist/forms-info-VO4FK3CS.js +2 -0
  56. package/dist/{forms-info-KAMWLIOA.js.map → forms-info-VO4FK3CS.js.map} +1 -1
  57. package/dist/forms-list-PDSDIJI7.js +2 -0
  58. package/dist/{forms-list-5JU4JWVU.js.map → forms-list-PDSDIJI7.js.map} +1 -1
  59. package/dist/forms-submissions-VJQWV7SI.js +2 -0
  60. package/dist/{forms-submissions-U3YD6CC7.js.map → forms-submissions-VJQWV7SI.js.map} +1 -1
  61. package/dist/login-PMDO43CL.js +3 -0
  62. package/dist/{login-ANJQFQDO.js.map → login-PMDO43CL.js.map} +1 -1
  63. package/dist/logout-XIUWCA75.js +2 -0
  64. package/dist/{logout-STTU7NNX.js.map → logout-XIUWCA75.js.map} +1 -1
  65. package/dist/logs-export-AU4WZDLW.js +2 -0
  66. package/dist/{logs-export-62O4KT7A.js.map → logs-export-AU4WZDLW.js.map} +1 -1
  67. package/dist/logs-search-BHVB3BIH.js +2 -0
  68. package/dist/{logs-search-UP5IEJMG.js.map → logs-search-BHVB3BIH.js.map} +1 -1
  69. package/dist/monitor-KLJ762WM.js +2 -0
  70. package/dist/{monitor-37VPIJX6.js.map → monitor-KLJ762WM.js.map} +1 -1
  71. package/dist/monitor-automations-B2NRWSFH.js +2 -0
  72. package/dist/{monitor-automations-YKA4DME5.js.map → monitor-automations-B2NRWSFH.js.map} +1 -1
  73. package/dist/monitor-pipelines-2PNBET3B.js +2 -0
  74. package/dist/{monitor-pipelines-7IS4K4ZV.js.map → monitor-pipelines-2PNBET3B.js.map} +1 -1
  75. package/dist/{monitor-sites-KUC3NCAF.js → monitor-sites-QNMTCOSH.js} +2 -2
  76. package/dist/{monitor-sites-KUC3NCAF.js.map → monitor-sites-QNMTCOSH.js.map} +1 -1
  77. package/dist/monitor-storage-Z53C4CI2.js +2 -0
  78. package/dist/{monitor-storage-5UFFXOK7.js.map → monitor-storage-Z53C4CI2.js.map} +1 -1
  79. package/dist/scripts-cancel-2HWDUPFM.js +2 -0
  80. package/dist/{scripts-cancel-VX7VJ6J2.js.map → scripts-cancel-2HWDUPFM.js.map} +1 -1
  81. package/dist/{scripts-delete-TZ7CJXF6.js → scripts-delete-UI6YRWEN.js} +2 -2
  82. package/dist/{scripts-delete-TZ7CJXF6.js.map → scripts-delete-UI6YRWEN.js.map} +1 -1
  83. package/dist/scripts-disable-7IXFGWWG.js +2 -0
  84. package/dist/{scripts-disable-WJ7OIHFN.js.map → scripts-disable-7IXFGWWG.js.map} +1 -1
  85. package/dist/scripts-enable-DNEVMHLS.js +2 -0
  86. package/dist/{scripts-enable-D73CR33U.js.map → scripts-enable-DNEVMHLS.js.map} +1 -1
  87. package/dist/{scripts-init-AU6WNMKB.js → scripts-init-BIIEMUXV.js} +3 -3
  88. package/dist/{scripts-init-AU6WNMKB.js.map → scripts-init-BIIEMUXV.js.map} +1 -1
  89. package/dist/scripts-list-LYDOWRTU.js +2 -0
  90. package/dist/{scripts-list-X4MIW736.js.map → scripts-list-LYDOWRTU.js.map} +1 -1
  91. package/dist/scripts-logs-32CWQEBA.js +2 -0
  92. package/dist/{scripts-logs-AC5M3ZBH.js.map → scripts-logs-32CWQEBA.js.map} +1 -1
  93. package/dist/scripts-run-6AJVHB4U.js +2 -0
  94. package/dist/{scripts-run-PYGSKLVZ.js.map → scripts-run-6AJVHB4U.js.map} +1 -1
  95. package/dist/scripts-status-KCILW363.js +2 -0
  96. package/dist/{scripts-status-T4N57JWV.js.map → scripts-status-KCILW363.js.map} +1 -1
  97. package/dist/scripts-validate-MZP4MJZZ.js +2 -0
  98. package/dist/{scripts-validate-V7BWQMBO.js.map → scripts-validate-MZP4MJZZ.js.map} +1 -1
  99. package/dist/scripts-watch-3SFVPUAA.js +2 -0
  100. package/dist/{scripts-watch-TZHTIL6Y.js.map → scripts-watch-3SFVPUAA.js.map} +1 -1
  101. package/dist/sign-cancel-KK745O7W.js +2 -0
  102. package/dist/{sign-cancel-5W54A3T2.js.map → sign-cancel-KK745O7W.js.map} +1 -1
  103. package/dist/{sign-download-Z2BRNOBQ.js → sign-download-6V3ABZG2.js} +2 -2
  104. package/dist/{sign-download-Z2BRNOBQ.js.map → sign-download-6V3ABZG2.js.map} +1 -1
  105. package/dist/sign-list-VCNJSS6F.js +2 -0
  106. package/dist/{sign-list-VDF5JFKH.js.map → sign-list-VCNJSS6F.js.map} +1 -1
  107. package/dist/sign-request-LNRMPU2F.js +2 -0
  108. package/dist/{sign-request-NXOZSE5A.js.map → sign-request-LNRMPU2F.js.map} +1 -1
  109. package/dist/sign-status-PNAGMC7S.js +2 -0
  110. package/dist/{sign-status-E5UWZ4Y3.js.map → sign-status-PNAGMC7S.js.map} +1 -1
  111. package/dist/{sign-verify-2OKPTOPN.js → sign-verify-ZROVA7LH.js} +2 -2
  112. package/dist/{sign-verify-2OKPTOPN.js.map → sign-verify-ZROVA7LH.js.map} +1 -1
  113. package/dist/sites-analytics-L6KVTZNH.js +2 -0
  114. package/dist/{sites-analytics-2YAYY6GY.js.map → sites-analytics-L6KVTZNH.js.map} +1 -1
  115. package/dist/{sites-delete-BH7KKL54.js → sites-delete-JCBOLOA7.js} +2 -2
  116. package/dist/{sites-delete-BH7KKL54.js.map → sites-delete-JCBOLOA7.js.map} +1 -1
  117. package/dist/sites-deploys-XJ3NY4RQ.js +2 -0
  118. package/dist/{sites-deploys-4HEJWQON.js.map → sites-deploys-XJ3NY4RQ.js.map} +1 -1
  119. package/dist/sites-info-V3R7YNPU.js +2 -0
  120. package/dist/{sites-info-6HE2B6TF.js.map → sites-info-V3R7YNPU.js.map} +1 -1
  121. package/dist/sites-list-ZQTXLHJ3.js +2 -0
  122. package/dist/{sites-list-5GJPVLM3.js.map → sites-list-ZQTXLHJ3.js.map} +1 -1
  123. package/dist/sites-open-K2JWMIWD.js +3 -0
  124. package/dist/{sites-open-L6AHCXLV.js.map → sites-open-K2JWMIWD.js.map} +1 -1
  125. package/dist/sites-purge-5Y5AQWBY.js +2 -0
  126. package/dist/{sites-purge-MGNYRQC2.js.map → sites-purge-5Y5AQWBY.js.map} +1 -1
  127. package/dist/{sites-rename-PH4X5WUY.js → sites-rename-QH6YYXUE.js} +2 -2
  128. package/dist/{sites-rename-PH4X5WUY.js.map → sites-rename-QH6YYXUE.js.map} +1 -1
  129. package/dist/sites-rollback-ZQ2IHERR.js +2 -0
  130. package/dist/{sites-rollback-XORREI4B.js.map → sites-rollback-ZQ2IHERR.js.map} +1 -1
  131. package/dist/{sites-unpublish-G22P2RRZ.js → sites-unpublish-MDK4GP2C.js} +2 -2
  132. package/dist/{sites-unpublish-G22P2RRZ.js.map → sites-unpublish-MDK4GP2C.js.map} +1 -1
  133. package/dist/{sites-visibility-XPWHUOEB.js → sites-visibility-WKPIU5OK.js} +2 -2
  134. package/dist/{sites-visibility-XPWHUOEB.js.map → sites-visibility-WKPIU5OK.js.map} +1 -1
  135. package/dist/storage-cat-OAUEF3EE.js +2 -0
  136. package/dist/{storage-cat-TC65RHNH.js.map → storage-cat-OAUEF3EE.js.map} +1 -1
  137. package/dist/storage-clean-I7QZ5FR6.js +2 -0
  138. package/dist/{storage-clean-Z2GKXPJV.js.map → storage-clean-I7QZ5FR6.js.map} +1 -1
  139. package/dist/storage-cp-H36Q2ER4.js +2 -0
  140. package/dist/{storage-cp-2EMEFPZ3.js.map → storage-cp-H36Q2ER4.js.map} +1 -1
  141. package/dist/storage-diff-6KUEJ4DB.js +2 -0
  142. package/dist/{storage-diff-RK2BH2QH.js.map → storage-diff-6KUEJ4DB.js.map} +1 -1
  143. package/dist/storage-download-32EYGI47.js +3 -0
  144. package/dist/storage-download-32EYGI47.js.map +1 -0
  145. package/dist/storage-info-2JSV56KE.js +2 -0
  146. package/dist/{storage-info-RHCOIHFS.js.map → storage-info-2JSV56KE.js.map} +1 -1
  147. package/dist/storage-ls-G33T3LMU.js +3 -0
  148. package/dist/{storage-ls-IWYZFGA7.js.map → storage-ls-G33T3LMU.js.map} +1 -1
  149. package/dist/storage-mkdir-BDT3GX7A.js +2 -0
  150. package/dist/{storage-mkdir-5SJHSGKB.js.map → storage-mkdir-BDT3GX7A.js.map} +1 -1
  151. package/dist/storage-mv-2QJZR2FL.js +2 -0
  152. package/dist/{storage-mv-W6YIOF6S.js.map → storage-mv-2QJZR2FL.js.map} +1 -1
  153. package/dist/{storage-rm-JQ4U4Y6S.js → storage-rm-NRRRFG36.js} +2 -2
  154. package/dist/{storage-rm-JQ4U4Y6S.js.map → storage-rm-NRRRFG36.js.map} +1 -1
  155. package/dist/storage-search-E5BIXLSU.js +2 -0
  156. package/dist/{storage-search-H5INCBEX.js.map → storage-search-E5BIXLSU.js.map} +1 -1
  157. package/dist/storage-share-EXSSZ6XL.js +2 -0
  158. package/dist/{storage-share-SG7QWBGU.js.map → storage-share-EXSSZ6XL.js.map} +1 -1
  159. package/dist/storage-tag-YV5GUZDV.js +2 -0
  160. package/dist/{storage-tag-XDJKEOTG.js.map → storage-tag-YV5GUZDV.js.map} +1 -1
  161. package/dist/storage-unshare-MF4V2NGC.js +2 -0
  162. package/dist/{storage-unshare-THU4SI5I.js.map → storage-unshare-MF4V2NGC.js.map} +1 -1
  163. package/dist/storage-upload-DYWSZ6RO.js +9 -0
  164. package/dist/storage-upload-DYWSZ6RO.js.map +1 -0
  165. package/dist/time-list-4T3FJE2I.js +2 -0
  166. package/dist/{time-list-FLBMQONU.js.map → time-list-4T3FJE2I.js.map} +1 -1
  167. package/dist/time-lock-O55XMYPX.js +2 -0
  168. package/dist/{time-lock-JAQUWZMQ.js.map → time-lock-O55XMYPX.js.map} +1 -1
  169. package/dist/{time-proof-UXZS3V7L.js → time-proof-SDANSS3D.js} +2 -2
  170. package/dist/{time-proof-UXZS3V7L.js.map → time-proof-SDANSS3D.js.map} +1 -1
  171. package/dist/time-status-JFJA3MYK.js +2 -0
  172. package/dist/{time-status-HXSTJXP3.js.map → time-status-JFJA3MYK.js.map} +1 -1
  173. package/dist/time-unlock-F7NGQ2IE.js +2 -0
  174. package/dist/{time-unlock-RJIN5EII.js.map → time-unlock-F7NGQ2IE.js.map} +1 -1
  175. package/dist/update-5PTOF5ZA.js +2 -0
  176. package/dist/{update-DOHW47PB.js.map → update-5PTOF5ZA.js.map} +1 -1
  177. package/dist/{version-XQNUJ474.js → version-Y2LWIEFC.js} +2 -2
  178. package/dist/{version-XQNUJ474.js.map → version-Y2LWIEFC.js.map} +1 -1
  179. package/dist/whoami-BGMVNESX.js +2 -0
  180. package/dist/{whoami-AIXW6EHW.js.map → whoami-BGMVNESX.js.map} +1 -1
  181. package/package.json +1 -1
  182. package/dist/auth-status-AOV7GJLX.js +0 -2
  183. package/dist/chunk-FZKCZRJZ.js +0 -2
  184. package/dist/chunk-FZKCZRJZ.js.map +0 -1
  185. package/dist/chunk-LWB2J3KU.js +0 -2
  186. package/dist/chunk-QT7R3AXE.js +0 -3
  187. package/dist/chunk-QT7R3AXE.js.map +0 -1
  188. package/dist/collab-list-M4T5NTDC.js +0 -2
  189. package/dist/collab-remove-BUD6VVD5.js +0 -2
  190. package/dist/config-7G24FXQJ.js +0 -2
  191. package/dist/config-delete-VSIFFODZ.js +0 -2
  192. package/dist/config-get-DDNSM5EH.js +0 -2
  193. package/dist/config-reset-ZFMP4J5H.js +0 -2
  194. package/dist/config-set-O6JKOGGN.js +0 -2
  195. package/dist/deploy-QKTIRD5U.js +0 -3
  196. package/dist/feedback-QUGQAWZB.js +0 -3
  197. package/dist/forms-create-EGWXMYTW.js +0 -2
  198. package/dist/forms-info-KAMWLIOA.js +0 -2
  199. package/dist/forms-list-5JU4JWVU.js +0 -2
  200. package/dist/forms-submissions-U3YD6CC7.js +0 -2
  201. package/dist/login-ANJQFQDO.js +0 -3
  202. package/dist/logout-STTU7NNX.js +0 -2
  203. package/dist/logs-export-62O4KT7A.js +0 -2
  204. package/dist/logs-search-UP5IEJMG.js +0 -2
  205. package/dist/monitor-37VPIJX6.js +0 -2
  206. package/dist/monitor-automations-YKA4DME5.js +0 -2
  207. package/dist/monitor-pipelines-7IS4K4ZV.js +0 -2
  208. package/dist/monitor-storage-5UFFXOK7.js +0 -2
  209. package/dist/scripts-cancel-VX7VJ6J2.js +0 -2
  210. package/dist/scripts-disable-WJ7OIHFN.js +0 -2
  211. package/dist/scripts-enable-D73CR33U.js +0 -2
  212. package/dist/scripts-list-X4MIW736.js +0 -2
  213. package/dist/scripts-logs-AC5M3ZBH.js +0 -2
  214. package/dist/scripts-run-PYGSKLVZ.js +0 -2
  215. package/dist/scripts-status-T4N57JWV.js +0 -2
  216. package/dist/scripts-validate-V7BWQMBO.js +0 -2
  217. package/dist/scripts-watch-TZHTIL6Y.js +0 -2
  218. package/dist/sign-cancel-5W54A3T2.js +0 -2
  219. package/dist/sign-list-VDF5JFKH.js +0 -2
  220. package/dist/sign-request-NXOZSE5A.js +0 -2
  221. package/dist/sign-status-E5UWZ4Y3.js +0 -2
  222. package/dist/sites-analytics-2YAYY6GY.js +0 -2
  223. package/dist/sites-deploys-4HEJWQON.js +0 -2
  224. package/dist/sites-info-6HE2B6TF.js +0 -2
  225. package/dist/sites-list-5GJPVLM3.js +0 -2
  226. package/dist/sites-open-L6AHCXLV.js +0 -3
  227. package/dist/sites-purge-MGNYRQC2.js +0 -2
  228. package/dist/sites-rollback-XORREI4B.js +0 -2
  229. package/dist/storage-cat-TC65RHNH.js +0 -2
  230. package/dist/storage-clean-Z2GKXPJV.js +0 -2
  231. package/dist/storage-cp-2EMEFPZ3.js +0 -2
  232. package/dist/storage-diff-RK2BH2QH.js +0 -2
  233. package/dist/storage-download-N7TOVRLD.js +0 -3
  234. package/dist/storage-download-N7TOVRLD.js.map +0 -1
  235. package/dist/storage-info-RHCOIHFS.js +0 -2
  236. package/dist/storage-ls-IWYZFGA7.js +0 -3
  237. package/dist/storage-mkdir-5SJHSGKB.js +0 -2
  238. package/dist/storage-mv-W6YIOF6S.js +0 -2
  239. package/dist/storage-search-H5INCBEX.js +0 -2
  240. package/dist/storage-share-SG7QWBGU.js +0 -2
  241. package/dist/storage-tag-XDJKEOTG.js +0 -2
  242. package/dist/storage-unshare-THU4SI5I.js +0 -2
  243. package/dist/storage-upload-PPP7UCAW.js +0 -2
  244. package/dist/storage-upload-PPP7UCAW.js.map +0 -1
  245. package/dist/time-list-FLBMQONU.js +0 -2
  246. package/dist/time-lock-JAQUWZMQ.js +0 -2
  247. package/dist/time-status-HXSTJXP3.js +0 -2
  248. package/dist/time-unlock-RJIN5EII.js +0 -2
  249. package/dist/update-DOHW47PB.js +0 -2
  250. package/dist/whoami-AIXW6EHW.js +0 -2
@@ -0,0 +1,2 @@
1
+ import {c as c$1}from'./chunk-N3AD2QRA.js';import {c}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import {a}from'./chunk-FNCZD2QB.js';import'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.js';import t from'chalk';async function o(){let n=((await c("/api/v1/sign/list",{authenticated:true})).requests||[]).map(e=>({id:t.dim(e.id.slice(0,8)),file:e.filename,status:e.status==="completed"?t.green("completed"):e.status==="pending"?t.yellow("pending"):t.dim(e.status),recipients:`${e.signed_count}/${e.recipient_count}`,created:c$1(e.created_at)}));console.log(a(n,[{key:"id",label:"Request"},{key:"file",label:"Document"},{key:"status",label:"Status"},{key:"recipients",label:"Signed"},{key:"created",label:"Created"}]));}export{o as default};//# sourceMappingURL=sign-list-VCNJSS6F.js.map
2
+ //# sourceMappingURL=sign-list-VCNJSS6F.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sign/sign-list.ts"],"names":["signList","rows","apiGet","r","chalk","formatDate","renderTable"],"mappings":"iPAcA,eAAOA,CAAAA,EAAiD,CAEtD,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAoC,mBAAA,CAAqB,CAAE,cAAe,IAAK,CAAC,CAAA,EAChF,QAAA,EAAY,EAAC,EAAG,IAAIC,CAAAA,GAAM,CAC3C,EAAA,CAAIC,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,GAAG,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,CAAA,CAC9B,IAAA,CAAMA,EAAE,QAAA,CACR,MAAA,CAAQA,CAAAA,CAAE,MAAA,GAAW,WAAA,CAAcC,CAAAA,CAAM,MAAM,WAAW,CAAA,CAAID,CAAAA,CAAE,MAAA,GAAW,SAAA,CAAYC,CAAAA,CAAM,OAAO,SAAS,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,MAAM,EACnI,UAAA,CAAY,CAAA,EAAGA,EAAE,YAAY,CAAA,CAAA,EAAIA,EAAE,eAAe,CAAA,CAAA,CAClD,OAAA,CAASE,CAAAA,CAAWF,CAAAA,CAAE,UAAU,CAClC,CAAA,CAAE,CAAA,CACF,OAAA,CAAQ,GAAA,CAAIG,CAAAA,CAAYL,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,IAAA,CAAM,KAAA,CAAO,SAAU,CAAA,CAC9B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,UAAW,CAAA,CACjC,CAAE,IAAK,QAAA,CAAU,KAAA,CAAO,QAAS,CAAA,CACjC,CAAE,GAAA,CAAK,aAAc,KAAA,CAAO,QAAS,CAAA,CACrC,CAAE,GAAA,CAAK,SAAA,CAAW,MAAO,SAAU,CACrC,CAAC,CAAC,EACJ","file":"sign-list-VDF5JFKH.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SignRequest {\n id: string\n filename: string\n status: string\n recipient_count: number\n signed_count: number\n created_at: string\n}\n\nexport default async function signList(): Promise<void> {\n const data = await apiGet<{ requests: SignRequest[] }>('/api/v1/sign/list', { authenticated: true })\n const rows = (data.requests || []).map(r => ({\n id: chalk.dim(r.id.slice(0, 8)),\n file: r.filename,\n status: r.status === 'completed' ? chalk.green('completed') : r.status === 'pending' ? chalk.yellow('pending') : chalk.dim(r.status),\n recipients: `${r.signed_count}/${r.recipient_count}`,\n created: formatDate(r.created_at),\n }))\n console.log(renderTable(rows, [\n { key: 'id', label: 'Request' },\n { key: 'file', label: 'Document' },\n { key: 'status', label: 'Status' },\n { key: 'recipients', label: 'Signed' },\n { key: 'created', label: 'Created' },\n ]))\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sign/sign-list.ts"],"names":["signList","rows","apiGet","r","chalk","formatDate","renderTable"],"mappings":"wPAcA,eAAOA,CAAAA,EAAiD,CAEtD,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAoC,mBAAA,CAAqB,CAAE,cAAe,IAAK,CAAC,CAAA,EAChF,QAAA,EAAY,EAAC,EAAG,IAAIC,CAAAA,GAAM,CAC3C,EAAA,CAAIC,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,GAAG,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,CAAA,CAC9B,IAAA,CAAMA,EAAE,QAAA,CACR,MAAA,CAAQA,CAAAA,CAAE,MAAA,GAAW,WAAA,CAAcC,CAAAA,CAAM,MAAM,WAAW,CAAA,CAAID,CAAAA,CAAE,MAAA,GAAW,SAAA,CAAYC,CAAAA,CAAM,OAAO,SAAS,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,MAAM,EACnI,UAAA,CAAY,CAAA,EAAGA,EAAE,YAAY,CAAA,CAAA,EAAIA,EAAE,eAAe,CAAA,CAAA,CAClD,OAAA,CAASE,GAAAA,CAAWF,CAAAA,CAAE,UAAU,CAClC,CAAA,CAAE,CAAA,CACF,OAAA,CAAQ,GAAA,CAAIG,CAAAA,CAAYL,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,IAAA,CAAM,KAAA,CAAO,SAAU,CAAA,CAC9B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,UAAW,CAAA,CACjC,CAAE,IAAK,QAAA,CAAU,KAAA,CAAO,QAAS,CAAA,CACjC,CAAE,GAAA,CAAK,aAAc,KAAA,CAAO,QAAS,CAAA,CACrC,CAAE,GAAA,CAAK,SAAA,CAAW,MAAO,SAAU,CACrC,CAAC,CAAC,EACJ","file":"sign-list-VCNJSS6F.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SignRequest {\n id: string\n filename: string\n status: string\n recipient_count: number\n signed_count: number\n created_at: string\n}\n\nexport default async function signList(): Promise<void> {\n const data = await apiGet<{ requests: SignRequest[] }>('/api/v1/sign/list', { authenticated: true })\n const rows = (data.requests || []).map(r => ({\n id: chalk.dim(r.id.slice(0, 8)),\n file: r.filename,\n status: r.status === 'completed' ? chalk.green('completed') : r.status === 'pending' ? chalk.yellow('pending') : chalk.dim(r.status),\n recipients: `${r.signed_count}/${r.recipient_count}`,\n created: formatDate(r.created_at),\n }))\n console.log(renderTable(rows, [\n { key: 'id', label: 'Request' },\n { key: 'file', label: 'Document' },\n { key: 'status', label: 'Status' },\n { key: 'recipients', label: 'Signed' },\n { key: 'created', label: 'Created' },\n ]))\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-UNA5CAPX.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {g,n,h}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.js';import f from'fs';import m from'path';async function l(u,e){let t=m.resolve(u);f.existsSync(t)||(console.error(`File not found: ${t}`),process.exit(1));let d$1=f.readFileSync(t),g$1=Array.isArray(e.to)?e.to:e.to?[e.to]:[],r=a("Sending signing request...");r.start();let o=await d("/api/v1/sign/request",{filename:m.basename(t),content:d$1.toString("base64"),recipients:g$1,ordered:e.order||false},{authenticated:true});if(r.succeed(),g()){n(o);return}h(`Signing request sent (${o.request_id.slice(0,8)})`);}export{l as default};//# sourceMappingURL=sign-request-LNRMPU2F.js.map
2
+ //# sourceMappingURL=sign-request-LNRMPU2F.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sign/sign-request.ts"],"names":["signRequest","file","options","filePath","path","fs","content","to","spinner","createSpinner","result","apiPost","isJsonMode","logJSON","logSuccess"],"mappings":"oRAOA,eAAOA,CAAAA,CAAmCC,CAAAA,CAAcC,CAAAA,CAAqE,CAC3H,IAAMC,CAAAA,CAAWC,EAAK,OAAA,CAAQH,CAAI,CAAA,CAC7BI,CAAAA,CAAG,UAAA,CAAWF,CAAQ,IACzB,OAAA,CAAQ,KAAA,CAAM,CAAA,gBAAA,EAAmBA,CAAQ,CAAA,CAAE,CAAA,CAC3C,QAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAMG,GAAAA,CAAUD,CAAAA,CAAG,aAAaF,CAAQ,CAAA,CAClCI,GAAAA,CAAK,KAAA,CAAM,OAAA,CAAQL,CAAAA,CAAQ,EAAE,CAAA,CAAIA,CAAAA,CAAQ,EAAA,CAAKA,CAAAA,CAAQ,EAAA,CAAK,CAACA,EAAQ,EAAE,CAAA,CAAI,EAAC,CAE3EM,CAAAA,CAAUC,CAAAA,CAAc,4BAA4B,CAAA,CAC1DD,CAAAA,CAAQ,KAAA,EAAM,CAEd,IAAME,CAAAA,CAAS,MAAMC,CAAAA,CAAgC,sBAAA,CAAwB,CAC3E,QAAA,CAAUP,CAAAA,CAAK,QAAA,CAASD,CAAQ,CAAA,CAChC,OAAA,CAASG,GAAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,CAClC,WAAYC,GAAAA,CACZ,OAAA,CAASL,CAAAA,CAAQ,KAAA,EAAS,KAC5B,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAG1B,GADAM,CAAAA,CAAQ,SAAQ,CACZI,GAAAA,EAAW,CAAG,CAChBC,GAAAA,CAAQH,CAAM,EACd,MACF,CACAI,CAAAA,CAAW,CAAA,sBAAA,EAAyBJ,CAAAA,CAAO,UAAA,CAAW,MAAM,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAG,EACtE","file":"sign-request-NXOZSE5A.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { 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'\n\nexport default async function signRequest(file: string, options: { to?: string | string[]; order?: boolean }): Promise<void> {\n const filePath = path.resolve(file)\n if (!fs.existsSync(filePath)) {\n console.error(`File not found: ${filePath}`)\n process.exit(1)\n }\n\n const content = fs.readFileSync(filePath)\n const to = Array.isArray(options.to) ? options.to : options.to ? [options.to] : []\n\n const spinner = createSpinner('Sending signing request...')\n spinner.start()\n\n const result = await apiPost<{ request_id: string }>('/api/v1/sign/request', {\n filename: path.basename(filePath),\n content: content.toString('base64'),\n recipients: to,\n ordered: options.order || false,\n }, { authenticated: true })\n\n spinner.succeed()\n if (isJsonMode()) {\n logJSON(result)\n return\n }\n logSuccess(`Signing request sent (${result.request_id.slice(0, 8)})`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sign/sign-request.ts"],"names":["signRequest","file","options","filePath","path","fs","content","to","spinner","createSpinner","result","apiPost","isJsonMode","logJSON","logSuccess"],"mappings":"sQAOA,eAAOA,CAAAA,CAAmCC,CAAAA,CAAcC,CAAAA,CAAqE,CAC3H,IAAMC,CAAAA,CAAWC,EAAK,OAAA,CAAQH,CAAI,CAAA,CAC7BI,CAAAA,CAAG,UAAA,CAAWF,CAAQ,IACzB,OAAA,CAAQ,KAAA,CAAM,CAAA,gBAAA,EAAmBA,CAAQ,CAAA,CAAE,CAAA,CAC3C,QAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAMG,GAAAA,CAAUD,CAAAA,CAAG,aAAaF,CAAQ,CAAA,CAClCI,GAAAA,CAAK,KAAA,CAAM,OAAA,CAAQL,CAAAA,CAAQ,EAAE,CAAA,CAAIA,CAAAA,CAAQ,EAAA,CAAKA,CAAAA,CAAQ,EAAA,CAAK,CAACA,EAAQ,EAAE,CAAA,CAAI,EAAC,CAE3EM,CAAAA,CAAUC,CAAAA,CAAc,4BAA4B,CAAA,CAC1DD,CAAAA,CAAQ,KAAA,EAAM,CAEd,IAAME,CAAAA,CAAS,MAAMC,CAAAA,CAAgC,sBAAA,CAAwB,CAC3E,QAAA,CAAUP,CAAAA,CAAK,QAAA,CAASD,CAAQ,CAAA,CAChC,OAAA,CAASG,GAAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,CAClC,WAAYC,GAAAA,CACZ,OAAA,CAASL,CAAAA,CAAQ,KAAA,EAAS,KAC5B,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAG1B,GADAM,CAAAA,CAAQ,SAAQ,CACZI,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQH,CAAM,EACd,MACF,CACAI,CAAAA,CAAW,CAAA,sBAAA,EAAyBJ,CAAAA,CAAO,UAAA,CAAW,MAAM,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAG,EACtE","file":"sign-request-LNRMPU2F.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { 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'\n\nexport default async function signRequest(file: string, options: { to?: string | string[]; order?: boolean }): Promise<void> {\n const filePath = path.resolve(file)\n if (!fs.existsSync(filePath)) {\n console.error(`File not found: ${filePath}`)\n process.exit(1)\n }\n\n const content = fs.readFileSync(filePath)\n const to = Array.isArray(options.to) ? options.to : options.to ? [options.to] : []\n\n const spinner = createSpinner('Sending signing request...')\n spinner.start()\n\n const result = await apiPost<{ request_id: string }>('/api/v1/sign/request', {\n filename: path.basename(filePath),\n content: content.toString('base64'),\n recipients: to,\n ordered: options.order || false,\n }, { authenticated: true })\n\n spinner.succeed()\n if (isJsonMode()) {\n logJSON(result)\n return\n }\n logSuccess(`Signing request sent (${result.request_id.slice(0, 8)})`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {c as c$1}from'./chunk-N3AD2QRA.js';import {a}from'./chunk-UNA5CAPX.js';import {c}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {g,n,m}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.js';import t from'chalk';async function u(m$1){let r=a("Checking status...");r.start();let c$2=await c(`/api/v1/sign/${m$1}`,{authenticated:true});r.stop();let i=c$2.request;if(g()){n(i);return}m(""),m(` ${t.bold(i.filename)}`),m(t.dim(" \u2500\u2500\u2500".repeat(8))),m(` ${t.bold("Status:")} ${i.status==="completed"?t.green("completed"):i.status==="pending"?t.yellow("pending"):t.dim(i.status)}`),m(` ${t.bold("Created:")} ${c$1(i.created_at)}`),m("");for(let n of i.recipients){let l=n.signed?t.green("\u2713"):t.yellow("\u25CB"),p=n.signed_at?c$1(n.signed_at):t.dim("pending");m(` ${l} ${n.email} \u2014 ${p}`);}m("");}export{u as default};//# sourceMappingURL=sign-status-PNAGMC7S.js.map
2
+ //# sourceMappingURL=sign-status-PNAGMC7S.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sign/sign-status.ts"],"names":["signStatus","requestId","spinner","createSpinner","data","apiGet","r","isJsonMode","logJSON","logRaw","chalk","formatDate","rec","icon","time"],"mappings":"yRAeA,eAAOA,CAAAA,CAAkCC,IAAkC,CACzE,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,oBAAoB,CAAA,CAClDD,CAAAA,CAAQ,KAAA,EAAM,CACd,IAAME,GAAAA,CAAO,MAAMC,CAAAA,CAAgC,CAAA,aAAA,EAAgBJ,GAAS,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACvGC,CAAAA,CAAQ,IAAA,GACR,IAAMI,CAAAA,CAAIF,GAAAA,CAAK,OAAA,CAEf,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQF,CAAC,CAAA,CACT,MACF,CAEAG,EAAO,EAAE,CAAA,CACTA,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAKJ,CAAAA,CAAE,QAAQ,CAAC,EAAE,CAAA,CACpCG,CAAAA,CAAOC,CAAAA,CAAM,GAAA,CAAI,sBAAA,CAAQ,MAAA,CAAO,CAAC,CAAC,CAAC,CAAA,CACnCD,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,SAAS,CAAC,CAAA,IAAA,EAAOJ,CAAAA,CAAE,SAAW,WAAA,CAAcI,CAAAA,CAAM,KAAA,CAAM,WAAW,CAAA,CAAIJ,CAAAA,CAAE,MAAA,GAAW,SAAA,CAAYI,EAAM,MAAA,CAAO,SAAS,CAAA,CAAIA,CAAAA,CAAM,IAAIJ,CAAAA,CAAE,MAAM,CAAC,CAAA,CAAE,EACtKG,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,UAAU,CAAC,CAAA,GAAA,EAAMC,CAAAA,CAAWL,EAAE,UAAU,CAAC,CAAA,CAAE,CAAA,CAClEG,EAAO,EAAE,CAAA,CACT,IAAA,IAAWG,CAAAA,IAAON,EAAE,UAAA,CAAY,CAC9B,IAAMO,GAAAA,CAAOD,CAAAA,CAAI,MAAA,CAASF,CAAAA,CAAM,KAAA,CAAM,QAAG,CAAA,CAAIA,CAAAA,CAAM,MAAA,CAAO,QAAG,EACvDI,CAAAA,CAAOF,CAAAA,CAAI,SAAA,CAAYD,CAAAA,CAAWC,EAAI,SAAS,CAAA,CAAIF,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAC5ED,CAAAA,CAAO,CAAA,EAAA,EAAKI,GAAI,CAAA,CAAA,EAAID,CAAAA,CAAI,KAAK,CAAA,QAAA,EAAME,CAAI,CAAA,CAAE,EAC3C,CACAL,CAAAA,CAAO,EAAE,EACX","file":"sign-status-E5UWZ4Y3.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logJSON, logRaw } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SignStatus {\n id: string\n filename: string\n status: string\n recipients: { email: string; signed: boolean; signed_at: string | null }[]\n created_at: string\n}\n\nexport default async function signStatus(requestId: string): Promise<void> {\n const spinner = createSpinner('Checking status...')\n spinner.start()\n const data = await apiGet<{ request: SignStatus }>(`/api/v1/sign/${requestId}`, { authenticated: true })\n spinner.stop()\n const r = data.request\n\n if (isJsonMode()) {\n logJSON(r)\n return\n }\n\n logRaw('')\n logRaw(` ${chalk.bold(r.filename)}`)\n logRaw(chalk.dim(' ───'.repeat(8)))\n logRaw(` ${chalk.bold('Status:')} ${r.status === 'completed' ? chalk.green('completed') : r.status === 'pending' ? chalk.yellow('pending') : chalk.dim(r.status)}`)\n logRaw(` ${chalk.bold('Created:')} ${formatDate(r.created_at)}`)\n logRaw('')\n for (const rec of r.recipients) {\n const icon = rec.signed ? chalk.green('✓') : chalk.yellow('○')\n const time = rec.signed_at ? formatDate(rec.signed_at) : chalk.dim('pending')\n logRaw(` ${icon} ${rec.email} — ${time}`)\n }\n logRaw('')\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sign/sign-status.ts"],"names":["signStatus","requestId","spinner","createSpinner","data","apiGet","r","isJsonMode","logJSON","logRaw","chalk","formatDate","rec","icon","time"],"mappings":"gSAeA,eAAOA,CAAAA,CAAkCC,IAAkC,CACzE,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,oBAAoB,CAAA,CAClDD,CAAAA,CAAQ,KAAA,EAAM,CACd,IAAME,GAAAA,CAAO,MAAMC,CAAAA,CAAgC,CAAA,aAAA,EAAgBJ,GAAS,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACvGC,CAAAA,CAAQ,IAAA,GACR,IAAMI,CAAAA,CAAIF,GAAAA,CAAK,OAAA,CAEf,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQF,CAAC,CAAA,CACT,MACF,CAEAG,EAAO,EAAE,CAAA,CACTA,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAKJ,CAAAA,CAAE,QAAQ,CAAC,EAAE,CAAA,CACpCG,CAAAA,CAAOC,CAAAA,CAAM,GAAA,CAAI,sBAAA,CAAQ,MAAA,CAAO,CAAC,CAAC,CAAC,CAAA,CACnCD,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,SAAS,CAAC,CAAA,IAAA,EAAOJ,CAAAA,CAAE,SAAW,WAAA,CAAcI,CAAAA,CAAM,KAAA,CAAM,WAAW,CAAA,CAAIJ,CAAAA,CAAE,MAAA,GAAW,SAAA,CAAYI,EAAM,MAAA,CAAO,SAAS,CAAA,CAAIA,CAAAA,CAAM,IAAIJ,CAAAA,CAAE,MAAM,CAAC,CAAA,CAAE,EACtKG,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,UAAU,CAAC,CAAA,GAAA,EAAMC,GAAAA,CAAWL,EAAE,UAAU,CAAC,CAAA,CAAE,CAAA,CAClEG,EAAO,EAAE,CAAA,CACT,IAAA,IAAWG,CAAAA,IAAON,EAAE,UAAA,CAAY,CAC9B,IAAMO,CAAAA,CAAOD,CAAAA,CAAI,MAAA,CAASF,CAAAA,CAAM,KAAA,CAAM,QAAG,CAAA,CAAIA,CAAAA,CAAM,MAAA,CAAO,QAAG,EACvDI,CAAAA,CAAOF,CAAAA,CAAI,SAAA,CAAYD,GAAAA,CAAWC,EAAI,SAAS,CAAA,CAAIF,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAC5ED,CAAAA,CAAO,CAAA,EAAA,EAAKI,CAAI,CAAA,CAAA,EAAID,CAAAA,CAAI,KAAK,CAAA,QAAA,EAAME,CAAI,CAAA,CAAE,EAC3C,CACAL,CAAAA,CAAO,EAAE,EACX","file":"sign-status-PNAGMC7S.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logJSON, logRaw } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SignStatus {\n id: string\n filename: string\n status: string\n recipients: { email: string; signed: boolean; signed_at: string | null }[]\n created_at: string\n}\n\nexport default async function signStatus(requestId: string): Promise<void> {\n const spinner = createSpinner('Checking status...')\n spinner.start()\n const data = await apiGet<{ request: SignStatus }>(`/api/v1/sign/${requestId}`, { authenticated: true })\n spinner.stop()\n const r = data.request\n\n if (isJsonMode()) {\n logJSON(r)\n return\n }\n\n logRaw('')\n logRaw(` ${chalk.bold(r.filename)}`)\n logRaw(chalk.dim(' ───'.repeat(8)))\n logRaw(` ${chalk.bold('Status:')} ${r.status === 'completed' ? chalk.green('completed') : r.status === 'pending' ? chalk.yellow('pending') : chalk.dim(r.status)}`)\n logRaw(` ${chalk.bold('Created:')} ${formatDate(r.created_at)}`)\n logRaw('')\n for (const rec of r.recipients) {\n const icon = rec.signed ? chalk.green('✓') : chalk.yellow('○')\n const time = rec.signed_at ? formatDate(rec.signed_at) : chalk.dim('pending')\n logRaw(` ${icon} ${rec.email} — ${time}`)\n }\n logRaw('')\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-THMWE2I6.js';import {g as g$1,h}from'./chunk-QT7R3AXE.js';import'./chunk-Q3A4IBGC.js';import c from'fs';import g from'path';import i from'chalk';async function p(f){let e=g.resolve(f);c.existsSync(e)||(console.error(`File not found: ${e}`),process.exit(1));let n=a("Verifying signatures...");n.start();let m=c.readFileSync(e),r=await d("/api/v1/sign/verify",{content:m.toString("base64"),filename:g.basename(e)});n.stop(),r.valid?g$1(i.green("All signatures valid \u2713")):h(i.red("Document has been modified or signatures are invalid"));for(let o of r.signatures||[]){let d=o.valid?i.green("\u2713"):i.red("\u2717");console.log(` ${d} ${o.email} \u2014 ${o.signed_at||"unknown"}`);}}export{p as default};//# sourceMappingURL=sign-verify-2OKPTOPN.js.map
2
- //# sourceMappingURL=sign-verify-2OKPTOPN.js.map
1
+ import {a}from'./chunk-UNA5CAPX.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {h,i as i$1}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.js';import c from'fs';import g from'path';import i from'chalk';async function p(f){let e=g.resolve(f);c.existsSync(e)||(console.error(`File not found: ${e}`),process.exit(1));let n=a("Verifying signatures...");n.start();let m=c.readFileSync(e),r=await d("/api/v1/sign/verify",{content:m.toString("base64"),filename:g.basename(e)});n.stop(),r.valid?h(i.green("All signatures valid \u2713")):i$1(i.red("Document has been modified or signatures are invalid"));for(let o of r.signatures||[]){let d=o.valid?i.green("\u2713"):i.red("\u2717");console.log(` ${d} ${o.email} \u2014 ${o.signed_at||"unknown"}`);}}export{p as default};//# sourceMappingURL=sign-verify-ZROVA7LH.js.map
2
+ //# sourceMappingURL=sign-verify-ZROVA7LH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sign/sign-verify.ts"],"names":["signVerify","file","filePath","path","fs","spinner","createSpinner","content","result","apiPost","logSuccess","chalk","logError","sig","icon"],"mappings":"gSAOA,eAAOA,CAAAA,CAAkCC,CAAAA,CAA6B,CACpE,IAAMC,CAAAA,CAAWC,CAAAA,CAAK,OAAA,CAAQF,CAAI,CAAA,CAC7BG,CAAAA,CAAG,UAAA,CAAWF,CAAQ,CAAA,GACzB,OAAA,CAAQ,KAAA,CAAM,CAAA,gBAAA,EAAmBA,CAAQ,CAAA,CAAE,EAC3C,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAMG,CAAAA,CAAUC,EAAc,yBAAyB,CAAA,CACvDD,CAAAA,CAAQ,KAAA,EAAM,CAEd,IAAME,EAAUH,CAAAA,CAAG,YAAA,CAAaF,CAAQ,CAAA,CAClCM,CAAAA,CAAS,MAAMC,CAAAA,CACnB,qBAAA,CACA,CAAE,OAAA,CAASF,CAAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,CAAG,SAAUJ,CAAAA,CAAK,QAAA,CAASD,CAAQ,CAAE,CAC3E,CAAA,CAEAG,EAAQ,IAAA,EAAK,CACTG,CAAAA,CAAO,KAAA,CACTE,GAAAA,CAAWC,CAAAA,CAAM,MAAM,6BAAwB,CAAC,CAAA,CAEhDC,CAAAA,CAASD,CAAAA,CAAM,GAAA,CAAI,sDAAsD,CAAC,CAAA,CAG5E,IAAA,IAAWE,CAAAA,IAAOL,CAAAA,CAAO,UAAA,EAAc,GAAI,CACzC,IAAMM,CAAAA,CAAOD,CAAAA,CAAI,KAAA,CAAQF,CAAAA,CAAM,MAAM,QAAG,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAI,QAAG,CAAA,CACzD,QAAQ,GAAA,CAAI,CAAA,EAAA,EAAKG,CAAI,CAAA,CAAA,EAAID,CAAAA,CAAI,KAAK,CAAA,QAAA,EAAMA,CAAAA,CAAI,SAAA,EAAa,SAAS,CAAA,CAAE,EACtE,CACF","file":"sign-verify-2OKPTOPN.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logError, logJSON } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\n\nexport default async function signVerify(file: string): Promise<void> {\n const filePath = path.resolve(file)\n if (!fs.existsSync(filePath)) {\n console.error(`File not found: ${filePath}`)\n process.exit(1)\n }\n\n const spinner = createSpinner('Verifying signatures...')\n spinner.start()\n\n const content = fs.readFileSync(filePath)\n const result = await apiPost<{ valid: boolean; signatures: { email: string; valid: boolean; signed_at: string }[] }>(\n '/api/v1/sign/verify',\n { content: content.toString('base64'), filename: path.basename(filePath) },\n )\n\n spinner.stop()\n if (result.valid) {\n logSuccess(chalk.green('All signatures valid ✓'))\n } else {\n logError(chalk.red('Document has been modified or signatures are invalid'))\n }\n\n for (const sig of result.signatures || []) {\n const icon = sig.valid ? chalk.green('✓') : chalk.red('✗')\n console.log(` ${icon} ${sig.email} — ${sig.signed_at || 'unknown'}`)\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sign/sign-verify.ts"],"names":["signVerify","file","filePath","path","fs","spinner","createSpinner","content","result","apiPost","logSuccess","chalk","logError","sig","icon"],"mappings":"gSAOA,eAAOA,CAAAA,CAAkCC,CAAAA,CAA6B,CACpE,IAAMC,CAAAA,CAAWC,CAAAA,CAAK,OAAA,CAAQF,CAAI,CAAA,CAC7BG,CAAAA,CAAG,UAAA,CAAWF,CAAQ,CAAA,GACzB,OAAA,CAAQ,KAAA,CAAM,CAAA,gBAAA,EAAmBA,CAAQ,CAAA,CAAE,EAC3C,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAMG,CAAAA,CAAUC,EAAc,yBAAyB,CAAA,CACvDD,CAAAA,CAAQ,KAAA,EAAM,CAEd,IAAME,EAAUH,CAAAA,CAAG,YAAA,CAAaF,CAAQ,CAAA,CAClCM,CAAAA,CAAS,MAAMC,CAAAA,CACnB,qBAAA,CACA,CAAE,OAAA,CAASF,CAAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,CAAG,SAAUJ,CAAAA,CAAK,QAAA,CAASD,CAAQ,CAAE,CAC3E,CAAA,CAEAG,EAAQ,IAAA,EAAK,CACTG,CAAAA,CAAO,KAAA,CACTE,CAAAA,CAAWC,CAAAA,CAAM,MAAM,6BAAwB,CAAC,CAAA,CAEhDC,GAAAA,CAASD,CAAAA,CAAM,GAAA,CAAI,sDAAsD,CAAC,CAAA,CAG5E,IAAA,IAAWE,CAAAA,IAAOL,CAAAA,CAAO,UAAA,EAAc,GAAI,CACzC,IAAMM,CAAAA,CAAOD,CAAAA,CAAI,KAAA,CAAQF,CAAAA,CAAM,MAAM,QAAG,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAI,QAAG,CAAA,CACzD,QAAQ,GAAA,CAAI,CAAA,EAAA,EAAKG,CAAI,CAAA,CAAA,EAAID,CAAAA,CAAI,KAAK,CAAA,QAAA,EAAMA,CAAAA,CAAI,SAAA,EAAa,SAAS,CAAA,CAAE,EACtE,CACF","file":"sign-verify-ZROVA7LH.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logError, logJSON } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\n\nexport default async function signVerify(file: string): Promise<void> {\n const filePath = path.resolve(file)\n if (!fs.existsSync(filePath)) {\n console.error(`File not found: ${filePath}`)\n process.exit(1)\n }\n\n const spinner = createSpinner('Verifying signatures...')\n spinner.start()\n\n const content = fs.readFileSync(filePath)\n const result = await apiPost<{ valid: boolean; signatures: { email: string; valid: boolean; signed_at: string }[] }>(\n '/api/v1/sign/verify',\n { content: content.toString('base64'), filename: path.basename(filePath) },\n )\n\n spinner.stop()\n if (result.valid) {\n logSuccess(chalk.green('All signatures valid ✓'))\n } else {\n logError(chalk.red('Document has been modified or signatures are invalid'))\n }\n\n for (const sig of result.signatures || []) {\n const icon = sig.valid ? chalk.green('✓') : chalk.red('✗')\n console.log(` ${icon} ${sig.email} — ${sig.signed_at || 'unknown'}`)\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {c as c$1}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import {b}from'./chunk-FNCZD2QB.js';import {g,n,m}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.js';import r from'chalk';async function c(s){let t=(await c$1(`/api/v1/sites/${s}/analytics`,{authenticated:true})).analytics;if(g()){n(t);return}if(m(""),m(r.bold(` Traffic: ${s}`)),m(r.dim(" \u2500\u2500\u2500".repeat(10))),m(` ${r.bold("Total Views:")} ${t.total_views}`),m(` ${r.bold("Unique Visitors:")} ${t.unique_visitors}`),m(""),t.top_pages?.length){m(r.bold(" Top Pages")),m(r.dim(" \u2500\u2500\u2500".repeat(8)));let a=t.top_pages.map(i=>({path:i.path,views:String(i.views)}));m(b(a,[{key:"path",label:"Page"},{key:"views",label:"Views"}]));}if(t.top_referrers?.length){m(r.bold(" Top Referrers")),m(r.dim(" \u2500\u2500\u2500".repeat(8)));let a=t.top_referrers.map(i=>({referrer:i.referrer||"(direct)",count:String(i.count)}));m(b(a,[{key:"referrer",label:"Referrer"},{key:"count",label:"Visits"}]));}m("");}export{c as default};//# sourceMappingURL=sites-analytics-L6KVTZNH.js.map
2
+ //# sourceMappingURL=sites-analytics-L6KVTZNH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-analytics.ts"],"names":["sitesAnalytics","slug","a","apiGet","isJsonMode","logJSON","logRaw","chalk","rows","p","renderCompactTable","r"],"mappings":"gOAcA,eAAOA,CAAAA,CAAsCC,EAA6B,CAExE,IAAMC,GADO,MAAMC,GAAAA,CAAqC,iBAAiBF,CAAI,CAAA,UAAA,CAAA,CAAc,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACnG,SAAA,CAEf,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQH,CAAC,EACT,MACF,CASA,GAPAI,CAAAA,CAAO,EAAE,EACTA,CAAAA,CAAOC,CAAAA,CAAM,KAAK,CAAA,WAAA,EAAcN,CAAI,EAAE,CAAC,CAAA,CACvCK,EAAOC,CAAAA,CAAM,GAAA,CAAI,uBAAQ,MAAA,CAAO,EAAE,CAAC,CAAC,CAAA,CACpCD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,cAAc,CAAC,OAAOL,CAAAA,CAAE,WAAW,EAAE,CAAA,CAC5DI,CAAAA,CAAO,KAAKC,CAAAA,CAAM,IAAA,CAAK,kBAAkB,CAAC,CAAA,CAAA,EAAIL,EAAE,eAAe,CAAA,CAAE,EACjEI,CAAAA,CAAO,EAAE,EAELJ,CAAAA,CAAE,SAAA,EAAW,OAAQ,CACvBI,CAAAA,CAAOC,EAAM,IAAA,CAAK,aAAa,CAAC,CAAA,CAChCD,CAAAA,CAAOC,EAAM,GAAA,CAAI,sBAAA,CAAQ,OAAO,CAAC,CAAC,CAAC,CAAA,CACnC,IAAMC,CAAAA,CAAON,EAAE,SAAA,CAAU,GAAA,CAAIO,IAAM,CAAE,IAAA,CAAMA,EAAE,IAAA,CAAM,KAAA,CAAO,OAAOA,CAAAA,CAAE,KAAK,CAAE,CAAA,CAAE,CAAA,CAC5EH,EAAOI,CAAAA,CAAmBF,CAAAA,CAAM,CAC9B,CAAE,GAAA,CAAK,OAAQ,KAAA,CAAO,MAAO,EAC7B,CAAE,GAAA,CAAK,QAAS,KAAA,CAAO,OAAQ,CACjC,CAAC,CAAC,EACJ,CAEA,GAAIN,EAAE,aAAA,EAAe,MAAA,CAAQ,CAC3BI,CAAAA,CAAOC,CAAAA,CAAM,KAAK,iBAAiB,CAAC,EACpCD,CAAAA,CAAOC,CAAAA,CAAM,IAAI,sBAAA,CAAQ,MAAA,CAAO,CAAC,CAAC,CAAC,EACnC,IAAMC,CAAAA,CAAON,EAAE,aAAA,CAAc,GAAA,CAAIS,IAAM,CAAE,QAAA,CAAUA,EAAE,QAAA,EAAY,UAAA,CAAY,MAAO,MAAA,CAAOA,CAAAA,CAAE,KAAK,CAAE,CAAA,CAAE,EACtGL,CAAAA,CAAOI,CAAAA,CAAmBF,EAAM,CAC9B,CAAE,IAAK,UAAA,CAAY,KAAA,CAAO,UAAW,CAAA,CACrC,CAAE,IAAK,OAAA,CAAS,KAAA,CAAO,QAAS,CAClC,CAAC,CAAC,EACJ,CACAF,CAAAA,CAAO,EAAE,EACX","file":"sites-analytics-2YAYY6GY.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { logRaw, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\nimport { renderCompactTable } from '../../lib/output/table.js'\n\ninterface SiteAnalytics {\n total_views: number\n unique_visitors: number\n top_pages: { path: string; views: number }[]\n top_referrers: { referrer: string; count: number }[]\n daily_breakdown: { date: string; views: number }[]\n}\n\nexport default async function sitesAnalytics(slug: string): Promise<void> {\n const data = await apiGet<{ analytics: SiteAnalytics }>(`/api/v1/sites/${slug}/analytics`, { authenticated: true })\n const a = data.analytics\n\n if (isJsonMode()) {\n logJSON(a)\n return\n }\n\n logRaw('')\n logRaw(chalk.bold(` Traffic: ${slug}`))\n logRaw(chalk.dim(' ───'.repeat(10)))\n logRaw(` ${chalk.bold('Total Views:')} ${a.total_views}`)\n logRaw(` ${chalk.bold('Unique Visitors:')} ${a.unique_visitors}`)\n logRaw('')\n\n if (a.top_pages?.length) {\n logRaw(chalk.bold(' Top Pages'))\n logRaw(chalk.dim(' ───'.repeat(8)))\n const rows = a.top_pages.map(p => ({ path: p.path, views: String(p.views) }))\n logRaw(renderCompactTable(rows, [\n { key: 'path', label: 'Page' },\n { key: 'views', label: 'Views' },\n ]))\n }\n\n if (a.top_referrers?.length) {\n logRaw(chalk.bold(' Top Referrers'))\n logRaw(chalk.dim(' ───'.repeat(8)))\n const rows = a.top_referrers.map(r => ({ referrer: r.referrer || '(direct)', count: String(r.count) }))\n logRaw(renderCompactTable(rows, [\n { key: 'referrer', label: 'Referrer' },\n { key: 'count', label: 'Visits' },\n ]))\n }\n logRaw('')\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-analytics.ts"],"names":["sitesAnalytics","slug","a","apiGet","isJsonMode","logJSON","logRaw","chalk","rows","p","renderCompactTable","r"],"mappings":"gOAcA,eAAOA,CAAAA,CAAsCC,EAA6B,CAExE,IAAMC,GADO,MAAMC,GAAAA,CAAqC,iBAAiBF,CAAI,CAAA,UAAA,CAAA,CAAc,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACnG,SAAA,CAEf,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQH,CAAC,EACT,MACF,CASA,GAPAI,CAAAA,CAAO,EAAE,EACTA,CAAAA,CAAOC,CAAAA,CAAM,KAAK,CAAA,WAAA,EAAcN,CAAI,EAAE,CAAC,CAAA,CACvCK,EAAOC,CAAAA,CAAM,GAAA,CAAI,uBAAQ,MAAA,CAAO,EAAE,CAAC,CAAC,CAAA,CACpCD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,cAAc,CAAC,OAAOL,CAAAA,CAAE,WAAW,EAAE,CAAA,CAC5DI,CAAAA,CAAO,KAAKC,CAAAA,CAAM,IAAA,CAAK,kBAAkB,CAAC,CAAA,CAAA,EAAIL,EAAE,eAAe,CAAA,CAAE,EACjEI,CAAAA,CAAO,EAAE,EAELJ,CAAAA,CAAE,SAAA,EAAW,OAAQ,CACvBI,CAAAA,CAAOC,EAAM,IAAA,CAAK,aAAa,CAAC,CAAA,CAChCD,CAAAA,CAAOC,EAAM,GAAA,CAAI,sBAAA,CAAQ,OAAO,CAAC,CAAC,CAAC,CAAA,CACnC,IAAMC,CAAAA,CAAON,EAAE,SAAA,CAAU,GAAA,CAAIO,IAAM,CAAE,IAAA,CAAMA,EAAE,IAAA,CAAM,KAAA,CAAO,OAAOA,CAAAA,CAAE,KAAK,CAAE,CAAA,CAAE,CAAA,CAC5EH,EAAOI,CAAAA,CAAmBF,CAAAA,CAAM,CAC9B,CAAE,GAAA,CAAK,OAAQ,KAAA,CAAO,MAAO,EAC7B,CAAE,GAAA,CAAK,QAAS,KAAA,CAAO,OAAQ,CACjC,CAAC,CAAC,EACJ,CAEA,GAAIN,EAAE,aAAA,EAAe,MAAA,CAAQ,CAC3BI,CAAAA,CAAOC,CAAAA,CAAM,KAAK,iBAAiB,CAAC,EACpCD,CAAAA,CAAOC,CAAAA,CAAM,IAAI,sBAAA,CAAQ,MAAA,CAAO,CAAC,CAAC,CAAC,EACnC,IAAMC,CAAAA,CAAON,EAAE,aAAA,CAAc,GAAA,CAAIS,IAAM,CAAE,QAAA,CAAUA,EAAE,QAAA,EAAY,UAAA,CAAY,MAAO,MAAA,CAAOA,CAAAA,CAAE,KAAK,CAAE,CAAA,CAAE,EACtGL,CAAAA,CAAOI,CAAAA,CAAmBF,EAAM,CAC9B,CAAE,IAAK,UAAA,CAAY,KAAA,CAAO,UAAW,CAAA,CACrC,CAAE,IAAK,OAAA,CAAS,KAAA,CAAO,QAAS,CAClC,CAAC,CAAC,EACJ,CACAF,CAAAA,CAAO,EAAE,EACX","file":"sites-analytics-L6KVTZNH.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { logRaw, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\nimport { renderCompactTable } from '../../lib/output/table.js'\n\ninterface SiteAnalytics {\n total_views: number\n unique_visitors: number\n top_pages: { path: string; views: number }[]\n top_referrers: { referrer: string; count: number }[]\n daily_breakdown: { date: string; views: number }[]\n}\n\nexport default async function sitesAnalytics(slug: string): Promise<void> {\n const data = await apiGet<{ analytics: SiteAnalytics }>(`/api/v1/sites/${slug}/analytics`, { authenticated: true })\n const a = data.analytics\n\n if (isJsonMode()) {\n logJSON(a)\n return\n }\n\n logRaw('')\n logRaw(chalk.bold(` Traffic: ${slug}`))\n logRaw(chalk.dim(' ───'.repeat(10)))\n logRaw(` ${chalk.bold('Total Views:')} ${a.total_views}`)\n logRaw(` ${chalk.bold('Unique Visitors:')} ${a.unique_visitors}`)\n logRaw('')\n\n if (a.top_pages?.length) {\n logRaw(chalk.bold(' Top Pages'))\n logRaw(chalk.dim(' ───'.repeat(8)))\n const rows = a.top_pages.map(p => ({ path: p.path, views: String(p.views) }))\n logRaw(renderCompactTable(rows, [\n { key: 'path', label: 'Page' },\n { key: 'views', label: 'Views' },\n ]))\n }\n\n if (a.top_referrers?.length) {\n logRaw(chalk.bold(' Top Referrers'))\n logRaw(chalk.dim(' ───'.repeat(8)))\n const rows = a.top_referrers.map(r => ({ referrer: r.referrer || '(direct)', count: String(r.count) }))\n logRaw(renderCompactTable(rows, [\n { key: 'referrer', label: 'Referrer' },\n { key: 'count', label: 'Visits' },\n ]))\n }\n logRaw('')\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {f}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-Q3A4IBGC.js';import m from'inquirer';async function s(e){let{confirm:a$1}=await m.prompt([{type:"input",name:"confirm",message:`Type "${e}" to permanently delete this site and all its files:`,validate:o=>o===e?true:"Type the exact slug to confirm"}]);if(a$1!==e)return;let t=a(`Permanently deleting ${e}...`);t.start(),await f(`/api/v1/sites/${e}`,{authenticated:true}),t.succeed(),g(`Site ${e} and all files permanently deleted`);}export{s as default};//# sourceMappingURL=sites-delete-BH7KKL54.js.map
2
- //# sourceMappingURL=sites-delete-BH7KKL54.js.map
1
+ import {a}from'./chunk-UNA5CAPX.js';import {f}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {h}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.js';import m from'inquirer';async function s(e){let{confirm:a$1}=await m.prompt([{type:"input",name:"confirm",message:`Type "${e}" to permanently delete this site and all its files:`,validate:o=>o===e?true:"Type the exact slug to confirm"}]);if(a$1!==e)return;let t=a(`Permanently deleting ${e}...`);t.start(),await f(`/api/v1/sites/${e}`,{authenticated:true}),t.succeed(),h(`Site ${e} and all files permanently deleted`);}export{s as default};//# sourceMappingURL=sites-delete-JCBOLOA7.js.map
2
+ //# sourceMappingURL=sites-delete-JCBOLOA7.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sites/sites-delete.ts"],"names":["sitesDelete","slug","confirm","inquirer","v","spinner","createSpinner","apiDelete","logSuccess"],"mappings":"oPAKA,eAAOA,CAAAA,CAAmCC,CAAAA,CAA6B,CACrE,GAAM,CAAE,OAAA,CAAAC,GAAQ,CAAA,CAAI,MAAMC,EAAS,MAAA,CAAO,CAAC,CACzC,IAAA,CAAM,OAAA,CACN,IAAA,CAAM,SAAA,CACN,OAAA,CAAS,CAAA,MAAA,EAASF,CAAI,CAAA,oDAAA,CAAA,CACtB,QAAA,CAAWG,CAAAA,EAAcA,CAAAA,GAAMH,CAAAA,CAAO,IAAA,CAAO,gCAC/C,CAAC,CAAC,CAAA,CACF,GAAIC,GAAAA,GAAYD,CAAAA,CAAM,OAEtB,IAAMI,CAAAA,CAAUC,CAAAA,CAAc,CAAA,qBAAA,EAAwBL,CAAI,CAAA,GAAA,CAAK,CAAA,CAC/DI,CAAAA,CAAQ,KAAA,GACR,MAAME,CAAAA,CAAU,CAAA,cAAA,EAAiBN,CAAI,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAChEI,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,KAAA,EAAQP,CAAI,oCAAoC,EAC7D","file":"sites-delete-BH7KKL54.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 sitesDelete(slug: string): Promise<void> {\n const { confirm } = await inquirer.prompt([{\n type: 'input',\n name: 'confirm',\n message: `Type \"${slug}\" to permanently delete this site and all its files:`,\n validate: (v: string) => v === slug ? true : 'Type the exact slug to confirm',\n }])\n if (confirm !== slug) return\n\n const spinner = createSpinner(`Permanently deleting ${slug}...`)\n spinner.start()\n await apiDelete(`/api/v1/sites/${slug}`, { authenticated: true })\n spinner.succeed()\n logSuccess(`Site ${slug} and all files permanently deleted`)\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/sites/sites-delete.ts"],"names":["sitesDelete","slug","confirm","inquirer","v","spinner","createSpinner","apiDelete","logSuccess"],"mappings":"oPAKA,eAAOA,CAAAA,CAAmCC,CAAAA,CAA6B,CACrE,GAAM,CAAE,OAAA,CAAAC,GAAQ,CAAA,CAAI,MAAMC,EAAS,MAAA,CAAO,CAAC,CACzC,IAAA,CAAM,OAAA,CACN,IAAA,CAAM,SAAA,CACN,OAAA,CAAS,CAAA,MAAA,EAASF,CAAI,CAAA,oDAAA,CAAA,CACtB,QAAA,CAAWG,CAAAA,EAAcA,CAAAA,GAAMH,CAAAA,CAAO,IAAA,CAAO,gCAC/C,CAAC,CAAC,CAAA,CACF,GAAIC,GAAAA,GAAYD,CAAAA,CAAM,OAEtB,IAAMI,CAAAA,CAAUC,CAAAA,CAAc,CAAA,qBAAA,EAAwBL,CAAI,CAAA,GAAA,CAAK,CAAA,CAC/DI,CAAAA,CAAQ,KAAA,GACR,MAAME,CAAAA,CAAU,CAAA,cAAA,EAAiBN,CAAI,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAChEI,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,KAAA,EAAQP,CAAI,oCAAoC,EAC7D","file":"sites-delete-JCBOLOA7.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 sitesDelete(slug: string): Promise<void> {\n const { confirm } = await inquirer.prompt([{\n type: 'input',\n name: 'confirm',\n message: `Type \"${slug}\" to permanently delete this site and all its files:`,\n validate: (v: string) => v === slug ? true : 'Type the exact slug to confirm',\n }])\n if (confirm !== slug) return\n\n const spinner = createSpinner(`Permanently deleting ${slug}...`)\n spinner.start()\n await apiDelete(`/api/v1/sites/${slug}`, { authenticated: true })\n spinner.succeed()\n logSuccess(`Site ${slug} and all files permanently deleted`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a,c as c$1}from'./chunk-N3AD2QRA.js';import {c}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import {a as a$1}from'./chunk-FNCZD2QB.js';import'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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:c$1(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-XJ3NY4RQ.js.map
2
+ //# sourceMappingURL=sites-deploys-XJ3NY4RQ.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":"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-4HEJWQON.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":"iQAcA,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,GAAAA,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-XJ3NY4RQ.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 as c$1,a}from'./chunk-N3AD2QRA.js';import {c}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import {g,n,m}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.js';import t from'chalk';async function u(n$1){let i=(await c(`/api/v1/sites/${n$1}`,{authenticated:true})).site;if(g()){n(i);return}m(""),m(` ${t.bold(i.slug)}`),m(` ${t.dim(i.url)}`),m(`${t.dim(" \u2500\u2500\u2500".repeat(10))}`),m(` ${t.bold("Status:")} ${i.status==="active"?t.green("\u25CF active"):t.yellow("\u25CB "+i.status)}`),m(` ${t.bold("Visibility:")} ${i.visibility==="public"?t.green("public"):t.yellow("private")}`),m(` ${t.bold("Created:")} ${c$1(i.created_at)}`),m(` ${t.bold("Last Deploy:")} ${i.last_deploy?c$1(i.last_deploy):t.dim("never")}`),m(` ${t.bold("Deploys:")} ${i.deploy_count}`),m(` ${t.bold("Files:")} ${i.file_count} (${a(i.total_size)})`),m(` ${t.bold("Visitors:")} ${i.visitor_count}`),m("");}export{u as default};//# sourceMappingURL=sites-info-V3R7YNPU.js.map
2
+ //# sourceMappingURL=sites-info-V3R7YNPU.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":"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-6HE2B6TF.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":"kOAmBA,eAAOA,EAAiCC,GAAAA,CAA6B,CAEnE,IAAMC,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAA6B,CAAA,cAAA,EAAiBF,GAAI,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,GAAAA,CAAWN,CAAAA,CAAK,UAAU,CAAC,CAAA,CAAE,EACxEI,CAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,cAAc,CAAC,CAAA,EAAA,EAAKL,EAAK,WAAA,CAAcM,GAAAA,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-V3R7YNPU.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 {d}from'./chunk-N3AD2QRA.js';import {c}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import {a}from'./chunk-FNCZD2QB.js';import'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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?d(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-ZQTXLHJ3.js.map
2
+ //# sourceMappingURL=sites-list-ZQTXLHJ3.js.map
@@ -1 +1 @@
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-5GJPVLM3.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":"iPAcA,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-ZQTXLHJ3.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 {c}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import {k}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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}`;k(`Opening ${i}...`),await a(i);}
2
+ export{r as default};//# sourceMappingURL=sites-open-K2JWMIWD.js.map
3
+ //# sourceMappingURL=sites-open-K2JWMIWD.js.map
@@ -1 +1 @@
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-L6AHCXLV.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-K2JWMIWD.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-UNA5CAPX.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {h}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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(),h(`CDN cache purged for ${e}`);}export{c as default};//# sourceMappingURL=sites-purge-5Y5AQWBY.js.map
2
+ //# sourceMappingURL=sites-purge-5Y5AQWBY.js.map
@@ -1 +1 @@
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-MGNYRQC2.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-5Y5AQWBY.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,2 +1,2 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-Q3A4IBGC.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-PH4X5WUY.js.map
2
- //# sourceMappingURL=sites-rename-PH4X5WUY.js.map
1
+ import {a}from'./chunk-UNA5CAPX.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {h}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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(),h(`Site renamed from ${t} to ${e}`);}export{c as default};//# sourceMappingURL=sites-rename-QH6YYXUE.js.map
2
+ //# sourceMappingURL=sites-rename-QH6YYXUE.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":"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-PH4X5WUY.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-QH6YYXUE.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 {c as c$1}from'./chunk-N3AD2QRA.js';import {a}from'./chunk-UNA5CAPX.js';import {c,d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {m,h}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.js';import b from'inquirer';import g from'chalk';async function u(t,d$1){let s=a("Fetching deploy history...");s.start();let m$1=await c(`/api/v1/sites/${t}/deploys`,{authenticated:true});s.stop();let e=d$1?.to;if(!e){m(""),m(g.bold(` Select a deployment to roll back to for ${t}:`)),m("");let y=m$1.deploys.slice(0,10).map(o=>({name:`${c$1(o.created_at)} \u2014 ${o.file_count} files \u2014 ${o.triggered_by}`,value:o.id})),{selected:f}=await b.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(),h(`Site ${t} rolled back to deployment ${e.slice(0,8)}`);}export{u as default};//# sourceMappingURL=sites-rollback-ZQ2IHERR.js.map
2
+ //# sourceMappingURL=sites-rollback-ZQ2IHERR.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":"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-XORREI4B.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":"wTAgBA,eAAOA,CAAAA,CAAqCC,CAAAA,CAAcC,GAAAA,CAA0C,CAClG,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,4BAA4B,CAAA,CAC1DD,EAAQ,KAAA,EAAM,CAEd,IAAME,GAAAA,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,GAAAA,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,CAAAA,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,CAAAA,CAAW,CAAA,KAAA,EAAQhB,CAAI,8BAA8BM,CAAAA,CAAS,KAAA,CAAM,EAAG,CAAC,CAAC,EAAE,EAC7E","file":"sites-rollback-ZQ2IHERR.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,2 +1,2 @@
1
- import {a as a$1}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-Q3A4IBGC.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-G22P2RRZ.js.map
2
- //# sourceMappingURL=sites-unpublish-G22P2RRZ.js.map
1
+ import {a as a$1}from'./chunk-UNA5CAPX.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {h}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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(),h(`Site ${t} unpublished \u2014 URL now returns 404`);}export{a as default};//# sourceMappingURL=sites-unpublish-MDK4GP2C.js.map
2
+ //# sourceMappingURL=sites-unpublish-MDK4GP2C.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":"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-G22P2RRZ.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-MDK4GP2C.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,2 +1,2 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-Q3A4IBGC.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-XPWHUOEB.js.map
2
- //# sourceMappingURL=sites-visibility-XPWHUOEB.js.map
1
+ import {a}from'./chunk-UNA5CAPX.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {h}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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(),h(`Site ${i} is now ${t}`);}export{c as default};//# sourceMappingURL=sites-visibility-WKPIU5OK.js.map
2
+ //# sourceMappingURL=sites-visibility-WKPIU5OK.js.map
@@ -1 +1 @@
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-XPWHUOEB.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-WKPIU5OK.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-UNA5CAPX.js';import {c}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {m}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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(),m(a$1.content);}export{i as default};//# sourceMappingURL=storage-cat-OAUEF3EE.js.map
2
+ //# sourceMappingURL=storage-cat-OAUEF3EE.js.map
@@ -1 +1 @@
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-TC65RHNH.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-OAUEF3EE.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 as a$1}from'./chunk-N3AD2QRA.js';import {a}from'./chunk-UNA5CAPX.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {g,n,h}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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(),g()){n(e);return}h(`Cleaned ${e.deleted} orphaned files (${a$1(e.freed_bytes)})`);}export{m as default};//# sourceMappingURL=storage-clean-I7QZ5FR6.js.map
2
+ //# sourceMappingURL=storage-clean-I7QZ5FR6.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":"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-Z2GKXPJV.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":"2QAOA,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,CAAAA,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-I7QZ5FR6.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-UNA5CAPX.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {h}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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(),h(`Copied ${t} \u2192 ${i}`);}export{e as default};//# sourceMappingURL=storage-cp-H36Q2ER4.js.map
2
+ //# sourceMappingURL=storage-cp-H36Q2ER4.js.map
@@ -1 +1 @@
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-2EMEFPZ3.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-H36Q2ER4.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-UNA5CAPX.js';import {c as c$1}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {m}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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$1=c.resolve(v),l=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.set(k,C);}}}}p(m$1,m$1);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)f.has(e)?f.get(e)!==a&&i.push(e):n.push(e);for(let e of f.keys())l.has(e)||r.push(e);m(""),n.length===0&&r.length===0&&i.length===0?m(` ${o.green("\u2713 Identical \u2014 no changes")}`):(n.length>0&&(m(o.green(` + ${n.length} to upload`)),n.forEach(e=>m(o.green(` + ${e}`)))),i.length>0&&(m(o.yellow(` ~ ${i.length} modified`)),i.forEach(e=>m(o.yellow(` ~ ${e}`)))),r.length>0&&(m(o.red(` - ${r.length} to delete`)),r.forEach(e=>m(o.red(` - ${e}`))))),m("");}export{S as default};//# sourceMappingURL=storage-diff-6KUEJ4DB.js.map
2
+ //# sourceMappingURL=storage-diff-6KUEJ4DB.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":"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","file":"storage-diff-RK2BH2QH.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":"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","file":"storage-diff-6KUEJ4DB.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 as a$1,b as b$1}from'./chunk-EPDVSZII.js';import {a as a$2}from'./chunk-N3AD2QRA.js';import {a}from'./chunk-UNA5CAPX.js';import'./chunk-FNCZD2QB.js';import {g,n,h}from'./chunk-EMRHLWPD.js';import {b}from'./chunk-Q3A4IBGC.js';import f from'fs';import s from'path';var z="https://aouqcwbdoyrccjcrhzzi.supabase.co",A="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U",B="https://squidcloud.vercel.app";async function C(e,n$1){let r=await b();if(!r)throw new Error("Not logged in. Run `squidcloud auth login` first.");if(g()){n({remote:e,local:n$1||s.basename(e)});return}let a$3=n$1?s.resolve(n$1):s.resolve(".",s.basename(e)),u=a(`Looking up ${e}...`);u.start();let q=`select=id,name,type,size&name=eq.${e}&user_id=eq.${r.user.id}&is_deleted=eq.false&limit=1`,c=await fetch(`${z}/rest/v1/files?${q}`,{headers:{apikey:A,Authorization:`Bearer ${r.access_token}`}});if(!c.ok)throw new Error(`Failed to find file: ${c.status}`);let m=await c.json();if(m.length===0)throw new Error(`File not found: ${e}`);let v=m[0].id;u.succeed();let w={"Content-Type":"application/json"};r.api_key&&(w["x-squidcloud-key"]=r.api_key);let P=`${B}/api/v1/files/${v}/download`,t=await fetch(P,{headers:w}),g$1=t.headers.get("content-length"),h$1=g$1?parseInt(g$1,10):0;if(!t.ok||!t.body){let l=await t.text();throw new Error(`Download failed (HTTP ${t.status}): ${l}`)}let y=s.dirname(a$3);f.existsSync(y)||f.mkdirSync(y,{recursive:true});let I=f.createWriteStream(a$3),j=t.body.getReader(),d=0,o=null,i=null;for(h$1>0?o=a$1(e,h$1):(i=a(`Downloading ${e}...`),i.start());;){let{done:l,value:b}=await j.read();if(l)break;I.write(Buffer.from(b)),d+=b.length,o&&b$1(o.bar,o.tracker,d);}I.end(),o&&o.bar.stop(),i&&i.succeed(),h(`Downloaded to ${a$3} (${a$2(d)})`);}
2
+ export{C as default};//# sourceMappingURL=storage-download-32EYGI47.js.map
3
+ //# sourceMappingURL=storage-download-32EYGI47.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/storage/storage-download.ts"],"names":["SUPABASE_URL","ANON_KEY","API_BASE","storageDownload","remote","local","session","loadSession","isJsonMode","logJSON","path","localPath","spinner","createSpinner","lookupResp","files","fileId","headers","dlUrl","response","contentLength","total","text","dir","fs","writer","reader","downloaded","bar","dlSpinner","createProgressBar","done","value","updateProgress","logSuccess","formatBytes"],"mappings":"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","file":"storage-download-32EYGI47.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatBytes } from '../../lib/utils/format.js'\nimport { loadSession } from '../../lib/auth/session.js'\nimport { createProgressBar, updateProgress } from '../../lib/output/progress.js'\n\nconst SUPABASE_URL = 'https://aouqcwbdoyrccjcrhzzi.supabase.co'\nconst ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U'\nconst API_BASE = 'https://squidcloud.vercel.app'\n\nexport default async function storageDownload(remote: string, local?: string): Promise<void> {\n const session = await loadSession()\n if (!session) throw new Error('Not logged in. Run `squidcloud auth login` first.')\n\n if (isJsonMode()) {\n logJSON({ remote, local: local || path.basename(remote) })\n return\n }\n\n const localPath = local ? path.resolve(local) : path.resolve('.', path.basename(remote))\n\n const spinner = createSpinner(`Looking up ${remote}...`)\n spinner.start()\n\n const q = `select=id,name,type,size&name=eq.${remote}&user_id=eq.${session.user.id}&is_deleted=eq.false&limit=1`\n const lookupResp = await fetch(`${SUPABASE_URL}/rest/v1/files?${q}`, {\n headers: { apikey: ANON_KEY, Authorization: `Bearer ${session.access_token}` },\n })\n if (!lookupResp.ok) throw new Error(`Failed to find file: ${lookupResp.status}`)\n const files: { id: string; name: string }[] = await lookupResp.json()\n if (files.length === 0) throw new Error(`File not found: ${remote}`)\n\n const fileId = files[0].id\n spinner.succeed()\n\n const headers: Record<string, string> = { 'Content-Type': 'application/json' }\n if (session.api_key) headers['x-squidcloud-key'] = session.api_key\n\n const dlUrl = `${API_BASE}/api/v1/files/${fileId}/download`\n const response = await fetch(dlUrl, { headers })\n const contentLength = response.headers.get('content-length')\n const total = contentLength ? parseInt(contentLength, 10) : 0\n\n if (!response.ok || !response.body) {\n const text = await response.text()\n throw new Error(`Download failed (HTTP ${response.status}): ${text}`)\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 let bar: ReturnType<typeof createProgressBar> | null = null\n let dlSpinner: ReturnType<typeof createSpinner> | null = null\n\n if (total > 0) {\n bar = createProgressBar(remote, total)\n } else {\n dlSpinner = createSpinner(`Downloading ${remote}...`)\n dlSpinner.start()\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 (bar) updateProgress(bar.bar, bar.tracker, downloaded)\n }\n\n writer.end()\n if (bar) bar.bar.stop()\n if (dlSpinner) dlSpinner.succeed()\n\n logSuccess(`Downloaded to ${localPath} (${formatBytes(downloaded)})`)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a,c as c$1}from'./chunk-N3AD2QRA.js';import {c}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import {g,n,m as m$1}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.js';import e from'chalk';async function m(r){let o=(await c(`/api/v1/storage/info?path=${encodeURIComponent(r)}`,{authenticated:true})).file;if(g()){n(o);return}m$1(""),m$1(` ${e.bold(o.name)}`),m$1(e.dim(" \u2500\u2500\u2500".repeat(10))),m$1(` ${e.bold("Size:")} ${a(o.size)}`),m$1(` ${e.bold("Type:")} ${o.mime_type}`),m$1(` ${e.bold("Hash:")} ${e.dim(o.content_hash?.slice(0,16)||"-")}`),m$1(` ${e.bold("Created:")} ${c$1(o.created_at)}`),m$1(` ${e.bold("Modified:")} ${c$1(o.updated_at)}`),m$1(` ${e.bold("Tags:")} ${o.tags?.length?o.tags.join(", "):e.dim("none")}`),m$1(` ${e.bold("Shared:")} ${o.shared?e.green("yes"):e.dim("no")}`),m$1(` ${e.bold("Published:")} ${o.published?e.green("yes"):e.dim("no")}`),m$1(` ${e.bold("Scan:")} ${o.scan_status||e.dim("pending")}`),m$1("");}export{m as default};//# sourceMappingURL=storage-info-2JSV56KE.js.map
2
+ //# sourceMappingURL=storage-info-2JSV56KE.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":"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-RHCOIHFS.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":"yOAmBA,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,CAAAA,CAAQH,CAAC,CAAA,CACT,MACF,CAEAI,GAAAA,CAAO,EAAE,EACTA,GAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAKL,CAAAA,CAAE,IAAI,CAAC,CAAA,CAAE,EAChCI,GAAAA,CAAOC,CAAAA,CAAM,GAAA,CAAI,sBAAA,CAAQ,MAAA,CAAO,EAAE,CAAC,CAAC,CAAA,CACpCD,IAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,OAAO,CAAC,YAAYC,CAAAA,CAAYN,CAAAA,CAAE,IAAI,CAAC,CAAA,CAAE,EAChEI,GAAAA,CAAO,CAAA,EAAA,EAAKC,EAAM,IAAA,CAAK,OAAO,CAAC,CAAA,SAAA,EAAYL,CAAAA,CAAE,SAAS,EAAE,CAAA,CACxDI,GAAAA,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,GAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,UAAU,CAAC,CAAA,MAAA,EAASE,IAAWP,CAAAA,CAAE,UAAU,CAAC,CAAA,CAAE,CAAA,CACrEI,IAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,WAAW,CAAC,QAAQE,GAAAA,CAAWP,CAAAA,CAAE,UAAU,CAAC,CAAA,CAAE,CAAA,CACrEI,GAAAA,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,IAAO,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,IAAO,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,IAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,OAAO,CAAC,YAAYL,CAAAA,CAAE,WAAA,EAAeK,EAAM,GAAA,CAAI,SAAS,CAAC,CAAA,CAAE,CAAA,CAClFD,GAAAA,CAAO,EAAE,EACX","file":"storage-info-2JSV56KE.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,3 @@
1
+ import {d,a as a$1}from'./chunk-N3AD2QRA.js';import {a as a$2}from'./chunk-FNCZD2QB.js';import'./chunk-EMRHLWPD.js';import {b as b$1}from'./chunk-Q3A4IBGC.js';import a from'chalk';var _="https://aouqcwbdoyrccjcrhzzi.supabase.co",b="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U";async function c(r,o,t){let i=`${_}/rest/v1/${r}?${o}`,s=await fetch(i,{headers:{apikey:b,Authorization:`Bearer ${t}`}});if(!s.ok)throw new Error(`Supabase query failed: ${s.status} ${await s.text()}`);return s.json()}async function I(r,o){let t=await b$1();if(!t)throw new Error("Not logged in. Run `squidcloud auth login` first.");let i=r||"",s=i==="",u=`select=*&user_id=eq.${t.user.id}&${s?"parent_folder=is.null":`parent_folder=eq.${i}`}&is_deleted=eq.false&order=name.asc`,f=`select=*&user_id=eq.${t.user.id}&${s?"parent_folder=is.null":`parent_folder=eq.${i}`}&order=name.asc`,[g,y]=await Promise.all([c("files",u,t.access_token),c("folders",f,t.access_token)]),n=[...y.map(e=>({name:e.name,type:"folder",size:0,mime_type:"",updated_at:e.updated_at})),...g.map(e=>({name:e.name,type:"file",size:e.size,mime_type:e.type,updated_at:e.updated_at,tags:e.tags||void 0,shared:e.shared||void 0}))].map(e=>({name:e.type==="folder"?a.hex("#4FC3F7")(e.name+"/"):e.name,type:e.type==="folder"?a.dim("dir"):e.type,size:e.type==="file"?a$1(e.size):a.dim("-"),mime:e.type==="file"?a.dim(e.mime_type):"",modified:e.updated_at?d(e.updated_at):"",tags:e.tags?.length?a.dim(e.tags.join(",")):""}));if(o?.long)console.log(a$2(n,[{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 n)console.log(e.name);}
2
+ export{I as default};//# sourceMappingURL=storage-ls-G33T3LMU.js.map
3
+ //# sourceMappingURL=storage-ls-G33T3LMU.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-ls.ts"],"names":["SUPABASE_URL","ANON_KEY","fetchFromSupabase","table","query","accessToken","url","response","storageLs","path","options","session","loadSession","parentFolder","isRoot","filesQuery","foldersQuery","files","folders","rows","f","chalk","formatBytes","formatRelative","renderTable","row"],"mappings":"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","file":"storage-ls-IWYZFGA7.js","sourcesContent":["import { loadSession } from '../../lib/auth/session.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatBytes, formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\nconst SUPABASE_URL = 'https://aouqcwbdoyrccjcrhzzi.supabase.co'\nconst ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U'\n\ninterface FileRow {\n id: string\n name: string\n type: string\n size: number\n updated_at: string\n parent_folder: string | null\n tags: string[] | null\n shared: boolean | null\n is_deleted: boolean\n}\n\ninterface FolderRow {\n id: string\n name: string\n parent_folder: string | null\n updated_at: string\n}\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\nasync function fetchFromSupabase<T>(table: string, query: string, accessToken: string): Promise<T[]> {\n const url = `${SUPABASE_URL}/rest/v1/${table}?${query}`\n const response = await fetch(url, {\n headers: {\n 'apikey': ANON_KEY,\n 'Authorization': `Bearer ${accessToken}`,\n },\n })\n if (!response.ok) {\n throw new Error(`Supabase query failed: ${response.status} ${await response.text()}`)\n }\n return response.json()\n}\n\nexport default async function storageLs(path?: string, options?: { long?: boolean; recursive?: boolean }): Promise<void> {\n const session = await loadSession()\n if (!session) {\n throw new Error('Not logged in. Run `squidcloud auth login` first.')\n }\n\n const parentFolder = path || ''\n const isRoot = parentFolder === ''\n\n const filesQuery = `select=*&user_id=eq.${session.user.id}&${isRoot ? 'parent_folder=is.null' : `parent_folder=eq.${parentFolder}`}&is_deleted=eq.false&order=name.asc`\n\n const foldersQuery = `select=*&user_id=eq.${session.user.id}&${isRoot ? 'parent_folder=is.null' : `parent_folder=eq.${parentFolder}`}&order=name.asc`\n\n const [files, folders] = await Promise.all([\n fetchFromSupabase<FileRow>('files', filesQuery, session.access_token),\n fetchFromSupabase<FolderRow>('folders', foldersQuery, session.access_token),\n ])\n\n const entries: StorageEntry[] = [\n ...folders.map(f => ({\n name: f.name,\n type: 'folder' as const,\n size: 0,\n mime_type: '',\n updated_at: f.updated_at,\n })),\n ...files.map(f => ({\n name: f.name,\n type: 'file' as const,\n size: f.size,\n mime_type: f.type,\n updated_at: f.updated_at,\n tags: f.tags || undefined,\n shared: f.shared || undefined,\n })),\n ]\n\n const rows = 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":["SUPABASE_URL","ANON_KEY","fetchFromSupabase","table","query","accessToken","url","response","storageLs","path","options","session","loadSession","parentFolder","isRoot","filesQuery","foldersQuery","files","folders","rows","f","chalk","formatBytes","formatRelative","renderTable","row"],"mappings":"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","file":"storage-ls-G33T3LMU.js","sourcesContent":["import { loadSession } from '../../lib/auth/session.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatBytes, formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\nconst SUPABASE_URL = 'https://aouqcwbdoyrccjcrhzzi.supabase.co'\nconst ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U'\n\ninterface FileRow {\n id: string\n name: string\n type: string\n size: number\n updated_at: string\n parent_folder: string | null\n tags: string[] | null\n shared: boolean | null\n is_deleted: boolean\n}\n\ninterface FolderRow {\n id: string\n name: string\n parent_folder: string | null\n updated_at: string\n}\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\nasync function fetchFromSupabase<T>(table: string, query: string, accessToken: string): Promise<T[]> {\n const url = `${SUPABASE_URL}/rest/v1/${table}?${query}`\n const response = await fetch(url, {\n headers: {\n 'apikey': ANON_KEY,\n 'Authorization': `Bearer ${accessToken}`,\n },\n })\n if (!response.ok) {\n throw new Error(`Supabase query failed: ${response.status} ${await response.text()}`)\n }\n return response.json()\n}\n\nexport default async function storageLs(path?: string, options?: { long?: boolean; recursive?: boolean }): Promise<void> {\n const session = await loadSession()\n if (!session) {\n throw new Error('Not logged in. Run `squidcloud auth login` first.')\n }\n\n const parentFolder = path || ''\n const isRoot = parentFolder === ''\n\n const filesQuery = `select=*&user_id=eq.${session.user.id}&${isRoot ? 'parent_folder=is.null' : `parent_folder=eq.${parentFolder}`}&is_deleted=eq.false&order=name.asc`\n\n const foldersQuery = `select=*&user_id=eq.${session.user.id}&${isRoot ? 'parent_folder=is.null' : `parent_folder=eq.${parentFolder}`}&order=name.asc`\n\n const [files, folders] = await Promise.all([\n fetchFromSupabase<FileRow>('files', filesQuery, session.access_token),\n fetchFromSupabase<FolderRow>('folders', foldersQuery, session.access_token),\n ])\n\n const entries: StorageEntry[] = [\n ...folders.map(f => ({\n name: f.name,\n type: 'folder' as const,\n size: 0,\n mime_type: '',\n updated_at: f.updated_at,\n })),\n ...files.map(f => ({\n name: f.name,\n type: 'file' as const,\n size: f.size,\n mime_type: f.type,\n updated_at: f.updated_at,\n tags: f.tags || undefined,\n shared: f.shared || undefined,\n })),\n ]\n\n const rows = 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-UNA5CAPX.js';import {d}from'./chunk-CHBVIZF5.js';import'./chunk-NDB6KXYI.js';import'./chunk-ULVQ53OO.js';import'./chunk-FNCZD2QB.js';import {h}from'./chunk-EMRHLWPD.js';import'./chunk-Q3A4IBGC.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(),h(`Created folder ${r}`);}export{a as default};//# sourceMappingURL=storage-mkdir-BDT3GX7A.js.map
2
+ //# sourceMappingURL=storage-mkdir-BDT3GX7A.js.map
@@ -1 +1 @@
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-5SJHSGKB.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-BDT3GX7A.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"]}