squidcloudctl 1.2.0 → 3.0.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.
- package/README.md +72 -0
- package/dist/auth-revoke-LTTGYMMO.js +2 -0
- package/dist/auth-revoke-LTTGYMMO.js.map +1 -0
- package/dist/auth-sessions-ZVZIABS6.js +2 -0
- package/dist/auth-sessions-ZVZIABS6.js.map +1 -0
- package/dist/auth-status-X4HCOXHF.js +2 -0
- package/dist/auth-status-X4HCOXHF.js.map +1 -0
- package/dist/bin/squidcloud.js +189 -3
- package/dist/bin/squidcloud.js.map +1 -1
- package/dist/chunk-2RAH2YAY.js +6 -0
- package/dist/chunk-2RAH2YAY.js.map +1 -0
- package/dist/chunk-3E23ZFCV.js +2 -0
- package/dist/chunk-3E23ZFCV.js.map +1 -0
- package/dist/chunk-3JD6INFN.js +2 -0
- package/dist/chunk-3JD6INFN.js.map +1 -0
- package/dist/chunk-3XXAN3BP.js +2 -0
- package/dist/chunk-3XXAN3BP.js.map +1 -0
- package/dist/chunk-43FK57CR.js +2 -0
- package/dist/chunk-43FK57CR.js.map +1 -0
- package/dist/chunk-4625KLCT.js +2 -0
- package/dist/chunk-4625KLCT.js.map +1 -0
- package/dist/chunk-4EBJSKII.js +2 -0
- package/dist/chunk-4EBJSKII.js.map +1 -0
- package/dist/chunk-4FZZ3I76.js +3 -0
- package/dist/chunk-4FZZ3I76.js.map +1 -0
- package/dist/chunk-4GV6L47P.js +2 -0
- package/dist/chunk-4GV6L47P.js.map +1 -0
- package/dist/chunk-4VH6P4GC.js +2 -0
- package/dist/chunk-4VH6P4GC.js.map +1 -0
- package/dist/chunk-4VMT6FXR.js +2 -0
- package/dist/chunk-4VMT6FXR.js.map +1 -0
- package/dist/chunk-5JWZKMAI.js +2 -0
- package/dist/chunk-5JWZKMAI.js.map +1 -0
- package/dist/chunk-5TYVWTHC.js +2 -0
- package/dist/chunk-5TYVWTHC.js.map +1 -0
- package/dist/chunk-5XSOEZ7F.js +2 -0
- package/dist/chunk-5XSOEZ7F.js.map +1 -0
- package/dist/chunk-632C2FZM.js +2 -0
- package/dist/chunk-632C2FZM.js.map +1 -0
- package/dist/chunk-6IXURJIU.js +2 -0
- package/dist/chunk-6IXURJIU.js.map +1 -0
- package/dist/chunk-6LLJ6P3U.js +2 -0
- package/dist/chunk-6LLJ6P3U.js.map +1 -0
- package/dist/chunk-7JVXW7C4.js +2 -0
- package/dist/chunk-7JVXW7C4.js.map +1 -0
- package/dist/chunk-7TMB3QXF.js +2 -0
- package/dist/chunk-7TMB3QXF.js.map +1 -0
- package/dist/chunk-ADVALEDT.js +2 -0
- package/dist/chunk-ADVALEDT.js.map +1 -0
- package/dist/chunk-AN6SA3TI.js +2 -0
- package/dist/chunk-AN6SA3TI.js.map +1 -0
- package/dist/chunk-AZ4774YQ.js +2 -0
- package/dist/chunk-AZ4774YQ.js.map +1 -0
- package/dist/chunk-BDRSOUY3.js +2 -0
- package/dist/chunk-BDRSOUY3.js.map +1 -0
- package/dist/chunk-BDUD2TSS.js +2 -0
- package/dist/chunk-BDUD2TSS.js.map +1 -0
- package/dist/chunk-BGOM6C6D.js +2 -0
- package/dist/chunk-BGOM6C6D.js.map +1 -0
- package/dist/chunk-BUG4O26P.js +2 -0
- package/dist/chunk-BUG4O26P.js.map +1 -0
- package/dist/chunk-BUKRJMQ5.js +2 -0
- package/dist/chunk-BUKRJMQ5.js.map +1 -0
- package/dist/chunk-C7M6KZGB.js +2 -0
- package/dist/chunk-C7M6KZGB.js.map +1 -0
- package/dist/chunk-CFZZRV3Z.js +2 -0
- package/dist/chunk-CFZZRV3Z.js.map +1 -0
- package/dist/chunk-CRT5ANG2.js +2 -0
- package/dist/chunk-CRT5ANG2.js.map +1 -0
- package/dist/chunk-E26CRSCS.js +2 -0
- package/dist/chunk-E26CRSCS.js.map +1 -0
- package/dist/chunk-E5PJTTE5.js +2 -0
- package/dist/chunk-E5PJTTE5.js.map +1 -0
- package/dist/chunk-E6UJ45WU.js +2 -0
- package/dist/chunk-E6UJ45WU.js.map +1 -0
- package/dist/chunk-EDD2NCQT.js +2 -0
- package/dist/chunk-EDD2NCQT.js.map +1 -0
- package/dist/chunk-FJ5D3ELC.js +2 -0
- package/dist/chunk-FJ5D3ELC.js.map +1 -0
- package/dist/chunk-GFTSNOCG.js +5 -0
- package/dist/chunk-GFTSNOCG.js.map +1 -0
- package/dist/chunk-GMKCZ2PB.js +2 -0
- package/dist/chunk-GMKCZ2PB.js.map +1 -0
- package/dist/chunk-GRZ7FAK4.js +2 -0
- package/dist/chunk-GRZ7FAK4.js.map +1 -0
- package/dist/chunk-GVYPGCEO.js +2 -0
- package/dist/chunk-GVYPGCEO.js.map +1 -0
- package/dist/chunk-H3FD4YYC.js +2 -0
- package/dist/chunk-H3FD4YYC.js.map +1 -0
- package/dist/chunk-I3DVKNFK.js +2 -0
- package/dist/chunk-I3DVKNFK.js.map +1 -0
- package/dist/chunk-IER3WJEG.js +2 -0
- package/dist/chunk-IER3WJEG.js.map +1 -0
- package/dist/chunk-J5MM66CO.js +2 -0
- package/dist/chunk-J5MM66CO.js.map +1 -0
- package/dist/chunk-K4UZNQFC.js +2 -0
- package/dist/chunk-K4UZNQFC.js.map +1 -0
- package/dist/chunk-KJIMUYAU.js +2 -0
- package/dist/chunk-KJIMUYAU.js.map +1 -0
- package/dist/chunk-KLPKNHXU.js +2 -0
- package/dist/chunk-KLPKNHXU.js.map +1 -0
- package/dist/chunk-KQE3YLI3.js +2 -0
- package/dist/chunk-KQE3YLI3.js.map +1 -0
- package/dist/chunk-KZ7RBLQY.js +2 -0
- package/dist/chunk-KZ7RBLQY.js.map +1 -0
- package/dist/chunk-LDYPQMLZ.js +2 -0
- package/dist/chunk-LDYPQMLZ.js.map +1 -0
- package/dist/chunk-LFPHETWG.js +2 -0
- package/dist/chunk-LFPHETWG.js.map +1 -0
- package/dist/chunk-M6RN7Y3S.js +2 -0
- package/dist/chunk-M6RN7Y3S.js.map +1 -0
- package/dist/chunk-N6QOCJDY.js +2 -0
- package/dist/chunk-N6QOCJDY.js.map +1 -0
- package/dist/chunk-NB4OO3VK.js +2 -0
- package/dist/chunk-NB4OO3VK.js.map +1 -0
- package/dist/chunk-NJC4W2S6.js +2 -0
- package/dist/chunk-NJC4W2S6.js.map +1 -0
- package/dist/chunk-NJCALUUB.js +2 -0
- package/dist/chunk-NJCALUUB.js.map +1 -0
- package/dist/chunk-NS5IBNC2.js +2 -0
- package/dist/chunk-NS5IBNC2.js.map +1 -0
- package/dist/chunk-OCDE2G25.js +2 -0
- package/dist/chunk-OCDE2G25.js.map +1 -0
- package/dist/chunk-OEURGJIH.js +2 -0
- package/dist/chunk-OEURGJIH.js.map +1 -0
- package/dist/chunk-OPZJKTOV.js +2 -0
- package/dist/chunk-OPZJKTOV.js.map +1 -0
- package/dist/{chunk-N3AD2QRA.js → chunk-OSI5H2T5.js} +2 -2
- package/dist/chunk-OSI5H2T5.js.map +1 -0
- package/dist/chunk-OXJ6DOWC.js +2 -0
- package/dist/chunk-OXJ6DOWC.js.map +1 -0
- package/dist/chunk-P42LDK4T.js +2 -0
- package/dist/chunk-P42LDK4T.js.map +1 -0
- package/dist/chunk-PGDN5F2F.js +2 -0
- package/dist/chunk-PGDN5F2F.js.map +1 -0
- package/dist/chunk-PVZ4PRGM.js +2 -0
- package/dist/chunk-PVZ4PRGM.js.map +1 -0
- package/dist/chunk-QCDCTQU5.js +2 -0
- package/dist/chunk-QCDCTQU5.js.map +1 -0
- package/dist/chunk-QEG6LP5X.js +2 -0
- package/dist/chunk-QEG6LP5X.js.map +1 -0
- package/dist/chunk-QF3NWEHO.js +2 -0
- package/dist/chunk-QF3NWEHO.js.map +1 -0
- package/dist/chunk-QLLHU2RS.js +2 -0
- package/dist/chunk-QLLHU2RS.js.map +1 -0
- package/dist/chunk-R2PV6TY4.js +2 -0
- package/dist/chunk-R2PV6TY4.js.map +1 -0
- package/dist/chunk-RREABTVT.js +2 -0
- package/dist/chunk-RREABTVT.js.map +1 -0
- package/dist/chunk-RRGGKRRS.js +2 -0
- package/dist/chunk-RRGGKRRS.js.map +1 -0
- package/dist/chunk-RYEKRFP5.js +2 -0
- package/dist/chunk-RYEKRFP5.js.map +1 -0
- package/dist/chunk-SBNM6EQO.js +2 -0
- package/dist/chunk-SBNM6EQO.js.map +1 -0
- package/dist/chunk-T6VFW2SW.js +2 -0
- package/dist/chunk-T6VFW2SW.js.map +1 -0
- package/dist/chunk-TAS2JGNI.js +2 -0
- package/dist/chunk-TAS2JGNI.js.map +1 -0
- package/dist/chunk-UO2SSIIZ.js +3 -0
- package/dist/chunk-UO2SSIIZ.js.map +1 -0
- package/dist/chunk-UYERZEPM.js +2 -0
- package/dist/chunk-UYERZEPM.js.map +1 -0
- package/dist/chunk-V3UZYH25.js +2 -0
- package/dist/chunk-V3UZYH25.js.map +1 -0
- package/dist/chunk-VBOLWWMB.js +2 -0
- package/dist/chunk-VBOLWWMB.js.map +1 -0
- package/dist/chunk-VDWSP3BD.js +3 -0
- package/dist/chunk-VDWSP3BD.js.map +1 -0
- package/dist/chunk-VPEATOB2.js +2 -0
- package/dist/chunk-VPEATOB2.js.map +1 -0
- package/dist/chunk-VXPI52BF.js +2 -0
- package/dist/chunk-VXPI52BF.js.map +1 -0
- package/dist/chunk-WOMYFCVM.js +2 -0
- package/dist/chunk-WOMYFCVM.js.map +1 -0
- package/dist/chunk-WVCLY4PF.js +2 -0
- package/dist/chunk-WVCLY4PF.js.map +1 -0
- package/dist/chunk-WVS5JOCE.js +2 -0
- package/dist/chunk-WVS5JOCE.js.map +1 -0
- package/dist/chunk-X33BC54Z.js +2 -0
- package/dist/chunk-X33BC54Z.js.map +1 -0
- package/dist/chunk-XHGWAAJS.js +2 -0
- package/dist/chunk-XHGWAAJS.js.map +1 -0
- package/dist/chunk-XJTNICPE.js +2 -0
- package/dist/chunk-XJTNICPE.js.map +1 -0
- package/dist/chunk-YBKX6Q3Q.js +2 -0
- package/dist/chunk-YBKX6Q3Q.js.map +1 -0
- package/dist/chunk-YE2FF227.js +2 -0
- package/dist/chunk-YE2FF227.js.map +1 -0
- package/dist/chunk-YMTB3NHI.js +2 -0
- package/dist/chunk-YMTB3NHI.js.map +1 -0
- package/dist/chunk-YQQMT67S.js +2 -0
- package/dist/chunk-YQQMT67S.js.map +1 -0
- package/dist/chunk-YRSMMECJ.js +2 -0
- package/dist/chunk-YRSMMECJ.js.map +1 -0
- package/dist/chunk-Z4BTW3UI.js +2 -0
- package/dist/chunk-Z4BTW3UI.js.map +1 -0
- package/dist/chunk-ZGBTOZ7M.js +2 -0
- package/dist/chunk-ZGBTOZ7M.js.map +1 -0
- package/dist/chunk-ZQ2OIVG3.js +2 -0
- package/dist/chunk-ZQ2OIVG3.js.map +1 -0
- package/dist/chunk-ZXNTK3KX.js +2 -0
- package/dist/chunk-ZXNTK3KX.js.map +1 -0
- package/dist/chunk-ZY4RVPTF.js +2 -0
- package/dist/chunk-ZY4RVPTF.js.map +1 -0
- package/dist/chunk-ZZSRCXWK.js +2 -0
- package/dist/chunk-ZZSRCXWK.js.map +1 -0
- package/dist/collab-activity-R6AYISVI.js +2 -0
- package/dist/collab-activity-R6AYISVI.js.map +1 -0
- package/dist/collab-invite-TUWJGMNS.js +2 -0
- package/dist/collab-invite-TUWJGMNS.js.map +1 -0
- package/dist/collab-leave-GRSWXTOP.js +2 -0
- package/dist/collab-leave-GRSWXTOP.js.map +1 -0
- package/dist/collab-list-ZKZTNIGX.js +2 -0
- package/dist/collab-list-ZKZTNIGX.js.map +1 -0
- package/dist/collab-remove-2HYNLLLX.js +2 -0
- package/dist/collab-remove-2HYNLLLX.js.map +1 -0
- package/dist/collab-transfer-HC5KHBV5.js +2 -0
- package/dist/collab-transfer-HC5KHBV5.js.map +1 -0
- package/dist/commands/auth/auth-status.js +29 -0
- package/dist/commands/auth/index.js +2 -0
- package/dist/commands/auth/index.js.map +1 -0
- package/dist/commands/auth/login-device.js +70 -0
- package/dist/commands/auth/login-oauth.js +81 -0
- package/dist/commands/auth/logout.js +23 -0
- package/dist/commands/auth/whoami.js +21 -0
- package/dist/commands/collab/index.js +2 -0
- package/dist/commands/collab/index.js.map +1 -0
- package/dist/commands/deploy/index.js +2 -0
- package/dist/commands/deploy/index.js.map +1 -0
- package/dist/commands/filereq/client.js +37 -0
- package/dist/commands/filereq/create.js +36 -0
- package/dist/commands/filereq/delete.js +18 -0
- package/dist/commands/filereq/list.js +17 -0
- package/dist/commands/filereq/submissions.js +29 -0
- package/dist/commands/files/download.js +23 -0
- package/dist/commands/files/list.js +33 -0
- package/dist/commands/files/upload.js +57 -0
- package/dist/commands/forms/index.js +2 -0
- package/dist/commands/forms/index.js.map +1 -0
- package/dist/commands/fs/binary.js +110 -0
- package/dist/commands/fs/mount.js +46 -0
- package/dist/commands/fs/status.js +18 -0
- package/dist/commands/fs/stop.js +19 -0
- package/dist/commands/fs/webdav.js +1 -0
- package/dist/commands/health.js +20 -0
- package/dist/commands/host/api.js +186 -0
- package/dist/commands/host/keys.js +63 -0
- package/dist/commands/host/status.js +15 -0
- package/dist/commands/host/stop.js +19 -0
- package/dist/commands/logs/index.js +2 -0
- package/dist/commands/logs/index.js.map +1 -0
- package/dist/commands/monitor/index.js +2 -0
- package/dist/commands/monitor/index.js.map +1 -0
- package/dist/commands/scripts/index.js +2 -0
- package/dist/commands/scripts/index.js.map +1 -0
- package/dist/commands/secrets/list.js +14 -0
- package/dist/commands/secrets/secrets-create.js +28 -0
- package/dist/commands/secrets/secrets-delete.js +9 -0
- package/dist/commands/secrets/secrets-list.js +1 -0
- package/dist/commands/secrets/secrets-rename.js +9 -0
- package/dist/commands/secrets/secrets-verify.js +16 -0
- package/dist/commands/share/create.js +34 -0
- package/dist/commands/sign/index.js +2 -0
- package/dist/commands/sign/index.js.map +1 -0
- package/dist/commands/sites/client.js +20 -0
- package/dist/commands/sites/index.js +2 -0
- package/dist/commands/sites/index.js.map +1 -0
- package/dist/commands/sites/list.js +18 -0
- package/dist/commands/sites/open.js +12 -0
- package/dist/commands/sites/unpublish.js +32 -0
- package/dist/commands/sites/visibility.js +16 -0
- package/dist/commands/storage/commands.js +114 -0
- package/dist/commands/storage/folders-create.js +15 -0
- package/dist/commands/storage/folders-helpers.js +8 -0
- package/dist/commands/storage/folders-list.js +14 -0
- package/dist/commands/storage/index.js +2 -0
- package/dist/commands/storage/index.js.map +1 -0
- package/dist/commands/storage/storage-cp.js +1 -0
- package/dist/commands/storage/storage-download.js +1 -0
- package/dist/commands/storage/storage-info.js +1 -0
- package/dist/commands/storage/storage-ls.js +1 -0
- package/dist/commands/storage/storage-mkdir.js +15 -0
- package/dist/commands/storage/storage-mv.js +1 -0
- package/dist/commands/storage/storage-rm.js +1 -0
- package/dist/commands/storage/storage-search.js +1 -0
- package/dist/commands/storage/storage-upload.js +1 -0
- package/dist/commands/time/index.js +2 -0
- package/dist/commands/time/index.js.map +1 -0
- package/dist/commands/util/index.js +2 -0
- package/dist/commands/util/index.js.map +1 -0
- package/dist/commands/util/version.js +16 -0
- package/dist/completion-DY4JRFCG.js +2 -0
- package/dist/completion-DY4JRFCG.js.map +1 -0
- package/dist/config-GGD4POJI.js +2 -0
- package/dist/{config-PL34OPDL.js.map → config-GGD4POJI.js.map} +1 -1
- package/dist/config-delete-K42TE5KR.js +2 -0
- package/dist/config-delete-K42TE5KR.js.map +1 -0
- package/dist/config-get-7BFP6F4Q.js +2 -0
- package/dist/config-get-7BFP6F4Q.js.map +1 -0
- package/dist/config-reset-BIGP2K2H.js +2 -0
- package/dist/config-reset-BIGP2K2H.js.map +1 -0
- package/dist/config-set-C6PZ3J6Q.js +2 -0
- package/dist/config-set-C6PZ3J6Q.js.map +1 -0
- package/dist/create-G6YH4DLB.js +2 -0
- package/dist/create-G6YH4DLB.js.map +1 -0
- package/dist/create-GMSJQNJC.js +2 -0
- package/dist/create-GMSJQNJC.js.map +1 -0
- package/dist/credits-6PQPN6AJ.js +2 -0
- package/dist/credits-6PQPN6AJ.js.map +1 -0
- package/dist/doctor-WVBOVEGI.js +2 -0
- package/dist/doctor-WVBOVEGI.js.map +1 -0
- package/dist/download-C3JFSCQ4.js +2 -0
- package/dist/download-C3JFSCQ4.js.map +1 -0
- package/dist/feedback-A522XU46.js +2 -0
- package/dist/feedback-A522XU46.js.map +1 -0
- package/dist/forms-clear-OVSVO22O.js +2 -0
- package/dist/forms-clear-OVSVO22O.js.map +1 -0
- package/dist/forms-create-BLNCFEXX.js +2 -0
- package/dist/forms-create-BLNCFEXX.js.map +1 -0
- package/dist/forms-delete-DS2YSDUQ.js +2 -0
- package/dist/forms-delete-DS2YSDUQ.js.map +1 -0
- package/dist/forms-embed-WIFFAJZZ.js +2 -0
- package/dist/forms-embed-WIFFAJZZ.js.map +1 -0
- package/dist/forms-export-FQQI7SV2.js +2 -0
- package/dist/forms-export-FQQI7SV2.js.map +1 -0
- package/dist/forms-info-QXGLAQBN.js +2 -0
- package/dist/forms-info-QXGLAQBN.js.map +1 -0
- package/dist/forms-list-2CNVSPKA.js +2 -0
- package/dist/forms-list-2CNVSPKA.js.map +1 -0
- package/dist/forms-submissions-Q3FV3AC3.js +2 -0
- package/dist/forms-submissions-Q3FV3AC3.js.map +1 -0
- package/dist/health-Q5OYY2QY.js +2 -0
- package/dist/health-Q5OYY2QY.js.map +1 -0
- package/dist/lib/api/cert-pin.js +28 -0
- package/dist/lib/api/client.js +132 -0
- package/dist/lib/api/index.js +1 -0
- package/dist/lib/api/index.js.map +1 -0
- package/dist/lib/api/upload-res54.js +104 -0
- package/dist/lib/auth/constants.js +6 -0
- package/dist/lib/auth/fingerprint.js +39 -0
- package/dist/lib/auth/index.js +5 -0
- package/dist/lib/auth/index.js.map +1 -0
- package/dist/lib/auth/keychain.js +56 -0
- package/dist/lib/auth/oauth-session.js +89 -0
- package/dist/lib/auth/refresh.js +93 -0
- package/dist/lib/auth/session.js +34 -0
- package/dist/lib/auth/ssp-handshake.js +72 -0
- package/dist/lib/crypto/encrypt-file.js +64 -0
- package/dist/lib/crypto/index.js +2 -0
- package/dist/lib/crypto/index.js.map +1 -0
- package/dist/lib/crypto/sanitize.js +19 -0
- package/dist/lib/crypto/ssp.js +80 -0
- package/dist/lib/deploy/allowlist.js +16 -0
- package/dist/lib/deploy/detector.js +53 -0
- package/dist/lib/deploy/index.js +2 -0
- package/dist/lib/deploy/index.js.map +1 -0
- package/dist/lib/forms/index.js +1 -0
- package/dist/lib/host/microredis.js +191 -0
- package/dist/lib/host/security.js +142 -0
- package/dist/lib/host/server.js +240 -0
- package/dist/lib/output/banner.js +36 -0
- package/dist/lib/output/brand.js +37 -0
- package/dist/lib/output/index.js +11 -0
- package/dist/lib/output/index.js.map +1 -0
- package/dist/lib/output/logger.js +114 -0
- package/dist/lib/output/mascot.js +31 -0
- package/dist/lib/output/spinner.js +44 -0
- package/dist/lib/output/table.js +81 -0
- package/dist/lib/picker.js +71 -0
- package/dist/lib/refs-types.js +1 -0
- package/dist/lib/refs.js +81 -0
- package/dist/lib/transfer.js +168 -0
- package/dist/lib/upload/index.js +1 -0
- package/dist/lib/upload/index.js.map +1 -0
- package/dist/lib/utils/ci-detect.js +28 -0
- package/dist/lib/utils/format.js +70 -0
- package/dist/lib/utils/index.js +2 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/open.js +16 -0
- package/dist/list-3P3SIMDW.js +2 -0
- package/dist/list-3P3SIMDW.js.map +1 -0
- package/dist/list-BK2B4CQI.js +4 -0
- package/dist/list-BK2B4CQI.js.map +1 -0
- package/dist/list-PVSQ7A54.js +4 -0
- package/dist/list-PVSQ7A54.js.map +1 -0
- package/dist/login-device-ATMWTABG.js +2 -0
- package/dist/login-device-ATMWTABG.js.map +1 -0
- package/dist/login-oauth-CDU3A5QB.js +2 -0
- package/dist/login-oauth-CDU3A5QB.js.map +1 -0
- package/dist/logout-AV7RCXWJ.js +2 -0
- package/dist/logout-AV7RCXWJ.js.map +1 -0
- package/dist/logs-export-M2FQFCNI.js +2 -0
- package/dist/logs-export-M2FQFCNI.js.map +1 -0
- package/dist/logs-search-JSCT3K5O.js +2 -0
- package/dist/logs-search-JSCT3K5O.js.map +1 -0
- package/dist/logs-tail-W5YO2QRG.js +2 -0
- package/dist/logs-tail-W5YO2QRG.js.map +1 -0
- package/dist/monitor-5AKUYIKP.js +2 -0
- package/dist/monitor-5AKUYIKP.js.map +1 -0
- package/dist/monitor-automations-YAAS7N6L.js +2 -0
- package/dist/monitor-automations-YAAS7N6L.js.map +1 -0
- package/dist/monitor-pipelines-JO4DQ6T4.js +2 -0
- package/dist/monitor-pipelines-JO4DQ6T4.js.map +1 -0
- package/dist/monitor-sites-5IEY3Y2F.js +2 -0
- package/dist/monitor-sites-5IEY3Y2F.js.map +1 -0
- package/dist/monitor-storage-6HG6URCV.js +2 -0
- package/dist/monitor-storage-6HG6URCV.js.map +1 -0
- package/dist/oauth-session-KBMWAOVL.js +2 -0
- package/dist/oauth-session-KBMWAOVL.js.map +1 -0
- package/dist/registry/index.js +61 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/scripts-cancel-2XO47DN7.js +2 -0
- package/dist/scripts-cancel-2XO47DN7.js.map +1 -0
- package/dist/scripts-delete-A6TXCHNO.js +2 -0
- package/dist/scripts-delete-A6TXCHNO.js.map +1 -0
- package/dist/scripts-disable-7GIY3YOK.js +2 -0
- package/dist/scripts-disable-7GIY3YOK.js.map +1 -0
- package/dist/scripts-enable-NGIS5VDP.js +2 -0
- package/dist/scripts-enable-NGIS5VDP.js.map +1 -0
- package/dist/scripts-init-J37ZGUDW.js +2 -0
- package/dist/scripts-init-J37ZGUDW.js.map +1 -0
- package/dist/scripts-list-ECFFKNOI.js +2 -0
- package/dist/scripts-list-ECFFKNOI.js.map +1 -0
- package/dist/scripts-logs-4DMITGNX.js +2 -0
- package/dist/scripts-logs-4DMITGNX.js.map +1 -0
- package/dist/scripts-run-CHHP53KW.js +2 -0
- package/dist/scripts-run-CHHP53KW.js.map +1 -0
- package/dist/scripts-status-YZTKCLMU.js +2 -0
- package/dist/scripts-status-YZTKCLMU.js.map +1 -0
- package/dist/scripts-validate-LGMQVRTC.js +2 -0
- package/dist/scripts-validate-LGMQVRTC.js.map +1 -0
- package/dist/scripts-watch-W2C4CBZZ.js +2 -0
- package/dist/scripts-watch-W2C4CBZZ.js.map +1 -0
- package/dist/secrets-audit-SZZ2RG77.js +2 -0
- package/dist/secrets-audit-SZZ2RG77.js.map +1 -0
- package/dist/secrets-create-QLUNM3JL.js +3 -0
- package/dist/secrets-create-QLUNM3JL.js.map +1 -0
- package/dist/secrets-delete-ISNVSZVL.js +2 -0
- package/dist/secrets-delete-ISNVSZVL.js.map +1 -0
- package/dist/secrets-export-R7VPKQCW.js +3 -0
- package/dist/secrets-export-R7VPKQCW.js.map +1 -0
- package/dist/secrets-init-TKIIJKCB.js +13 -0
- package/dist/secrets-init-TKIIJKCB.js.map +1 -0
- package/dist/secrets-list-YPMO7PWR.js +2 -0
- package/dist/secrets-list-YPMO7PWR.js.map +1 -0
- package/dist/secrets-rename-X7Q6PLPI.js +2 -0
- package/dist/secrets-rename-X7Q6PLPI.js.map +1 -0
- package/dist/secrets-verify-GZCFB6RI.js +2 -0
- package/dist/secrets-verify-GZCFB6RI.js.map +1 -0
- package/dist/sign-cancel-H34SAG56.js +2 -0
- package/dist/sign-cancel-H34SAG56.js.map +1 -0
- package/dist/sign-download-3MAWJ2XB.js +2 -0
- package/dist/sign-download-3MAWJ2XB.js.map +1 -0
- package/dist/sign-list-NW5WYD4V.js +2 -0
- package/dist/sign-list-NW5WYD4V.js.map +1 -0
- package/dist/sign-request-HFI3KJ2L.js +2 -0
- package/dist/sign-request-HFI3KJ2L.js.map +1 -0
- package/dist/sign-status-BD7S2FEA.js +2 -0
- package/dist/sign-status-BD7S2FEA.js.map +1 -0
- package/dist/sign-verify-OCYA4RI3.js +2 -0
- package/dist/sign-verify-OCYA4RI3.js.map +1 -0
- package/dist/sites-analytics-AJIFXZEM.js +2 -0
- package/dist/sites-analytics-AJIFXZEM.js.map +1 -0
- package/dist/sites-delete-SDBENOY6.js +2 -0
- package/dist/sites-delete-SDBENOY6.js.map +1 -0
- package/dist/sites-deploys-WHLZTAYW.js +2 -0
- package/dist/sites-deploys-WHLZTAYW.js.map +1 -0
- package/dist/sites-info-RZJNVFFP.js +2 -0
- package/dist/sites-info-RZJNVFFP.js.map +1 -0
- package/dist/sites-list-DKZWNHLM.js +2 -0
- package/dist/sites-list-DKZWNHLM.js.map +1 -0
- package/dist/sites-logs-O35RH2CT.js +2 -0
- package/dist/sites-logs-O35RH2CT.js.map +1 -0
- package/dist/sites-open-QE6RD5JB.js +2 -0
- package/dist/sites-open-QE6RD5JB.js.map +1 -0
- package/dist/sites-purge-KROBLAUK.js +2 -0
- package/dist/sites-purge-KROBLAUK.js.map +1 -0
- package/dist/sites-rename-YMZQ5C37.js +2 -0
- package/dist/sites-rename-YMZQ5C37.js.map +1 -0
- package/dist/sites-rollback-OQXR2V5A.js +2 -0
- package/dist/sites-rollback-OQXR2V5A.js.map +1 -0
- package/dist/sites-unpublish-VKEPVVOB.js +2 -0
- package/dist/sites-unpublish-VKEPVVOB.js.map +1 -0
- package/dist/sites-visibility-Q2WXPRFB.js +2 -0
- package/dist/sites-visibility-Q2WXPRFB.js.map +1 -0
- package/dist/storage-cat-Z42FIYKB.js +2 -0
- package/dist/storage-cat-Z42FIYKB.js.map +1 -0
- package/dist/storage-clean-E3ZU5JVL.js +2 -0
- package/dist/storage-clean-E3ZU5JVL.js.map +1 -0
- package/dist/storage-cp-IBCATT2F.js +2 -0
- package/dist/storage-cp-IBCATT2F.js.map +1 -0
- package/dist/storage-diff-FX4QVDH7.js +2 -0
- package/dist/storage-diff-FX4QVDH7.js.map +1 -0
- package/dist/storage-download-ULJS52LJ.js +2 -0
- package/dist/storage-download-ULJS52LJ.js.map +1 -0
- package/dist/storage-info-HRE7ORAJ.js +2 -0
- package/dist/storage-info-HRE7ORAJ.js.map +1 -0
- package/dist/storage-ls-Z555BXZI.js +2 -0
- package/dist/storage-ls-Z555BXZI.js.map +1 -0
- package/dist/storage-mkdir-PODYCT7K.js +2 -0
- package/dist/storage-mkdir-PODYCT7K.js.map +1 -0
- package/dist/storage-mv-KHOZW76V.js +2 -0
- package/dist/storage-mv-KHOZW76V.js.map +1 -0
- package/dist/storage-rm-XJME2PBW.js +2 -0
- package/dist/storage-rm-XJME2PBW.js.map +1 -0
- package/dist/storage-search-2M3QMF4E.js +2 -0
- package/dist/storage-search-2M3QMF4E.js.map +1 -0
- package/dist/storage-share-6DANEN4S.js +2 -0
- package/dist/storage-share-6DANEN4S.js.map +1 -0
- package/dist/storage-tag-QGPV7RX3.js +2 -0
- package/dist/storage-tag-QGPV7RX3.js.map +1 -0
- package/dist/storage-unshare-DJCEMHE3.js +2 -0
- package/dist/storage-unshare-DJCEMHE3.js.map +1 -0
- package/dist/storage-upload-UKQYASCU.js +2 -0
- package/dist/storage-upload-UKQYASCU.js.map +1 -0
- package/dist/time-list-32LQSLS3.js +2 -0
- package/dist/time-list-32LQSLS3.js.map +1 -0
- package/dist/time-lock-5RHHTCYW.js +2 -0
- package/dist/time-lock-5RHHTCYW.js.map +1 -0
- package/dist/time-proof-7F7MGTC7.js +2 -0
- package/dist/time-proof-7F7MGTC7.js.map +1 -0
- package/dist/time-status-OC5Y5DI5.js +2 -0
- package/dist/time-status-OC5Y5DI5.js.map +1 -0
- package/dist/time-unlock-23PW3U3H.js +2 -0
- package/dist/time-unlock-23PW3U3H.js.map +1 -0
- package/dist/update-VAIGKTAJ.js +2 -0
- package/dist/update-VAIGKTAJ.js.map +1 -0
- package/dist/upload-ME5JGLCS.js +2 -0
- package/dist/upload-ME5JGLCS.js.map +1 -0
- package/dist/usage-HWFCDFQQ.js +2 -0
- package/dist/usage-HWFCDFQQ.js.map +1 -0
- package/dist/version-TFYCABEC.js +2 -0
- package/dist/version-TFYCABEC.js.map +1 -0
- package/dist/whoami-A65QZCK3.js +2 -0
- package/dist/whoami-A65QZCK3.js.map +1 -0
- package/package.json +30 -43
- package/dist/auth-revoke-DWV3OFW6.js +0 -2
- package/dist/auth-revoke-DWV3OFW6.js.map +0 -1
- package/dist/auth-sessions-D4RWXFPE.js +0 -2
- package/dist/auth-sessions-D4RWXFPE.js.map +0 -1
- package/dist/auth-status-EPQU6F63.js +0 -2
- package/dist/auth-status-EPQU6F63.js.map +0 -1
- package/dist/chunk-CHBVIZF5.js +0 -2
- package/dist/chunk-CHBVIZF5.js.map +0 -1
- package/dist/chunk-EMRHLWPD.js +0 -3
- package/dist/chunk-EMRHLWPD.js.map +0 -1
- package/dist/chunk-EPDVSZII.js +0 -2
- package/dist/chunk-EPDVSZII.js.map +0 -1
- package/dist/chunk-FNCZD2QB.js +0 -2
- package/dist/chunk-FNCZD2QB.js.map +0 -1
- package/dist/chunk-MKRWNV2T.js +0 -2
- package/dist/chunk-MKRWNV2T.js.map +0 -1
- package/dist/chunk-N3AD2QRA.js.map +0 -1
- package/dist/chunk-NDB6KXYI.js +0 -3
- package/dist/chunk-NDB6KXYI.js.map +0 -1
- package/dist/chunk-Q3A4IBGC.js +0 -2
- package/dist/chunk-Q3A4IBGC.js.map +0 -1
- package/dist/chunk-SCKQAF44.js +0 -2
- package/dist/chunk-SCKQAF44.js.map +0 -1
- package/dist/chunk-ULVQ53OO.js +0 -3
- package/dist/chunk-ULVQ53OO.js.map +0 -1
- package/dist/chunk-UNA5CAPX.js +0 -2
- package/dist/chunk-UNA5CAPX.js.map +0 -1
- package/dist/client-IR7OHGEQ.js +0 -2
- package/dist/client-IR7OHGEQ.js.map +0 -1
- package/dist/collab-activity-YOEJEJTQ.js +0 -2
- package/dist/collab-activity-YOEJEJTQ.js.map +0 -1
- package/dist/collab-invite-VDDBCLSH.js +0 -2
- package/dist/collab-invite-VDDBCLSH.js.map +0 -1
- package/dist/collab-leave-2AEIFR47.js +0 -2
- package/dist/collab-leave-2AEIFR47.js.map +0 -1
- package/dist/collab-list-MTJYXE53.js +0 -2
- package/dist/collab-list-MTJYXE53.js.map +0 -1
- package/dist/collab-remove-I3FKGFOF.js +0 -2
- package/dist/collab-remove-I3FKGFOF.js.map +0 -1
- package/dist/collab-transfer-VVHH6B2J.js +0 -2
- package/dist/collab-transfer-VVHH6B2J.js.map +0 -1
- package/dist/completion-IF3NB7PB.js +0 -44
- package/dist/completion-IF3NB7PB.js.map +0 -1
- package/dist/config-PL34OPDL.js +0 -2
- package/dist/config-delete-4UN7BFBI.js +0 -2
- package/dist/config-delete-4UN7BFBI.js.map +0 -1
- package/dist/config-get-XOS7EWEQ.js +0 -2
- package/dist/config-get-XOS7EWEQ.js.map +0 -1
- package/dist/config-reset-NIOGYFA5.js +0 -2
- package/dist/config-reset-NIOGYFA5.js.map +0 -1
- package/dist/config-set-DRTRWWAA.js +0 -2
- package/dist/config-set-DRTRWWAA.js.map +0 -1
- package/dist/deploy-UOPO2HHL.js +0 -3
- package/dist/deploy-UOPO2HHL.js.map +0 -1
- package/dist/doctor-B7RAWBD5.js +0 -2
- package/dist/doctor-B7RAWBD5.js.map +0 -1
- package/dist/feedback-BEX6DRXB.js +0 -3
- package/dist/feedback-BEX6DRXB.js.map +0 -1
- package/dist/forms-clear-VPH7SHJZ.js +0 -2
- package/dist/forms-clear-VPH7SHJZ.js.map +0 -1
- package/dist/forms-create-O5W7O2BI.js +0 -2
- package/dist/forms-create-O5W7O2BI.js.map +0 -1
- package/dist/forms-delete-H4RY6C64.js +0 -2
- package/dist/forms-delete-H4RY6C64.js.map +0 -1
- package/dist/forms-embed-2WBFYFUO.js +0 -3
- package/dist/forms-embed-2WBFYFUO.js.map +0 -1
- package/dist/forms-export-MDWMZ7I7.js +0 -2
- package/dist/forms-export-MDWMZ7I7.js.map +0 -1
- package/dist/forms-info-VO4FK3CS.js +0 -2
- package/dist/forms-info-VO4FK3CS.js.map +0 -1
- package/dist/forms-list-PDSDIJI7.js +0 -2
- package/dist/forms-list-PDSDIJI7.js.map +0 -1
- package/dist/forms-submissions-VJQWV7SI.js +0 -2
- package/dist/forms-submissions-VJQWV7SI.js.map +0 -1
- package/dist/login-PMDO43CL.js +0 -3
- package/dist/login-PMDO43CL.js.map +0 -1
- package/dist/logout-XIUWCA75.js +0 -2
- package/dist/logout-XIUWCA75.js.map +0 -1
- package/dist/logs-export-AU4WZDLW.js +0 -2
- package/dist/logs-export-AU4WZDLW.js.map +0 -1
- package/dist/logs-search-BHVB3BIH.js +0 -2
- package/dist/logs-search-BHVB3BIH.js.map +0 -1
- package/dist/logs-tail-YVFZLSC2.js +0 -3
- package/dist/logs-tail-YVFZLSC2.js.map +0 -1
- package/dist/monitor-KLJ762WM.js +0 -2
- package/dist/monitor-KLJ762WM.js.map +0 -1
- package/dist/monitor-automations-B2NRWSFH.js +0 -2
- package/dist/monitor-automations-B2NRWSFH.js.map +0 -1
- package/dist/monitor-pipelines-2PNBET3B.js +0 -2
- package/dist/monitor-pipelines-2PNBET3B.js.map +0 -1
- package/dist/monitor-sites-QNMTCOSH.js +0 -2
- package/dist/monitor-sites-QNMTCOSH.js.map +0 -1
- package/dist/monitor-storage-Z53C4CI2.js +0 -2
- package/dist/monitor-storage-Z53C4CI2.js.map +0 -1
- package/dist/scripts-cancel-2HWDUPFM.js +0 -2
- package/dist/scripts-cancel-2HWDUPFM.js.map +0 -1
- package/dist/scripts-delete-UI6YRWEN.js +0 -2
- package/dist/scripts-delete-UI6YRWEN.js.map +0 -1
- package/dist/scripts-disable-7IXFGWWG.js +0 -2
- package/dist/scripts-disable-7IXFGWWG.js.map +0 -1
- package/dist/scripts-enable-DNEVMHLS.js +0 -2
- package/dist/scripts-enable-DNEVMHLS.js.map +0 -1
- package/dist/scripts-init-BIIEMUXV.js +0 -14
- package/dist/scripts-init-BIIEMUXV.js.map +0 -1
- package/dist/scripts-list-LYDOWRTU.js +0 -2
- package/dist/scripts-list-LYDOWRTU.js.map +0 -1
- package/dist/scripts-logs-32CWQEBA.js +0 -2
- package/dist/scripts-logs-32CWQEBA.js.map +0 -1
- package/dist/scripts-run-6AJVHB4U.js +0 -2
- package/dist/scripts-run-6AJVHB4U.js.map +0 -1
- package/dist/scripts-status-KCILW363.js +0 -2
- package/dist/scripts-status-KCILW363.js.map +0 -1
- package/dist/scripts-validate-MZP4MJZZ.js +0 -2
- package/dist/scripts-validate-MZP4MJZZ.js.map +0 -1
- package/dist/scripts-watch-3SFVPUAA.js +0 -2
- package/dist/scripts-watch-3SFVPUAA.js.map +0 -1
- package/dist/sign-cancel-KK745O7W.js +0 -2
- package/dist/sign-cancel-KK745O7W.js.map +0 -1
- package/dist/sign-download-6V3ABZG2.js +0 -2
- package/dist/sign-download-6V3ABZG2.js.map +0 -1
- package/dist/sign-list-VCNJSS6F.js +0 -2
- package/dist/sign-list-VCNJSS6F.js.map +0 -1
- package/dist/sign-request-LNRMPU2F.js +0 -2
- package/dist/sign-request-LNRMPU2F.js.map +0 -1
- package/dist/sign-status-PNAGMC7S.js +0 -2
- package/dist/sign-status-PNAGMC7S.js.map +0 -1
- package/dist/sign-verify-ZROVA7LH.js +0 -2
- package/dist/sign-verify-ZROVA7LH.js.map +0 -1
- package/dist/sites-analytics-L6KVTZNH.js +0 -2
- package/dist/sites-analytics-L6KVTZNH.js.map +0 -1
- package/dist/sites-delete-JCBOLOA7.js +0 -2
- package/dist/sites-delete-JCBOLOA7.js.map +0 -1
- package/dist/sites-deploys-XJ3NY4RQ.js +0 -2
- package/dist/sites-deploys-XJ3NY4RQ.js.map +0 -1
- package/dist/sites-info-V3R7YNPU.js +0 -2
- package/dist/sites-info-V3R7YNPU.js.map +0 -1
- package/dist/sites-list-ZQTXLHJ3.js +0 -2
- package/dist/sites-list-ZQTXLHJ3.js.map +0 -1
- package/dist/sites-logs-AYG43HQV.js +0 -3
- package/dist/sites-logs-AYG43HQV.js.map +0 -1
- package/dist/sites-open-K2JWMIWD.js +0 -3
- package/dist/sites-open-K2JWMIWD.js.map +0 -1
- package/dist/sites-purge-5Y5AQWBY.js +0 -2
- package/dist/sites-purge-5Y5AQWBY.js.map +0 -1
- package/dist/sites-rename-QH6YYXUE.js +0 -2
- package/dist/sites-rename-QH6YYXUE.js.map +0 -1
- package/dist/sites-rollback-ZQ2IHERR.js +0 -2
- package/dist/sites-rollback-ZQ2IHERR.js.map +0 -1
- package/dist/sites-unpublish-MDK4GP2C.js +0 -2
- package/dist/sites-unpublish-MDK4GP2C.js.map +0 -1
- package/dist/sites-visibility-WKPIU5OK.js +0 -2
- package/dist/sites-visibility-WKPIU5OK.js.map +0 -1
- package/dist/storage-cat-OAUEF3EE.js +0 -2
- package/dist/storage-cat-OAUEF3EE.js.map +0 -1
- package/dist/storage-clean-I7QZ5FR6.js +0 -2
- package/dist/storage-clean-I7QZ5FR6.js.map +0 -1
- package/dist/storage-cp-H36Q2ER4.js +0 -2
- package/dist/storage-cp-H36Q2ER4.js.map +0 -1
- package/dist/storage-diff-6KUEJ4DB.js +0 -2
- package/dist/storage-diff-6KUEJ4DB.js.map +0 -1
- package/dist/storage-download-32EYGI47.js +0 -3
- package/dist/storage-download-32EYGI47.js.map +0 -1
- package/dist/storage-info-2JSV56KE.js +0 -2
- package/dist/storage-info-2JSV56KE.js.map +0 -1
- package/dist/storage-ls-G33T3LMU.js +0 -3
- package/dist/storage-ls-G33T3LMU.js.map +0 -1
- package/dist/storage-mkdir-BDT3GX7A.js +0 -2
- package/dist/storage-mkdir-BDT3GX7A.js.map +0 -1
- package/dist/storage-mv-2QJZR2FL.js +0 -2
- package/dist/storage-mv-2QJZR2FL.js.map +0 -1
- package/dist/storage-rm-NRRRFG36.js +0 -2
- package/dist/storage-rm-NRRRFG36.js.map +0 -1
- package/dist/storage-search-E5BIXLSU.js +0 -2
- package/dist/storage-search-E5BIXLSU.js.map +0 -1
- package/dist/storage-share-EXSSZ6XL.js +0 -2
- package/dist/storage-share-EXSSZ6XL.js.map +0 -1
- package/dist/storage-tag-YV5GUZDV.js +0 -2
- package/dist/storage-tag-YV5GUZDV.js.map +0 -1
- package/dist/storage-unshare-MF4V2NGC.js +0 -2
- package/dist/storage-unshare-MF4V2NGC.js.map +0 -1
- package/dist/storage-upload-DYWSZ6RO.js +0 -9
- package/dist/storage-upload-DYWSZ6RO.js.map +0 -1
- package/dist/time-list-4T3FJE2I.js +0 -2
- package/dist/time-list-4T3FJE2I.js.map +0 -1
- package/dist/time-lock-O55XMYPX.js +0 -2
- package/dist/time-lock-O55XMYPX.js.map +0 -1
- package/dist/time-proof-SDANSS3D.js +0 -2
- package/dist/time-proof-SDANSS3D.js.map +0 -1
- package/dist/time-status-JFJA3MYK.js +0 -2
- package/dist/time-status-JFJA3MYK.js.map +0 -1
- package/dist/time-unlock-F7NGQ2IE.js +0 -2
- package/dist/time-unlock-F7NGQ2IE.js.map +0 -1
- package/dist/update-5PTOF5ZA.js +0 -2
- package/dist/update-5PTOF5ZA.js.map +0 -1
- package/dist/version-Y2LWIEFC.js +0 -2
- package/dist/version-Y2LWIEFC.js.map +0 -1
- package/dist/whoami-BGMVNESX.js +0 -2
- package/dist/whoami-BGMVNESX.js.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# squidcloudctl
|
|
2
|
+
|
|
3
|
+
SquidCloud from your terminal — encrypted storage, shares, secrets, sites and a
|
|
4
|
+
FUSE/WebDAV filesystem. Zero-knowledge by default: keys stay on your machine.
|
|
5
|
+
|
|
6
|
+
## Install
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install -g squidcloudctl
|
|
10
|
+
squidcloudctl # banner + help
|
|
11
|
+
squidcloudctl login # browser OAuth — one time
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Every authed command auto-opens the browser when no session exists. CI / scripts:
|
|
15
|
+
set `SQUIDCLOUD_API_KEY=cb_…` (create one in Settings → API Keys) or use
|
|
16
|
+
`login --code` for headless device flow.
|
|
17
|
+
|
|
18
|
+
## Numbered files
|
|
19
|
+
|
|
20
|
+
Listings are cached locally, so every file gets a stable number:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
squidcloudctl files ls
|
|
24
|
+
# [ 1] q3-report.pdf 2.4MB 2026-08-23 9f3ac2e1-…
|
|
25
|
+
# [ 2] notes.md 12KB 2026-08-22 …
|
|
26
|
+
|
|
27
|
+
squidcloudctl files dl 1 # or: dl #1, an id prefix, or exact name
|
|
28
|
+
squidcloudctl storage rm 2
|
|
29
|
+
squidcloudctl share create 1 --burn --max-downloads 1 --expires 24h
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Ambiguous names open an arrow-key picker. Full ids always work.
|
|
33
|
+
|
|
34
|
+
## File management
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
files ls|up|dl upload mirrors the platform path: chunk → cluster PUTs → complete
|
|
38
|
+
storage ls/info/rm/mv/cp/search/mkdir
|
|
39
|
+
folders ls/mkdir
|
|
40
|
+
share create [--expires 7d] [--max-downloads n] [--view-only]
|
|
41
|
+
secrets list/create/delete/rename/verify # values may arrive on stdin
|
|
42
|
+
sites ls/open/unpublish/visibility
|
|
43
|
+
filereq ls/create/submissions/delete
|
|
44
|
+
health · whoami · auth status · logout
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Global: `--output json` on most commands.
|
|
48
|
+
|
|
49
|
+
## SquidFS — mount storage as a disk
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
squidcloudctl fs mount /mnt/squidfs # FUSE where available
|
|
53
|
+
squidcloudctl fs webdav # http://localhost:8099/ everywhere else
|
|
54
|
+
squidcloudctl fs status | fs stop
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The CLI provisions the official `squidfs` binary into `~/.squidcloud/bin/squidfs`
|
|
58
|
+
(builds from `~/squidfs` when present, else downloads the release), mints a
|
|
59
|
+
scoped API key, and hands it over securely. Files written through the mount use
|
|
60
|
+
the same res54 chunk envelopes as the web app — they decrypt in both places,
|
|
61
|
+
with correct MIME types so everything opens in your normal apps.
|
|
62
|
+
|
|
63
|
+
## Environment
|
|
64
|
+
|
|
65
|
+
| Variable | Purpose |
|
|
66
|
+
|---|---|
|
|
67
|
+
| `SQUIDCLOUD_API_KEY` | Non-interactive auth (CI) |
|
|
68
|
+
| `SQUIDCLOUD_API_BASE` | Override API endpoint |
|
|
69
|
+
| `SQUIDFS_BIN` | Custom squidfs binary path |
|
|
70
|
+
| `SQUIDCLOUD_NONINTERACTIVE=1` | Disable browser auto-open |
|
|
71
|
+
|
|
72
|
+
Credentials live in `~/.squidcloud/credentials` (0600). MIT license.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"auth-revoke-LTTGYMMO.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"auth-sessions-ZVZIABS6.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"auth-status-X4HCOXHF.js"}
|
package/dist/bin/squidcloud.js
CHANGED
|
@@ -1,4 +1,190 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import'../chunk-UNA5CAPX.js';import {a}from'../chunk-ULVQ53OO.js';import'../chunk-FNCZD2QB.js';import {f as f$1,e,i,o}from'../chunk-EMRHLWPD.js';import {b,e as e$1}from'../chunk-Q3A4IBGC.js';import {readFileSync}from'fs';import {dirname,resolve}from'path';import {fileURLToPath}from'url';import {Command}from'commander';var L=[{name:"login",aliases:[],description:"Authenticate with SquidCloud",requiresAuth:false,requiresProject:false,ciSafe:false,jsonSupport:false,dangerLevel:"safe",category:"auth",handler:()=>import('../login-PMDO43CL.js')},{name:"logout",aliases:[],description:"End current CLI session and clear credentials",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:false,dangerLevel:"safe",category:"auth",handler:()=>import('../logout-XIUWCA75.js')},{name:"whoami",aliases:["auth whoami"],description:"Show current authenticated account info",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"auth",handler:()=>import('../whoami-BGMVNESX.js')},{name:"auth status",aliases:[],description:"Detailed session health check",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"auth",handler:()=>import('../auth-status-EPQU6F63.js')},{name:"auth sessions",aliases:[],description:"List all active CLI sessions",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"auth",handler:()=>import('../auth-sessions-D4RWXFPE.js')},{name:"auth revoke",aliases:[],description:"Revoke a session or all sessions",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:false,dangerLevel:"destructive",category:"auth",handler:()=>import('../auth-revoke-DWV3OFW6.js')},{name:"storage ls",aliases:["storage list"],description:"List files and folders in storage",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-ls-G33T3LMU.js')},{name:"storage upload",aliases:["storage up"],description:"Upload files or folders to storage",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-upload-DYWSZ6RO.js')},{name:"storage download",aliases:["storage dl"],description:"Download files or folders from storage",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-download-32EYGI47.js')},{name:"storage cp",aliases:[],description:"Copy files within storage",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-cp-H36Q2ER4.js')},{name:"storage mv",aliases:[],description:"Move/rename files within storage",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"storage",handler:()=>import('../storage-mv-2QJZR2FL.js')},{name:"storage rm",aliases:[],description:"Delete files from storage",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"destructive",category:"storage",handler:()=>import('../storage-rm-NRRRFG36.js')},{name:"storage mkdir",aliases:[],description:"Create a folder in storage",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-mkdir-BDT3GX7A.js')},{name:"storage cat",aliases:[],description:"Print file contents to terminal",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:false,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-cat-OAUEF3EE.js')},{name:"storage info",aliases:[],description:"Show file metadata",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-info-2JSV56KE.js')},{name:"storage share",aliases:[],description:"Generate a share link for a file",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-share-EXSSZ6XL.js')},{name:"storage unshare",aliases:[],description:"Revoke all share links for a file",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"storage",handler:()=>import('../storage-unshare-MF4V2NGC.js')},{name:"storage tag",aliases:[],description:"Add or remove file tags",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-tag-YV5GUZDV.js')},{name:"storage search",aliases:[],description:"Search storage by filename",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-search-E5BIXLSU.js')},{name:"storage diff",aliases:[],description:"Compare local and remote storage",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"storage",handler:()=>import('../storage-diff-6KUEJ4DB.js')},{name:"storage clean",aliases:[],description:"Clean orphaned files from storage",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"storage",handler:()=>import('../storage-clean-I7QZ5FR6.js')},{name:"deploy",aliases:["squidsite deploy"],description:"Deploy a static website to SquidCloud Sites",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"deploy",handler:()=>import('../deploy-UOPO2HHL.js')},{name:"sites list",aliases:["sites ls"],description:"List all published sites",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"sites",handler:()=>import('../sites-list-ZQTXLHJ3.js')},{name:"sites info",aliases:[],description:"Show site details",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"sites",handler:()=>import('../sites-info-V3R7YNPU.js')},{name:"sites open",aliases:[],description:"Open site in browser",requiresAuth:true,requiresProject:false,ciSafe:false,jsonSupport:false,dangerLevel:"safe",category:"sites",handler:()=>import('../sites-open-K2JWMIWD.js')},{name:"sites unpublish",aliases:[],description:"Take a site offline",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"destructive",category:"sites",handler:()=>import('../sites-unpublish-MDK4GP2C.js')},{name:"sites delete",aliases:[],description:"Permanently delete a site",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"destructive",category:"sites",handler:()=>import('../sites-delete-JCBOLOA7.js')},{name:"sites visibility",aliases:[],description:"Change site visibility (public/private)",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"sites",handler:()=>import('../sites-visibility-WKPIU5OK.js')},{name:"sites rename",aliases:[],description:"Rename a site slug",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"destructive",category:"sites",handler:()=>import('../sites-rename-QH6YYXUE.js')},{name:"sites rollback",aliases:[],description:"Rollback to a previous deployment",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"sites",handler:()=>import('../sites-rollback-ZQ2IHERR.js')},{name:"sites deploys",aliases:[],description:"Show deployment history",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"sites",handler:()=>import('../sites-deploys-XJ3NY4RQ.js')},{name:"sites logs",aliases:[],description:"Stream live site access logs",requiresAuth:true,requiresProject:false,ciSafe:false,jsonSupport:false,dangerLevel:"safe",category:"sites",handler:()=>import('../sites-logs-AYG43HQV.js')},{name:"sites analytics",aliases:[],description:"Show site traffic analytics",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"sites",handler:()=>import('../sites-analytics-L6KVTZNH.js')},{name:"sites purge",aliases:[],description:"Purge CDN cache for a site",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"sites",handler:()=>import('../sites-purge-5Y5AQWBY.js')},{name:"scripts list",aliases:[],description:"List registered SquidScripts",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"scripts",handler:()=>import('../scripts-list-LYDOWRTU.js')},{name:"scripts run",aliases:[],description:"Run a SquidScript pipeline",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"scripts",handler:()=>import('../scripts-run-6AJVHB4U.js')},{name:"scripts logs",aliases:[],description:"View pipeline run logs",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"scripts",handler:()=>import('../scripts-logs-32CWQEBA.js')},{name:"scripts validate",aliases:[],description:"Validate a .squid.yml file",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"scripts",handler:()=>import('../scripts-validate-MZP4MJZZ.js')},{name:"scripts init",aliases:[],description:"Create a new pipeline interactively",requiresAuth:true,requiresProject:false,ciSafe:false,jsonSupport:false,dangerLevel:"safe",category:"scripts",handler:()=>import('../scripts-init-BIIEMUXV.js')},{name:"scripts enable",aliases:[],description:"Enable a disabled pipeline",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"scripts",handler:()=>import('../scripts-enable-DNEVMHLS.js')},{name:"scripts disable",aliases:[],description:"Disable a pipeline",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"scripts",handler:()=>import('../scripts-disable-7IXFGWWG.js')},{name:"scripts delete",aliases:[],description:"Delete a pipeline",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"destructive",category:"scripts",handler:()=>import('../scripts-delete-UI6YRWEN.js')},{name:"scripts status",aliases:[],description:"Show pipeline status",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"scripts",handler:()=>import('../scripts-status-KCILW363.js')},{name:"scripts cancel",aliases:[],description:"Cancel a running pipeline",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"scripts",handler:()=>import('../scripts-cancel-2HWDUPFM.js')},{name:"scripts watch",aliases:[],description:"Watch .squid.yml for changes",requiresAuth:false,requiresProject:false,ciSafe:false,jsonSupport:false,dangerLevel:"safe",category:"scripts",handler:()=>import('../scripts-watch-3SFVPUAA.js')},{name:"filereq list",aliases:["forms list","filereq ls"],description:"List file requests",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"forms",handler:()=>import('../forms-list-PDSDIJI7.js')},{name:"filereq create",aliases:["forms create"],description:"Create a file request",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"forms",handler:()=>import('../forms-create-O5W7O2BI.js')},{name:"filereq info",aliases:["forms info"],description:"View file request details",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"forms",handler:()=>import('../forms-info-VO4FK3CS.js')},{name:"filereq submissions",aliases:["forms submissions"],description:"View file request submissions",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"forms",handler:()=>import('../forms-submissions-VJQWV7SI.js')},{name:"filereq export",aliases:["forms export"],description:"Export submissions as CSV",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:false,dangerLevel:"safe",category:"forms",handler:()=>import('../forms-export-MDWMZ7I7.js')},{name:"filereq clear",aliases:["forms clear"],description:"Clear all submissions",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"destructive",category:"forms",handler:()=>import('../forms-clear-VPH7SHJZ.js')},{name:"filereq delete",aliases:["forms delete"],description:"Delete a file request",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"destructive",category:"forms",handler:()=>import('../forms-delete-H4RY6C64.js')},{name:"filereq embed",aliases:["forms embed"],description:"Get HTML embed snippet",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:false,dangerLevel:"safe",category:"forms",handler:()=>import('../forms-embed-2WBFYFUO.js')},{name:"time lock",aliases:[],description:"Time-lock a file or folder",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"time",handler:()=>import('../time-lock-O55XMYPX.js')},{name:"time unlock",aliases:[],description:"Unlock a time-locked file",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"time",handler:()=>import('../time-unlock-F7NGQ2IE.js')},{name:"time status",aliases:[],description:"Check time-lock status",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"time",handler:()=>import('../time-status-JFJA3MYK.js')},{name:"time list",aliases:[],description:"List all time-locked files",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"time",handler:()=>import('../time-list-4T3FJE2I.js')},{name:"time proof",aliases:[],description:"Export cryptographic existence proof",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"time",handler:()=>import('../time-proof-SDANSS3D.js')},{name:"collab invite",aliases:[],description:"Invite a collaborator to a folder",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"collab",handler:()=>import('../collab-invite-VDDBCLSH.js')},{name:"collab list",aliases:[],description:"List folder collaborators",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"collab",handler:()=>import('../collab-list-MTJYXE53.js')},{name:"collab remove",aliases:[],description:"Remove a collaborator",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"collab",handler:()=>import('../collab-remove-I3FKGFOF.js')},{name:"collab activity",aliases:[],description:"View collaborator activity feed",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"collab",handler:()=>import('../collab-activity-YOEJEJTQ.js')},{name:"collab leave",aliases:[],description:"Leave a shared folder",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"collab",handler:()=>import('../collab-leave-2AEIFR47.js')},{name:"collab transfer",aliases:[],description:"Transfer folder ownership",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"destructive",category:"collab",handler:()=>import('../collab-transfer-VVHH6B2J.js')},{name:"sign request",aliases:[],description:"Request a digital signature",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"sign",handler:()=>import('../sign-request-LNRMPU2F.js')},{name:"sign status",aliases:[],description:"Check signing request status",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"sign",handler:()=>import('../sign-status-PNAGMC7S.js')},{name:"sign list",aliases:[],description:"List signing requests",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"sign",handler:()=>import('../sign-list-VCNJSS6F.js')},{name:"sign cancel",aliases:[],description:"Cancel a signing request",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"caution",category:"sign",handler:()=>import('../sign-cancel-KK745O7W.js')},{name:"sign verify",aliases:[],description:"Verify a signed document",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"sign",handler:()=>import('../sign-verify-ZROVA7LH.js')},{name:"sign download",aliases:[],description:"Download signed document",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"sign",handler:()=>import('../sign-download-6V3ABZG2.js')},{name:"monitor",aliases:[],description:"At-a-glance SquidCloud health dashboard",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"monitor",handler:()=>import('../monitor-KLJ762WM.js')},{name:"monitor sites",aliases:[],description:"Site health overview",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"monitor",handler:()=>import('../monitor-sites-QNMTCOSH.js')},{name:"monitor pipelines",aliases:[],description:"Pipeline health overview",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"monitor",handler:()=>import('../monitor-pipelines-2PNBET3B.js')},{name:"monitor storage",aliases:[],description:"Storage health report",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"monitor",handler:()=>import('../monitor-storage-Z53C4CI2.js')},{name:"monitor automations",aliases:[],description:"Automation health overview",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"monitor",handler:()=>import('../monitor-automations-B2NRWSFH.js')},{name:"logs tail",aliases:[],description:"Stream live logs",requiresAuth:true,requiresProject:false,ciSafe:false,jsonSupport:false,dangerLevel:"safe",category:"logs",handler:()=>import('../logs-tail-YVFZLSC2.js')},{name:"logs search",aliases:[],description:"Search historical logs",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"logs",handler:()=>import('../logs-search-BHVB3BIH.js')},{name:"logs export",aliases:[],description:"Export logs as JSONL or CSV",requiresAuth:true,requiresProject:false,ciSafe:true,jsonSupport:false,dangerLevel:"safe",category:"logs",handler:()=>import('../logs-export-AU4WZDLW.js')},{name:"doctor",aliases:[],description:"Run system diagnostics",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"utility",handler:()=>import('../doctor-B7RAWBD5.js')},{name:"version",aliases:["--version","-v"],description:"Show CLI version",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"utility",handler:()=>import('../version-Y2LWIEFC.js')},{name:"config list",aliases:["config ls"],description:"List CLI configuration",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"utility",handler:()=>import('../config-PL34OPDL.js')},{name:"config set",aliases:[],description:"Set a config value",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"utility",handler:()=>import('../config-set-DRTRWWAA.js')},{name:"config get",aliases:[],description:"Get a config value",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"utility",handler:()=>import('../config-get-XOS7EWEQ.js')},{name:"config delete",aliases:[],description:"Delete a config value",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"utility",handler:()=>import('../config-delete-4UN7BFBI.js')},{name:"config reset",aliases:[],description:"Reset all configuration",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"destructive",category:"utility",handler:()=>import('../config-reset-NIOGYFA5.js')},{name:"completion",aliases:[],description:"Generate shell completion scripts",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:false,dangerLevel:"safe",category:"utility",handler:()=>import('../completion-IF3NB7PB.js')},{name:"feedback",aliases:[],description:"Submit feedback or report a bug",requiresAuth:false,requiresProject:false,ciSafe:false,jsonSupport:false,dangerLevel:"safe",category:"utility",handler:()=>import('../feedback-BEX6DRXB.js')},{name:"update",aliases:[],description:"Update the CLI to latest version",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"utility",handler:()=>import('../update-5PTOF5ZA.js')}];function v(){return [...L]}var x=dirname(fileURLToPath(import.meta.url)),y=JSON.parse(readFileSync(resolve(x,"../../package.json"),"utf-8")),f=new Command;f.name("squidcloud").description(y.description).version(y.version,"-v, --version","Display CLI version").option("--output <format>","Output format (json)","text").hook("preAction",async e$1=>{e$1.optsWithGlobals().output==="json"&&f$1(true),e()&&f$1(false);});async function A(e){if(!e.requiresAuth)return;let a$1=await b();a$1||(i("Not authenticated. Run `squidcloud login` first."),process.exit(1)),e$1(a$1)&&(await a()||(i("Session expired. Please run `squidcloud login` again."),process.exit(1)));}function D(e){let a=new Map;for(let r of e){let l=r.name.split(" ");if(l.length===1)a.set(r.name,new Map);else if(l.length===2){let[t,i]=l;a.has(t)||a.set(t,new Map),a.get(t).set(i,r);}}for(let[r,l]of a)if(l.size===0){let t=e.find(o=>o.name===r),i$1=f.command(r);i$1.description(t.description),i$1.arguments("[args...]"),t.aliases.length>0&&i$1.aliases(t.aliases),i$1.action(async(...o$1)=>{try{await A(t);let n=await t.handler();if(typeof n.default=="function"){let s=o$1.slice(0,-2);s.length===1&&Array.isArray(s[0])&&(s=s[0]),await n.default(...s);}o(t.name,process.argv.slice(2).join(" "),0);}catch(n){let s=n instanceof Error?n.message:String(n);i(s),o(t.name,process.argv.slice(2).join(" "),1),process.exit(1);}});}else {let t=f.command(r);t.description(`SquidCloud ${r} commands`);for(let[i$1,o$1]of l){let n=`${r} ${i$1}`,s=t.command(i$1);s.description(o$1.description),s.arguments("[args...]"),o$1.aliases.length>0&&s.aliases(o$1.aliases.map(m=>m.replace(`${r} `,""))),s.action(async(...m)=>{try{await A(o$1);let c=await o$1.handler();if(typeof c.default=="function"){let u=m.slice(0,-2);u.length===1&&Array.isArray(u[0])&&(u=u[0]),await c.default(...u);}o(n,process.argv.slice(2).join(" "),0);}catch(c){let u=c instanceof Error?c.message:String(c);i(u),o(n,process.argv.slice(2).join(" "),1),process.exit(1);}});}}}async function R(){let e=process.argv.slice(2);if(e.includes("--version")||e.includes("-v")){let{showVersion:r}=await import('../version-Y2LWIEFC.js');await r();return}if(e.length===0&&!e.includes("--help")&&!e.includes("-h")){let{showVersion:r}=await import('../version-Y2LWIEFC.js');await r(),console.log(""),f.outputHelp();return}let a=v();D(a),f.addHelpText("beforeAll",`
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
|
+
import { dirname, resolve } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { logError, writeAudit } from '../lib/output/index.js';
|
|
8
|
+
import { isCI } from '../lib/utils/ci-detect.js';
|
|
9
|
+
import { getAllCommands } from '../registry/index.js';
|
|
10
|
+
import { loadOAuthSession, clearOAuthSession, authToken } from '../lib/auth/oauth-session.js';
|
|
11
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
12
|
+
const pkg = JSON.parse(readFileSync(resolve(__dirname, '../../package.json'), 'utf-8'));
|
|
13
|
+
const BIN = 'squidcloudctl';
|
|
14
|
+
const program = new Command();
|
|
15
|
+
/** Auto-login: an authed command without a session launches OAuth inline.
|
|
16
|
+
CI / pipes fall back to SQUIDCLOUD_API_KEY. */
|
|
17
|
+
async function ensureAuth(cmd) {
|
|
18
|
+
await loadOAuthSession();
|
|
19
|
+
if (!cmd.requiresAuth)
|
|
20
|
+
return;
|
|
21
|
+
if (!authToken) {
|
|
22
|
+
if (process.stdin.isTTY && !isCI() && process.env.SQUIDCLOUD_NONINTERACTIVE !== '1') {
|
|
23
|
+
console.log(chalk.dim(`\n no session found — opening browser to authorize ${BIN}…\n`));
|
|
24
|
+
const { default: loginOAuth } = await import('../commands/auth/login-oauth.js');
|
|
25
|
+
await loginOAuth();
|
|
26
|
+
await loadOAuthSession();
|
|
27
|
+
if (!authToken)
|
|
28
|
+
throw new Error('Authorization did not complete.');
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
throw new Error(`Not authenticated. Run \`${BIN} login\`, or set SQUIDCLOUD_API_KEY for non-interactive use.`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const { tokenExpiresAt } = await import('../lib/auth/oauth-session.js');
|
|
35
|
+
if (tokenExpiresAt && Date.now() >= tokenExpiresAt) {
|
|
36
|
+
if (process.stdin.isTTY && !isCI() && process.env.SQUIDCLOUD_NONINTERACTIVE !== '1') {
|
|
37
|
+
console.log(chalk.dim('\n session expired — re-authorizing…\n'));
|
|
38
|
+
const { default: loginOAuth } = await import('../commands/auth/login-oauth.js');
|
|
39
|
+
try {
|
|
40
|
+
await loginOAuth();
|
|
41
|
+
await loadOAuthSession();
|
|
42
|
+
if (!authToken)
|
|
43
|
+
throw new Error('re-auth failed');
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
catch { /* fall through */ }
|
|
47
|
+
}
|
|
48
|
+
await clearOAuthSession();
|
|
49
|
+
throw new Error(`Session expired. Run \`${BIN} login\` again.`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async function dispatch(cmd, fullName, args) {
|
|
53
|
+
try {
|
|
54
|
+
await ensureAuth(cmd);
|
|
55
|
+
const mod = await cmd.handler();
|
|
56
|
+
if (typeof mod.default === 'function') {
|
|
57
|
+
// Commander signature: (...positionals, optionsObject, commandObject)
|
|
58
|
+
const opts = (args.length >= 2 && typeof args[args.length - 2] === 'object'
|
|
59
|
+
? args[args.length - 2]
|
|
60
|
+
: {});
|
|
61
|
+
let positionals = args.slice(0, -2);
|
|
62
|
+
if (positionals.length === 1 && Array.isArray(positionals[0]))
|
|
63
|
+
positionals = positionals[0];
|
|
64
|
+
await mod.default(...positionals, opts);
|
|
65
|
+
}
|
|
66
|
+
writeAudit(fullName, process.argv.slice(2).join(' '), 0);
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
let message = err instanceof Error ? err.message : String(err);
|
|
70
|
+
if (/credit/i.test(message)) {
|
|
71
|
+
message += '\n your plan\u2019s daily API allowance is exhausted \u2014 see squidcloud.vercel.app/pricing';
|
|
72
|
+
}
|
|
73
|
+
logError(message);
|
|
74
|
+
writeAudit(fullName, process.argv.slice(2).join(' '), 1);
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/** Per-command flags — parsed by commander, handed to handlers as the
|
|
79
|
+
trailing options object. */
|
|
80
|
+
const OPTIONS = {
|
|
81
|
+
'login': [['--code', 'Authenticate using device code flow']],
|
|
82
|
+
'files ls': [['--refresh', 'Bypass the local listing cache']],
|
|
83
|
+
'files up': [['--folder <ref>', 'Target folder id or name'], ['--quiet', 'Suppress progress output']],
|
|
84
|
+
'files dl': [['-o, --out <path>', 'Output path']],
|
|
85
|
+
'storage ls': [['--folder <ref>', 'List inside a folder'], ['--search <q>', 'Filter by name']],
|
|
86
|
+
'share create': [
|
|
87
|
+
['--expires <dur>', 'Expiry like 24h / 7d / 30d'],
|
|
88
|
+
['--max-downloads <n>', 'Download limit'],
|
|
89
|
+
['--view-only', 'Disable downloads'],
|
|
90
|
+
],
|
|
91
|
+
'filereq create': [
|
|
92
|
+
['--max-files <n>', 'Maximum files per submission'],
|
|
93
|
+
['--expires <dur>', 'Expiry like 24h / 7d'],
|
|
94
|
+
['--description <text>', 'Shown to uploaders'],
|
|
95
|
+
],
|
|
96
|
+
'sites visibility': [['--public', 'Make public'], ['--private', 'Make private']],
|
|
97
|
+
'host api': [
|
|
98
|
+
['--port <n>', 'API port (default 8065)'],
|
|
99
|
+
['--redis-port <n>', 'MicroRedis port (default port+1)'],
|
|
100
|
+
['--profile <p>', 'standard | hardened | paranoid'],
|
|
101
|
+
['--mode <m>', 'open (loopback, no key) | keyed'],
|
|
102
|
+
['--key', 'Mint an extra local key at boot (repeatable)'],
|
|
103
|
+
['--hmac-secret <s>', 'Require HMAC request signing'],
|
|
104
|
+
['--rps <n>', 'Override per-key requests/second'],
|
|
105
|
+
['--max-body <size>', 'Body cap like 512mb / 64mb'],
|
|
106
|
+
['--allow-ips <ips>', 'Comma-separated allowlist'],
|
|
107
|
+
],
|
|
108
|
+
'fs mount': [
|
|
109
|
+
['--mount <path>', 'FUSE mount point'],
|
|
110
|
+
['--webdav', 'Force WebDAV mode'],
|
|
111
|
+
['--port <n>', 'WebDAV port (default 8099)'],
|
|
112
|
+
],
|
|
113
|
+
};
|
|
114
|
+
function register() {
|
|
115
|
+
const singles = new Map();
|
|
116
|
+
const groups = new Map();
|
|
117
|
+
for (const cmd of getAllCommands()) {
|
|
118
|
+
const parts = cmd.name.split(' ');
|
|
119
|
+
if (parts.length === 1) {
|
|
120
|
+
if (!singles.has(cmd.name))
|
|
121
|
+
singles.set(cmd.name, cmd);
|
|
122
|
+
}
|
|
123
|
+
else if (parts.length === 2) {
|
|
124
|
+
const [parent, child] = parts;
|
|
125
|
+
if (!groups.has(parent))
|
|
126
|
+
groups.set(parent, new Map());
|
|
127
|
+
groups.get(parent).set(child, cmd);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Single-purpose top-level commands.
|
|
131
|
+
for (const [name, cmd] of singles) {
|
|
132
|
+
if (groups.has(name))
|
|
133
|
+
continue;
|
|
134
|
+
const c = program.command(name);
|
|
135
|
+
c.description(cmd.description);
|
|
136
|
+
c.arguments('[args...]');
|
|
137
|
+
for (const alias of cmd.aliases)
|
|
138
|
+
c.alias(alias.replace(`${name} `, ''));
|
|
139
|
+
for (const [flag, desc] of OPTIONS[name] ?? [])
|
|
140
|
+
c.option(flag, desc);
|
|
141
|
+
c.action(async (...args) => dispatch(cmd, name, args));
|
|
142
|
+
}
|
|
143
|
+
// Two-part commands: `files ls` etc.
|
|
144
|
+
for (const [parentName, children] of groups) {
|
|
145
|
+
const parent = program.command(parentName);
|
|
146
|
+
parent.description(`SquidCloud ${parentName} commands`);
|
|
147
|
+
for (const [childName, cmd] of children) {
|
|
148
|
+
const c = parent.command(childName);
|
|
149
|
+
c.description(cmd.description);
|
|
150
|
+
c.arguments('[args...]');
|
|
151
|
+
for (const alias of cmd.aliases.map((a) => a.replace(`${parentName} `, ''))) {
|
|
152
|
+
if (alias && alias !== childName && !alias.startsWith('-'))
|
|
153
|
+
c.alias(alias);
|
|
154
|
+
}
|
|
155
|
+
for (const [flag, desc] of OPTIONS[`${parentName} ${childName}`] ?? [])
|
|
156
|
+
c.option(flag, desc);
|
|
157
|
+
c.action(async (...args) => dispatch(cmd, `${parentName} ${childName}`, args));
|
|
158
|
+
}
|
|
159
|
+
// Bare parent invocation (e.g. `squidcloudctl login`) → default child.
|
|
160
|
+
const bare = singles.get(parentName);
|
|
161
|
+
if (bare) {
|
|
162
|
+
parent.action(async (...args) => {
|
|
163
|
+
const opts = (args[args.length - 1] ?? {});
|
|
164
|
+
const target = parentName === 'login' && opts.code ? children.get('device') : bare;
|
|
165
|
+
await dispatch(target, target.name, args);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
async function main() {
|
|
171
|
+
const args = process.argv.slice(2);
|
|
172
|
+
if (args.includes('--version') || args.includes('-v')) {
|
|
173
|
+
const { showVersion } = await import('../commands/util/version.js');
|
|
174
|
+
await showVersion();
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
if (args.length === 0) {
|
|
178
|
+
const { showVersion } = await import('../commands/util/version.js');
|
|
179
|
+
await showVersion();
|
|
180
|
+
register();
|
|
181
|
+
program.outputHelp();
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
register();
|
|
185
|
+
await program.parseAsync(process.argv);
|
|
186
|
+
}
|
|
187
|
+
main().catch((err) => {
|
|
188
|
+
logError(err instanceof Error ? err.message : String(err));
|
|
189
|
+
process.exit(1);
|
|
190
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/registry/index.ts","../../src/bin/squidcloud.ts"],"names":["REGISTRY","getAllCommands","__dirname","dirname","fileURLToPath","pkg","readFileSync","resolve","program","Command","thisCommand","setJsonMode","isCI","ensureAuth","descriptor","session","loadSession","logError","shouldRefreshToken","refreshAccessToken","buildCommandTree","commands","tree","cmd","parts","parent","child","name","children","c","args","mod","actionArgs","writeAudit","err","message","parentCmd","childName","childCmd","fullName","a","main","showVersion"],"mappings":"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","file":"squidcloud.js","sourcesContent":["export type CommandCategory =\n | 'auth'\n | 'storage'\n | 'deploy'\n | 'sites'\n | 'scripts'\n | 'automations'\n | 'forms'\n | 'sign'\n | 'time'\n | 'monitor'\n | 'logs'\n | 'collab'\n | 'tunnel'\n | 'id'\n | 'project'\n | 'utility'\n\nexport interface CommandDescriptor {\n name: string\n aliases: string[]\n description: string\n requiresAuth: boolean\n requiresProject: boolean\n ciSafe: boolean\n jsonSupport: boolean\n dangerLevel: 'safe' | 'caution' | 'destructive'\n category: CommandCategory\n handler: () => Promise<{ default: (...args: unknown[]) => void | Promise<void> }>\n}\n\nconst REGISTRY: CommandDescriptor[] = [\n // AUTH\n { name: 'login', aliases: [], description: 'Authenticate with SquidCloud', requiresAuth: false, requiresProject: false, ciSafe: false, jsonSupport: false, dangerLevel: 'safe', category: 'auth', handler: () => import('../commands/auth/login.js') },\n { name: 'logout', aliases: [], description: 'End current CLI session and clear credentials', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: false, dangerLevel: 'safe', category: 'auth', handler: () => import('../commands/auth/logout.js') },\n { name: 'whoami', aliases: ['auth whoami'], description: 'Show current authenticated account info', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'auth', handler: () => import('../commands/auth/whoami.js') },\n { name: 'auth status', aliases: [], description: 'Detailed session health check', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'auth', handler: () => import('../commands/auth/auth-status.js') },\n { name: 'auth sessions', aliases: [], description: 'List all active CLI sessions', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'auth', handler: () => import('../commands/auth/auth-sessions.js') },\n { name: 'auth revoke', aliases: [], description: 'Revoke a session or all sessions', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: false, dangerLevel: 'destructive', category: 'auth', handler: () => import('../commands/auth/auth-revoke.js') },\n\n // STORAGE\n { name: 'storage ls', aliases: ['storage list'], description: 'List files and folders in storage', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-ls.js') },\n { name: 'storage upload', aliases: ['storage up'], description: 'Upload files or folders to storage', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-upload.js') },\n { name: 'storage download', aliases: ['storage dl'], description: 'Download files or folders from storage', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-download.js') },\n { name: 'storage cp', aliases: [], description: 'Copy files within storage', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-cp.js') },\n { name: 'storage mv', aliases: [], description: 'Move/rename files within storage', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'storage', handler: () => import('../commands/storage/storage-mv.js') },\n { name: 'storage rm', aliases: [], description: 'Delete files from storage', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'destructive', category: 'storage', handler: () => import('../commands/storage/storage-rm.js') },\n { name: 'storage mkdir', aliases: [], description: 'Create a folder in storage', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-mkdir.js') },\n { name: 'storage cat', aliases: [], description: 'Print file contents to terminal', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: false, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-cat.js') },\n { name: 'storage info', aliases: [], description: 'Show file metadata', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-info.js') },\n { name: 'storage share', aliases: [], description: 'Generate a share link for a file', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-share.js') },\n { name: 'storage unshare', aliases: [], description: 'Revoke all share links for a file', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'storage', handler: () => import('../commands/storage/storage-unshare.js') },\n { name: 'storage tag', aliases: [], description: 'Add or remove file tags', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-tag.js') },\n { name: 'storage search', aliases: [], description: 'Search storage by filename', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-search.js') },\n { name: 'storage diff', aliases: [], description: 'Compare local and remote storage', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'storage', handler: () => import('../commands/storage/storage-diff.js') },\n { name: 'storage clean', aliases: [], description: 'Clean orphaned files from storage', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'storage', handler: () => import('../commands/storage/storage-clean.js') },\n\n // DEPLOY\n { name: 'deploy', aliases: ['squidsite deploy'], description: 'Deploy a static website to SquidCloud Sites', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'deploy', handler: () => import('../commands/deploy/index.js') },\n\n // SITES\n { name: 'sites list', aliases: ['sites ls'], description: 'List all published sites', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'sites', handler: () => import('../commands/sites/sites-list.js') },\n { name: 'sites info', aliases: [], description: 'Show site details', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'sites', handler: () => import('../commands/sites/sites-info.js') },\n { name: 'sites open', aliases: [], description: 'Open site in browser', requiresAuth: true, requiresProject: false, ciSafe: false, jsonSupport: false, dangerLevel: 'safe', category: 'sites', handler: () => import('../commands/sites/sites-open.js') },\n { name: 'sites unpublish', aliases: [], description: 'Take a site offline', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'destructive', category: 'sites', handler: () => import('../commands/sites/sites-unpublish.js') },\n { name: 'sites delete', aliases: [], description: 'Permanently delete a site', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'destructive', category: 'sites', handler: () => import('../commands/sites/sites-delete.js') },\n { name: 'sites visibility', aliases: [], description: 'Change site visibility (public/private)', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'sites', handler: () => import('../commands/sites/sites-visibility.js') },\n { name: 'sites rename', aliases: [], description: 'Rename a site slug', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'destructive', category: 'sites', handler: () => import('../commands/sites/sites-rename.js') },\n { name: 'sites rollback', aliases: [], description: 'Rollback to a previous deployment', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'sites', handler: () => import('../commands/sites/sites-rollback.js') },\n { name: 'sites deploys', aliases: [], description: 'Show deployment history', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'sites', handler: () => import('../commands/sites/sites-deploys.js') },\n { name: 'sites logs', aliases: [], description: 'Stream live site access logs', requiresAuth: true, requiresProject: false, ciSafe: false, jsonSupport: false, dangerLevel: 'safe', category: 'sites', handler: () => import('../commands/sites/sites-logs.js') },\n { name: 'sites analytics', aliases: [], description: 'Show site traffic analytics', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'sites', handler: () => import('../commands/sites/sites-analytics.js') },\n { name: 'sites purge', aliases: [], description: 'Purge CDN cache for a site', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'sites', handler: () => import('../commands/sites/sites-purge.js') },\n\n // SCRIPTS (Pipelines)\n { name: 'scripts list', aliases: [], description: 'List registered SquidScripts', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'scripts', handler: () => import('../commands/scripts/scripts-list.js') },\n { name: 'scripts run', aliases: [], description: 'Run a SquidScript pipeline', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'scripts', handler: () => import('../commands/scripts/scripts-run.js') },\n { name: 'scripts logs', aliases: [], description: 'View pipeline run logs', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'scripts', handler: () => import('../commands/scripts/scripts-logs.js') },\n { name: 'scripts validate', aliases: [], description: 'Validate a .squid.yml file', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'scripts', handler: () => import('../commands/scripts/scripts-validate.js') },\n { name: 'scripts init', aliases: [], description: 'Create a new pipeline interactively', requiresAuth: true, requiresProject: false, ciSafe: false, jsonSupport: false, dangerLevel: 'safe', category: 'scripts', handler: () => import('../commands/scripts/scripts-init.js') },\n { name: 'scripts enable', aliases: [], description: 'Enable a disabled pipeline', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'scripts', handler: () => import('../commands/scripts/scripts-enable.js') },\n { name: 'scripts disable', aliases: [], description: 'Disable a pipeline', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'scripts', handler: () => import('../commands/scripts/scripts-disable.js') },\n { name: 'scripts delete', aliases: [], description: 'Delete a pipeline', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'destructive', category: 'scripts', handler: () => import('../commands/scripts/scripts-delete.js') },\n { name: 'scripts status', aliases: [], description: 'Show pipeline status', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'scripts', handler: () => import('../commands/scripts/scripts-status.js') },\n { name: 'scripts cancel', aliases: [], description: 'Cancel a running pipeline', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'scripts', handler: () => import('../commands/scripts/scripts-cancel.js') },\n { name: 'scripts watch', aliases: [], description: 'Watch .squid.yml for changes', requiresAuth: false, requiresProject: false, ciSafe: false, jsonSupport: false, dangerLevel: 'safe', category: 'scripts', handler: () => import('../commands/scripts/scripts-watch.js') },\n\n // FORMS (File Requests)\n { name: 'filereq list', aliases: ['forms list', 'filereq ls'], description: 'List file requests', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'forms', handler: () => import('../commands/forms/forms-list.js') },\n { name: 'filereq create', aliases: ['forms create'], description: 'Create a file request', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'forms', handler: () => import('../commands/forms/forms-create.js') },\n { name: 'filereq info', aliases: ['forms info'], description: 'View file request details', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'forms', handler: () => import('../commands/forms/forms-info.js') },\n { name: 'filereq submissions', aliases: ['forms submissions'], description: 'View file request submissions', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'forms', handler: () => import('../commands/forms/forms-submissions.js') },\n { name: 'filereq export', aliases: ['forms export'], description: 'Export submissions as CSV', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: false, dangerLevel: 'safe', category: 'forms', handler: () => import('../commands/forms/forms-export.js') },\n { name: 'filereq clear', aliases: ['forms clear'], description: 'Clear all submissions', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'destructive', category: 'forms', handler: () => import('../commands/forms/forms-clear.js') },\n { name: 'filereq delete', aliases: ['forms delete'], description: 'Delete a file request', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'destructive', category: 'forms', handler: () => import('../commands/forms/forms-delete.js') },\n { name: 'filereq embed', aliases: ['forms embed'], description: 'Get HTML embed snippet', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: false, dangerLevel: 'safe', category: 'forms', handler: () => import('../commands/forms/forms-embed.js') },\n\n // SQUIDTIME\n { name: 'time lock', aliases: [], description: 'Time-lock a file or folder', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'time', handler: () => import('../commands/time/time-lock.js') },\n { name: 'time unlock', aliases: [], description: 'Unlock a time-locked file', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'time', handler: () => import('../commands/time/time-unlock.js') },\n { name: 'time status', aliases: [], description: 'Check time-lock status', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'time', handler: () => import('../commands/time/time-status.js') },\n { name: 'time list', aliases: [], description: 'List all time-locked files', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'time', handler: () => import('../commands/time/time-list.js') },\n { name: 'time proof', aliases: [], description: 'Export cryptographic existence proof', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'time', handler: () => import('../commands/time/time-proof.js') },\n\n // COLLAB\n { name: 'collab invite', aliases: [], description: 'Invite a collaborator to a folder', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'collab', handler: () => import('../commands/collab/collab-invite.js') },\n { name: 'collab list', aliases: [], description: 'List folder collaborators', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'collab', handler: () => import('../commands/collab/collab-list.js') },\n { name: 'collab remove', aliases: [], description: 'Remove a collaborator', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'collab', handler: () => import('../commands/collab/collab-remove.js') },\n { name: 'collab activity', aliases: [], description: 'View collaborator activity feed', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'collab', handler: () => import('../commands/collab/collab-activity.js') },\n { name: 'collab leave', aliases: [], description: 'Leave a shared folder', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'collab', handler: () => import('../commands/collab/collab-leave.js') },\n { name: 'collab transfer', aliases: [], description: 'Transfer folder ownership', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'destructive', category: 'collab', handler: () => import('../commands/collab/collab-transfer.js') },\n\n // SQUIDSIGN\n { name: 'sign request', aliases: [], description: 'Request a digital signature', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'sign', handler: () => import('../commands/sign/sign-request.js') },\n { name: 'sign status', aliases: [], description: 'Check signing request status', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'sign', handler: () => import('../commands/sign/sign-status.js') },\n { name: 'sign list', aliases: [], description: 'List signing requests', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'sign', handler: () => import('../commands/sign/sign-list.js') },\n { name: 'sign cancel', aliases: [], description: 'Cancel a signing request', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'caution', category: 'sign', handler: () => import('../commands/sign/sign-cancel.js') },\n { name: 'sign verify', aliases: [], description: 'Verify a signed document', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'sign', handler: () => import('../commands/sign/sign-verify.js') },\n { name: 'sign download', aliases: [], description: 'Download signed document', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'sign', handler: () => import('../commands/sign/sign-download.js') },\n\n // MONITOR\n { name: 'monitor', aliases: [], description: 'At-a-glance SquidCloud health dashboard', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'monitor', handler: () => import('../commands/monitor/monitor.js') },\n { name: 'monitor sites', aliases: [], description: 'Site health overview', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'monitor', handler: () => import('../commands/monitor/monitor-sites.js') },\n { name: 'monitor pipelines', aliases: [], description: 'Pipeline health overview', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'monitor', handler: () => import('../commands/monitor/monitor-pipelines.js') },\n { name: 'monitor storage', aliases: [], description: 'Storage health report', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'monitor', handler: () => import('../commands/monitor/monitor-storage.js') },\n { name: 'monitor automations', aliases: [], description: 'Automation health overview', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'monitor', handler: () => import('../commands/monitor/monitor-automations.js') },\n\n // LOGS\n { name: 'logs tail', aliases: [], description: 'Stream live logs', requiresAuth: true, requiresProject: false, ciSafe: false, jsonSupport: false, dangerLevel: 'safe', category: 'logs', handler: () => import('../commands/logs/logs-tail.js') },\n { name: 'logs search', aliases: [], description: 'Search historical logs', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'logs', handler: () => import('../commands/logs/logs-search.js') },\n { name: 'logs export', aliases: [], description: 'Export logs as JSONL or CSV', requiresAuth: true, requiresProject: false, ciSafe: true, jsonSupport: false, dangerLevel: 'safe', category: 'logs', handler: () => import('../commands/logs/logs-export.js') },\n\n // UTILITY\n { name: 'doctor', aliases: [], description: 'Run system diagnostics', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'utility', handler: () => import('../commands/util/doctor.js') },\n { name: 'version', aliases: ['--version', '-v'], description: 'Show CLI version', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'utility', handler: () => import('../commands/util/version.js') },\n { name: 'config list', aliases: ['config ls'], description: 'List CLI configuration', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'utility', handler: () => import('../commands/util/config.js') },\n { name: 'config set', aliases: [], description: 'Set a config value', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'utility', handler: () => import('../commands/util/config-set.js') },\n { name: 'config get', aliases: [], description: 'Get a config value', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'utility', handler: () => import('../commands/util/config-get.js') },\n { name: 'config delete', aliases: [], description: 'Delete a config value', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'utility', handler: () => import('../commands/util/config-delete.js') },\n { name: 'config reset', aliases: [], description: 'Reset all configuration', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'destructive', category: 'utility', handler: () => import('../commands/util/config-reset.js') },\n { name: 'completion', aliases: [], description: 'Generate shell completion scripts', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: false, dangerLevel: 'safe', category: 'utility', handler: () => import('../commands/util/completion.js') },\n { name: 'feedback', aliases: [], description: 'Submit feedback or report a bug', requiresAuth: false, requiresProject: false, ciSafe: false, jsonSupport: false, dangerLevel: 'safe', category: 'utility', handler: () => import('../commands/util/feedback.js') },\n { name: 'update', aliases: [], description: 'Update the CLI to latest version', requiresAuth: false, requiresProject: false, ciSafe: true, jsonSupport: true, dangerLevel: 'safe', category: 'utility', handler: () => import('../commands/util/update.js') },\n]\n\nexport function getCommand(name: string): CommandDescriptor | undefined {\n const parts = name.trim().toLowerCase().split(/\\s+/)\n return REGISTRY.find(cmd => {\n const cmdParts = cmd.name.split(/\\s+/)\n if (parts.join(' ') === cmd.name) return true\n for (const alias of cmd.aliases) {\n const aliasParts = alias.split(/\\s+/)\n const expandedAlias = (aliasParts[0] === cmdParts[0] && aliasParts.length > 1) ? alias : null\n if (parts.join(' ') === alias) return true\n }\n return false\n })\n}\n\nexport function getCategory(cat: CommandCategory): CommandDescriptor[] {\n return REGISTRY.filter(cmd => cmd.category === cat)\n}\n\nexport function getAllCommands(): CommandDescriptor[] {\n return [...REGISTRY]\n}\n\nexport function getCISafeCommands(): CommandDescriptor[] {\n return REGISTRY.filter(cmd => cmd.ciSafe)\n}\n","#!/usr/bin/env node\nimport { readFileSync } from 'node:fs'\nimport { dirname, resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { Command } from 'commander'\nimport { setJsonMode, logError, writeAudit } from '../lib/output/index.js'\nimport { isCI } from '../lib/utils/ci-detect.js'\nimport { getAllCommands, CommandDescriptor } from '../registry/index.js'\nimport { loadSession, shouldRefreshToken } from '../lib/auth/session.js'\nimport { refreshAccessToken } from '../lib/auth/refresh.js'\n\nconst __dirname = dirname(fileURLToPath(import.meta.url))\nconst pkg = JSON.parse(readFileSync(resolve(__dirname, '../../package.json'), 'utf-8')) as { version: string; name: string; description: string }\n\nconst program = new Command()\n\nprogram\n .name('squidcloud')\n .description(pkg.description)\n .version(pkg.version, '-v, --version', 'Display CLI version')\n .option('--output <format>', 'Output format (json)', 'text')\n .hook('preAction', async (thisCommand) => {\n const opts = thisCommand.optsWithGlobals()\n if (opts.output === 'json') {\n setJsonMode(true)\n }\n if (isCI()) {\n setJsonMode(false)\n }\n })\n\nasync function ensureAuth(descriptor: CommandDescriptor): Promise<void> {\n if (!descriptor.requiresAuth) return\n const session = await loadSession()\n if (!session) {\n logError('Not authenticated. Run `squidcloud login` first.')\n process.exit(1)\n }\n if (shouldRefreshToken(session)) {\n const refreshed = await refreshAccessToken()\n if (!refreshed) {\n logError('Session expired. Please run `squidcloud login` again.')\n process.exit(1)\n }\n }\n}\n\nfunction buildCommandTree(commands: CommandDescriptor[]): void {\n const tree = new Map<string, Map<string, CommandDescriptor>>()\n\n for (const cmd of commands) {\n const parts = cmd.name.split(' ')\n if (parts.length === 1) {\n tree.set(cmd.name, new Map())\n } else if (parts.length === 2) {\n const [parent, child] = parts\n if (!tree.has(parent!)) {\n tree.set(parent!, new Map())\n }\n tree.get(parent!)!.set(child!, cmd)\n }\n }\n\n for (const [name, children] of tree) {\n if (children.size === 0) {\n const cmd = commands.find(c => c.name === name)!\n const c = program.command(name)\n c.description(cmd.description)\n c.arguments('[args...]')\n if (cmd.aliases.length > 0) {\n c.aliases(cmd.aliases)\n }\n c.action(async (...args: unknown[]) => {\n try {\n await ensureAuth(cmd)\n const mod = await cmd.handler()\n if (typeof mod.default === 'function') {\n let actionArgs = args.slice(0, -2)\n if (actionArgs.length === 1 && Array.isArray(actionArgs[0])) {\n actionArgs = actionArgs[0]\n }\n await mod.default(...actionArgs)\n }\n writeAudit(cmd.name, process.argv.slice(2).join(' '), 0)\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n logError(message)\n writeAudit(cmd.name, process.argv.slice(2).join(' '), 1)\n process.exit(1)\n }\n })\n } else {\n const parentCmd = program.command(name)\n parentCmd.description(`SquidCloud ${name} commands`)\n for (const [childName, childCmd] of children) {\n const fullName = `${name} ${childName}`\n const c = parentCmd.command(childName)\n c.description(childCmd.description)\n c.arguments('[args...]')\n if (childCmd.aliases.length > 0) {\n c.aliases(childCmd.aliases.map(a => a.replace(`${name} `, '')))\n }\n c.action(async (...args: unknown[]) => {\n try {\n await ensureAuth(childCmd)\n const mod = await childCmd.handler()\n if (typeof mod.default === 'function') {\n let actionArgs = args.slice(0, -2)\n if (actionArgs.length === 1 && Array.isArray(actionArgs[0])) {\n actionArgs = actionArgs[0]\n }\n await mod.default(...actionArgs)\n }\n writeAudit(fullName, process.argv.slice(2).join(' '), 0)\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n logError(message)\n writeAudit(fullName, process.argv.slice(2).join(' '), 1)\n process.exit(1)\n }\n })\n }\n }\n }\n}\n\nasync function main(): Promise<void> {\n const args = process.argv.slice(2)\n\n if (args.includes('--version') || args.includes('-v')) {\n const { showVersion } = await import('../commands/util/version.js')\n await showVersion()\n return\n }\n\n if (args.length === 0 && !args.includes('--help') && !args.includes('-h')) {\n const { showVersion } = await import('../commands/util/version.js')\n await showVersion()\n console.log('')\n program.outputHelp()\n return\n }\n\n const commands = getAllCommands()\n buildCommandTree(commands)\n\n program.addHelpText('beforeAll', '\\n')\n\n await program.parseAsync(process.argv)\n}\n\nmain().catch((err) => {\n logError(err instanceof Error ? err.message : String(err))\n process.exit(1)\n})\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/bin/squidcloud.ts"],"names":["__dirname","dirname","fileURLToPath","pkg","readFileSync","resolve","program","Command","thisCommand","setJsonMode","isCI","ensureAuth","descriptor","loadOAuthSession","authToken","logError","tokenExpiresAt","clearOAuthSession","buildCommandTree","commands","tree","cmd","parts","parent","child","name","children","c","args","mod","actionArgs","writeAudit","err","message","parentCmd","childName","childCmd","fullName","a","bareCmd","target","main","showVersion","getAllCommands"],"mappings":"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","file":"squidcloud.js","sourcesContent":["#!/usr/bin/env node\nimport { readFileSync } from 'node:fs'\nimport { dirname, resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { Command } from 'commander'\nimport { setJsonMode, logError, writeAudit } from '../lib/output/index.js'\nimport { isCI } from '../lib/utils/ci-detect.js'\nimport { getAllCommands, CommandDescriptor } from '../registry/index.js'\nimport { loadOAuthSession, clearOAuthSession, authToken } from '../lib/auth/oauth-session.js'\n\nconst __dirname = dirname(fileURLToPath(import.meta.url))\nconst pkg = JSON.parse(readFileSync(resolve(__dirname, '../../package.json'), 'utf-8')) as { version: string; name: string; description: string }\n\nconst program = new Command()\n\nprogram\n .name('squidcloud')\n .description(pkg.description)\n .version(pkg.version, '-v, --version', 'Display CLI version')\n .option('--output <format>', 'Output format (json)', 'text')\n .hook('preAction', async (thisCommand) => {\n const opts = thisCommand.optsWithGlobals()\n if (opts.output === 'json') {\n setJsonMode(true)\n }\n if (isCI()) {\n setJsonMode(false)\n }\n })\n\nasync function ensureAuth(descriptor: CommandDescriptor): Promise<void> {\n // Load OAuth session from credentials file first (auto-login)\n await loadOAuthSession()\n\n if (!descriptor.requiresAuth) return\n if (!authToken) {\n logError('Not authenticated. Run `squidcloud login` first.')\n process.exit(1)\n }\n\n const { tokenExpiresAt } = await import('../lib/auth/oauth-session.js')\n if (tokenExpiresAt && Date.now() >= tokenExpiresAt) {\n await clearOAuthSession()\n logError('Session expired. Please run `squidcloud login` again.')\n process.exit(1)\n }\n}\n\nfunction buildCommandTree(commands: CommandDescriptor[]): void {\n const tree = new Map<string, Map<string, CommandDescriptor>>()\n\n for (const cmd of commands) {\n const parts = cmd.name.split(' ')\n if (parts.length === 1) {\n tree.set(cmd.name, new Map())\n } else if (parts.length === 2) {\n const [parent, child] = parts\n if (!tree.has(parent!)) {\n tree.set(parent!, new Map())\n }\n tree.get(parent!)!.set(child!, cmd)\n }\n }\n\n for (const [name, children] of tree) {\n if (children.size === 0) {\n const cmd = commands.find(c => c.name === name)!\n const c = program.command(name)\n c.description(cmd.description)\n c.arguments('[args...]')\n if (cmd.aliases.length > 0) {\n c.aliases(cmd.aliases)\n }\n c.action(async (...args: unknown[]) => {\n try {\n await ensureAuth(cmd)\n const mod = await cmd.handler()\n if (typeof mod.default === 'function') {\n let actionArgs = args.slice(0, -2)\n if (actionArgs.length === 1 && Array.isArray(actionArgs[0])) {\n actionArgs = actionArgs[0]\n }\n await mod.default(...actionArgs)\n }\n writeAudit(cmd.name, process.argv.slice(2).join(' '), 0)\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n logError(message)\n writeAudit(cmd.name, process.argv.slice(2).join(' '), 1)\n process.exit(1)\n }\n })\n } else {\n const parentCmd = program.command(name)\n parentCmd.description(`SquidCloud ${name} commands`)\n if (name === 'login') {\n parentCmd.option('--code', 'Authenticate using device code flow')\n }\n for (const [childName, childCmd] of children) {\n const fullName = `${name} ${childName}`\n const c = parentCmd.command(childName)\n c.description(childCmd.description)\n c.arguments('[args...]')\n if (childCmd.aliases.length > 0) {\n c.aliases(childCmd.aliases.map(a => a.replace(`${name} `, '')))\n }\n c.action(async (...args: unknown[]) => {\n try {\n await ensureAuth(childCmd)\n const mod = await childCmd.handler()\n if (typeof mod.default === 'function') {\n let actionArgs = args.slice(0, -2)\n if (actionArgs.length === 1 && Array.isArray(actionArgs[0])) {\n actionArgs = actionArgs[0]\n }\n await mod.default(...actionArgs)\n }\n writeAudit(fullName, process.argv.slice(2).join(' '), 0)\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n logError(message)\n writeAudit(fullName, process.argv.slice(2).join(' '), 1)\n process.exit(1)\n }\n })\n }\n const bareCmd = commands.find(c => c.name === name)\n if (bareCmd) {\n parentCmd.action(async (...args: unknown[]) => {\n const opts = (args[args.length - 2] ?? {}) as Record<string, unknown>\n const target = opts.code ? children.get('device')! : bareCmd\n try {\n await ensureAuth(target)\n const mod = await target.handler()\n if (typeof mod.default === 'function') {\n let actionArgs = args.slice(0, -2)\n if (actionArgs.length === 1 && Array.isArray(actionArgs[0])) {\n actionArgs = actionArgs[0]\n }\n await mod.default(...actionArgs)\n }\n writeAudit(target.name, process.argv.slice(2).join(' '), 0)\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n logError(message)\n writeAudit(target.name, process.argv.slice(2).join(' '), 1)\n process.exit(1)\n }\n })\n }\n }\n }\n}\n\nasync function main(): Promise<void> {\n const args = process.argv.slice(2)\n\n if (args.includes('--version') || args.includes('-v')) {\n const { showVersion } = await import('../commands/util/version.js')\n await showVersion()\n return\n }\n\n if (args.length === 0 && !args.includes('--help') && !args.includes('-h')) {\n const { showVersion } = await import('../commands/util/version.js')\n await showVersion()\n console.log('')\n program.outputHelp()\n return\n }\n\n const commands = getAllCommands()\n buildCommandTree(commands)\n\n program.addHelpText('beforeAll', '\\n')\n\n await program.parseAsync(process.argv)\n}\n\nmain().catch((err) => {\n logError(err instanceof Error ? err.message : String(err))\n process.exit(1)\n})\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import {q,y}from'./chunk-UO2SSIIZ.js';import s from'chalk';import b from'ora';import I from'cli-table3';var R="#0A0E1A",f="#4FC3F7",d="#7C4DFF",g="#FFFFFF",A=[" \u2554\u2550\u2550\u2550\u2557 "," \u2554\u255D\u2588 \u2588\u255A\u2557 "," \u2551 \u25C9 \u2551 "," \u255A\u2557 \u2554\u255D "," \u2551 \u2566 \u2551 "," \u2554\u255D \u2551 \u255A\u2557 "," \u2551 \u2551 \u2551 "," \u255A\u2557 \u2551 \u2554\u255D "," \u255A\u2550\u2550\u2550\u255D "];function u(){return A.map((o,r)=>{let n=o.replace(/█/g,s.hex(d)("\u2588")).replace(/◉/g,s.hex(f)("\u25C9")).replace(/[╔╗╚╝═║╦]/g,t=>s.hex(g)(t));return s.bgHex(R)(n)}).join(`
|
|
2
|
+
`)}function S(){let e=u(),o=s.hex(f)("SQUID")+s.hex(d)("CLOUD"),r=s.hex(g).dim("static sites \xB7 storage \xB7 pipelines");return `${e}
|
|
3
|
+
|
|
4
|
+
${o} ${r}
|
|
5
|
+
`}var C={dots:{spinner:"dots"},moon:{spinner:"moon"},arc:{spinner:"arc"},bounce:{spinner:"bounce"},shark:{spinner:{interval:120,frames:["\u25B8 ","\u25B8\u25B8 ","\u25B8\u25B8\u25B8 ","\u25B8\u25B8\u25B8\u25B8"," \u25B8\u25B8\u25B8\u25B8"," \u25B8\u25B8\u25B8"," \u25B8\u25B8"," \u25B8"]}}},$=h;function h(e,o="shark"){if(i()||q()){let r={...b({text:e,spinner:"dots"}),start:()=>(i()||console.log(e),r),stop:()=>(i()||console.log(),r),succeed:()=>(i()||console.log(`${s.green("\u2713")} ${e}`),r),fail:()=>(i()||console.log(`${s.red("\u2717")} ${e}`),r),warn:()=>(i()||console.log(`${s.hex("#FF9800")("\u26A0")} ${e}`),r),info:()=>(i()||console.log(`${s.hex("#4FC3F7")("\u2139")} ${e}`),r),stopAndPersist:()=>(i()||console.log(`${e}`),r),clear:()=>r,render:()=>r,frame:()=>" ",text:e,isSpinning:false,indent:0,color:"cyan",prefixText:"",spinner:{interval:100,frames:[""]}};return r}return b({text:e,...C[o]}).start()}function m(e,o={}){return new I({head:e.map(r=>s.bold(r)),colAligns:o.colAligns,style:{head:[],border:[],"padding-left":1,"padding-right":1,...o.style},chars:{top:"\u2500","top-mid":"\u252C","top-left":"\u250C","top-right":"\u2510",bottom:"\u2500","bottom-mid":"\u2534","bottom-left":"\u2514","bottom-right":"\u2518",left:"\u2502","left-mid":"\u251C",mid:"\u2500","mid-mid":"\u253C",right:"\u2502","right-mid":"\u2524",middle:"\u2502"},...o.compact?{chars:{top:"","top-mid":"","top-left":"","top-right":"",bottom:"","bottom-mid":"","bottom-left":"","bottom-right":"",left:"","left-mid":"",mid:"","mid-mid":"",right:"","right-mid":"",middle:""},style:{"padding-left":0,"padding-right":2}}:{}})}function F(e,o){if(q())return y(e),"";let r=m(o.map(n=>n.label),{colAligns:o.map(n=>n.align??"left")});for(let n of e)r.push(o.map(t=>{let l=n[t.key];return t.format?t.format(l):String(l??"")}));return r.toString()}function x(e,o){if(q())return y(e),"";let r=m(o.map(n=>n.label),{colAligns:o.map(n=>n.align??"left"),compact:true});for(let n of e)r.push(o.map(t=>{let l=n[t.key];return t.format?t.format(l):String(l??"")}));return r.toString()}function i(){return !!(process.env.CI||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI)}export{u as a,S as b,$ as c,h as d,m as e,F as f,x as g,i as h};//# sourceMappingURL=chunk-2RAH2YAY.js.map
|
|
6
|
+
//# sourceMappingURL=chunk-2RAH2YAY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/output/mascot.ts","../src/lib/output/spinner.ts","../src/lib/output/table.ts","../src/lib/output/index.ts"],"names":["NAVY","BLUE","VIOLET","WHITE","SQUID_ART","renderMascot","line","i","colored","chalk","m","renderBrandedMascot","mascot","brand","tagline","SPINNER_FRAMES","spinner","createSpinner","text","style","isCI","isJsonMode","silent","ora","createTable","headers","options","Table","h","renderTable","data","columns","logJSON","table","c","row","val","renderCompactTable"],"mappings":"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","file":"chunk-2RAH2YAY.js","sourcesContent":["import chalk from 'chalk'\n\nconst NAVY = '#0A0E1A'\nconst BLUE = '#4FC3F7'\nconst VIOLET = '#7C4DFF'\nconst WHITE = '#FFFFFF'\n\nconst SQUID_ART = [\n ' ╔═══╗ ',\n ' ╔╝█ █╚╗ ',\n ' ║ ◉ ║ ',\n ' ╚╗ ╔╝ ',\n ' ║ ╦ ║ ',\n ' ╔╝ ║ ╚╗ ',\n ' ║ ║ ║ ',\n ' ╚╗ ║ ╔╝ ',\n ' ╚═══╝ ',\n]\n\nexport function renderMascot(): string {\n const lines = SQUID_ART.map((line, i) => {\n const colored = line.replace(/█/g, chalk.hex(VIOLET)('█'))\n .replace(/◉/g, chalk.hex(BLUE)('◉'))\n .replace(/[╔╗╚╝═║╦]/g, (m) => chalk.hex(WHITE)(m))\n return chalk.bgHex(NAVY)(colored)\n })\n return lines.join('\\n')\n}\n\nexport function renderBrandedMascot(): string {\n const mascot = renderMascot()\n const brand = chalk.hex(BLUE)('SQUID') + chalk.hex(VIOLET)('CLOUD')\n const tagline = chalk.hex(WHITE).dim('static sites · storage · pipelines')\n return `${mascot}\\n\\n ${brand} ${tagline}\\n`\n}\n","import ora, { Ora } from 'ora'\nimport chalk from 'chalk'\nimport { isCI, isJsonMode } from './index.js'\n\nconst SPINNER_FRAMES: Record<string, ora.Options> = {\n dots: { spinner: 'dots' },\n moon: { spinner: 'moon' },\n arc: { spinner: 'arc' },\n bounce: { spinner: 'bounce' },\n shark: { spinner: { interval: 120, frames: ['▸ ', '▸▸ ', '▸▸▸ ', '▸▸▸▸', ' ▸▸▸▸', ' ▸▸▸', ' ▸▸', ' ▸'] } },\n}\n\nexport const spinner = createSpinner\n\nexport function createSpinner(text: string, style: keyof typeof SPINNER_FRAMES = 'shark'): Ora {\n if (isCI() || isJsonMode()) {\n const silent: Ora = {\n ...ora({ text, spinner: 'dots' }),\n start: () => { if (!isCI()) console.log(text); return silent },\n stop: () => { if (!isCI()) console.log(); return silent },\n succeed: () => { if (!isCI()) console.log(`${chalk.green('✓')} ${text}`); return silent },\n fail: () => { if (!isCI()) console.log(`${chalk.red('✗')} ${text}`); return silent },\n warn: () => { if (!isCI()) console.log(`${chalk.hex('#FF9800')('⚠')} ${text}`); return silent },\n info: () => { if (!isCI()) console.log(`${chalk.hex('#4FC3F7')('ℹ')} ${text}`); return silent },\n stopAndPersist: () => { if (!isCI()) console.log(`${text}`); return silent },\n clear: () => { return silent },\n render: () => { return silent },\n frame: () => ' ',\n text,\n isSpinning: false,\n indent: 0,\n color: 'cyan',\n prefixText: '',\n spinner: { interval: 100, frames: [''] },\n } as unknown as Ora\n return silent\n }\n return ora({ text, ...SPINNER_FRAMES[style] }).start()\n}\n","import Table from 'cli-table3'\nimport chalk from 'chalk'\nimport { isCI } from '../utils/ci-detect.js'\nimport { isJsonMode, logJSON } from './logger.js'\n\ninterface ColumnDef {\n key: string\n label: string\n align?: 'left' | 'center' | 'right'\n format?: (value: unknown) => string\n}\n\ninterface TableOptions {\n head?: string[]\n colAligns?: ('left' | 'center' | 'right')[]\n style?: Record<string, unknown>\n compact?: boolean\n}\n\nexport function createTable(headers: string[], options: TableOptions = {}): Table.Table {\n return new Table({\n head: headers.map(h => chalk.bold(h)),\n colAligns: options.colAligns,\n style: {\n head: [],\n border: [],\n 'padding-left': 1,\n 'padding-right': 1,\n ...options.style,\n },\n chars: {\n top: '─',\n 'top-mid': '┬',\n 'top-left': '┌',\n 'top-right': '┐',\n bottom: '─',\n 'bottom-mid': '┴',\n 'bottom-left': '└',\n 'bottom-right': '┘',\n left: '│',\n 'left-mid': '├',\n mid: '─',\n 'mid-mid': '┼',\n right: '│',\n 'right-mid': '┤',\n middle: '│',\n },\n ...options.compact ? {\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n middle: '',\n },\n style: { 'padding-left': 0, 'padding-right': 2 },\n } : {},\n })\n}\n\nexport function renderTable(data: Record<string, unknown>[], columns: ColumnDef[]): string {\n if (isJsonMode()) {\n logJSON(data)\n return ''\n }\n const table = createTable(\n columns.map(c => c.label),\n { colAligns: columns.map(c => c.align ?? 'left') }\n )\n for (const row of data) {\n table.push(\n columns.map(c => {\n const val = row[c.key]\n return c.format ? c.format(val) : String(val ?? '')\n })\n )\n }\n return table.toString()\n}\n\nexport function renderCompactTable(data: Record<string, unknown>[], columns: ColumnDef[]): string {\n if (isJsonMode()) {\n logJSON(data)\n return ''\n }\n const table = createTable(\n columns.map(c => c.label),\n { colAligns: columns.map(c => c.align ?? 'left'), compact: true }\n )\n for (const row of data) {\n table.push(\n columns.map(c => {\n const val = row[c.key]\n return c.format ? c.format(val) : String(val ?? '')\n })\n )\n }\n return table.toString()\n}\n","export { renderMascot, renderBrandedMascot } from './mascot.js'\nexport { brand, brandDim, brandLine, success, error, warn, info, muted, copied, BRAND_MARKER, SUCCESS_MARK, ERROR_MARK, WARN_MARK, INFO_MARK, PROGRESS_MARK } from './brand.js'\nexport { setJsonMode, isJsonMode, log, logSuccess, logError, logWarn, logInfo, logBrand, logRaw, logJSON, logErrorJSON, writeAudit } from './logger.js'\nexport { createSpinner } from './spinner.js'\nexport { createTable, renderTable, renderCompactTable } from './table.js'\n\nexport function isCI(): boolean {\n return !!(\n process.env.CI ||\n process.env.GITHUB_ACTIONS ||\n process.env.GITLAB_CI ||\n process.env.CIRCLECI\n )\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/monitor/monitor-storage.ts"],"names":["monitorStorage","args"],"mappings":"AAAA,eAAOA,KAAyCC,CAAAA,CAAgC,CAC9E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-3E23ZFCV.js","sourcesContent":["export default async function monitorStorage(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/scripts/scripts-disable.ts"],"names":["scriptsDisable","args"],"mappings":"AAAA,eAAOA,KAAyCC,CAAAA,CAAgC,CAC9E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-3JD6INFN.js","sourcesContent":["export default async function scriptsDisable(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/monitor/monitor.ts"],"names":["monitor","args"],"mappings":"AAAA,eAAOA,KAAkCC,CAAAA,CAAgC,CACvE,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-3XXAN3BP.js","sourcesContent":["export default async function monitor(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/auth/whoami.ts"],"names":["whoami","args"],"mappings":"AAAA,eAAOA,KAAiCC,CAAAA,CAAgC,CACtE,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-43FK57CR.js","sourcesContent":["export default async function whoami(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/storage/storage-download.ts"],"names":["storageDownload","args"],"mappings":"AAAA,eAAOA,KAA0CC,CAAAA,CAAgC,CAC/E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-4625KLCT.js","sourcesContent":["export default async function storageDownload(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
|