squidcloudctl 1.1.7 → 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 (286) hide show
  1. package/dist/{auth-revoke-UCNMKHTF.js → auth-revoke-DWV3OFW6.js} +2 -2
  2. package/dist/{auth-revoke-UCNMKHTF.js.map → auth-revoke-DWV3OFW6.js.map} +1 -1
  3. package/dist/auth-sessions-D4RWXFPE.js +2 -0
  4. package/dist/{auth-sessions-PIBWTIT5.js.map → auth-sessions-D4RWXFPE.js.map} +1 -1
  5. package/dist/auth-status-EPQU6F63.js +2 -0
  6. package/dist/{auth-status-RPJVTJ4S.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-6DKUVFZF.js → chunk-CHBVIZF5.js} +2 -2
  10. package/dist/{chunk-6DKUVFZF.js.map → chunk-CHBVIZF5.js.map} +1 -1
  11. package/dist/chunk-EMRHLWPD.js +3 -0
  12. package/dist/chunk-EMRHLWPD.js.map +1 -0
  13. package/dist/chunk-EPDVSZII.js +2 -0
  14. package/dist/chunk-EPDVSZII.js.map +1 -0
  15. package/dist/{chunk-THMWE2I6.js → chunk-FNCZD2QB.js} +2 -2
  16. package/dist/{chunk-THMWE2I6.js.map → chunk-FNCZD2QB.js.map} +1 -1
  17. package/dist/chunk-N3AD2QRA.js +2 -0
  18. package/dist/chunk-N3AD2QRA.js.map +1 -0
  19. package/dist/{chunk-2RMLR54M.js → chunk-Q3A4IBGC.js} +2 -2
  20. package/dist/chunk-Q3A4IBGC.js.map +1 -0
  21. package/dist/chunk-SCKQAF44.js +2 -0
  22. package/dist/{chunk-LWB2J3KU.js.map → chunk-SCKQAF44.js.map} +1 -1
  23. package/dist/{chunk-Z74H5ACJ.js → chunk-ULVQ53OO.js} +3 -3
  24. package/dist/{chunk-Z74H5ACJ.js.map → chunk-ULVQ53OO.js.map} +1 -1
  25. package/dist/{chunk-PSJQAIDB.js → chunk-UNA5CAPX.js} +2 -2
  26. package/dist/{chunk-PSJQAIDB.js.map → chunk-UNA5CAPX.js.map} +1 -1
  27. package/dist/client-IR7OHGEQ.js +2 -0
  28. package/dist/{client-MCQSJIGH.js.map → client-IR7OHGEQ.js.map} +1 -1
  29. package/dist/{collab-activity-ESSL2DUE.js → collab-activity-YOEJEJTQ.js} +2 -2
  30. package/dist/{collab-activity-ESSL2DUE.js.map → collab-activity-YOEJEJTQ.js.map} +1 -1
  31. package/dist/collab-invite-VDDBCLSH.js +2 -0
  32. package/dist/{collab-invite-H6KXMBJ5.js.map → collab-invite-VDDBCLSH.js.map} +1 -1
  33. package/dist/collab-leave-2AEIFR47.js +2 -0
  34. package/dist/{collab-leave-23J42V4P.js.map → collab-leave-2AEIFR47.js.map} +1 -1
  35. package/dist/collab-list-MTJYXE53.js +2 -0
  36. package/dist/{collab-list-6VNDTN7W.js.map → collab-list-MTJYXE53.js.map} +1 -1
  37. package/dist/collab-remove-I3FKGFOF.js +2 -0
  38. package/dist/{collab-remove-A76ARTWG.js.map → collab-remove-I3FKGFOF.js.map} +1 -1
  39. package/dist/collab-transfer-VVHH6B2J.js +2 -0
  40. package/dist/{collab-transfer-S5MECG6Y.js.map → collab-transfer-VVHH6B2J.js.map} +1 -1
  41. package/dist/config-PL34OPDL.js +2 -0
  42. package/dist/{config-7G24FXQJ.js.map → config-PL34OPDL.js.map} +1 -1
  43. package/dist/config-delete-4UN7BFBI.js +2 -0
  44. package/dist/{config-delete-VSIFFODZ.js.map → config-delete-4UN7BFBI.js.map} +1 -1
  45. package/dist/config-get-XOS7EWEQ.js +2 -0
  46. package/dist/{config-get-DDNSM5EH.js.map → config-get-XOS7EWEQ.js.map} +1 -1
  47. package/dist/config-reset-NIOGYFA5.js +2 -0
  48. package/dist/{config-reset-ZFMP4J5H.js.map → config-reset-NIOGYFA5.js.map} +1 -1
  49. package/dist/config-set-DRTRWWAA.js +2 -0
  50. package/dist/{config-set-O6JKOGGN.js.map → config-set-DRTRWWAA.js.map} +1 -1
  51. package/dist/deploy-UOPO2HHL.js +3 -0
  52. package/dist/{deploy-O7VVCVUR.js.map → deploy-UOPO2HHL.js.map} +1 -1
  53. package/dist/{doctor-GAUV36VS.js → doctor-B7RAWBD5.js} +2 -2
  54. package/dist/{doctor-GAUV36VS.js.map → doctor-B7RAWBD5.js.map} +1 -1
  55. package/dist/feedback-BEX6DRXB.js +3 -0
  56. package/dist/{feedback-QUGQAWZB.js.map → feedback-BEX6DRXB.js.map} +1 -1
  57. package/dist/forms-clear-VPH7SHJZ.js +2 -0
  58. package/dist/{forms-clear-TSQ4YFPW.js.map → forms-clear-VPH7SHJZ.js.map} +1 -1
  59. package/dist/forms-create-O5W7O2BI.js +2 -0
  60. package/dist/{forms-create-IJPDTTGR.js.map → forms-create-O5W7O2BI.js.map} +1 -1
  61. package/dist/forms-delete-H4RY6C64.js +2 -0
  62. package/dist/{forms-delete-5Q6JVOWZ.js.map → forms-delete-H4RY6C64.js.map} +1 -1
  63. package/dist/{forms-embed-RWJ4BAPQ.js → forms-embed-2WBFYFUO.js} +3 -3
  64. package/dist/{forms-embed-RWJ4BAPQ.js.map → forms-embed-2WBFYFUO.js.map} +1 -1
  65. package/dist/forms-export-MDWMZ7I7.js +2 -0
  66. package/dist/{forms-export-YGKJVRUD.js.map → forms-export-MDWMZ7I7.js.map} +1 -1
  67. package/dist/forms-info-VO4FK3CS.js +2 -0
  68. package/dist/{forms-info-NVNTIK45.js.map → forms-info-VO4FK3CS.js.map} +1 -1
  69. package/dist/forms-list-PDSDIJI7.js +2 -0
  70. package/dist/{forms-list-UDYVBNX5.js.map → forms-list-PDSDIJI7.js.map} +1 -1
  71. package/dist/forms-submissions-VJQWV7SI.js +2 -0
  72. package/dist/{forms-submissions-LFUTUDOW.js.map → forms-submissions-VJQWV7SI.js.map} +1 -1
  73. package/dist/login-PMDO43CL.js +3 -0
  74. package/dist/{login-PDECY435.js.map → login-PMDO43CL.js.map} +1 -1
  75. package/dist/logout-XIUWCA75.js +2 -0
  76. package/dist/{logout-D2GLIU2Y.js.map → logout-XIUWCA75.js.map} +1 -1
  77. package/dist/logs-export-AU4WZDLW.js +2 -0
  78. package/dist/{logs-export-76WAIPNB.js.map → logs-export-AU4WZDLW.js.map} +1 -1
  79. package/dist/logs-search-BHVB3BIH.js +2 -0
  80. package/dist/{logs-search-MA3AWP4B.js.map → logs-search-BHVB3BIH.js.map} +1 -1
  81. package/dist/{logs-tail-2OMASMCD.js → logs-tail-YVFZLSC2.js} +3 -3
  82. package/dist/{logs-tail-2OMASMCD.js.map → logs-tail-YVFZLSC2.js.map} +1 -1
  83. package/dist/monitor-KLJ762WM.js +2 -0
  84. package/dist/{monitor-LZ7R5C3D.js.map → monitor-KLJ762WM.js.map} +1 -1
  85. package/dist/monitor-automations-B2NRWSFH.js +2 -0
  86. package/dist/{monitor-automations-AR7MS2PL.js.map → monitor-automations-B2NRWSFH.js.map} +1 -1
  87. package/dist/monitor-pipelines-2PNBET3B.js +2 -0
  88. package/dist/{monitor-pipelines-EASQLIQA.js.map → monitor-pipelines-2PNBET3B.js.map} +1 -1
  89. package/dist/{monitor-sites-2QIM4XJ3.js → monitor-sites-QNMTCOSH.js} +2 -2
  90. package/dist/{monitor-sites-2QIM4XJ3.js.map → monitor-sites-QNMTCOSH.js.map} +1 -1
  91. package/dist/monitor-storage-Z53C4CI2.js +2 -0
  92. package/dist/{monitor-storage-SMB32J37.js.map → monitor-storage-Z53C4CI2.js.map} +1 -1
  93. package/dist/scripts-cancel-2HWDUPFM.js +2 -0
  94. package/dist/{scripts-cancel-CQVIDKVW.js.map → scripts-cancel-2HWDUPFM.js.map} +1 -1
  95. package/dist/scripts-delete-UI6YRWEN.js +2 -0
  96. package/dist/{scripts-delete-TV4SX5OJ.js.map → scripts-delete-UI6YRWEN.js.map} +1 -1
  97. package/dist/scripts-disable-7IXFGWWG.js +2 -0
  98. package/dist/{scripts-disable-IHPUGSTJ.js.map → scripts-disable-7IXFGWWG.js.map} +1 -1
  99. package/dist/scripts-enable-DNEVMHLS.js +2 -0
  100. package/dist/{scripts-enable-ULCXRU7W.js.map → scripts-enable-DNEVMHLS.js.map} +1 -1
  101. package/dist/{scripts-init-AU6WNMKB.js → scripts-init-BIIEMUXV.js} +3 -3
  102. package/dist/{scripts-init-AU6WNMKB.js.map → scripts-init-BIIEMUXV.js.map} +1 -1
  103. package/dist/scripts-list-LYDOWRTU.js +2 -0
  104. package/dist/{scripts-list-XWNT7242.js.map → scripts-list-LYDOWRTU.js.map} +1 -1
  105. package/dist/scripts-logs-32CWQEBA.js +2 -0
  106. package/dist/{scripts-logs-YBF6MTMQ.js.map → scripts-logs-32CWQEBA.js.map} +1 -1
  107. package/dist/scripts-run-6AJVHB4U.js +2 -0
  108. package/dist/{scripts-run-FQ7EOXOH.js.map → scripts-run-6AJVHB4U.js.map} +1 -1
  109. package/dist/scripts-status-KCILW363.js +2 -0
  110. package/dist/{scripts-status-XYGHYRZB.js.map → scripts-status-KCILW363.js.map} +1 -1
  111. package/dist/scripts-validate-MZP4MJZZ.js +2 -0
  112. package/dist/{scripts-validate-T7CGIPPE.js.map → scripts-validate-MZP4MJZZ.js.map} +1 -1
  113. package/dist/scripts-watch-3SFVPUAA.js +2 -0
  114. package/dist/{scripts-watch-A7HEOAOE.js.map → scripts-watch-3SFVPUAA.js.map} +1 -1
  115. package/dist/sign-cancel-KK745O7W.js +2 -0
  116. package/dist/{sign-cancel-4YYJ2BBY.js.map → sign-cancel-KK745O7W.js.map} +1 -1
  117. package/dist/sign-download-6V3ABZG2.js +2 -0
  118. package/dist/{sign-download-VOMT2C3C.js.map → sign-download-6V3ABZG2.js.map} +1 -1
  119. package/dist/sign-list-VCNJSS6F.js +2 -0
  120. package/dist/{sign-list-SACY7XF3.js.map → sign-list-VCNJSS6F.js.map} +1 -1
  121. package/dist/sign-request-LNRMPU2F.js +2 -0
  122. package/dist/{sign-request-PM7BZ56P.js.map → sign-request-LNRMPU2F.js.map} +1 -1
  123. package/dist/sign-status-PNAGMC7S.js +2 -0
  124. package/dist/{sign-status-LRQGO2UX.js.map → sign-status-PNAGMC7S.js.map} +1 -1
  125. package/dist/sign-verify-ZROVA7LH.js +2 -0
  126. package/dist/{sign-verify-PQ7HBHTY.js.map → sign-verify-ZROVA7LH.js.map} +1 -1
  127. package/dist/sites-analytics-L6KVTZNH.js +2 -0
  128. package/dist/{sites-analytics-J5BMYBO5.js.map → sites-analytics-L6KVTZNH.js.map} +1 -1
  129. package/dist/sites-delete-JCBOLOA7.js +2 -0
  130. package/dist/{sites-delete-BYUJAMSX.js.map → sites-delete-JCBOLOA7.js.map} +1 -1
  131. package/dist/sites-deploys-XJ3NY4RQ.js +2 -0
  132. package/dist/{sites-deploys-XJQHVTET.js.map → sites-deploys-XJ3NY4RQ.js.map} +1 -1
  133. package/dist/sites-info-V3R7YNPU.js +2 -0
  134. package/dist/{sites-info-JBM5C5FT.js.map → sites-info-V3R7YNPU.js.map} +1 -1
  135. package/dist/sites-list-ZQTXLHJ3.js +2 -0
  136. package/dist/{sites-list-4AIOO76P.js.map → sites-list-ZQTXLHJ3.js.map} +1 -1
  137. package/dist/{sites-logs-GZALCIBX.js → sites-logs-AYG43HQV.js} +3 -3
  138. package/dist/{sites-logs-GZALCIBX.js.map → sites-logs-AYG43HQV.js.map} +1 -1
  139. package/dist/sites-open-K2JWMIWD.js +3 -0
  140. package/dist/{sites-open-QJOKIMGM.js.map → sites-open-K2JWMIWD.js.map} +1 -1
  141. package/dist/sites-purge-5Y5AQWBY.js +2 -0
  142. package/dist/{sites-purge-GXD673E2.js.map → sites-purge-5Y5AQWBY.js.map} +1 -1
  143. package/dist/sites-rename-QH6YYXUE.js +2 -0
  144. package/dist/{sites-rename-BTQZRAVA.js.map → sites-rename-QH6YYXUE.js.map} +1 -1
  145. package/dist/sites-rollback-ZQ2IHERR.js +2 -0
  146. package/dist/{sites-rollback-LZUUU4ZU.js.map → sites-rollback-ZQ2IHERR.js.map} +1 -1
  147. package/dist/sites-unpublish-MDK4GP2C.js +2 -0
  148. package/dist/{sites-unpublish-IB7BTNJC.js.map → sites-unpublish-MDK4GP2C.js.map} +1 -1
  149. package/dist/sites-visibility-WKPIU5OK.js +2 -0
  150. package/dist/{sites-visibility-I7PIUX4B.js.map → sites-visibility-WKPIU5OK.js.map} +1 -1
  151. package/dist/storage-cat-OAUEF3EE.js +2 -0
  152. package/dist/{storage-cat-CFOIZEJS.js.map → storage-cat-OAUEF3EE.js.map} +1 -1
  153. package/dist/storage-clean-I7QZ5FR6.js +2 -0
  154. package/dist/{storage-clean-6EN2KMOC.js.map → storage-clean-I7QZ5FR6.js.map} +1 -1
  155. package/dist/storage-cp-H36Q2ER4.js +2 -0
  156. package/dist/{storage-cp-SCF3CFS2.js.map → storage-cp-H36Q2ER4.js.map} +1 -1
  157. package/dist/storage-diff-6KUEJ4DB.js +2 -0
  158. package/dist/{storage-diff-MYW5AM3C.js.map → storage-diff-6KUEJ4DB.js.map} +1 -1
  159. package/dist/storage-download-32EYGI47.js +3 -0
  160. package/dist/storage-download-32EYGI47.js.map +1 -0
  161. package/dist/storage-info-2JSV56KE.js +2 -0
  162. package/dist/{storage-info-BV7VXGTF.js.map → storage-info-2JSV56KE.js.map} +1 -1
  163. package/dist/storage-ls-G33T3LMU.js +3 -0
  164. package/dist/{storage-ls-HIVJWOV6.js.map → storage-ls-G33T3LMU.js.map} +1 -1
  165. package/dist/storage-mkdir-BDT3GX7A.js +2 -0
  166. package/dist/{storage-mkdir-GRKUOWAJ.js.map → storage-mkdir-BDT3GX7A.js.map} +1 -1
  167. package/dist/storage-mv-2QJZR2FL.js +2 -0
  168. package/dist/{storage-mv-RYW5TXAH.js.map → storage-mv-2QJZR2FL.js.map} +1 -1
  169. package/dist/storage-rm-NRRRFG36.js +2 -0
  170. package/dist/{storage-rm-PLBQC4ED.js.map → storage-rm-NRRRFG36.js.map} +1 -1
  171. package/dist/storage-search-E5BIXLSU.js +2 -0
  172. package/dist/{storage-search-EKYRVCY2.js.map → storage-search-E5BIXLSU.js.map} +1 -1
  173. package/dist/storage-share-EXSSZ6XL.js +2 -0
  174. package/dist/{storage-share-OENZM4QY.js.map → storage-share-EXSSZ6XL.js.map} +1 -1
  175. package/dist/storage-tag-YV5GUZDV.js +2 -0
  176. package/dist/{storage-tag-7XTICDCD.js.map → storage-tag-YV5GUZDV.js.map} +1 -1
  177. package/dist/storage-unshare-MF4V2NGC.js +2 -0
  178. package/dist/{storage-unshare-6G6YPRPN.js.map → storage-unshare-MF4V2NGC.js.map} +1 -1
  179. package/dist/storage-upload-DYWSZ6RO.js +9 -0
  180. package/dist/storage-upload-DYWSZ6RO.js.map +1 -0
  181. package/dist/time-list-4T3FJE2I.js +2 -0
  182. package/dist/{time-list-HUWDZZ27.js.map → time-list-4T3FJE2I.js.map} +1 -1
  183. package/dist/time-lock-O55XMYPX.js +2 -0
  184. package/dist/{time-lock-MZ6C6DMR.js.map → time-lock-O55XMYPX.js.map} +1 -1
  185. package/dist/time-proof-SDANSS3D.js +2 -0
  186. package/dist/{time-proof-G6IX5SMS.js.map → time-proof-SDANSS3D.js.map} +1 -1
  187. package/dist/time-status-JFJA3MYK.js +2 -0
  188. package/dist/{time-status-UJ3XY3R5.js.map → time-status-JFJA3MYK.js.map} +1 -1
  189. package/dist/time-unlock-F7NGQ2IE.js +2 -0
  190. package/dist/{time-unlock-3TUR2KVC.js.map → time-unlock-F7NGQ2IE.js.map} +1 -1
  191. package/dist/update-5PTOF5ZA.js +2 -0
  192. package/dist/{update-DOHW47PB.js.map → update-5PTOF5ZA.js.map} +1 -1
  193. package/dist/{version-XQNUJ474.js → version-Y2LWIEFC.js} +2 -2
  194. package/dist/{version-XQNUJ474.js.map → version-Y2LWIEFC.js.map} +1 -1
  195. package/dist/whoami-BGMVNESX.js +2 -0
  196. package/dist/{whoami-C4LPZU6R.js.map → whoami-BGMVNESX.js.map} +1 -1
  197. package/package.json +1 -1
  198. package/dist/auth-sessions-PIBWTIT5.js +0 -2
  199. package/dist/auth-status-RPJVTJ4S.js +0 -2
  200. package/dist/chunk-2RMLR54M.js.map +0 -1
  201. package/dist/chunk-FZKCZRJZ.js +0 -2
  202. package/dist/chunk-FZKCZRJZ.js.map +0 -1
  203. package/dist/chunk-LWB2J3KU.js +0 -2
  204. package/dist/chunk-QT7R3AXE.js +0 -3
  205. package/dist/chunk-QT7R3AXE.js.map +0 -1
  206. package/dist/client-MCQSJIGH.js +0 -2
  207. package/dist/collab-invite-H6KXMBJ5.js +0 -2
  208. package/dist/collab-leave-23J42V4P.js +0 -2
  209. package/dist/collab-list-6VNDTN7W.js +0 -2
  210. package/dist/collab-remove-A76ARTWG.js +0 -2
  211. package/dist/collab-transfer-S5MECG6Y.js +0 -2
  212. package/dist/config-7G24FXQJ.js +0 -2
  213. package/dist/config-delete-VSIFFODZ.js +0 -2
  214. package/dist/config-get-DDNSM5EH.js +0 -2
  215. package/dist/config-reset-ZFMP4J5H.js +0 -2
  216. package/dist/config-set-O6JKOGGN.js +0 -2
  217. package/dist/deploy-O7VVCVUR.js +0 -3
  218. package/dist/feedback-QUGQAWZB.js +0 -3
  219. package/dist/forms-clear-TSQ4YFPW.js +0 -2
  220. package/dist/forms-create-IJPDTTGR.js +0 -2
  221. package/dist/forms-delete-5Q6JVOWZ.js +0 -2
  222. package/dist/forms-export-YGKJVRUD.js +0 -2
  223. package/dist/forms-info-NVNTIK45.js +0 -2
  224. package/dist/forms-list-UDYVBNX5.js +0 -2
  225. package/dist/forms-submissions-LFUTUDOW.js +0 -2
  226. package/dist/login-PDECY435.js +0 -3
  227. package/dist/logout-D2GLIU2Y.js +0 -2
  228. package/dist/logs-export-76WAIPNB.js +0 -2
  229. package/dist/logs-search-MA3AWP4B.js +0 -2
  230. package/dist/monitor-LZ7R5C3D.js +0 -2
  231. package/dist/monitor-automations-AR7MS2PL.js +0 -2
  232. package/dist/monitor-pipelines-EASQLIQA.js +0 -2
  233. package/dist/monitor-storage-SMB32J37.js +0 -2
  234. package/dist/scripts-cancel-CQVIDKVW.js +0 -2
  235. package/dist/scripts-delete-TV4SX5OJ.js +0 -2
  236. package/dist/scripts-disable-IHPUGSTJ.js +0 -2
  237. package/dist/scripts-enable-ULCXRU7W.js +0 -2
  238. package/dist/scripts-list-XWNT7242.js +0 -2
  239. package/dist/scripts-logs-YBF6MTMQ.js +0 -2
  240. package/dist/scripts-run-FQ7EOXOH.js +0 -2
  241. package/dist/scripts-status-XYGHYRZB.js +0 -2
  242. package/dist/scripts-validate-T7CGIPPE.js +0 -2
  243. package/dist/scripts-watch-A7HEOAOE.js +0 -2
  244. package/dist/session-FBC5MGFA.js +0 -2
  245. package/dist/session-FBC5MGFA.js.map +0 -1
  246. package/dist/sign-cancel-4YYJ2BBY.js +0 -2
  247. package/dist/sign-download-VOMT2C3C.js +0 -2
  248. package/dist/sign-list-SACY7XF3.js +0 -2
  249. package/dist/sign-request-PM7BZ56P.js +0 -2
  250. package/dist/sign-status-LRQGO2UX.js +0 -2
  251. package/dist/sign-verify-PQ7HBHTY.js +0 -2
  252. package/dist/sites-analytics-J5BMYBO5.js +0 -2
  253. package/dist/sites-delete-BYUJAMSX.js +0 -2
  254. package/dist/sites-deploys-XJQHVTET.js +0 -2
  255. package/dist/sites-info-JBM5C5FT.js +0 -2
  256. package/dist/sites-list-4AIOO76P.js +0 -2
  257. package/dist/sites-open-QJOKIMGM.js +0 -3
  258. package/dist/sites-purge-GXD673E2.js +0 -2
  259. package/dist/sites-rename-BTQZRAVA.js +0 -2
  260. package/dist/sites-rollback-LZUUU4ZU.js +0 -2
  261. package/dist/sites-unpublish-IB7BTNJC.js +0 -2
  262. package/dist/sites-visibility-I7PIUX4B.js +0 -2
  263. package/dist/storage-cat-CFOIZEJS.js +0 -2
  264. package/dist/storage-clean-6EN2KMOC.js +0 -2
  265. package/dist/storage-cp-SCF3CFS2.js +0 -2
  266. package/dist/storage-diff-MYW5AM3C.js +0 -2
  267. package/dist/storage-download-6EQJJ7SO.js +0 -3
  268. package/dist/storage-download-6EQJJ7SO.js.map +0 -1
  269. package/dist/storage-info-BV7VXGTF.js +0 -2
  270. package/dist/storage-ls-HIVJWOV6.js +0 -3
  271. package/dist/storage-mkdir-GRKUOWAJ.js +0 -2
  272. package/dist/storage-mv-RYW5TXAH.js +0 -2
  273. package/dist/storage-rm-PLBQC4ED.js +0 -2
  274. package/dist/storage-search-EKYRVCY2.js +0 -2
  275. package/dist/storage-share-OENZM4QY.js +0 -2
  276. package/dist/storage-tag-7XTICDCD.js +0 -2
  277. package/dist/storage-unshare-6G6YPRPN.js +0 -2
  278. package/dist/storage-upload-HW4QAENK.js +0 -2
  279. package/dist/storage-upload-HW4QAENK.js.map +0 -1
  280. package/dist/time-list-HUWDZZ27.js +0 -2
  281. package/dist/time-lock-MZ6C6DMR.js +0 -2
  282. package/dist/time-proof-G6IX5SMS.js +0 -2
  283. package/dist/time-status-UJ3XY3R5.js +0 -2
  284. package/dist/time-unlock-3TUR2KVC.js +0 -2
  285. package/dist/update-DOHW47PB.js +0 -2
  286. package/dist/whoami-C4LPZU6R.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/util/version.ts"],"names":["__dirname","dirname","fileURLToPath","pkg","readFileSync","resolve","showVersion","isJsonMode","logJSON","chalk","version_default"],"mappings":"4JAMA,IAAMA,CAAAA,CAAYC,OAAAA,CAAQC,cAAc,MAAA,CAAA,IAAA,CAAY,GAAG,CAAC,CAAA,CAClDC,EAAM,IAAA,CAAK,KAAA,CAAMC,YAAAA,CAAaC,OAAAA,CAAQL,EAAW,iBAAiB,CAAA,CAAG,OAAO,CAAC,EAEnF,eAAsBM,CAAAA,EAA6B,CACjD,GAAIC,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQ,CAAE,OAAA,CAASL,CAAAA,CAAI,OAAA,CAAS,IAAA,CAAM,eAAgB,CAAC,CAAA,CACvD,MACF,CACA,QAAQ,GAAA,CAAIM,CAAAA,CAAM,GAAA,CAAI,SAAS,EAAE,uBAAuB,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAI,OAAO,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAI,GAAA,CAAMN,EAAI,OAAO,CAAC,EAC/G,KAEOO,CAAAA,CAAQJ","file":"version-XQNUJ474.js","sourcesContent":["import { readFileSync } from 'node:fs'\nimport { dirname, resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport chalk from 'chalk'\nimport { isJsonMode, logJSON } from '../../lib/output/logger.js'\n\nconst __dirname = dirname(fileURLToPath(import.meta.url))\nconst pkg = JSON.parse(readFileSync(resolve(__dirname, '../package.json'), 'utf-8')) as { version: string }\n\nexport async function showVersion(): Promise<void> {\n if (isJsonMode()) {\n logJSON({ version: pkg.version, name: 'squidcloudctl' })\n return\n }\n console.log(chalk.hex('#4FC3F7')('squidcloud.vercel.app') + chalk.dim(' CLI ') + chalk.dim('v' + pkg.version))\n}\n\nexport default showVersion\n"]}
1
+ {"version":3,"sources":["../src/commands/util/version.ts"],"names":["__dirname","dirname","fileURLToPath","pkg","readFileSync","resolve","showVersion","isJsonMode","logJSON","chalk","version_default"],"mappings":"4JAMA,IAAMA,CAAAA,CAAYC,OAAAA,CAAQC,cAAc,MAAA,CAAA,IAAA,CAAY,GAAG,CAAC,CAAA,CAClDC,EAAM,IAAA,CAAK,KAAA,CAAMC,YAAAA,CAAaC,OAAAA,CAAQL,EAAW,iBAAiB,CAAA,CAAG,OAAO,CAAC,EAEnF,eAAsBM,CAAAA,EAA6B,CACjD,GAAIC,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQ,CAAE,OAAA,CAASL,CAAAA,CAAI,OAAA,CAAS,IAAA,CAAM,eAAgB,CAAC,CAAA,CACvD,MACF,CACA,QAAQ,GAAA,CAAIM,CAAAA,CAAM,GAAA,CAAI,SAAS,EAAE,uBAAuB,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAI,OAAO,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAI,GAAA,CAAMN,EAAI,OAAO,CAAC,EAC/G,KAEOO,CAAAA,CAAQJ","file":"version-Y2LWIEFC.js","sourcesContent":["import { readFileSync } from 'node:fs'\nimport { dirname, resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport chalk from 'chalk'\nimport { isJsonMode, logJSON } from '../../lib/output/logger.js'\n\nconst __dirname = dirname(fileURLToPath(import.meta.url))\nconst pkg = JSON.parse(readFileSync(resolve(__dirname, '../package.json'), 'utf-8')) as { version: string }\n\nexport async function showVersion(): Promise<void> {\n if (isJsonMode()) {\n logJSON({ version: pkg.version, name: 'squidcloudctl' })\n return\n }\n console.log(chalk.hex('#4FC3F7')('squidcloud.vercel.app') + chalk.dim(' CLI ') + chalk.dim('v' + pkg.version))\n}\n\nexport default showVersion\n"]}
@@ -0,0 +1,2 @@
1
+ import {e}from'./chunk-N3AD2QRA.js';import {b as b$1}from'./chunk-FNCZD2QB.js';import {i,g,n}from'./chunk-EMRHLWPD.js';import {b,f}from'./chunk-Q3A4IBGC.js';import o from'chalk';async function d(){let e$1=await b();if(e$1||(i("Not authenticated"),process.exit(1)),g()){n({authenticated:true,user:e$1.user,session_id:e$1.session_id,expires_at:e$1.expires_at});return}let m=f(e$1),u=[{key:o.bold("Email"),value:e$1.user.email},{key:o.bold("Username"),value:e$1.user.username},{key:o.bold("Plan"),value:o.hex("#7C4DFF")(e$1.user.plan)},{key:o.bold("Session Expires"),value:e(m)}];console.log(b$1(u,[{key:"key",label:"Attribute"},{key:"value",label:"Value"}]));}export{d as default};//# sourceMappingURL=whoami-BGMVNESX.js.map
2
+ //# sourceMappingURL=whoami-BGMVNESX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/auth/whoami.ts"],"names":["whoami","session","loadSession","logError","isJsonMode","logJSON","timeLeft","getTimeUntilExpiry","rows","chalk","formatCountdown","renderCompactTable"],"mappings":"yLAOA,eAAOA,CAAAA,EAA+C,CACpD,IAAMC,CAAAA,CAAU,MAAMC,CAAAA,EAAY,CAMlC,GALKD,CAAAA,GACHE,EAAS,mBAAmB,CAAA,CAC5B,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGZC,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQ,CACN,aAAA,CAAe,IAAA,CACf,IAAA,CAAMJ,EAAQ,IAAA,CACd,UAAA,CAAYA,CAAAA,CAAQ,UAAA,CACpB,UAAA,CAAYA,CAAAA,CAAQ,UACtB,CAAC,CAAA,CACD,MACF,CAEA,IAAMK,GAAAA,CAAWC,CAAAA,CAAmBN,CAAO,CAAA,CACrCO,CAAAA,CAAO,CACX,CAAE,GAAA,CAAKC,CAAAA,CAAM,IAAA,CAAK,OAAO,CAAA,CAAG,KAAA,CAAOR,CAAAA,CAAQ,IAAA,CAAK,KAAM,CAAA,CACtD,CAAE,GAAA,CAAKQ,CAAAA,CAAM,IAAA,CAAK,UAAU,CAAA,CAAG,KAAA,CAAOR,CAAAA,CAAQ,IAAA,CAAK,QAAS,CAAA,CAC5D,CAAE,GAAA,CAAKQ,CAAAA,CAAM,IAAA,CAAK,MAAM,CAAA,CAAG,KAAA,CAAOA,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAAER,CAAAA,CAAQ,IAAA,CAAK,IAAI,CAAE,CAAA,CAC1E,CAAE,GAAA,CAAKQ,CAAAA,CAAM,KAAK,iBAAiB,CAAA,CAAG,KAAA,CAAOC,GAAAA,CAAgBJ,GAAQ,CAAE,CACzE,CAAA,CAEA,OAAA,CAAQ,GAAA,CAAIK,GAAAA,CAAmBH,CAAAA,CAAM,CACnC,CAAE,IAAK,KAAA,CAAO,KAAA,CAAO,WAAY,CAAA,CACjC,CAAE,GAAA,CAAK,OAAA,CAAS,KAAA,CAAO,OAAQ,CACjC,CAAC,CAAC,EACJ","file":"whoami-C4LPZU6R.js","sourcesContent":["import { loadSession, getTimeUntilExpiry } from '../../lib/auth/session.js'\nimport { logError, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatCountdown } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\nimport { renderCompactTable } from '../../lib/output/table.js'\n\nexport default async function whoami(): Promise<void> {\n const session = await loadSession()\n if (!session) {\n logError('Not authenticated')\n process.exit(1)\n }\n\n if (isJsonMode()) {\n logJSON({\n authenticated: true,\n user: session.user,\n session_id: session.session_id,\n expires_at: session.expires_at,\n })\n return\n }\n\n const timeLeft = getTimeUntilExpiry(session)\n const rows = [\n { key: chalk.bold('Email'), value: session.user.email },\n { key: chalk.bold('Username'), value: session.user.username },\n { key: chalk.bold('Plan'), value: chalk.hex('#7C4DFF')(session.user.plan) },\n { key: chalk.bold('Session Expires'), value: formatCountdown(timeLeft) },\n ]\n\n console.log(renderCompactTable(rows, [\n { key: 'key', label: 'Attribute' },\n { key: 'value', label: 'Value' },\n ]))\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/auth/whoami.ts"],"names":["whoami","session","loadSession","logError","isJsonMode","logJSON","timeLeft","getTimeUntilExpiry","rows","chalk","formatCountdown","renderCompactTable"],"mappings":"kLAOA,eAAOA,CAAAA,EAA+C,CACpD,IAAMC,GAAAA,CAAU,MAAMC,CAAAA,EAAY,CAMlC,GALKD,GAAAA,GACHE,EAAS,mBAAmB,CAAA,CAC5B,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGZC,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQ,CACN,aAAA,CAAe,IAAA,CACf,IAAA,CAAMJ,IAAQ,IAAA,CACd,UAAA,CAAYA,GAAAA,CAAQ,UAAA,CACpB,UAAA,CAAYA,GAAAA,CAAQ,UACtB,CAAC,CAAA,CACD,MACF,CAEA,IAAMK,CAAAA,CAAWC,CAAAA,CAAmBN,GAAO,CAAA,CACrCO,CAAAA,CAAO,CACX,CAAE,GAAA,CAAKC,CAAAA,CAAM,IAAA,CAAK,OAAO,CAAA,CAAG,KAAA,CAAOR,GAAAA,CAAQ,IAAA,CAAK,KAAM,CAAA,CACtD,CAAE,GAAA,CAAKQ,CAAAA,CAAM,IAAA,CAAK,UAAU,CAAA,CAAG,KAAA,CAAOR,GAAAA,CAAQ,IAAA,CAAK,QAAS,CAAA,CAC5D,CAAE,GAAA,CAAKQ,CAAAA,CAAM,IAAA,CAAK,MAAM,CAAA,CAAG,KAAA,CAAOA,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAAER,GAAAA,CAAQ,IAAA,CAAK,IAAI,CAAE,CAAA,CAC1E,CAAE,GAAA,CAAKQ,CAAAA,CAAM,KAAK,iBAAiB,CAAA,CAAG,KAAA,CAAOC,CAAAA,CAAgBJ,CAAQ,CAAE,CACzE,CAAA,CAEA,OAAA,CAAQ,GAAA,CAAIK,GAAAA,CAAmBH,CAAAA,CAAM,CACnC,CAAE,IAAK,KAAA,CAAO,KAAA,CAAO,WAAY,CAAA,CACjC,CAAE,GAAA,CAAK,OAAA,CAAS,KAAA,CAAO,OAAQ,CACjC,CAAC,CAAC,EACJ","file":"whoami-BGMVNESX.js","sourcesContent":["import { loadSession, getTimeUntilExpiry } from '../../lib/auth/session.js'\nimport { logError, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatCountdown } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\nimport { renderCompactTable } from '../../lib/output/table.js'\n\nexport default async function whoami(): Promise<void> {\n const session = await loadSession()\n if (!session) {\n logError('Not authenticated')\n process.exit(1)\n }\n\n if (isJsonMode()) {\n logJSON({\n authenticated: true,\n user: session.user,\n session_id: session.session_id,\n expires_at: session.expires_at,\n })\n return\n }\n\n const timeLeft = getTimeUntilExpiry(session)\n const rows = [\n { key: chalk.bold('Email'), value: session.user.email },\n { key: chalk.bold('Username'), value: session.user.username },\n { key: chalk.bold('Plan'), value: chalk.hex('#7C4DFF')(session.user.plan) },\n { key: chalk.bold('Session Expires'), value: formatCountdown(timeLeft) },\n ]\n\n console.log(renderCompactTable(rows, [\n { key: 'key', label: 'Attribute' },\n { key: 'value', label: 'Value' },\n ]))\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squidcloudctl",
3
- "version": "1.1.7",
3
+ "version": "1.2.0",
4
4
  "description": "SquidCloud CLI — deploy, storage, sites, pipelines, and more",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a}from'./chunk-THMWE2I6.js';import {b,c as c$1}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function s(){let i=((await c("/api/auth/ssp/sessions",{authenticated:true})).sessions||[]).map(e=>({id:e.id.slice(0,8)+"...",device:e.device_fingerprint.slice(0,12),platform:e.platform||"unknown",last_seen:c$1(e.last_seen),created:b(e.created_at),current:e.current?"\u25CF":""}));console.log(a(i,[{key:"id",label:"Session ID"},{key:"device",label:"Fingerprint"},{key:"platform",label:"Platform"},{key:"last_seen",label:"Last Seen"},{key:"created",label:"Created"},{key:"current",label:""}]));}export{s as default};//# sourceMappingURL=auth-sessions-PIBWTIT5.js.map
2
- //# sourceMappingURL=auth-sessions-PIBWTIT5.js.map
@@ -1,2 +0,0 @@
1
- import {d}from'./chunk-FZKCZRJZ.js';import {h,f,m,l}from'./chunk-QT7R3AXE.js';import {b,a,g}from'./chunk-2RMLR54M.js';import e from'chalk';async function u(){let i=await b();i||(h("Not authenticated"),process.exit(1));let f$1=a(),t=i.device_fingerprint===f$1,o=g(i),s=o<=120*1e3;if(f()){m({authenticated:true,session_id:i.session_id,expires_in_ms:o,fingerprint_match:t,needs_refresh:s,user:i.user});return}l(""),l(`${e.bold("Session Health")}`),l(`${e.dim("\u2500\u2500\u2500".repeat(15))}`),l(` ${e.bold("Session ID:")} ${e.dim(i.session_id)}`),l(` ${e.bold("User:")} ${i.user.email} (${i.user.username})`),l(` ${e.bold("Plan:")} ${e.hex("#7C4DFF")(i.user.plan)}`),l(` ${e.bold("Expires:")} ${o>0?d(o):e.red("expired")}`),l(` ${e.bold("Fingerprint:")} ${t?e.green("\u2713 match"):e.red("\u2717 mismatch")}`),l(` ${e.bold("Refresh:")} ${s?e.yellow("needed soon"):e.green("ok")}`),l("");}export{u as default};//# sourceMappingURL=auth-status-RPJVTJ4S.js.map
2
- //# sourceMappingURL=auth-status-RPJVTJ4S.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/crypto/ssp.ts","../src/lib/auth/fingerprint.ts","../src/lib/auth/keychain.ts","../src/lib/auth/session.ts"],"names":["etc","msgs","sha512","concatBytes","bytesToHex","buf","hexToBytes","hex","MACHINE_ID_PATHS","getMachineId","p","existsSync","readFileSync","createHash","os","computeDeviceFingerprint","data","blake3","FALLBACK_DIR","path","FALLBACK_FILE","getFallbackKey","fingerprint","ikm","hkdf","sha256","storeSession","sessionJson","key","iv","randomBytes","plaintext","encrypted","gcm","fs","payload","getSession","raw","decrypted","deleteSession","loadSession","session","saveSession","clearSession","isSessionExpired","shouldRefreshToken","getTimeUntilExpiry"],"mappings":"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","file":"chunk-2RMLR54M.js","sourcesContent":["import { getPublicKey, sign, verify, etc, utils as edUtils } from '@noble/ed25519'\nimport { x25519 } from '@noble/curves/ed25519.js'\nimport { sha256 } from '@noble/hashes/sha256'\nimport { sha512 } from '@noble/hashes/sha512'\nimport { hmac } from '@noble/hashes/hmac'\nimport { hkdf } from '@noble/hashes/hkdf'\nimport { blake3 } from '@noble/hashes/blake3'\nimport { randomBytes, concatBytes } from '@noble/hashes/utils'\nimport { gcm } from '@noble/ciphers/aes'\nimport { pbkdf2Sync } from 'node:crypto'\nimport { hostname, platform, arch } from 'node:os'\n\netc.sha512Sync = (...msgs: Uint8Array[]) => sha512(concatBytes(...msgs))\n\nconst HKDF_INFO = 'squidcloud-session-v1'\n\nexport interface SSPHello {\n email: string\n password_proof: string\n client_ephemeral_pub: string\n client_nonce: string\n device_fingerprint: string\n timestamp: number\n}\n\nexport interface SSPResponse {\n server_nonce: string\n server_ephemeral_pub: string\n server_signature: string\n encrypted_session: string\n session_iv: string\n session_tag: string\n}\n\nexport interface SquidSession {\n session_id: string\n access_token: string\n refresh_token: string\n refresh_token_id: string\n device_fingerprint: string\n issued_at: number\n expires_at: number\n user: {\n id: string\n email: string\n username: string\n plan: 'free' | 'pro' | 'team'\n }\n api_key?: string\n}\n\nexport function generateKeypair(): { pub: Uint8Array; priv: Uint8Array } {\n const priv = edUtils.randomPrivateKey()\n const pub = getPublicKey(priv)\n return { pub, priv }\n}\n\nexport function generateNonce(): Uint8Array {\n return randomBytes(32)\n}\n\nexport function hashPassword(password: string, email: string): Buffer {\n const salt = Buffer.from(email.slice(0, 32).padEnd(32, '\\x00'))\n return pbkdf2Sync(password, salt, 100000, 32, 'sha512')\n}\n\nexport function computeDeviceFingerprint(machineId: string): string {\n const data = `${machineId}:${hostname()}:${platform()}:${arch()}`\n return Buffer.from(blake3(data)).toString('hex')\n}\n\nexport function computeSignPayload(clientNonce: Uint8Array, serverNonce: Uint8Array, clientPub: Uint8Array, timestamp: number): Uint8Array {\n const payload = new Uint8Array(clientNonce.length + serverNonce.length + clientPub.length + 8)\n payload.set(clientNonce, 0)\n payload.set(serverNonce, clientNonce.length)\n payload.set(clientPub, clientNonce.length + serverNonce.length)\n const tsBuf = new Uint8Array(8)\n new DataView(tsBuf.buffer).setBigUint64(0, BigInt(timestamp), false)\n payload.set(tsBuf, clientNonce.length + serverNonce.length + clientPub.length)\n return blake3(payload)\n}\n\nexport function deriveSharedSecret(pub: Uint8Array, priv: Uint8Array): Uint8Array {\n return x25519.getSharedSecret(priv, pub)\n}\n\nexport function deriveEncryptionKey(ecdhSecret: Uint8Array, clientNonce: Uint8Array, serverNonce: Uint8Array): Uint8Array {\n const salt = new Uint8Array(clientNonce.length + serverNonce.length)\n salt.set(clientNonce, 0)\n salt.set(serverNonce, clientNonce.length)\n return hkdf(sha256, ecdhSecret, salt, HKDF_INFO, 32)\n}\n\nexport function encryptSession(session: SquidSession, key: Uint8Array): { ciphertext: Uint8Array; iv: Uint8Array; tag: Uint8Array } {\n const iv = randomBytes(12)\n const plaintext = new TextEncoder().encode(JSON.stringify(session))\n const aes = gcm(key, iv)\n const encrypted = aes.encrypt(plaintext)\n const ciphertext = encrypted.slice(0, -16)\n const tag = encrypted.slice(-16)\n return { ciphertext, iv, tag }\n}\n\nexport function decryptSession(encrypted: Uint8Array, iv: Uint8Array, tag: Uint8Array, key: Uint8Array): SquidSession {\n const combined = new Uint8Array(encrypted.length + tag.length)\n combined.set(encrypted, 0)\n combined.set(tag, encrypted.length)\n const aes = gcm(key, iv)\n const plaintext = aes.decrypt(combined)\n return JSON.parse(new TextDecoder().decode(plaintext)) as SquidSession\n}\n\nexport function verifyServerSignature(signature: Uint8Array, payload: Uint8Array, serverPub: Uint8Array): Promise<boolean> {\n return verify(signature, payload, serverPub)\n}\n\nexport function signPayload(priv: Uint8Array, payload: Uint8Array): Promise<Uint8Array> {\n return sign(payload, priv)\n}\n\nexport function computeHMAC(key: Uint8Array, data: string): string {\n return Buffer.from(hmac(sha256, key, data)).toString('hex')\n}\n\nexport function bytesToHex(buf: Uint8Array): string {\n return Buffer.from(buf).toString('hex')\n}\n\nexport function hexToBytes(hex: string): Uint8Array {\n return new Uint8Array(Buffer.from(hex, 'hex'))\n}\n","import { createHash, randomBytes } from 'node:crypto'\nimport os from 'node:os'\nimport { readFileSync, existsSync } from 'node:fs'\nimport { blake3 } from '@noble/hashes/blake3'\nimport { bytesToHex } from '../crypto/ssp.js'\n\nconst MACHINE_ID_PATHS = [\n '/etc/machine-id',\n '/var/lib/dbus/machine-id',\n '/etc/hostid',\n]\n\nfunction getMachineId(): string {\n for (const p of MACHINE_ID_PATHS) {\n try {\n if (existsSync(p)) {\n return readFileSync(p, 'utf-8').trim()\n }\n } catch {\n continue\n }\n }\n const h = createHash('sha256').update(os.hostname() + os.arch() + os.platform()).digest('hex')\n return h\n}\n\nexport function computeDeviceFingerprint(): string {\n const machineId = getMachineId()\n const components = [\n machineId,\n os.hostname(),\n os.platform(),\n os.arch(),\n os.release(),\n ]\n const data = components.join(':')\n return bytesToHex(blake3(data))\n}\n\nexport function generateDeviceId(): string {\n return randomBytes(32).toString('hex')\n}\n","import os from 'node:os'\nimport path from 'node:path'\nimport fs from 'node:fs'\nimport { randomBytes } from '@noble/hashes/utils'\nimport { sha256 } from '@noble/hashes/sha256'\nimport { hkdf } from '@noble/hashes/hkdf'\nimport { blake3 } from '@noble/hashes/blake3'\nimport { gcm } from '@noble/ciphers/aes'\nimport { bytesToHex, hexToBytes } from '../crypto/ssp.js'\nimport { computeDeviceFingerprint } from './fingerprint.js'\n\nconst FALLBACK_DIR = path.join(os.homedir(), '.squidcloud')\nconst FALLBACK_FILE = path.join(FALLBACK_DIR, '.session')\n\nfunction getFallbackKey(): Uint8Array {\n const fingerprint = computeDeviceFingerprint()\n const ikm = new TextEncoder().encode(fingerprint)\n return hkdf(sha256, ikm, new Uint8Array(32), 'squidcloud-fallback-v1', 32)\n}\n\nexport async function storeSession(sessionJson: string): Promise<void> {\n const key = getFallbackKey()\n const iv = randomBytes(12)\n const plaintext = new TextEncoder().encode(sessionJson)\n const aes = gcm(key, iv)\n const encrypted = aes.encrypt(plaintext)\n if (!fs.existsSync(FALLBACK_DIR)) {\n fs.mkdirSync(FALLBACK_DIR, { recursive: true, mode: 0o700 })\n }\n const payload = {\n iv: bytesToHex(iv),\n data: bytesToHex(encrypted),\n }\n fs.writeFileSync(FALLBACK_FILE, JSON.stringify(payload), { mode: 0o600, encoding: 'utf-8' })\n}\n\nexport async function getSession(): Promise<string | null> {\n try {\n if (!fs.existsSync(FALLBACK_FILE)) return null\n const raw = fs.readFileSync(FALLBACK_FILE, 'utf-8')\n const { iv, data } = JSON.parse(raw) as { iv: string; data: string }\n const key = getFallbackKey()\n const aes = gcm(key, hexToBytes(iv))\n const decrypted = aes.decrypt(hexToBytes(data))\n return new TextDecoder().decode(decrypted)\n } catch {\n return null\n }\n}\n\nexport async function deleteSession(): Promise<void> {\n try {\n if (fs.existsSync(FALLBACK_FILE)) {\n fs.unlinkSync(FALLBACK_FILE)\n }\n } catch {\n // ignore\n }\n}\n","import { SquidSession } from '../crypto/ssp.js'\nimport { storeSession, getSession, deleteSession } from './keychain.js'\n\nexport async function loadSession(): Promise<SquidSession | null> {\n try {\n const raw = await getSession()\n if (!raw) return null\n const session = JSON.parse(raw) as SquidSession\n if (!session.session_id || !session.access_token) {\n await deleteSession()\n return null\n }\n return session\n } catch {\n await deleteSession()\n return null\n }\n}\n\nexport async function saveSession(session: SquidSession): Promise<void> {\n await storeSession(JSON.stringify(session))\n}\n\nexport async function clearSession(): Promise<void> {\n await deleteSession()\n}\n\nexport function isSessionExpired(session: SquidSession): boolean {\n return Date.now() >= session.expires_at\n}\n\nexport function shouldRefreshToken(session: SquidSession): boolean {\n const twoMinutes = 2 * 60 * 1000\n return (session.expires_at - Date.now()) <= twoMinutes\n}\n\nexport function getTimeUntilExpiry(session: SquidSession): number {\n return session.expires_at - Date.now()\n}\n"]}
@@ -1,2 +0,0 @@
1
- import s from'chalk';var a=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function i(t){return t<10?"0"+t:String(t)}function c(t){if(t===0)return "0 B";let n=["B","KB","MB","GB","TB"],e=1024,r=Math.floor(Math.log(t)/Math.log(e));return `${(t/Math.pow(e,r)).toFixed(r>0?1:0)} ${n[r]}`}function $(t){let n=typeof t=="string"?new Date(t):t;return `${a[n.getMonth()]} ${n.getDate()}, ${n.getFullYear()} ${i(n.getHours())}:${i(n.getMinutes())}`}function g(t){let n=typeof t=="string"?new Date(t):t,e=Date.now(),r=n.getTime()-e,o=Math.abs(r),u=r<0?"ago":"from now";return o<6e4?`${Math.round(o/1e3)}s ${u}`:o<36e5?`${Math.round(o/6e4)}m ${u}`:o<864e5?`${Math.round(o/36e5)}h ${u}`:o<2592e6?`${Math.round(o/864e5)}d ${u}`:`${Math.round(o/2592e6)}mo ${u}`}function h(t){if(t<=0)return s.red("expired");let n=Math.floor(t/36e5),e=Math.floor(t%36e5/6e4),r=Math.floor(t%6e4/1e3);return n>0?`${n}h ${e}m ${r}s`:e>0?`${e}m ${r}s`:`${r}s`}export{c as a,$ as b,g as c,h as d};//# sourceMappingURL=chunk-FZKCZRJZ.js.map
2
- //# sourceMappingURL=chunk-FZKCZRJZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/utils/format.ts"],"names":["MONTHS","pad","n","formatBytes","bytes","units","k","i","formatDate","date","d","formatRelative","now","diff","abs","suffix","formatCountdown","ms","chalk","hours","minutes","seconds"],"mappings":"qBAEA,IAAMA,CAAAA,CAAS,CAAC,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAK,CAAA,CAElG,SAASC,CAAAA,CAAIC,CAAAA,CAAmB,CAC9B,OAAOA,CAAAA,CAAI,EAAA,CAAK,GAAA,CAAMA,CAAAA,CAAI,MAAA,CAAOA,CAAC,CACpC,CAEO,SAASC,CAAAA,CAAYC,CAAAA,CAAuB,CACjD,GAAIA,CAAAA,GAAU,CAAA,CAAG,OAAO,KAAA,CACxB,IAAMC,CAAAA,CAAQ,CAAC,GAAA,CAAK,IAAA,CAAM,KAAM,IAAA,CAAM,IAAI,CAAA,CACpCC,CAAAA,CAAI,IAAA,CACJC,CAAAA,CAAI,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,GAAA,CAAIH,CAAK,CAAA,CAAI,IAAA,CAAK,GAAA,CAAIE,CAAC,CAAC,EAElD,OAAO,CAAA,EAAA,CADOF,CAAAA,CAAQ,IAAA,CAAK,GAAA,CAAIE,CAAAA,CAAGC,CAAC,CAAA,EACnB,OAAA,CAAQA,CAAAA,CAAI,CAAA,CAAI,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,EAAIF,CAAAA,CAAME,CAAC,CAAC,CAAA,CACpD,CAUO,SAASC,CAAAA,CAAWC,CAAAA,CAA6B,CACtD,IAAMC,CAAAA,CAAI,OAAOD,CAAAA,EAAS,QAAA,CAAW,IAAI,IAAA,CAAKA,CAAI,CAAA,CAAIA,EACtD,OAAO,CAAA,EAAGT,CAAAA,CAAOU,CAAAA,CAAE,QAAA,EAAU,CAAC,CAAA,CAAA,EAAIA,CAAAA,CAAE,OAAA,EAAS,CAAA,EAAA,EAAKA,CAAAA,CAAE,WAAA,EAAa,CAAA,CAAA,EAAIT,EAAIS,CAAAA,CAAE,QAAA,EAAU,CAAC,CAAA,CAAA,EAAIT,CAAAA,CAAIS,CAAAA,CAAE,UAAA,EAAY,CAAC,CAAA,CAC/G,CAEO,SAASC,CAAAA,CAAeF,CAAAA,CAA6B,CAC1D,IAAMC,CAAAA,CAAI,OAAOD,CAAAA,EAAS,QAAA,CAAW,IAAI,IAAA,CAAKA,CAAI,CAAA,CAAIA,CAAAA,CAChDG,CAAAA,CAAM,IAAA,CAAK,GAAA,EAAI,CACfC,CAAAA,CAAOH,CAAAA,CAAE,OAAA,EAAQ,CAAIE,CAAAA,CACrBE,CAAAA,CAAM,IAAA,CAAK,GAAA,CAAID,CAAI,CAAA,CACnBE,CAAAA,CAASF,CAAAA,CAAO,CAAA,CAAI,KAAA,CAAQ,UAAA,CAElC,OAAIC,CAAAA,CAAM,GAAA,CAAc,CAAA,EAAG,KAAK,KAAA,CAAMA,CAAAA,CAAM,GAAI,CAAC,CAAA,EAAA,EAAKC,CAAM,CAAA,CAAA,CACxDD,CAAAA,CAAM,IAAA,CAAgB,CAAA,EAAG,IAAA,CAAK,KAAA,CAAMA,CAAAA,CAAM,GAAK,CAAC,CAAA,EAAA,EAAKC,CAAM,CAAA,CAAA,CAC3DD,CAAAA,CAAM,KAAA,CAAiB,CAAA,EAAG,IAAA,CAAK,KAAA,CAAMA,CAAAA,CAAM,IAAO,CAAC,CAAA,EAAA,EAAKC,CAAM,CAAA,CAAA,CAC9DD,CAAAA,CAAM,MAAA,CAAmB,CAAA,EAAG,IAAA,CAAK,MAAMA,CAAAA,CAAM,KAAQ,CAAC,CAAA,EAAA,EAAKC,CAAM,CAAA,CAAA,CAC9D,CAAA,EAAG,IAAA,CAAK,KAAA,CAAMD,CAAAA,CAAM,MAAU,CAAC,CAAA,GAAA,EAAMC,CAAM,CAAA,CACpD,CAEO,SAASC,CAAAA,CAAgBC,CAAAA,CAAoB,CAClD,GAAIA,CAAAA,EAAM,CAAA,CAAG,OAAOC,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CACvC,IAAMC,CAAAA,CAAQ,IAAA,CAAK,KAAA,CAAMF,CAAAA,CAAK,IAAO,CAAA,CAC/BG,CAAAA,CAAU,IAAA,CAAK,KAAA,CAAOH,CAAAA,CAAK,IAAA,CAAW,GAAK,CAAA,CAC3CI,CAAAA,CAAU,IAAA,CAAK,KAAA,CAAOJ,CAAAA,CAAK,GAAA,CAAS,GAAI,CAAA,CAC9C,OAAIE,EAAQ,CAAA,CAAU,CAAA,EAAGA,CAAK,CAAA,EAAA,EAAKC,CAAO,CAAA,EAAA,EAAKC,CAAO,CAAA,CAAA,CAAA,CAClDD,CAAAA,CAAU,CAAA,CAAU,CAAA,EAAGA,CAAO,CAAA,EAAA,EAAKC,CAAO,CAAA,CAAA,CAAA,CACvC,CAAA,EAAGA,CAAO,CAAA,CAAA,CACnB","file":"chunk-FZKCZRJZ.js","sourcesContent":["import chalk from 'chalk'\n\nconst MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n\nfunction pad(n: number): string {\n return n < 10 ? '0' + n : String(n)\n}\n\nexport function formatBytes(bytes: number): string {\n if (bytes === 0) return '0 B'\n const units = ['B', 'KB', 'MB', 'GB', 'TB']\n const k = 1024\n const i = Math.floor(Math.log(bytes) / Math.log(k))\n const value = bytes / Math.pow(k, i)\n return `${value.toFixed(i > 0 ? 1 : 0)} ${units[i]}`\n}\n\nexport function formatDuration(ms: number): string {\n if (ms < 1000) return `${ms}ms`\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`\n const minutes = Math.floor(ms / 60000)\n const seconds = Math.round((ms % 60000) / 1000)\n return `${minutes}m ${seconds}s`\n}\n\nexport function formatDate(date: string | Date): string {\n const d = typeof date === 'string' ? new Date(date) : date\n return `${MONTHS[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()} ${pad(d.getHours())}:${pad(d.getMinutes())}`\n}\n\nexport function formatRelative(date: string | Date): string {\n const d = typeof date === 'string' ? new Date(date) : date\n const now = Date.now()\n const diff = d.getTime() - now\n const abs = Math.abs(diff)\n const suffix = diff < 0 ? 'ago' : 'from now'\n\n if (abs < 60000) return `${Math.round(abs / 1000)}s ${suffix}`\n if (abs < 3600000) return `${Math.round(abs / 60000)}m ${suffix}`\n if (abs < 86400000) return `${Math.round(abs / 3600000)}h ${suffix}`\n if (abs < 2592000000) return `${Math.round(abs / 86400000)}d ${suffix}`\n return `${Math.round(abs / 2592000000)}mo ${suffix}`\n}\n\nexport function formatCountdown(ms: number): string {\n if (ms <= 0) return chalk.red('expired')\n const hours = Math.floor(ms / 3600000)\n const minutes = Math.floor((ms % 3600000) / 60000)\n const seconds = Math.floor((ms % 60000) / 1000)\n if (hours > 0) return `${hours}h ${minutes}m ${seconds}s`\n if (minutes > 0) return `${minutes}m ${seconds}s`\n return `${seconds}s`\n}\n\nexport function truncate(str: string, max: number): string {\n if (str.length <= max) return str\n return str.slice(0, max - 3) + '...'\n}\n\nexport function pluralize(n: number, singular: string, plural?: string): string {\n return n === 1 ? `${n} ${singular}` : `${n} ${plural ?? singular + 's'}`\n}\n\nexport function maskEmail(email: string): string {\n const [name, domain] = email.split('@')\n if (!name || !domain) return email\n const masked = name[0] + '***' + name[name.length - 1]\n return `${masked}@${domain}`\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-THMWE2I6.js';import {f,m}from'./chunk-QT7R3AXE.js';import a from'conf';var n=new a({projectName:"squidcloud",defaults:{defaultEnvironment:"production",autoCopyUrl:true,outputFormat:"text",checkUpdates:true}});function d(){return n}async function c(){let o=Object.entries(n.store);if(f()){m(Object.fromEntries(o));return}let i=o.map(([s,u])=>({key:s,value:String(u)}));console.log(a$1(i,[{key:"key",label:"Key"},{key:"value",label:"Value"}]));}export{n as a,d as b,c};//# sourceMappingURL=chunk-LWB2J3KU.js.map
2
- //# sourceMappingURL=chunk-LWB2J3KU.js.map
@@ -1,3 +0,0 @@
1
- import o from'chalk';import l from'gradient-string';import C from'os';import g from'fs';import $ from'path';var d=l(["#4FC3F7","#7C4DFF"]);l(["#1a5276","#4a148c"]);var x=d("\u25C6"),c=o.hex("#4CAF50")("\u2713"),u=o.hex("#F44336")("\u2717"),f=o.hex("#FF9800")("\u26A0"),p=o.hex("#4FC3F7")("\u2139");o.hex("#7C4DFF")("\u25B8");function N(r){return d(r)}function F(r){return o.dim(r)}function h(r){return F("(copied to clipboard)")}function t(){return !!(process.env.CI||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI||process.env.TRAVIS||process.env.JENKINS_HOME)}var n=false;function D(r){n=r;}function B(){return n}function i(){return o.dim(`[${new Date().toISOString()}]`)}function G(r){if(n){console.log(JSON.stringify({level:"success",message:r}));return}t()?console.log(`${i()} ${c} ${r}`):console.log(`${c} ${o.green(r)}`);}function L(r){if(n){console.error(JSON.stringify({error:{message:r}}));return}t()?console.error(`${i()} ${u} ${o.red(r)}`):console.error(`${u} ${o.red(r)}`);}function k(r){n||(t()?console.warn(`${i()} ${f} ${o.hex("#FF9800")(r)}`):console.warn(`${f} ${o.hex("#FF9800")(r)}`));}function j(r){n||(t()?console.log(`${i()} ${p} ${o.hex("#4FC3F7")(r)}`):console.log(`${p} ${o.hex("#4FC3F7")(r)}`));}function H(r){n||console.log(`${x} ${r}`);}function U(r){n||console.log(r);}function W(r){n&&console.log(JSON.stringify(r));}function q(r,a,R){let s=$.join(C.homedir(),".squidcloud"),S=$.join(s,"audit.log"),v=JSON.stringify({timestamp:new Date().toISOString(),command:r,args:a,exitCode:R,pid:process.pid})+`
2
- `;try{g.existsSync(s)||g.mkdirSync(s,{recursive:!0,mode:448}),g.appendFileSync(S,v,{encoding:"utf-8"});}catch{}}export{N as a,F as b,h as c,t as d,D as e,B as f,G as g,L as h,k as i,j,H as k,U as l,W as m,q as n};//# sourceMappingURL=chunk-QT7R3AXE.js.map
3
- //# sourceMappingURL=chunk-QT7R3AXE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/output/brand.ts","../src/lib/utils/ci-detect.ts","../src/lib/output/logger.ts"],"names":["squidGradient","gradient","BRAND_MARKER","SUCCESS_MARK","chalk","ERROR_MARK","WARN_MARK","INFO_MARK","brand","text","muted","copied","isCI","jsonMode","setJsonMode","mode","isJsonMode","timestamp","logSuccess","message","logError","logWarn","logInfo","logBrand","logRaw","logJSON","data","writeAudit","command","args","exitCode","auditDir","path","os","auditFile","entry","fs"],"mappings":"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","file":"chunk-QT7R3AXE.js","sourcesContent":["import chalk from 'chalk'\nimport gradient from 'gradient-string'\n\nconst squidGradient = gradient(['#4FC3F7', '#7C4DFF'])\nconst dimGradient = gradient(['#1a5276', '#4a148c'])\n\nexport const BRAND_MARKER = squidGradient('◆')\nexport const SUCCESS_MARK = chalk.hex('#4CAF50')('✓')\nexport const ERROR_MARK = chalk.hex('#F44336')('✗')\nexport const WARN_MARK = chalk.hex('#FF9800')('⚠')\nexport const INFO_MARK = chalk.hex('#4FC3F7')('ℹ')\nexport const PROGRESS_MARK = chalk.hex('#7C4DFF')('▸')\n\nexport function brand(text: string): string {\n return squidGradient(text)\n}\n\nexport function brandDim(text: string): string {\n return dimGradient(text)\n}\n\nexport function brandLine(text: string): string {\n return `${BRAND_MARKER} ${brand(text)}`\n}\n\nexport function success(text: string): string {\n return `${SUCCESS_MARK} ${chalk.green(text)}`\n}\n\nexport function error(text: string): string {\n return `${ERROR_MARK} ${chalk.red(text)}`\n}\n\nexport function warn(text: string): string {\n return `${WARN_MARK} ${chalk.hex('#FF9800')(text)}`\n}\n\nexport function info(text: string): string {\n return `${INFO_MARK} ${chalk.hex('#4FC3F7')(text)}`\n}\n\nexport function muted(text: string): string {\n return chalk.dim(text)\n}\n\nexport function copied(text: string): string {\n return muted(`(copied to clipboard)`)\n}\n","export function isCI(): boolean {\n return !!(\n process.env.CI ||\n process.env.GITHUB_ACTIONS ||\n process.env.GITLAB_CI ||\n process.env.CIRCLECI ||\n process.env.TRAVIS ||\n process.env.JENKINS_HOME\n )\n}\n\nexport function isInteractive(): boolean {\n if (isCI()) return false\n return process.stdout.isTTY && process.stdin.isTTY\n}\n\nexport function getCIProvider(): string | null {\n if (process.env.GITHUB_ACTIONS) return 'github-actions'\n if (process.env.GITLAB_CI) return 'gitlab-ci'\n if (process.env.CIRCLECI) return 'circleci'\n if (process.env.TRAVIS) return 'travis'\n if (process.env.JENKINS_HOME) return 'jenkins'\n if (process.env.CI) return 'unknown-ci'\n return null\n}\n","import chalk from 'chalk'\nimport os from 'node:os'\nimport fs from 'node:fs'\nimport path from 'node:path'\nimport { isCI } from '../utils/ci-detect.js'\nimport { BRAND_MARKER, SUCCESS_MARK, ERROR_MARK, WARN_MARK, INFO_MARK, muted } from './brand.js'\n\nlet jsonMode = false\n\nexport function setJsonMode(mode: boolean): void {\n jsonMode = mode\n}\n\nexport function isJsonMode(): boolean {\n return jsonMode\n}\n\ninterface LogOptions {\n prefix?: string\n}\n\nfunction timestamp(): string {\n return chalk.dim(`[${new Date().toISOString()}]`)\n}\n\nexport function log(message: string, options?: LogOptions): void {\n if (jsonMode) return\n const prefix = options?.prefix ? `${options.prefix} ` : ''\n if (isCI()) {\n console.log(`${timestamp()} ${prefix}${message}`)\n } else {\n console.log(`${prefix}${message}`)\n }\n}\n\nexport function logSuccess(message: string): void {\n if (jsonMode) {\n console.log(JSON.stringify({ level: 'success', message }))\n return\n }\n if (isCI()) {\n console.log(`${timestamp()} ${SUCCESS_MARK} ${message}`)\n } else {\n console.log(`${SUCCESS_MARK} ${chalk.green(message)}`)\n }\n}\n\nexport function logError(message: string): void {\n if (jsonMode) {\n console.error(JSON.stringify({ error: { message } }))\n return\n }\n if (isCI()) {\n console.error(`${timestamp()} ${ERROR_MARK} ${chalk.red(message)}`)\n } else {\n console.error(`${ERROR_MARK} ${chalk.red(message)}`)\n }\n}\n\nexport function logWarn(message: string): void {\n if (jsonMode) return\n if (isCI()) {\n console.warn(`${timestamp()} ${WARN_MARK} ${chalk.hex('#FF9800')(message)}`)\n } else {\n console.warn(`${WARN_MARK} ${chalk.hex('#FF9800')(message)}`)\n }\n}\n\nexport function logInfo(message: string): void {\n if (jsonMode) return\n if (isCI()) {\n console.log(`${timestamp()} ${INFO_MARK} ${chalk.hex('#4FC3F7')(message)}`)\n } else {\n console.log(`${INFO_MARK} ${chalk.hex('#4FC3F7')(message)}`)\n }\n}\n\nexport function logBrand(message: string): void {\n if (jsonMode) return\n console.log(`${BRAND_MARKER} ${message}`)\n}\n\nexport function logRaw(message: string): void {\n if (jsonMode) return\n console.log(message)\n}\n\nexport function logJSON(data: unknown): void {\n if (!jsonMode) return\n console.log(JSON.stringify(data))\n}\n\nexport function logErrorJSON(data: { message: string; code?: string }): void {\n if (!jsonMode) {\n logError(data.message)\n return\n }\n console.error(JSON.stringify({ error: data }))\n}\n\nexport function writeAudit(command: string, args: string, exitCode: number): void {\n const auditDir = path.join(os.homedir(), '.squidcloud')\n const auditFile = path.join(auditDir, 'audit.log')\n const entry = JSON.stringify({\n timestamp: new Date().toISOString(),\n command,\n args,\n exitCode,\n pid: process.pid,\n }) + '\\n'\n try {\n if (!fs.existsSync(auditDir)) {\n fs.mkdirSync(auditDir, { recursive: true, mode: 0o700 })\n }\n fs.appendFileSync(auditFile, entry, { encoding: 'utf-8' })\n } catch {\n // Silently fail — audit should never crash the CLI\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- export{b as ApiError,f as apiDelete,c as apiGet,d as apiPost,e as apiPut,a as apiRequest,g as apiUpload}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-2RMLR54M.js';//# sourceMappingURL=client-MCQSJIGH.js.map
2
- //# sourceMappingURL=client-MCQSJIGH.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function m(i,e){let t=a(`Inviting ${e.email} to "${i}" as ${e.role}...`);t.start(),await d("/api/v1/collab/invite",{folder:i,email:e.email,role:e.role},{authenticated:true}),t.succeed(),g(`Invited ${e.email} to "${i}" as ${e.role}`);}export{m as default};//# sourceMappingURL=collab-invite-H6KXMBJ5.js.map
2
- //# sourceMappingURL=collab-invite-H6KXMBJ5.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import n from'inquirer';async function m(e){let{confirm:a$1}=await n.prompt([{type:"confirm",name:"confirm",message:`Remove yourself from "${e}"?`,default:false}]);if(!a$1)return;let t=a(`Leaving "${e}"...`);t.start(),await d("/api/v1/collab/leave",{folder:e},{authenticated:true}),t.succeed(),g(`You left "${e}"`);}export{m as default};//# sourceMappingURL=collab-leave-23J42V4P.js.map
2
- //# sourceMappingURL=collab-leave-23J42V4P.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a}from'./chunk-THMWE2I6.js';import {c as c$1}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import t from'chalk';async function n(r){let i=((await c(`/api/v1/collab/list?folder=${encodeURIComponent(r)}`,{authenticated:true})).collaborators||[]).map(e=>({email:e.email,user:e.username,role:t.hex("#7C4DFF")(e.role),joined:c$1(e.joined_at),active:e.last_active?c$1(e.last_active):t.dim("never")}));console.log(a(i,[{key:"email",label:"Email"},{key:"user",label:"User"},{key:"role",label:"Role"},{key:"joined",label:"Joined"},{key:"active",label:"Last Active"}]));}export{n as default};//# sourceMappingURL=collab-list-6VNDTN7W.js.map
2
- //# sourceMappingURL=collab-list-6VNDTN7W.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function o(e,i){let m=a(`Removing ${i.email} from "${e}"...`);m.start(),await d("/api/v1/collab/remove",{folder:e,email:i.email},{authenticated:true}),m.succeed(),g(`Removed ${i.email} from "${e}"`);}export{o as default};//# sourceMappingURL=collab-remove-A76ARTWG.js.map
2
- //# sourceMappingURL=collab-remove-A76ARTWG.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import c from'inquirer';async function m(r,t){let{confirm:a$1}=await c.prompt([{type:"input",name:"confirm",message:`Type "${r}" to confirm ownership transfer to ${t.to}:`,validate:s=>s===r?true:"Type the exact folder name to confirm"}]);if(a$1!==r)return;let e=a(`Transferring ownership of "${r}" to ${t.to}...`);e.start(),await d("/api/v1/collab/transfer",{folder:r,new_owner:t.to},{authenticated:true}),e.succeed(),g(`Ownership of "${r}" transferred to ${t.to}`);}export{m as default};//# sourceMappingURL=collab-transfer-S5MECG6Y.js.map
2
- //# sourceMappingURL=collab-transfer-S5MECG6Y.js.map
@@ -1,2 +0,0 @@
1
- export{a as config,c as default,b as getConfig}from'./chunk-LWB2J3KU.js';import'./chunk-THMWE2I6.js';import'./chunk-QT7R3AXE.js';//# sourceMappingURL=config-7G24FXQJ.js.map
2
- //# sourceMappingURL=config-7G24FXQJ.js.map
@@ -1,2 +0,0 @@
1
- import {b}from'./chunk-LWB2J3KU.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';async function t(o){b().delete(o),g(`Config ${o} deleted`);}export{t as default};//# sourceMappingURL=config-delete-VSIFFODZ.js.map
2
- //# sourceMappingURL=config-delete-VSIFFODZ.js.map
@@ -1,2 +0,0 @@
1
- import {b}from'./chunk-LWB2J3KU.js';import'./chunk-THMWE2I6.js';import {f as f$1,m}from'./chunk-QT7R3AXE.js';async function f(o){let i=b().get(o);if(f$1()){m({[o]:i});return}console.log(String(i??""));}export{f as default};//# sourceMappingURL=config-get-DDNSM5EH.js.map
2
- //# sourceMappingURL=config-get-DDNSM5EH.js.map
@@ -1,2 +0,0 @@
1
- import {b}from'./chunk-LWB2J3KU.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import r from'inquirer';async function i(){let{confirm:t}=await r.prompt([{type:"confirm",name:"confirm",message:"Reset all configuration to defaults?",default:false}]);t&&(b().clear(),g("Configuration reset to defaults"));}export{i as default};//# sourceMappingURL=config-reset-ZFMP4J5H.js.map
2
- //# sourceMappingURL=config-reset-ZFMP4J5H.js.map
@@ -1,2 +0,0 @@
1
- import {b}from'./chunk-LWB2J3KU.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';async function f(t,o){let r=b(),i=o==="true"?true:o==="false"?false:isNaN(Number(o))?o:Number(o);r.set(t,i),g(`Config ${t} set to ${o}`);}export{f as default};//# sourceMappingURL=config-set-O6JKOGGN.js.map
2
- //# sourceMappingURL=config-set-O6JKOGGN.js.map
@@ -1,3 +0,0 @@
1
- import {a as a$1}from'./chunk-MKRWNV2T.js';import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {h as h$1,i,f,m,g,c,b}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import h from'path';import P from'fs';import A from'clipboardy';import v from'chalk';import B from'cli-progress';async function F(d){let e=h.resolve(d),a=P.statSync(e);if(a.isFile())return h.extname(e).toLowerCase()===".html"?{type:"single-file",rootPath:e,hasIndexHtml:true,htmlFiles:[e],totalFiles:1}:{type:"invalid",rootPath:e,hasIndexHtml:false,htmlFiles:[],totalFiles:0};if(a.isDirectory()){let m=function(i){let u=P.readdirSync(i,{withFileTypes:true});for(let n of u){let c=h.join(i,n.name);n.isDirectory()?!n.name.startsWith(".")&&n.name!=="node_modules"&&m(c):n.isFile()&&(l++,n.name.endsWith(".html")&&t.push(c));}};let t=[],l=0;if(m(e),t.length===0)return {type:"invalid",rootPath:e,hasIndexHtml:false,htmlFiles:[],totalFiles:l};let o=t.some(i=>h.basename(i).toLowerCase()==="index.html");return {type:"codebase",rootPath:e,hasIndexHtml:o,htmlFiles:t,totalFiles:l}}return {type:"invalid",rootPath:e,hasIndexHtml:false,htmlFiles:[],totalFiles:0}}async function L(d$1,e){let a$2=d$1?h.resolve(d$1):process.cwd(),r=a("Analyzing project...");r.start();let t=await F(a$2);t.type==="invalid"&&(r.fail(),h$1(`No deployable content found at ${a$2}. Provide an HTML file or folder containing HTML files.`),process.exit(1)),t.type==="codebase"&&!t.hasIndexHtml&&(r.warn(),i("No index.html found at root. Scanning one level deep for entry point...")),r.text="Uploading files...";let l={source:a$2,type:t.type,slug:e?.name,environment:e?.env||(e?.preview?"preview":"production"),force:e?.force||false};if(t.type==="codebase"){let n=function(p){let y=P.readdirSync(p,{withFileTypes:true});for(let s of y){let f=h.join(p,s.name);s.isDirectory()?!s.name.startsWith(".")&&s.name!=="node_modules"&&n(f):s.isFile()&&(a$1(s.name)?i.push(f):u.push(f));}};let i=[],u=[];n(t.rootPath),!e?.force&&t.type==="codebase"&&(r.text="Computing diff...");let c=new B.SingleBar({format:`${v.hex("#7C4DFF")("\u25B8")} Uploading |${v.hex("#7C4DFF")("{bar}")}| {percentage}% | {value}/{total} files | {speed}`,barCompleteChar:"\u2588",barIncompleteChar:"\u2591",hideCursor:true});c.start(i.length,0);let w=new FormData,b=0;for(let p of i){let y=h.relative(t.rootPath,p),s=P.readFileSync(p),f=new Blob([s]);w.append("files",f,y),b++,c.update(b);}c.stop(),r.stop(),l.files=w;}if(t.type==="single-file"){let o=P.readFileSync(t.rootPath,"utf-8");l.htmlContent=o;}r.text="Deploying to SquidCloud...",r.start();try{let o=await d("/api/v1/deploy",l,{authenticated:!0});r.succeed();let i=o.url||`https://squidcloud.vercel.app/sites/${e?.name||o.deploy_id}`;try{await A.write(i);}catch{}if(f()){m(o);return}g("Deployed successfully!"),console.log(` ${v.hex("#4FC3F7")(i)} ${c("")}`),o.file_count&&console.log(` ${b(`${o.file_count} files \xB7 ${o.deploy_time_ms}ms`)}`);}catch(o){throw r.fail(),o}}
2
- export{L as default};//# sourceMappingURL=deploy-O7VVCVUR.js.map
3
- //# sourceMappingURL=deploy-O7VVCVUR.js.map
@@ -1,3 +0,0 @@
1
- import {j}from'./chunk-QT7R3AXE.js';import r from'open';async function i(){let o="https://squidcloud.vercel.app/feedback";j(`Opening ${o} in your browser...`),await r(o);}
2
- export{i as default};//# sourceMappingURL=feedback-QUGQAWZB.js.map
3
- //# sourceMappingURL=feedback-QUGQAWZB.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {f}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import n from'inquirer';async function m(o){let{confirm:t}=await n.prompt([{type:"confirm",name:"confirm",message:"Delete ALL submissions for this file request? This cannot be undone.",default:false}]);if(!t)return;let e=a("Clearing submissions...");e.start(),await f(`/api/v1/forms/${o}/submissions`,{authenticated:true}),e.succeed(),g("All submissions cleared");}export{m as default};//# sourceMappingURL=forms-clear-TSQ4YFPW.js.map
2
- //# sourceMappingURL=forms-clear-TSQ4YFPW.js.map
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {f,m,g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function a(r,c){let e=a$1(`Creating file request "${r}"...`);e.start();let t=await d("/api/v1/forms",{name:r,folder:c?.folder},{authenticated:true});if(e.succeed(),f()){m(t);return}g(`File request "${r}" created (${t.id.slice(0,8)})`);}export{a as default};//# sourceMappingURL=forms-create-IJPDTTGR.js.map
2
- //# sourceMappingURL=forms-create-IJPDTTGR.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {f}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import s from'inquirer';async function p(t){let e=(await(await import('./client-MCQSJIGH.js')).apiGet(`/api/v1/forms/${t}`,{authenticated:true})).form.name,{confirm:o}=await s.prompt([{type:"input",name:"confirm",message:`Type "${e}" to permanently delete this file request and all submissions:`,validate:m=>m===e?true:"Type the exact name to confirm"}]);if(o!==e)return;let r=a("Deleting file request...");r.start(),await f(`/api/v1/forms/${t}`,{authenticated:true}),r.succeed(),g(`File request "${e}" deleted`);}export{p as default};//# sourceMappingURL=forms-delete-5Q6JVOWZ.js.map
2
- //# sourceMappingURL=forms-delete-5Q6JVOWZ.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import n from'fs';import p from'path';async function m(t){let o=a("Exporting submissions...");o.start();let c$1=await c(`/api/v1/forms/${t}/export`,{authenticated:true});o.succeed();let s=p.join(process.cwd(),`filereq-${t.slice(0,8)}-submissions.csv`);n.writeFileSync(s,c$1.csv,"utf-8"),g(`Exported to ${s}`);}export{m as default};//# sourceMappingURL=forms-export-YGKJVRUD.js.map
2
- //# sourceMappingURL=forms-export-YGKJVRUD.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {f,m,l}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import o from'chalk';async function a(m$1){let i=(await c(`/api/v1/forms/${m$1}`,{authenticated:true})).form;if(f()){m(i);return}l(""),l(` ${o.bold(i.name)}`),l(o.dim(" \u2500\u2500\u2500".repeat(8))),l(` ${o.bold("ID:")} ${i.id}`),l(` ${o.bold("Folder:")} ${i.folder||o.dim("none")}`),l(` ${o.bold("Submissions:")} ${i.submission_count}`),l(` ${o.bold("Spam Protection:")} ${i.spam_protection?o.green("on"):o.dim("off")}`),l(` ${o.bold("Active:")} ${i.is_active?o.green("yes"):o.yellow("no")}`),l(` ${o.bold("Embed:")} ${o.dim(i.embed_url)}`),l("");}export{a as default};//# sourceMappingURL=forms-info-NVNTIK45.js.map
2
- //# sourceMappingURL=forms-info-NVNTIK45.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a}from'./chunk-THMWE2I6.js';import {b}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import o from'chalk';async function s(){let r=((await c("/api/v1/forms",{authenticated:true})).forms||[]).map(e=>({id:o.dim(e.id.slice(0,8)),name:o.hex("#4FC3F7")(e.name),folder:o.dim(e.folder||"-"),submissions:String(e.submission_count),created:b(e.created_at),active:e.is_active?o.green("yes"):o.yellow("no")}));console.log(a(r,[{key:"id",label:"ID"},{key:"name",label:"Name"},{key:"folder",label:"Folder"},{key:"submissions",label:"Submissions"},{key:"created",label:"Created"},{key:"active",label:"Active"}]));}export{s as default};//# sourceMappingURL=forms-list-UDYVBNX5.js.map
2
- //# sourceMappingURL=forms-list-UDYVBNX5.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a}from'./chunk-THMWE2I6.js';import {c as c$1}from'./chunk-FZKCZRJZ.js';import {f,m}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import e from'chalk';async function u(n,b){let t=await c(`/api/v1/forms/${n}/submissions`,{authenticated:true});if(f()){m(t.submissions);return}let l=(t.submissions||[]).map(i=>({id:e.dim(i.id.slice(0,8)),file:i.file_name,submitted:c$1(i.submitted_at),name:i.submitter_name||e.dim("-"),email:i.submitter_email||e.dim("-")}));console.log(a(l,[{key:"id",label:"ID"},{key:"file",label:"File"},{key:"submitted",label:"Submitted"},{key:"name",label:"Name"},{key:"email",label:"Email"}]));}export{u as default};//# sourceMappingURL=forms-submissions-LFUTUDOW.js.map
2
- //# sourceMappingURL=forms-submissions-LFUTUDOW.js.map
@@ -1,3 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import'./chunk-THMWE2I6.js';import {j,k as k$1,a as a$1,g}from'./chunk-QT7R3AXE.js';import {b,a as a$2,c}from'./chunk-2RMLR54M.js';import k from'inquirer';import {randomBytes,createHash}from'crypto';var y="https://aouqcwbdoyrccjcrhzzi.supabase.co",_="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U";function P(){return "sqc_"+randomBytes(32).toString("hex")}function J(t){let i=randomBytes(16).toString("base64"),s=Buffer.from(i,"base64"),e=Buffer.concat([s,Buffer.from(t)]);return {hash:createHash("sha256").update(e).digest("hex"),prefix:t.slice(0,8),salt:i}}async function w(t,i){let s=await fetch(`${y}/auth/v1/token?grant_type=password`,{method:"POST",headers:{"Content-Type":"application/json",apikey:_},body:JSON.stringify({email:t,password:i})});if(!s.ok){let r=await s.text();throw new Error(r||`Authentication failed (HTTP ${s.status})`)}let e=await s.json(),a=a$2(),n=P(),{hash:I,prefix:x,salt:b}=J(n),o=await fetch(`${y}/rest/v1/api_keys`,{method:"POST",headers:{"Content-Type":"application/json",apikey:_,Authorization:`Bearer ${e.access_token}`,Prefer:"return=minimal"},body:JSON.stringify({user_id:e.user.id,name:"squidcloud-cli",key_hash:I,key_prefix:x,key_salt:b,scopes:["all"],is_active:true})});if(!o.ok){let r=await o.text();console.error("API key creation failed:",r);}let c$1={session_id:e.user.id+"-"+Date.now(),access_token:e.access_token,refresh_token:e.refresh_token,refresh_token_id:"",device_fingerprint:a,issued_at:Date.now(),expires_at:e.expires_at*1e3,user:{id:e.user.id,email:e.user.email,username:e.user.user_metadata?.username||e.user.email.split("@")[0]||"user",plan:"free"},api_key:n};return await c(c$1),c$1}async function C(){let t=await b();if(t){j(`Already authenticated as ${t.user.email}`);let{force:e}=await k.prompt([{type:"confirm",name:"force",message:"Re-authenticate?",default:false}]);if(!e)return}let i=await k.prompt([{type:"input",name:"email",message:"Email:",validate:e=>e.includes("@")?true:"Please enter a valid email"},{type:"password",name:"password",message:"Password:",mask:"*"}]),s=a("Authenticating with SquidCloud...");s.start();try{let e=await w(i.email,i.password);s.succeed(),k$1(`Welcome to SquidCloud, ${a$1(e.user.username)}!`),g(`Authenticated as ${e.user.email} (${e.user.plan})`);}catch(e){throw s.fail(),e}}
2
- export{C as default};//# sourceMappingURL=login-PDECY435.js.map
3
- //# sourceMappingURL=login-PDECY435.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import {d as d$1}from'./chunk-2RMLR54M.js';async function i(){let o=a("Revoking session...");o.start();try{await d("/api/auth/ssp/revoke",{},{authenticated:!0});}catch{}await d$1(),o.succeed(),g("Logged out successfully");}export{i as default};//# sourceMappingURL=logout-D2GLIU2Y.js.map
2
- //# sourceMappingURL=logout-D2GLIU2Y.js.map
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-PSJQAIDB.js';import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import n from'fs';import p from'path';async function a(){let o=a$1("Exporting logs...");o.start();let i=await c("/api/v1/logs/export",{authenticated:true});o.succeed();let t=p.join(process.cwd(),`squidcloud-logs-${Date.now()}.jsonl`);n.writeFileSync(t,i.jsonl,"utf-8"),g(`Exported to ${t}`);}export{a as default};//# sourceMappingURL=logs-export-76WAIPNB.js.map
2
- //# sourceMappingURL=logs-export-76WAIPNB.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a}from'./chunk-THMWE2I6.js';import {c as c$1}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import r from'chalk';async function g(i,t){let a$1=new URLSearchParams({q:i});t?.from&&a$1.set("from",t.from),t?.to&&a$1.set("to",t.to);let l=((await c(`/api/v1/logs/search?${a$1}`,{authenticated:true})).logs||[]).map(e=>({ts:c$1(e.timestamp),level:e.level==="error"?r.red("\u25CF"):e.level==="warn"?r.yellow("\u25CF"):r.dim("\u25CF"),type:r.dim(e.type||"-"),message:e.message?.slice(0,80)||""}));console.log(a(l,[{key:"ts",label:"Time"},{key:"level",label:""},{key:"type",label:"Type"},{key:"message",label:"Message"}]));}export{g as default};//# sourceMappingURL=logs-search-MA3AWP4B.js.map
2
- //# sourceMappingURL=logs-search-MA3AWP4B.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {l}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import e from'chalk';async function o(){let t=(await c("/api/v1/monitor/dashboard",{authenticated:true})).dashboard;l(""),l(e.bold(" SquidCloud Monitor Dashboard")),l(e.dim(" \u2500\u2500\u2500".repeat(12))),l(""),l(` ${e.bold("Sites")}`),l(` ${t.sites.healthy}/${t.sites.total} healthy`),t.sites.degraded>0&&l(` ${e.yellow(` ${t.sites.degraded} degraded`)}`),l(""),l(` ${e.bold("Pipelines")}`),l(` ${t.pipelines.healthy}/${t.pipelines.total} healthy`),t.pipelines.failing>0&&l(` ${e.red(` ${t.pipelines.failing} failing`)}`),l(""),l(` ${e.bold("Storage")}`),l(` ${t.storage.total_files} files`),t.storage.warnings>0&&l(` ${e.yellow(` ${t.storage.warnings} warnings`)}`),l(""),l(` ${e.bold("Automations")}`),l(` ${t.automations.healthy}/${t.automations.total} healthy`),t.automations.failing>0&&l(` ${e.red(` ${t.automations.failing} failing`)}`),l("");}export{o as default};//# sourceMappingURL=monitor-LZ7R5C3D.js.map
2
- //# sourceMappingURL=monitor-LZ7R5C3D.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a as a$1}from'./chunk-THMWE2I6.js';import {c as c$1}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import a from'chalk';async function i(){let s=((await c("/api/v1/monitor/automations",{authenticated:true})).automations||[]).map(t=>({name:t.name,last:t.last_fired?c$1(t.last_fired):a.dim("never"),rate:`${(t.success_rate*100).toFixed(0)}%`,status:t.status==="healthy"?a.green("\u25CF"):t.status==="erroring"?a.red("\u25CF"):a.dim("\u25CB")}));console.log(a$1(s,[{key:"name",label:"Automation"},{key:"last",label:"Last Fired"},{key:"rate",label:"Success"},{key:"status",label:""}]));}export{i as default};//# sourceMappingURL=monitor-automations-AR7MS2PL.js.map
2
- //# sourceMappingURL=monitor-automations-AR7MS2PL.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a}from'./chunk-THMWE2I6.js';import {c as c$1}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import t from'chalk';async function r(){let l=((await c("/api/v1/monitor/pipelines",{authenticated:true})).pipelines||[]).map(e=>({name:e.name,last:e.last_run?c$1(e.last_run):t.dim("never"),runs:String(e.runs_24h),status:e.status==="healthy"?t.green("\u25CF"):e.status==="degraded"?t.yellow("\u25CF"):t.red("\u25CF")}));console.log(a(l,[{key:"name",label:"Pipeline"},{key:"last",label:"Last Run"},{key:"runs",label:"24h Runs"},{key:"status",label:""}]));}export{r as default};//# sourceMappingURL=monitor-pipelines-EASQLIQA.js.map
2
- //# sourceMappingURL=monitor-pipelines-EASQLIQA.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {l}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import e from'chalk';async function t(){let r=(await c("/api/v1/monitor/storage",{authenticated:true})).health;l(""),l(e.bold(" Storage Health Report")),l(e.dim(" \u2500\u2500\u2500".repeat(10))),l(` ${e.bold("Broken Shares:")} ${r.broken_shares>0?e.red(r.broken_shares):e.green("0")}`),l(` ${e.bold("Orphaned Files:")} ${r.orphaned_files>0?e.yellow(r.orphaned_files):e.green("0")}`),l(` ${e.bold("Corrupted:")} ${r.corrupted_uploads>0?e.red(r.corrupted_uploads):e.green("0")}`),l(` ${e.bold("Near Limit:")} ${r.near_limit_folders>0?e.yellow(r.near_limit_folders):e.green("0")}`),l(` ${e.bold("Stale (90d):")} ${r.stale_files_90d>0?e.yellow(r.stale_files_90d):e.green("0")}`),l("");}export{t as default};//# sourceMappingURL=monitor-storage-SMB32J37.js.map
2
- //# sourceMappingURL=monitor-storage-SMB32J37.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function n(e){let c=a(`Cancelling run ${e.slice(0,8)}...`);c.start(),await d(`/api/v1/scripts/runs/${e}/cancel`,{},{authenticated:true}),c.succeed(),g(`Run ${e.slice(0,8)} cancelled`);}export{n as default};//# sourceMappingURL=scripts-cancel-CQVIDKVW.js.map
2
- //# sourceMappingURL=scripts-cancel-CQVIDKVW.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {f}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import s from'inquirer';async function c(e){let{confirm:p}=await s.prompt([{type:"input",name:"confirm",message:`Type "${e}" to permanently delete this pipeline:`,validate:n=>n===e?true:"Type the exact name to confirm"}]);if(p!==e)return;let t=a(`Deleting "${e}"...`);t.start(),await f(`/api/v1/scripts/${e}`,{authenticated:true}),t.succeed(),g(`Pipeline "${e}" deleted`);}export{c as default};//# sourceMappingURL=scripts-delete-TV4SX5OJ.js.map
2
- //# sourceMappingURL=scripts-delete-TV4SX5OJ.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function o(i){let t=a(`Disabling "${i}"...`);t.start(),await d(`/api/v1/scripts/${i}/disable`,{},{authenticated:true}),t.succeed(),g(`Pipeline "${i}" disabled`);}export{o as default};//# sourceMappingURL=scripts-disable-IHPUGSTJ.js.map
2
- //# sourceMappingURL=scripts-disable-IHPUGSTJ.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function s(t){let e=a(`Enabling "${t}"...`);e.start(),await d(`/api/v1/scripts/${t}/enable`,{},{authenticated:true}),e.succeed(),g(`Pipeline "${t}" enabled`);}export{s as default};//# sourceMappingURL=scripts-enable-ULCXRU7W.js.map
2
- //# sourceMappingURL=scripts-enable-ULCXRU7W.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a}from'./chunk-THMWE2I6.js';import {c as c$1}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import e from'chalk';async function r(){let s=((await c("/api/v1/scripts",{authenticated:true})).scripts||[]).map(t=>({name:e.hex("#4FC3F7")(t.name),file:e.dim(t.file_path),last_run:t.last_run?c$1(t.last_run):e.dim("never"),status:t.last_status==="success"?e.green("\u2713"):t.last_status==="failed"?e.red("\u2717"):e.dim("-"),enabled:t.enabled?e.green("yes"):e.yellow("no")}));console.log(a(s,[{key:"name",label:"Name"},{key:"file",label:"File"},{key:"last_run",label:"Last Run"},{key:"status",label:"Status"},{key:"enabled",label:"Enabled"}]));}export{r as default};//# sourceMappingURL=scripts-list-XWNT7242.js.map
2
- //# sourceMappingURL=scripts-list-XWNT7242.js.map
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-PSJQAIDB.js';import {c}from'./chunk-6DKUVFZF.js';import {a}from'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a as a$2}from'./chunk-THMWE2I6.js';import {c as c$1}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import {b}from'./chunk-2RMLR54M.js';import {WebSocket}from'ws';import s from'chalk';async function y(e,n,g){if(g?.live){let t=await b();t||(console.error("Not authenticated"),process.exit(1));let o=a().replace(/^http/,"ws"),r=new WebSocket(`${o}/api/v1/scripts/${e}/logs/live`,{headers:{Authorization:`Bearer ${t.access_token}`}});console.log(s.dim(`Streaming live logs for "${e}"... (Ctrl+C to stop)`)),r.on("message",i=>console.log(i.toString())),r.on("error",i=>{console.error(s.red(`Error: ${i.message}`)),process.exit(1);}),process.on("SIGINT",()=>{r.close(),process.exit(0);});return}if(n){let t=await c(`/api/v1/scripts/${e}/logs/${n}`,{authenticated:true});for(let o of t.logs||[])console.log(o);return}let l=a$1("Fetching run history...");l.start();let f=await c(`/api/v1/scripts/${e}/runs`,{authenticated:true});l.stop();let h=(f.runs||[]).map(t=>({id:s.dim(t.run_id.slice(0,8)),status:t.status==="success"?s.green("\u2713"):t.status==="failed"?s.red("\u2717"):s.yellow("\u25CB"),started:t.started_at?c$1(t.started_at):"-",duration:t.duration_ms?`${(t.duration_ms/1e3).toFixed(1)}s`:"-"}));console.log(a$2(h,[{key:"id",label:"Run"},{key:"status",label:""},{key:"started",label:"Started"},{key:"duration",label:"Duration"}]));}export{y as default};//# sourceMappingURL=scripts-logs-YBF6MTMQ.js.map
2
- //# sourceMappingURL=scripts-logs-YBF6MTMQ.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {j,f,m,g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function l(r,n){let t={};if(n?.env)for(let d of n.env){let[o,...a]=d.split("=");o&&(t[o]=a.join("="));}if(n?.dryRun){j(`[DRY-RUN] Would run script "${r}" with env: ${JSON.stringify(t)}`);return}let i=a(`Running script "${r}"...`);i.start();let s=await d("/api/v1/scripts/run",{name:r,env:t},{authenticated:true});if(i.succeed(),f()){m(s);return}g(`Script "${r}" triggered (run: ${s.run_id.slice(0,8)})`);}export{l as default};//# sourceMappingURL=scripts-run-FQ7EOXOH.js.map
2
- //# sourceMappingURL=scripts-run-FQ7EOXOH.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {c as c$1}from'./chunk-FZKCZRJZ.js';import {f,m,l}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import t from'chalk';async function h(r){let n=a(`Checking status of "${r}"...`);n.start();let u=await c(`/api/v1/scripts/${r}/status`,{authenticated:true});n.stop();let e=u.status;if(f()){m(e);return}l(""),l(` ${t.bold(e.name)}`),l(t.dim(" \u2500\u2500\u2500".repeat(8)));let c$2=e.health==="healthy"?t.green:e.health==="degraded"?t.yellow:t.red;l(` ${t.bold("Health:")} ${c$2("\u25CF")} ${e.health}`),l(` ${t.bold("Enabled:")} ${e.enabled?t.green("yes"):t.red("no")}`),l(` ${t.bold("Running:")} ${e.running?t.yellow("yes"):t.green("no")}`),l(` ${t.bold("Last OK:")} ${e.last_success?c$1(e.last_success):t.dim("never")}`),l(` ${t.bold("Last Fail:")} ${e.last_failure?c$1(e.last_failure):t.dim("never")}`),l("");}export{h as default};//# sourceMappingURL=scripts-status-XYGHYRZB.js.map
2
- //# sourceMappingURL=scripts-status-XYGHYRZB.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d as d$1}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {h,f,m,g as g$1}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import d from'fs';import e from'path';async function g(n){let r=n?e.resolve(n):e.join(process.cwd(),".squid.yml");d.existsSync(r)||(h(`File not found: ${r}`),process.exit(1));let m$1=d.readFileSync(r,"utf-8"),i=a("Validating...");i.start();try{let o=await d$1("/api/v1/scripts/validate",{filename:e.basename(r),content:m$1});if(i.succeed(),f()){m(o);return}if(o.valid&&g$1("Valid SquidScript!"),o.warnings?.length)for(let t of o.warnings)console.log(` \u26A0 ${t}`);if(o.errors?.length)for(let t of o.errors)console.log(` \u2717 ${t}`);}catch{i.fail(),h("Validation failed"),process.exit(1);}}export{g as default};//# sourceMappingURL=scripts-validate-T7CGIPPE.js.map
2
- //# sourceMappingURL=scripts-validate-T7CGIPPE.js.map
@@ -1,2 +0,0 @@
1
- import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {j,h}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import g from'path';import p from'chokidar';import u from'fs';import e from'chalk';async function f(){let i=process.cwd();j(`Watching for .squid.yml changes in ${e.dim(i)}...`),console.log(e.dim("Press Ctrl+C to stop"));let s=p.watch("**/.squid.yml",{cwd:i,ignored:/node_modules/,persistent:true,ignoreInitial:false}),r=null;s.on("change",o=>{r&&clearTimeout(r),r=setTimeout(async()=>{let d$1=g.join(i,o);try{let t=u.readFileSync(d$1,"utf-8"),a=await d("/api/v1/scripts/validate",{filename:o,content:t}),c=e.dim(new Date().toLocaleTimeString());a.valid?console.log(`${c} ${e.green("\u2713")} ${o} \u2014 valid`):console.log(`${c} ${e.red("\u2717")} ${o} \u2014 ${a.errors?.join(", ")||"invalid"}`);}catch(t){h(`Failed to validate ${o}: ${t instanceof Error?t.message:String(t)}`);}},500);}),s.on("add",o=>{j(`Watching ${o}`);}),await new Promise(()=>{});}export{f as default};//# sourceMappingURL=scripts-watch-A7HEOAOE.js.map
2
- //# sourceMappingURL=scripts-watch-A7HEOAOE.js.map
@@ -1,2 +0,0 @@
1
- export{d as clearSession,g as getTimeUntilExpiry,e as isSessionExpired,b as loadSession,c as saveSession,f as shouldRefreshToken}from'./chunk-2RMLR54M.js';//# sourceMappingURL=session-FBC5MGFA.js.map
2
- //# sourceMappingURL=session-FBC5MGFA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"session-FBC5MGFA.js"}
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function a(e){let i=a$1(`Cancelling request ${e.slice(0,8)}...`);i.start(),await d(`/api/v1/sign/${e}/cancel`,{},{authenticated:true}),i.succeed(),g(`Signing request ${e.slice(0,8)} cancelled`);}export{a as default};//# sourceMappingURL=sign-cancel-4YYJ2BBY.js.map
2
- //# sourceMappingURL=sign-cancel-4YYJ2BBY.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import s from'fs';import c$1 from'path';async function d(o){let n=a("Downloading signed document...");n.start();let t=await c(`/api/v1/sign/${o}/download`,{authenticated:true});n.succeed();let e=c$1.join(process.cwd(),`signed-${t.filename||`${o.slice(0,8)}.pdf`}`);s.writeFileSync(e,Buffer.from(t.content,"base64")),g(`Downloaded to ${e}`);}export{d as default};//# sourceMappingURL=sign-download-VOMT2C3C.js.map
2
- //# sourceMappingURL=sign-download-VOMT2C3C.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a}from'./chunk-THMWE2I6.js';import {b}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.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:b(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-SACY7XF3.js.map
2
- //# sourceMappingURL=sign-list-SACY7XF3.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {f as f$1,m as m$1,g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.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(),f$1()){m$1(o);return}g(`Signing request sent (${o.request_id.slice(0,8)})`);}export{l as default};//# sourceMappingURL=sign-request-PM7BZ56P.js.map
2
- //# sourceMappingURL=sign-request-PM7BZ56P.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {b}from'./chunk-FZKCZRJZ.js';import {f,m,l}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import t from'chalk';async function u(m$1){let r=a("Checking status...");r.start();let c$1=await c(`/api/v1/sign/${m$1}`,{authenticated:true});r.stop();let i=c$1.request;if(f()){m(i);return}l(""),l(` ${t.bold(i.filename)}`),l(t.dim(" \u2500\u2500\u2500".repeat(8))),l(` ${t.bold("Status:")} ${i.status==="completed"?t.green("completed"):i.status==="pending"?t.yellow("pending"):t.dim(i.status)}`),l(` ${t.bold("Created:")} ${b(i.created_at)}`),l("");for(let n of i.recipients){let l$1=n.signed?t.green("\u2713"):t.yellow("\u25CB"),p=n.signed_at?b(n.signed_at):t.dim("pending");l(` ${l$1} ${n.email} \u2014 ${p}`);}l("");}export{u as default};//# sourceMappingURL=sign-status-LRQGO2UX.js.map
2
- //# sourceMappingURL=sign-status-LRQGO2UX.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g as g$1,h}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.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-PQ7HBHTY.js.map
2
- //# sourceMappingURL=sign-verify-PQ7HBHTY.js.map
@@ -1,2 +0,0 @@
1
- import {c as c$1}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {b}from'./chunk-THMWE2I6.js';import {f,m,l}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import r from'chalk';async function c(s){let t=(await c$1(`/api/v1/sites/${s}/analytics`,{authenticated:true})).analytics;if(f()){m(t);return}if(l(""),l(r.bold(` Traffic: ${s}`)),l(r.dim(" \u2500\u2500\u2500".repeat(10))),l(` ${r.bold("Total Views:")} ${t.total_views}`),l(` ${r.bold("Unique Visitors:")} ${t.unique_visitors}`),l(""),t.top_pages?.length){l(r.bold(" Top Pages")),l(r.dim(" \u2500\u2500\u2500".repeat(8)));let a=t.top_pages.map(i=>({path:i.path,views:String(i.views)}));l(b(a,[{key:"path",label:"Page"},{key:"views",label:"Views"}]));}if(t.top_referrers?.length){l(r.bold(" Top Referrers")),l(r.dim(" \u2500\u2500\u2500".repeat(8)));let a=t.top_referrers.map(i=>({referrer:i.referrer||"(direct)",count:String(i.count)}));l(b(a,[{key:"referrer",label:"Referrer"},{key:"count",label:"Visits"}]));}l("");}export{c as default};//# sourceMappingURL=sites-analytics-J5BMYBO5.js.map
2
- //# sourceMappingURL=sites-analytics-J5BMYBO5.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {f}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.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-BYUJAMSX.js.map
2
- //# sourceMappingURL=sites-delete-BYUJAMSX.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a as a$1}from'./chunk-THMWE2I6.js';import {a,b}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import t from'chalk';async function y(l){let o=((await c(`/api/v1/sites/${l}/deploys`,{authenticated:true})).deploys||[]).map(e=>({id:t.dim(e.id.slice(0,8)),date:b(e.created_at),files:String(e.file_count),size:a(e.total_size),by:e.triggered_by,status:e.status==="success"?t.green("\u25CF"):e.status==="failed"?t.red("\u25CF"):t.yellow("\u25CB")}));console.log(a$1(o,[{key:"id",label:"Deploy"},{key:"date",label:"Date"},{key:"files",label:"Files"},{key:"size",label:"Size"},{key:"by",label:"Triggered By"},{key:"status",label:""}]));}export{y as default};//# sourceMappingURL=sites-deploys-XJQHVTET.js.map
2
- //# sourceMappingURL=sites-deploys-XJQHVTET.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {b,a}from'./chunk-FZKCZRJZ.js';import {f,m,l}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import t from'chalk';async function u(n){let i=(await c(`/api/v1/sites/${n}`,{authenticated:true})).site;if(f()){m(i);return}l(""),l(` ${t.bold(i.slug)}`),l(` ${t.dim(i.url)}`),l(`${t.dim(" \u2500\u2500\u2500".repeat(10))}`),l(` ${t.bold("Status:")} ${i.status==="active"?t.green("\u25CF active"):t.yellow("\u25CB "+i.status)}`),l(` ${t.bold("Visibility:")} ${i.visibility==="public"?t.green("public"):t.yellow("private")}`),l(` ${t.bold("Created:")} ${b(i.created_at)}`),l(` ${t.bold("Last Deploy:")} ${i.last_deploy?b(i.last_deploy):t.dim("never")}`),l(` ${t.bold("Deploys:")} ${i.deploy_count}`),l(` ${t.bold("Files:")} ${i.file_count} (${a(i.total_size)})`),l(` ${t.bold("Visitors:")} ${i.visitor_count}`),l("");}export{u as default};//# sourceMappingURL=sites-info-JBM5C5FT.js.map
2
- //# sourceMappingURL=sites-info-JBM5C5FT.js.map
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a}from'./chunk-THMWE2I6.js';import {c as c$1}from'./chunk-FZKCZRJZ.js';import'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import e from'chalk';async function o(){let r=((await c("/api/v1/sites",{authenticated:true})).sites||[]).map(i=>({slug:e.hex("#4FC3F7")(i.slug),url:e.dim(i.url),visibility:i.visibility==="public"?e.green("public"):e.yellow("private"),deployed:i.last_deploy?c$1(i.last_deploy):e.dim("never"),files:String(i.file_count??"-"),visitors:String(i.visitors??"-")}));console.log(a(r,[{key:"slug",label:"Site"},{key:"url",label:"URL"},{key:"visibility",label:"Visibility"},{key:"deployed",label:"Last Deploy"},{key:"files",label:"Files"},{key:"visitors",label:"Visitors"}]));}export{o as default};//# sourceMappingURL=sites-list-4AIOO76P.js.map
2
- //# sourceMappingURL=sites-list-4AIOO76P.js.map
@@ -1,3 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {j}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import a from'open';async function r(t){let i=(await c(`/api/v1/sites/${t}`,{authenticated:true})).site.url||`https://squidcloud.vercel.app/sites/${t}`;j(`Opening ${i}...`),await a(i);}
2
- export{r as default};//# sourceMappingURL=sites-open-QJOKIMGM.js.map
3
- //# sourceMappingURL=sites-open-QJOKIMGM.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function c(e){let r=a(`Purging CDN cache for ${e}...`);r.start(),await d(`/api/v1/sites/${e}/purge`,{},{authenticated:true}),r.succeed(),g(`CDN cache purged for ${e}`);}export{c as default};//# sourceMappingURL=sites-purge-GXD673E2.js.map
2
- //# sourceMappingURL=sites-purge-GXD673E2.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.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-BTQZRAVA.js.map
2
- //# sourceMappingURL=sites-rename-BTQZRAVA.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {c,d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {b}from'./chunk-FZKCZRJZ.js';import {l,g as g$1}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import b$1 from'inquirer';import g from'chalk';async function u(t,d$1){let s=a("Fetching deploy history...");s.start();let m=await c(`/api/v1/sites/${t}/deploys`,{authenticated:true});s.stop();let e=d$1?.to;if(!e){l(""),l(g.bold(` Select a deployment to roll back to for ${t}:`)),l("");let y=m.deploys.slice(0,10).map(o=>({name:`${b(o.created_at)} \u2014 ${o.file_count} files \u2014 ${o.triggered_by}`,value:o.id})),{selected:f}=await b$1.prompt([{type:"list",name:"selected",message:"Choose deployment:",choices:y}]);e=f;}e||(console.error("No deployment selected"),process.exit(1));let a$1=a(`Rolling back ${t} to ${e.slice(0,8)}...`);a$1.start(),await d(`/api/v1/sites/${t}/rollback`,{deploy_id:e},{authenticated:true}),a$1.succeed(),g$1(`Site ${t} rolled back to deployment ${e.slice(0,8)}`);}export{u as default};//# sourceMappingURL=sites-rollback-LZUUU4ZU.js.map
2
- //# sourceMappingURL=sites-rollback-LZUUU4ZU.js.map
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.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-IB7BTNJC.js.map
2
- //# sourceMappingURL=sites-unpublish-IB7BTNJC.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.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-I7PIUX4B.js.map
2
- //# sourceMappingURL=sites-visibility-I7PIUX4B.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {l}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function i(t){let o=a(`Fetching ${t}...`);o.start();let a$1=await c(`/api/v1/storage/cat?path=${encodeURIComponent(t)}`,{authenticated:true});o.stop(),l(a$1.content);}export{i as default};//# sourceMappingURL=storage-cat-CFOIZEJS.js.map
2
- //# sourceMappingURL=storage-cat-CFOIZEJS.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {a as a$1}from'./chunk-FZKCZRJZ.js';import {f,m as m$1,g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function m(){let r=a("Scanning for orphaned files...");r.start();let e=await d("/api/v1/storage/clean",{orphaned:true},{authenticated:true});if(r.succeed(),f()){m$1(e);return}g(`Cleaned ${e.deleted} orphaned files (${a$1(e.freed_bytes)})`);}export{m as default};//# sourceMappingURL=storage-clean-6EN2KMOC.js.map
2
- //# sourceMappingURL=storage-clean-6EN2KMOC.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {d}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';async function e(t,i){let o=a(`Copying ${t} \u2192 ${i}...`);o.start(),await d("/api/v1/storage/copy",{source:t,destination:i},{authenticated:true}),o.succeed(),g(`Copied ${t} \u2192 ${i}`);}export{e as default};//# sourceMappingURL=storage-cp-SCF3CFS2.js.map
2
- //# sourceMappingURL=storage-cp-SCF3CFS2.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import {c as c$1}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import'./chunk-THMWE2I6.js';import {l}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import y from'fs';import c from'path';import {createHash}from'crypto';import o from'chalk';async function S(v,w){let g=a("Computing diff...");g.start();let m=c.resolve(v),l$1=new Map;function p(e,a){let F=y.readdirSync(e,{withFileTypes:true});for(let s of F){let h=c.join(e,s.name),k=c.relative(a,h);if(!(s.name.startsWith(".")||s.name==="node_modules")){if(s.isDirectory())p(h,a);else if(s.isFile()){let C=createHash("sha256").update(y.readFileSync(h)).digest("hex");l$1.set(k,C);}}}}p(m,m);let $=await c$1(`/api/v1/storage/ls-recursive?path=${encodeURIComponent(w)}`,{authenticated:true}),f=new Map(($.files||[]).map(e=>[e.path,e.hash]));g.stop();let n=[],r=[],i=[];for(let[e,a]of l$1)f.has(e)?f.get(e)!==a&&i.push(e):n.push(e);for(let e of f.keys())l$1.has(e)||r.push(e);l(""),n.length===0&&r.length===0&&i.length===0?l(` ${o.green("\u2713 Identical \u2014 no changes")}`):(n.length>0&&(l(o.green(` + ${n.length} to upload`)),n.forEach(e=>l(o.green(` + ${e}`)))),i.length>0&&(l(o.yellow(` ~ ${i.length} modified`)),i.forEach(e=>l(o.yellow(` ~ ${e}`)))),r.length>0&&(l(o.red(` - ${r.length} to delete`)),r.forEach(e=>l(o.red(` - ${e}`))))),l("");}export{S as default};//# sourceMappingURL=storage-diff-MYW5AM3C.js.map
2
- //# sourceMappingURL=storage-diff-MYW5AM3C.js.map
@@ -1,3 +0,0 @@
1
- import {a}from'./chunk-PSJQAIDB.js';import'./chunk-THMWE2I6.js';import {a as a$1}from'./chunk-FZKCZRJZ.js';import {g}from'./chunk-QT7R3AXE.js';import d from'fs';import r from'path';import b from'cli-progress';import v from'chalk';async function C(a$2,l){let n=l?r.resolve(l):r.resolve(".",r.basename(a$2)),e=a(`Downloading ${a$2}...`);e.start();let o=await fetch(`https://squidcloud.vercel.app/api/v1/storage/download?path=${encodeURIComponent(a$2)}`,{headers:{Authorization:`Bearer ${(await import('./session-FBC5MGFA.js')).loadSession().then(c=>c?.access_token||"")}`}}),p=o.headers.get("content-length"),t=p?parseInt(p,10):0;(!o.ok||!o.body)&&(e.fail(),console.error("Download failed"),process.exit(1));let m=r.dirname(n);d.existsSync(m)||d.mkdirSync(m,{recursive:true});let f=d.createWriteStream(n),S=o.body.getReader(),s=0,i=new b.SingleBar({format:`${v.hex("#7C4DFF")("\u25B8")} Downloading |${v.hex("#7C4DFF")("{bar}")}| {percentage}% | {value}/{total}`,barCompleteChar:"\u2588",barIncompleteChar:"\u2591",hideCursor:true});for(t>0?i.start(t,0):e.stop();;){let{done:c,value:h}=await S.read();if(c)break;f.write(Buffer.from(h)),s+=h.length,t>0&&i.update(s);}f.end(),t>0?i.stop():e.succeed(),g(`Downloaded to ${n} (${a$1(s)})`);}
2
- export{C as default};//# sourceMappingURL=storage-download-6EQJJ7SO.js.map
3
- //# sourceMappingURL=storage-download-6EQJJ7SO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/storage/storage-download.ts"],"names":["storageDownload","remote","local","localPath","path","spinner","createSpinner","response","s","contentLength","total","dir","fs","writer","reader","downloaded","progressBar","cliProgress","chalk","done","value","logSuccess","formatBytes"],"mappings":"sOAUA,eAAOA,EAAuCC,GAAAA,CAAgBC,CAAAA,CAA+B,CAC3F,IAAMC,CAAAA,CAAYD,CAAAA,CAAQE,EAAK,OAAA,CAAQF,CAAK,CAAA,CAAIE,CAAAA,CAAK,OAAA,CAAQ,GAAA,CAAKA,EAAK,QAAA,CAASH,GAAM,CAAC,CAAA,CAEjFI,CAAAA,CAAUC,CAAAA,CAAc,eAAeL,GAAM,CAAA,GAAA,CAAK,CAAA,CACxDI,CAAAA,CAAQ,KAAA,EAAM,CAEd,IAAME,CAAAA,CAAW,MAAM,KAAA,CACrB,CAAA,2DAAA,EAA8D,kBAAA,CAAmBN,GAAM,CAAC,CAAA,CAAA,CACxF,CACE,OAAA,CAAS,CAAE,aAAA,CAAe,CAAA,OAAA,EAAA,CAAW,MAAM,OAAO,uBAA2B,CAAA,EAAG,WAAA,EAAY,CAAE,IAAA,CAAKO,GAAKA,CAAAA,EAAG,YAAA,EAAgB,EAAE,CAAC,CAAA,CAAG,CACnI,CACF,CAAA,CACMC,CAAAA,CAAgBF,CAAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,gBAAgB,EACrDG,CAAAA,CAAQD,CAAAA,CAAgB,QAAA,CAASA,CAAAA,CAAe,EAAE,CAAA,CAAI,GAExD,CAACF,CAAAA,CAAS,EAAA,EAAM,CAACA,CAAAA,CAAS,IAAA,IAC5BF,EAAQ,IAAA,EAAK,CACb,OAAA,CAAQ,KAAA,CAAM,iBAAiB,CAAA,CAC/B,QAAQ,IAAA,CAAK,CAAC,CAAA,CAAA,CAGhB,IAAMM,CAAAA,CAAMP,CAAAA,CAAK,OAAA,CAAQD,CAAS,CAAA,CAC7BS,CAAAA,CAAG,UAAA,CAAWD,CAAG,CAAA,EACpBC,CAAAA,CAAG,UAAUD,CAAAA,CAAK,CAAE,SAAA,CAAW,IAAK,CAAC,CAAA,CAGvC,IAAME,CAAAA,CAASD,CAAAA,CAAG,iBAAA,CAAkBT,CAAS,CAAA,CACvCW,CAAAA,CAASP,EAAS,IAAA,CAAK,SAAA,EAAU,CACnCQ,CAAAA,CAAa,CAAA,CAEXC,CAAAA,CAAc,IAAIC,CAAAA,CAAY,SAAA,CAAU,CAC5C,MAAA,CAAQ,CAAA,EAAGC,CAAAA,CAAM,IAAI,SAAS,CAAA,CAAE,QAAG,CAAC,CAAA,cAAA,EAAiBA,CAAAA,CAAM,IAAI,SAAS,CAAA,CAAE,OAAO,CAAC,CAAA,iCAAA,CAAA,CAClF,eAAA,CAAiB,SACjB,iBAAA,CAAmB,QAAA,CACnB,UAAA,CAAY,IACd,CAAC,CAAA,CAQD,IANIR,CAAAA,CAAQ,CAAA,CACVM,CAAAA,CAAY,KAAA,CAAMN,CAAAA,CAAO,CAAC,EAE1BL,CAAAA,CAAQ,IAAA,EAAK,GAGF,CACX,GAAM,CAAE,KAAAc,CAAAA,CAAM,KAAA,CAAAC,CAAM,CAAA,CAAI,MAAMN,CAAAA,CAAO,MAAK,CAC1C,GAAIK,CAAAA,CAAM,MACVN,CAAAA,CAAO,KAAA,CAAM,OAAO,IAAA,CAAKO,CAAK,CAAC,CAAA,CAC/BL,CAAAA,EAAcK,CAAAA,CAAM,OAChBV,CAAAA,CAAQ,CAAA,EACVM,CAAAA,CAAY,MAAA,CAAOD,CAAU,EAEjC,CAEAF,CAAAA,CAAO,GAAA,EAAI,CACPH,CAAAA,CAAQ,CAAA,CAAGM,CAAAA,CAAY,MAAK,CAC3BX,CAAAA,CAAQ,OAAA,EAAQ,CAErBgB,CAAAA,CAAW,CAAA,cAAA,EAAiBlB,CAAS,CAAA,EAAA,EAAKmB,GAAAA,CAAYP,CAAU,CAAC,CAAA,CAAA,CAAG,EACtE","file":"storage-download-6EQJJ7SO.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logJSON, logInfo } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatBytes } from '../../lib/utils/format.js'\nimport cliProgress from 'cli-progress'\nimport chalk from 'chalk'\n\nexport default async function storageDownload(remote: string, local?: string): Promise<void> {\n const localPath = local ? path.resolve(local) : path.resolve('.', path.basename(remote))\n\n const spinner = createSpinner(`Downloading ${remote}...`)\n spinner.start()\n\n const response = await fetch(\n `https://squidcloud.vercel.app/api/v1/storage/download?path=${encodeURIComponent(remote)}`,\n {\n headers: { Authorization: `Bearer ${(await import('../../lib/auth/session.js')).loadSession().then(s => s?.access_token || '')}` },\n }\n )\n const contentLength = response.headers.get('content-length')\n const total = contentLength ? parseInt(contentLength, 10) : 0\n\n if (!response.ok || !response.body) {\n spinner.fail()\n console.error('Download failed')\n process.exit(1)\n }\n\n const dir = path.dirname(localPath)\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true })\n }\n\n const writer = fs.createWriteStream(localPath)\n const reader = response.body.getReader()\n let downloaded = 0\n\n const progressBar = new cliProgress.SingleBar({\n format: `${chalk.hex('#7C4DFF')('▸')} Downloading |${chalk.hex('#7C4DFF')('{bar}')}| {percentage}% | {value}/{total}`,\n barCompleteChar: '█',\n barIncompleteChar: '░',\n hideCursor: true,\n })\n\n if (total > 0) {\n progressBar.start(total, 0)\n } else {\n spinner.stop()\n }\n\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n writer.write(Buffer.from(value))\n downloaded += value.length\n if (total > 0) {\n progressBar.update(downloaded)\n }\n }\n\n writer.end()\n if (total > 0) progressBar.stop()\n else spinner.succeed()\n\n logSuccess(`Downloaded to ${localPath} (${formatBytes(downloaded)})`)\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {c}from'./chunk-6DKUVFZF.js';import'./chunk-NDB6KXYI.js';import'./chunk-Z74H5ACJ.js';import {a,b}from'./chunk-FZKCZRJZ.js';import {f,m as m$1,l}from'./chunk-QT7R3AXE.js';import'./chunk-2RMLR54M.js';import e from'chalk';async function m(r){let o=(await c(`/api/v1/storage/info?path=${encodeURIComponent(r)}`,{authenticated:true})).file;if(f()){m$1(o);return}l(""),l(` ${e.bold(o.name)}`),l(e.dim(" \u2500\u2500\u2500".repeat(10))),l(` ${e.bold("Size:")} ${a(o.size)}`),l(` ${e.bold("Type:")} ${o.mime_type}`),l(` ${e.bold("Hash:")} ${e.dim(o.content_hash?.slice(0,16)||"-")}`),l(` ${e.bold("Created:")} ${b(o.created_at)}`),l(` ${e.bold("Modified:")} ${b(o.updated_at)}`),l(` ${e.bold("Tags:")} ${o.tags?.length?o.tags.join(", "):e.dim("none")}`),l(` ${e.bold("Shared:")} ${o.shared?e.green("yes"):e.dim("no")}`),l(` ${e.bold("Published:")} ${o.published?e.green("yes"):e.dim("no")}`),l(` ${e.bold("Scan:")} ${o.scan_status||e.dim("pending")}`),l("");}export{m as default};//# sourceMappingURL=storage-info-BV7VXGTF.js.map
2
- //# sourceMappingURL=storage-info-BV7VXGTF.js.map