squidcloudctl 1.1.1 → 1.1.2
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/dist/auth-revoke-I5FM6N2S.js +2 -0
- package/dist/{auth-revoke-HLVWIF5D.js.map → auth-revoke-I5FM6N2S.js.map} +1 -1
- package/dist/bin/squidcloud.js +2 -2
- package/dist/bin/squidcloud.js.map +1 -1
- package/dist/chunk-FYFPDKJM.js +3 -0
- package/dist/chunk-FYFPDKJM.js.map +1 -0
- package/dist/collab-invite-HAMMPEAQ.js +2 -0
- package/dist/{collab-invite-OYD63R6K.js.map → collab-invite-HAMMPEAQ.js.map} +1 -1
- package/dist/collab-leave-MTCXHQ4T.js +2 -0
- package/dist/{collab-leave-ZGMFXTNZ.js.map → collab-leave-MTCXHQ4T.js.map} +1 -1
- package/dist/collab-remove-DO4BIA5R.js +2 -0
- package/dist/{collab-remove-SGBXHV6I.js.map → collab-remove-DO4BIA5R.js.map} +1 -1
- package/dist/collab-transfer-6CG5PHVC.js +2 -0
- package/dist/{collab-transfer-QBRVUOBP.js.map → collab-transfer-6CG5PHVC.js.map} +1 -1
- package/dist/deploy-X5HX7V4J.js +3 -0
- package/dist/{deploy-MHRZLVMJ.js.map → deploy-X5HX7V4J.js.map} +1 -1
- package/dist/forms-clear-UJ23UHUN.js +2 -0
- package/dist/{forms-clear-6WHRCNPC.js.map → forms-clear-UJ23UHUN.js.map} +1 -1
- package/dist/forms-create-CWC7MGOJ.js +2 -0
- package/dist/{forms-create-XRPPYHZO.js.map → forms-create-CWC7MGOJ.js.map} +1 -1
- package/dist/forms-delete-TKHTM6L5.js +2 -0
- package/dist/{forms-delete-A2BUAQO2.js.map → forms-delete-TKHTM6L5.js.map} +1 -1
- package/dist/forms-export-5ZNEL3V2.js +2 -0
- package/dist/{forms-export-4MHCOTS6.js.map → forms-export-5ZNEL3V2.js.map} +1 -1
- package/dist/login-SO6BZ4HE.js +2 -0
- package/dist/{login-GCEZPBFD.js.map → login-SO6BZ4HE.js.map} +1 -1
- package/dist/logout-QERO6G6B.js +2 -0
- package/dist/{logout-GJEJPKYX.js.map → logout-QERO6G6B.js.map} +1 -1
- package/dist/logs-export-DYOPV2LT.js +2 -0
- package/dist/{logs-export-FXA6DZEO.js.map → logs-export-DYOPV2LT.js.map} +1 -1
- package/dist/scripts-cancel-JS3LL2AT.js +2 -0
- package/dist/{scripts-cancel-JKTVOSXG.js.map → scripts-cancel-JS3LL2AT.js.map} +1 -1
- package/dist/scripts-delete-274TW63X.js +2 -0
- package/dist/{scripts-delete-6YNN6RF6.js.map → scripts-delete-274TW63X.js.map} +1 -1
- package/dist/scripts-disable-JPATOVO4.js +2 -0
- package/dist/{scripts-disable-2FYBEM24.js.map → scripts-disable-JPATOVO4.js.map} +1 -1
- package/dist/scripts-enable-JVAA6AMP.js +2 -0
- package/dist/{scripts-enable-2HSUEYEM.js.map → scripts-enable-JVAA6AMP.js.map} +1 -1
- package/dist/scripts-logs-VISO5ONQ.js +2 -0
- package/dist/{scripts-logs-K5MJAH3Z.js.map → scripts-logs-VISO5ONQ.js.map} +1 -1
- package/dist/scripts-run-3NBYKEMQ.js +2 -0
- package/dist/{scripts-run-AWP7H6UI.js.map → scripts-run-3NBYKEMQ.js.map} +1 -1
- package/dist/scripts-status-45K3IL5L.js +2 -0
- package/dist/{scripts-status-7IJPY6QO.js.map → scripts-status-45K3IL5L.js.map} +1 -1
- package/dist/scripts-validate-JZPIIMIX.js +2 -0
- package/dist/{scripts-validate-JHR2DJ32.js.map → scripts-validate-JZPIIMIX.js.map} +1 -1
- package/dist/sign-cancel-OUJM5UZT.js +2 -0
- package/dist/{sign-cancel-22HQBKO6.js.map → sign-cancel-OUJM5UZT.js.map} +1 -1
- package/dist/sign-download-FS5G6J27.js +2 -0
- package/dist/{sign-download-RZZHSB4G.js.map → sign-download-FS5G6J27.js.map} +1 -1
- package/dist/sign-request-VVFYWT3Y.js +2 -0
- package/dist/{sign-request-ZZ56TFWA.js.map → sign-request-VVFYWT3Y.js.map} +1 -1
- package/dist/sign-status-LKG5UFBX.js +2 -0
- package/dist/{sign-status-MTI7RHMA.js.map → sign-status-LKG5UFBX.js.map} +1 -1
- package/dist/sign-verify-CVTTJSDL.js +2 -0
- package/dist/{sign-verify-SBNMGCHK.js.map → sign-verify-CVTTJSDL.js.map} +1 -1
- package/dist/sites-delete-SUHEQDZQ.js +2 -0
- package/dist/{sites-delete-S7CXJJCT.js.map → sites-delete-SUHEQDZQ.js.map} +1 -1
- package/dist/sites-purge-VHERQRUB.js +2 -0
- package/dist/{sites-purge-4QCZZVJV.js.map → sites-purge-VHERQRUB.js.map} +1 -1
- package/dist/sites-rename-MOO6HVW3.js +2 -0
- package/dist/{sites-rename-LIXOOMUC.js.map → sites-rename-MOO6HVW3.js.map} +1 -1
- package/dist/sites-rollback-SPW2Z73L.js +2 -0
- package/dist/{sites-rollback-SQ3E7LSP.js.map → sites-rollback-SPW2Z73L.js.map} +1 -1
- package/dist/sites-unpublish-6P7SQGIU.js +2 -0
- package/dist/{sites-unpublish-UA2XWIF7.js.map → sites-unpublish-6P7SQGIU.js.map} +1 -1
- package/dist/sites-visibility-R3AQJ76F.js +2 -0
- package/dist/{sites-visibility-X7PYVHRW.js.map → sites-visibility-R3AQJ76F.js.map} +1 -1
- package/dist/storage-cat-HXFOJJG5.js +2 -0
- package/dist/{storage-cat-EHO2BMPK.js.map → storage-cat-HXFOJJG5.js.map} +1 -1
- package/dist/storage-clean-LEQEYWL6.js +2 -0
- package/dist/{storage-clean-7KB4IA23.js.map → storage-clean-LEQEYWL6.js.map} +1 -1
- package/dist/storage-cp-JTPTXZRQ.js +2 -0
- package/dist/{storage-cp-H6NP57DI.js.map → storage-cp-JTPTXZRQ.js.map} +1 -1
- package/dist/storage-diff-XURHVTPC.js +2 -0
- package/dist/{storage-diff-ZGYG6KTC.js.map → storage-diff-XURHVTPC.js.map} +1 -1
- package/dist/storage-download-5OYCNXKL.js +3 -0
- package/dist/{storage-download-33DJ3N6Q.js.map → storage-download-5OYCNXKL.js.map} +1 -1
- package/dist/storage-mkdir-NWOHGAQI.js +2 -0
- package/dist/{storage-mkdir-FGUEME4R.js.map → storage-mkdir-NWOHGAQI.js.map} +1 -1
- package/dist/storage-mv-XQ7EPX3M.js +2 -0
- package/dist/{storage-mv-WW6GNDH4.js.map → storage-mv-XQ7EPX3M.js.map} +1 -1
- package/dist/storage-rm-LYO6UR3G.js +2 -0
- package/dist/{storage-rm-IGU66LQK.js.map → storage-rm-LYO6UR3G.js.map} +1 -1
- package/dist/storage-share-OURRQWZK.js +2 -0
- package/dist/{storage-share-VB47GSYV.js.map → storage-share-OURRQWZK.js.map} +1 -1
- package/dist/storage-tag-NGJGUJSZ.js +2 -0
- package/dist/{storage-tag-Q4TX5KKI.js.map → storage-tag-NGJGUJSZ.js.map} +1 -1
- package/dist/storage-unshare-3DXEKHEH.js +2 -0
- package/dist/{storage-unshare-R7LPIUEA.js.map → storage-unshare-3DXEKHEH.js.map} +1 -1
- package/dist/storage-upload-5M6PBHOC.js +2 -0
- package/dist/{storage-upload-KGMLZLWU.js.map → storage-upload-5M6PBHOC.js.map} +1 -1
- package/dist/time-lock-2OLEVQPJ.js +2 -0
- package/dist/{time-lock-GK7D7RKH.js.map → time-lock-2OLEVQPJ.js.map} +1 -1
- package/dist/time-proof-RUTDAEKP.js +2 -0
- package/dist/{time-proof-PT44FO2Q.js.map → time-proof-RUTDAEKP.js.map} +1 -1
- package/dist/time-unlock-OO6QH5R6.js +2 -0
- package/dist/{time-unlock-UARQCXPS.js.map → time-unlock-OO6QH5R6.js.map} +1 -1
- package/dist/update-XJQSXSFU.js +2 -0
- package/dist/{update-IYMIV34T.js.map → update-XJQSXSFU.js.map} +1 -1
- package/dist/version-LHSDYI7Q.js +2 -0
- package/dist/version-LHSDYI7Q.js.map +1 -0
- package/package.json +1 -1
- package/dist/auth-revoke-HLVWIF5D.js +0 -2
- package/dist/chunk-6TS5Y27A.js +0 -6
- package/dist/chunk-6TS5Y27A.js.map +0 -1
- package/dist/chunk-ON3YIMVG.js +0 -2
- package/dist/chunk-ON3YIMVG.js.map +0 -1
- package/dist/collab-invite-OYD63R6K.js +0 -2
- package/dist/collab-leave-ZGMFXTNZ.js +0 -2
- package/dist/collab-remove-SGBXHV6I.js +0 -2
- package/dist/collab-transfer-QBRVUOBP.js +0 -2
- package/dist/deploy-MHRZLVMJ.js +0 -3
- package/dist/forms-clear-6WHRCNPC.js +0 -2
- package/dist/forms-create-XRPPYHZO.js +0 -2
- package/dist/forms-delete-A2BUAQO2.js +0 -2
- package/dist/forms-export-4MHCOTS6.js +0 -2
- package/dist/login-GCEZPBFD.js +0 -2
- package/dist/logout-GJEJPKYX.js +0 -2
- package/dist/logs-export-FXA6DZEO.js +0 -2
- package/dist/scripts-cancel-JKTVOSXG.js +0 -2
- package/dist/scripts-delete-6YNN6RF6.js +0 -2
- package/dist/scripts-disable-2FYBEM24.js +0 -2
- package/dist/scripts-enable-2HSUEYEM.js +0 -2
- package/dist/scripts-logs-K5MJAH3Z.js +0 -2
- package/dist/scripts-run-AWP7H6UI.js +0 -2
- package/dist/scripts-status-7IJPY6QO.js +0 -2
- package/dist/scripts-validate-JHR2DJ32.js +0 -2
- package/dist/sign-cancel-22HQBKO6.js +0 -2
- package/dist/sign-download-RZZHSB4G.js +0 -2
- package/dist/sign-request-ZZ56TFWA.js +0 -2
- package/dist/sign-status-MTI7RHMA.js +0 -2
- package/dist/sign-verify-SBNMGCHK.js +0 -2
- package/dist/sites-delete-S7CXJJCT.js +0 -2
- package/dist/sites-purge-4QCZZVJV.js +0 -2
- package/dist/sites-rename-LIXOOMUC.js +0 -2
- package/dist/sites-rollback-SQ3E7LSP.js +0 -2
- package/dist/sites-unpublish-UA2XWIF7.js +0 -2
- package/dist/sites-visibility-X7PYVHRW.js +0 -2
- package/dist/storage-cat-EHO2BMPK.js +0 -2
- package/dist/storage-clean-7KB4IA23.js +0 -2
- package/dist/storage-cp-H6NP57DI.js +0 -2
- package/dist/storage-diff-ZGYG6KTC.js +0 -2
- package/dist/storage-download-33DJ3N6Q.js +0 -3
- package/dist/storage-mkdir-FGUEME4R.js +0 -2
- package/dist/storage-mv-WW6GNDH4.js +0 -2
- package/dist/storage-rm-IGU66LQK.js +0 -2
- package/dist/storage-share-VB47GSYV.js +0 -2
- package/dist/storage-tag-Q4TX5KKI.js +0 -2
- package/dist/storage-unshare-R7LPIUEA.js +0 -2
- package/dist/storage-upload-KGMLZLWU.js +0 -2
- package/dist/time-lock-GK7D7RKH.js +0 -2
- package/dist/time-proof-PT44FO2Q.js +0 -2
- package/dist/time-unlock-UARQCXPS.js +0 -2
- package/dist/update-IYMIV34T.js +0 -2
- package/dist/version-7IHVNLWY.js +0 -2
- package/dist/version-7IHVNLWY.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-FYFPDKJM.js';import {e}from'./chunk-BC2OVPRV.js';import'./chunk-NDB6KXYI.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import {o}from'./chunk-4NTVRCZM.js';import a from'inquirer';async function c(e$1){if(e$1.all){let{confirm:s}=await a.prompt([{type:"confirm",name:"confirm",message:"Revoke ALL active sessions? This will log out every device.",default:false}]);if(!s)return;let t=b("Revoking all sessions...");t.start(),await e("/api/auth/ssp/revoke-all",{},{authenticated:true}),await o(),t.succeed(),g("All sessions revoked");return}if(e$1.session){let s=b(`Revoking session ${e$1.session}...`);s.start(),await e("/api/auth/ssp/revoke",{session_id:e$1.session},{authenticated:true}),s.succeed(),g(`Session ${e$1.session} revoked`);return}console.error("Specify --session <id> or --all"),process.exit(1);}export{c as default};//# sourceMappingURL=auth-revoke-I5FM6N2S.js.map
|
|
2
|
+
//# sourceMappingURL=auth-revoke-I5FM6N2S.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/auth/auth-revoke.ts"],"names":["authRevoke","options","confirm","inquirer","spinner","createSpinner","apiPost","clearSession","logSuccess"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/commands/auth/auth-revoke.ts"],"names":["authRevoke","options","confirm","inquirer","spinner","createSpinner","apiPost","clearSession","logSuccess"],"mappings":"gOAOA,eAAOA,CAAAA,CAAkCC,GAAAA,CAA6D,CACpG,GAAIA,GAAAA,CAAQ,GAAA,CAAK,CACf,GAAM,CAAE,QAAAC,CAAQ,CAAA,CAAI,MAAMC,CAAAA,CAAS,MAAA,CAAO,CAAC,CACzC,IAAA,CAAM,SAAA,CACN,IAAA,CAAM,SAAA,CACN,OAAA,CAAS,6DAAA,CACT,QAAS,KACX,CAAC,CAAC,CAAA,CACF,GAAI,CAACD,EAAS,OACd,IAAME,CAAAA,CAAUC,CAAAA,CAAc,0BAA0B,CAAA,CACxDD,EAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,0BAAA,CAA4B,EAAC,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACrE,MAAMC,CAAAA,GACNH,CAAAA,CAAQ,OAAA,EAAQ,CAChBI,CAAAA,CAAW,sBAAsB,CAAA,CACjC,MACF,CAEA,GAAIP,GAAAA,CAAQ,OAAA,CAAS,CACnB,IAAMG,EAAUC,CAAAA,CAAc,CAAA,iBAAA,EAAoBJ,GAAAA,CAAQ,OAAO,CAAA,GAAA,CAAK,CAAA,CACtEG,EAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,sBAAA,CAAwB,CAAE,WAAYL,GAAAA,CAAQ,OAAQ,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC9FG,CAAAA,CAAQ,OAAA,EAAQ,CAChBI,CAAAA,CAAW,CAAA,QAAA,EAAWP,IAAQ,OAAO,CAAA,QAAA,CAAU,CAAA,CAC/C,MACF,CAEA,OAAA,CAAQ,KAAA,CAAM,iCAAiC,CAAA,CAC/C,OAAA,CAAQ,IAAA,CAAK,CAAC,EAChB","file":"auth-revoke-I5FM6N2S.js","sourcesContent":["import { Command } from 'commander'\nimport { apiPost } from '../../lib/api/client.js'\nimport { clearSession } from '../../lib/auth/session.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\nimport inquirer from 'inquirer'\n\nexport default async function authRevoke(options: { session?: string; all?: boolean }): Promise<void> {\n if (options.all) {\n const { confirm } = await inquirer.prompt([{\n type: 'confirm',\n name: 'confirm',\n message: 'Revoke ALL active sessions? This will log out every device.',\n default: false,\n }])\n if (!confirm) return\n const spinner = createSpinner('Revoking all sessions...')\n spinner.start()\n await apiPost('/api/auth/ssp/revoke-all', {}, { authenticated: true })\n await clearSession()\n spinner.succeed()\n logSuccess('All sessions revoked')\n return\n }\n\n if (options.session) {\n const spinner = createSpinner(`Revoking session ${options.session}...`)\n spinner.start()\n await apiPost('/api/auth/ssp/revoke', { session_id: options.session }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Session ${options.session} revoked`)\n return\n }\n\n console.error('Specify --session <id> or --all')\n process.exit(1)\n}\n"]}
|
package/dist/bin/squidcloud.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import'../chunk-ON3YIMVG.js';import {b as b$1}from'../chunk-6TS5Y27A.js';import {a}from'../chunk-BC2OVPRV.js';import'../chunk-NDB6KXYI.js';import'../chunk-THMWE2I6.js';import {e,d,h,n}from'../chunk-QT7R3AXE.js';import {m,q}from'../chunk-4NTVRCZM.js';import {Command}from'commander';var P=[{name:"login",aliases:[],description:"Authenticate with SquidCloud",requiresAuth:false,requiresProject:false,ciSafe:false,jsonSupport:false,dangerLevel:"safe",category:"auth",handler:()=>import('../login-GCEZPBFD.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-GJEJPKYX.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-SAURQARO.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-4VVTCDII.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-ALQEGBDS.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-HLVWIF5D.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-7RZQ3AXR.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-KGMLZLWU.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-33DJ3N6Q.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-H6NP57DI.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-WW6GNDH4.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-IGU66LQK.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-FGUEME4R.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-EHO2BMPK.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-WA74POPR.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-VB47GSYV.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-R7LPIUEA.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-Q4TX5KKI.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-RIT5ISCA.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-ZGYG6KTC.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-7KB4IA23.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-MHRZLVMJ.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-LLULSE5J.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-BZUK57TH.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-R7A5EQWM.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-UA2XWIF7.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-S7CXJJCT.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-X7PYVHRW.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-LIXOOMUC.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-SQ3E7LSP.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-C4TVID2W.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-NILNXF4L.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-JK4UFMWX.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-4QCZZVJV.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-YPFNLI3P.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-AWP7H6UI.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-K5MJAH3Z.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-JHR2DJ32.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-AU6WNMKB.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-2HSUEYEM.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-2FYBEM24.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-6YNN6RF6.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-7IJPY6QO.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-JKTVOSXG.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-XZ7MZIMK.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-W2UUPFFD.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-XRPPYHZO.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-SUST47TN.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-UTLSYPWS.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-4MHCOTS6.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-6WHRCNPC.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-A2BUAQO2.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-FF3VMR4M.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-GK7D7RKH.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-UARQCXPS.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-TVNJBFKC.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-GMZYZAOU.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-PT44FO2Q.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-OYD63R6K.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-JV4ZCWLB.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-SGBXHV6I.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-5RK36CJW.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-ZGMFXTNZ.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-QBRVUOBP.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-ZZ56TFWA.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-MTI7RHMA.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-FV7SQSWT.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-22HQBKO6.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-SBNMGCHK.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-RZZHSB4G.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-DKLGO5H7.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-QIVG5TPF.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-EPL24J3S.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-HBCC34K7.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-4XOOCRFY.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-J64TCZG5.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-323KRPG4.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-FXA6DZEO.js')},{name:"doctor",aliases:[],description:"Run system diagnostics",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"utility",handler:()=>import('../doctor-RSKBJYUX.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-7IHVNLWY.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-7G24FXQJ.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-O6JKOGGN.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-DDNSM5EH.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-VSIFFODZ.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-ZFMP4J5H.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-QUGQAWZB.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-IYMIV34T.js')}];function y(){return [...P]}var p=new Command,L={version:"1.0.0",description:"SquidCloud CLI \u2014 static sites, storage, pipelines, and more."};p.name("squidcloud").description(L.description).version(L.version,"-v, --version","Display CLI version").option("--output <format>","Output format (json)","text").hook("preAction",async e$1=>{e$1.optsWithGlobals().output==="json"&&e(true),d()&&e(false);});async function A(e){if(!e.requiresAuth)return;let s=await m();s||(h("Not authenticated. Run `squidcloud login` first."),process.exit(1)),q(s)&&(await a()||(h("Session expired. Please run `squidcloud login` again."),process.exit(1)));}function b(e){let s=new Map;for(let t of e){let u=t.name.split(" ");if(u.length===1)s.set(t.name,new Map);else if(u.length===2){let[r,o]=u;s.has(r)||s.set(r,new Map),s.get(r).set(o,t);}}for(let[t,u]of s)if(u.size===0){let r=e.find(a=>a.name===t),o=p.command(t);o.description(r.description),r.aliases.length>0&&o.aliases(r.aliases),o.action(async(...a)=>{try{await A(r);let i=await r.handler();if(typeof i.default=="function"){let n=a.slice(0,-2);await i.default(...n);}n(r.name,process.argv.slice(2).join(" "),0);}catch(i){let n$1=i instanceof Error?i.message:String(i);h(n$1),n(r.name,process.argv.slice(2).join(" "),1),process.exit(1);}});}else {let r=p.command(t);r.description(`SquidCloud ${t} commands`);for(let[o,a]of u){let i=`${t} ${o}`,n$1=r.command(o);n$1.description(a.description),a.aliases.length>0&&n$1.aliases(a.aliases.map(f=>f.replace(`${t} `,""))),n$1.action(async(...f)=>{try{await A(a);let l=await a.handler();if(typeof l.default=="function"){let m=f.slice(0,-2);await l.default(...m);}n(i,process.argv.slice(2).join(" "),0);}catch(l){let m=l instanceof Error?l.message:String(l);h(m),n(i,process.argv.slice(2).join(" "),1),process.exit(1);}});}}}async function w(){let e=process.argv.slice(2);if(e.length===0&&!e.includes("--help")&&!e.includes("-h")){console.log(b$1()),p.outputHelp();return}if(e.includes("--version")||e.includes("-v")){let{showVersion:t}=await import('../version-7IHVNLWY.js');await t();return}let s=y();b(s),p.addHelpText("beforeAll",`
|
|
3
|
-
`),await p.parseAsync(process.argv);}
|
|
2
|
+
import'../chunk-FYFPDKJM.js';import {a}from'../chunk-BC2OVPRV.js';import'../chunk-NDB6KXYI.js';import'../chunk-THMWE2I6.js';import {e,d,h,n}from'../chunk-QT7R3AXE.js';import {m,q}from'../chunk-4NTVRCZM.js';import {Command}from'commander';var A=[{name:"login",aliases:[],description:"Authenticate with SquidCloud",requiresAuth:false,requiresProject:false,ciSafe:false,jsonSupport:false,dangerLevel:"safe",category:"auth",handler:()=>import('../login-SO6BZ4HE.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-QERO6G6B.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-SAURQARO.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-4VVTCDII.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-ALQEGBDS.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-I5FM6N2S.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-7RZQ3AXR.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-5M6PBHOC.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-5OYCNXKL.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-JTPTXZRQ.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-XQ7EPX3M.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-LYO6UR3G.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-NWOHGAQI.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-HXFOJJG5.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-WA74POPR.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-OURRQWZK.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-3DXEKHEH.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-NGJGUJSZ.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-RIT5ISCA.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-XURHVTPC.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-LEQEYWL6.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-X5HX7V4J.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-LLULSE5J.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-BZUK57TH.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-R7A5EQWM.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-6P7SQGIU.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-SUHEQDZQ.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-R3AQJ76F.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-MOO6HVW3.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-SPW2Z73L.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-C4TVID2W.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-NILNXF4L.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-JK4UFMWX.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-VHERQRUB.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-YPFNLI3P.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-3NBYKEMQ.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-VISO5ONQ.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-JZPIIMIX.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-AU6WNMKB.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-JVAA6AMP.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-JPATOVO4.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-274TW63X.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-45K3IL5L.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-JS3LL2AT.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-XZ7MZIMK.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-W2UUPFFD.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-CWC7MGOJ.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-SUST47TN.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-UTLSYPWS.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-5ZNEL3V2.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-UJ23UHUN.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-TKHTM6L5.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-FF3VMR4M.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-2OLEVQPJ.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-OO6QH5R6.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-TVNJBFKC.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-GMZYZAOU.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-RUTDAEKP.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-HAMMPEAQ.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-JV4ZCWLB.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-DO4BIA5R.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-5RK36CJW.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-MTCXHQ4T.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-6CG5PHVC.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-VVFYWT3Y.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-LKG5UFBX.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-FV7SQSWT.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-OUJM5UZT.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-CVTTJSDL.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-FS5G6J27.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-DKLGO5H7.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-QIVG5TPF.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-EPL24J3S.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-HBCC34K7.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-4XOOCRFY.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-J64TCZG5.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-323KRPG4.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-DYOPV2LT.js')},{name:"doctor",aliases:[],description:"Run system diagnostics",requiresAuth:false,requiresProject:false,ciSafe:true,jsonSupport:true,dangerLevel:"safe",category:"utility",handler:()=>import('../doctor-RSKBJYUX.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-LHSDYI7Q.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-7G24FXQJ.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-O6JKOGGN.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-DDNSM5EH.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-VSIFFODZ.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-ZFMP4J5H.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-QUGQAWZB.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-XJQSXSFU.js')}];function v(){return [...A]}var p=new Command,y={version:"1.0.0",description:"SquidCloud CLI \u2014 static sites, storage, pipelines, and more."};p.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"&&e(true),d()&&e(false);});async function L(e){if(!e.requiresAuth)return;let s=await m();s||(h("Not authenticated. Run `squidcloud login` first."),process.exit(1)),q(s)&&(await a()||(h("Session expired. Please run `squidcloud login` again."),process.exit(1)));}function C(e){let s=new Map;for(let r of e){let u=r.name.split(" ");if(u.length===1)s.set(r.name,new Map);else if(u.length===2){let[t,o]=u;s.has(t)||s.set(t,new Map),s.get(t).set(o,r);}}for(let[r,u]of s)if(u.size===0){let t=e.find(a=>a.name===r),o=p.command(r);o.description(t.description),t.aliases.length>0&&o.aliases(t.aliases),o.action(async(...a)=>{try{await L(t);let i=await t.handler();if(typeof i.default=="function"){let n=a.slice(0,-2);await i.default(...n);}n(t.name,process.argv.slice(2).join(" "),0);}catch(i){let n$1=i instanceof Error?i.message:String(i);h(n$1),n(t.name,process.argv.slice(2).join(" "),1),process.exit(1);}});}else {let t=p.command(r);t.description(`SquidCloud ${r} commands`);for(let[o,a]of u){let i=`${r} ${o}`,n$1=t.command(o);n$1.description(a.description),a.aliases.length>0&&n$1.aliases(a.aliases.map(f=>f.replace(`${r} `,""))),n$1.action(async(...f)=>{try{await L(a);let l=await a.handler();if(typeof l.default=="function"){let m=f.slice(0,-2);await l.default(...m);}n(i,process.argv.slice(2).join(" "),0);}catch(l){let m=l instanceof Error?l.message:String(l);h(m),n(i,process.argv.slice(2).join(" "),1),process.exit(1);}});}}}async function b(){let e=process.argv.slice(2);if(e.includes("--version")||e.includes("-v")){let{showVersion:r}=await import('../version-LHSDYI7Q.js');await r();return}if(e.length===0&&!e.includes("--help")&&!e.includes("-h")){let{showVersion:r}=await import('../version-LHSDYI7Q.js');await r(),console.log(""),p.outputHelp();return}let s=v();C(s),p.addHelpText("beforeAll",`
|
|
3
|
+
`),await p.parseAsync(process.argv);}b().catch(e=>{h(e instanceof Error?e.message:String(e)),process.exit(1);});//# sourceMappingURL=squidcloud.js.map
|
|
4
4
|
//# sourceMappingURL=squidcloud.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/registry/index.ts","../../src/bin/squidcloud.ts"],"names":["REGISTRY","getAllCommands","program","Command","pkg","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","renderBrandedMascot","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 { Command } from 'commander'\nimport { setJsonMode, logError, writeAudit, renderBrandedMascot } 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 program = new Command()\nconst pkg = { version: '1.0.0', name: '@squidcloud/cli', description: 'SquidCloud CLI — static sites, storage, pipelines, and more.' }\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 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 const actionArgs = args.slice(0, -2)\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 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 const actionArgs = args.slice(0, -2)\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.length === 0 && !args.includes('--help') && !args.includes('-h')) {\n console.log(renderBrandedMascot())\n program.outputHelp()\n return\n }\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 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/registry/index.ts","../../src/bin/squidcloud.ts"],"names":["REGISTRY","getAllCommands","program","Command","pkg","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 { Command } from 'commander'\nimport chalk from 'chalk'\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 program = new Command()\nconst pkg = { version: '1.0.0', name: '@squidcloud/cli', description: 'SquidCloud CLI — static sites, storage, pipelines, and more.' }\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 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 const actionArgs = args.slice(0, -2)\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 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 const actionArgs = args.slice(0, -2)\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"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {f as f$1}from'./chunk-QT7R3AXE.js';import o from'chalk';import c from'ora';var p="#0A0E1A",d="#4FC3F7",f="#7C4DFF",g="#FFFFFF",u=[" \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 m(){return u.map((t,r)=>{let a=t.replace(/█/g,o.hex(f)("\u2588")).replace(/◉/g,o.hex(d)("\u25C9")).replace(/[╔╗╚╝═║╦]/g,l=>o.hex(g)(l));return o.bgHex(p)(a)}).join(`
|
|
2
|
+
`)}function n(){return !!(process.env.CI||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI)}var A={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"]}}};function R(e,t="shark"){if(n()||f$1()){let r={...c({text:e,spinner:"dots"}),start:()=>(n()||console.log(e),r),stop:()=>(n()||console.log(),r),succeed:()=>(n()||console.log(`${o.green("\u2713")} ${e}`),r),fail:()=>(n()||console.log(`${o.red("\u2717")} ${e}`),r),warn:()=>(n()||console.log(`${o.hex("#FF9800")("\u26A0")} ${e}`),r),info:()=>(n()||console.log(`${o.hex("#4FC3F7")("\u2139")} ${e}`),r),stopAndPersist:()=>(n()||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 c({text:e,...A[t]}).start()}export{m as a,R as b};//# sourceMappingURL=chunk-FYFPDKJM.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-FYFPDKJM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/output/mascot.ts","../src/lib/output/index.ts","../src/lib/output/spinner.ts"],"names":["NAVY","BLUE","VIOLET","WHITE","SQUID_ART","renderMascot","line","i","colored","chalk","m","isCI","SPINNER_FRAMES","createSpinner","text","style","isJsonMode","silent","ora"],"mappings":"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","file":"chunk-FYFPDKJM.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","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","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 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"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-FYFPDKJM.js';import {e}from'./chunk-BC2OVPRV.js';import'./chunk-NDB6KXYI.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-4NTVRCZM.js';async function m(i,e$1){let t=b(`Inviting ${e$1.email} to "${i}" as ${e$1.role}...`);t.start(),await e("/api/v1/collab/invite",{folder:i,email:e$1.email,role:e$1.role},{authenticated:true}),t.succeed(),g(`Invited ${e$1.email} to "${i}" as ${e$1.role}`);}export{m as default};//# sourceMappingURL=collab-invite-HAMMPEAQ.js.map
|
|
2
|
+
//# sourceMappingURL=collab-invite-HAMMPEAQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/collab/collab-invite.ts"],"names":["collabInvite","folder","options","spinner","createSpinner","apiPost","logSuccess"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/commands/collab/collab-invite.ts"],"names":["collabInvite","folder","options","spinner","createSpinner","apiPost","logSuccess"],"mappings":"gMAIA,eAAOA,CAAAA,CAAoCC,EAAgBC,GAAAA,CAAyD,CAClH,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,CAAA,SAAA,EAAYF,GAAAA,CAAQ,KAAK,CAAA,KAAA,EAAQD,CAAM,CAAA,KAAA,EAAQC,GAAAA,CAAQ,IAAI,CAAA,GAAA,CAAK,CAAA,CAC9FC,CAAAA,CAAQ,OAAM,CACd,MAAME,CAAAA,CAAQ,uBAAA,CAAyB,CACrC,MAAA,CAAAJ,EACA,KAAA,CAAOC,GAAAA,CAAQ,KAAA,CACf,IAAA,CAAMA,GAAAA,CAAQ,IAChB,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC1BC,CAAAA,CAAQ,SAAQ,CAChBG,CAAAA,CAAW,CAAA,QAAA,EAAWJ,GAAAA,CAAQ,KAAK,CAAA,KAAA,EAAQD,CAAM,CAAA,KAAA,EAAQC,GAAAA,CAAQ,IAAI,CAAA,CAAE,EACzE","file":"collab-invite-HAMMPEAQ.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function collabInvite(folder: string, options: { email: string; role: string }): Promise<void> {\n const spinner = createSpinner(`Inviting ${options.email} to \"${folder}\" as ${options.role}...`)\n spinner.start()\n await apiPost('/api/v1/collab/invite', {\n folder,\n email: options.email,\n role: options.role,\n }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Invited ${options.email} to \"${folder}\" as ${options.role}`)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-FYFPDKJM.js';import {e}from'./chunk-BC2OVPRV.js';import'./chunk-NDB6KXYI.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-4NTVRCZM.js';import n from'inquirer';async function m(e$1){let{confirm:a}=await n.prompt([{type:"confirm",name:"confirm",message:`Remove yourself from "${e$1}"?`,default:false}]);if(!a)return;let t=b(`Leaving "${e$1}"...`);t.start(),await e("/api/v1/collab/leave",{folder:e$1},{authenticated:true}),t.succeed(),g(`You left "${e$1}"`);}export{m as default};//# sourceMappingURL=collab-leave-MTCXHQ4T.js.map
|
|
2
|
+
//# sourceMappingURL=collab-leave-MTCXHQ4T.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/collab/collab-leave.ts"],"names":["collabLeave","folder","confirm","inquirer","spinner","createSpinner","apiPost","logSuccess"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/commands/collab/collab-leave.ts"],"names":["collabLeave","folder","confirm","inquirer","spinner","createSpinner","apiPost","logSuccess"],"mappings":"wNAKA,eAAOA,CAAAA,CAAmCC,GAAAA,CAA+B,CACvE,GAAM,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAI,MAAMC,CAAAA,CAAS,MAAA,CAAO,CAAC,CACzC,IAAA,CAAM,SAAA,CACN,IAAA,CAAM,SAAA,CACN,OAAA,CAAS,CAAA,sBAAA,EAAyBF,GAAM,CAAA,EAAA,CAAA,CACxC,OAAA,CAAS,KACX,CAAC,CAAC,EACF,GAAI,CAACC,CAAAA,CAAS,OACd,IAAME,CAAAA,CAAUC,CAAAA,CAAc,CAAA,SAAA,EAAYJ,GAAM,CAAA,IAAA,CAAM,CAAA,CACtDG,CAAAA,CAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,sBAAA,CAAwB,CAAE,MAAA,CAAAL,GAAO,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACzEG,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,UAAA,EAAaN,GAAM,GAAG,EACnC","file":"collab-leave-MTCXHQ4T.js","sourcesContent":["import inquirer from 'inquirer'\nimport { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function collabLeave(folder: string): Promise<void> {\n const { confirm } = await inquirer.prompt([{\n type: 'confirm',\n name: 'confirm',\n message: `Remove yourself from \"${folder}\"?`,\n default: false,\n }])\n if (!confirm) return\n const spinner = createSpinner(`Leaving \"${folder}\"...`)\n spinner.start()\n await apiPost('/api/v1/collab/leave', { folder }, { authenticated: true })\n spinner.succeed()\n logSuccess(`You left \"${folder}\"`)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-FYFPDKJM.js';import {e}from'./chunk-BC2OVPRV.js';import'./chunk-NDB6KXYI.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-4NTVRCZM.js';async function o(e$1,i){let m=b(`Removing ${i.email} from "${e$1}"...`);m.start(),await e("/api/v1/collab/remove",{folder:e$1,email:i.email},{authenticated:true}),m.succeed(),g(`Removed ${i.email} from "${e$1}"`);}export{o as default};//# sourceMappingURL=collab-remove-DO4BIA5R.js.map
|
|
2
|
+
//# sourceMappingURL=collab-remove-DO4BIA5R.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/collab/collab-remove.ts"],"names":["collabRemove","folder","options","spinner","createSpinner","apiPost","logSuccess"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/commands/collab/collab-remove.ts"],"names":["collabRemove","folder","options","spinner","createSpinner","apiPost","logSuccess"],"mappings":"gMAIA,eAAOA,EAAoCC,GAAAA,CAAgBC,CAAAA,CAA2C,CACpG,IAAMC,CAAAA,CAAUC,EAAc,CAAA,SAAA,EAAYF,CAAAA,CAAQ,KAAK,CAAA,OAAA,EAAUD,GAAM,MAAM,CAAA,CAC7EE,CAAAA,CAAQ,OAAM,CACd,MAAME,EAAQ,uBAAA,CAAyB,CAAE,MAAA,CAAAJ,GAAAA,CAAQ,MAAOC,CAAAA,CAAQ,KAAM,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAChGC,EAAQ,OAAA,EAAQ,CAChBG,EAAW,CAAA,QAAA,EAAWJ,CAAAA,CAAQ,KAAK,CAAA,OAAA,EAAUD,GAAM,GAAG,EACxD","file":"collab-remove-DO4BIA5R.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function collabRemove(folder: string, options: { email: string }): Promise<void> {\n const spinner = createSpinner(`Removing ${options.email} from \"${folder}\"...`)\n spinner.start()\n await apiPost('/api/v1/collab/remove', { folder, email: options.email }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Removed ${options.email} from \"${folder}\"`)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-FYFPDKJM.js';import {e}from'./chunk-BC2OVPRV.js';import'./chunk-NDB6KXYI.js';import'./chunk-THMWE2I6.js';import {g}from'./chunk-QT7R3AXE.js';import'./chunk-4NTVRCZM.js';import c from'inquirer';async function m(r,t){let{confirm:a}=await c.prompt([{type:"input",name:"confirm",message:`Type "${r}" to confirm ownership transfer to ${t.to}:`,validate:s=>s===r?true:"Type the exact folder name to confirm"}]);if(a!==r)return;let e$1=b(`Transferring ownership of "${r}" to ${t.to}...`);e$1.start(),await e("/api/v1/collab/transfer",{folder:r,new_owner:t.to},{authenticated:true}),e$1.succeed(),g(`Ownership of "${r}" transferred to ${t.to}`);}export{m as default};//# sourceMappingURL=collab-transfer-6CG5PHVC.js.map
|
|
2
|
+
//# sourceMappingURL=collab-transfer-6CG5PHVC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/collab/collab-transfer.ts"],"names":["collabTransfer","folder","options","confirm","inquirer","v","spinner","createSpinner","apiPost","logSuccess"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/commands/collab/collab-transfer.ts"],"names":["collabTransfer","folder","options","confirm","inquirer","v","spinner","createSpinner","apiPost","logSuccess"],"mappings":"wNAKA,eAAOA,CAAAA,CAAsCC,CAAAA,CAAgBC,EAAwC,CACnG,GAAM,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAI,MAAMC,CAAAA,CAAS,MAAA,CAAO,CAAC,CACzC,IAAA,CAAM,OAAA,CACN,IAAA,CAAM,UACN,OAAA,CAAS,CAAA,MAAA,EAASH,CAAM,CAAA,mCAAA,EAAsCC,EAAQ,EAAE,CAAA,CAAA,CAAA,CACxE,QAAA,CAAWG,CAAAA,EAAcA,IAAMJ,CAAAA,CAAS,IAAA,CAAO,uCACjD,CAAC,CAAC,EACF,GAAIE,CAAAA,GAAYF,CAAAA,CAAQ,OAExB,IAAMK,GAAAA,CAAUC,CAAAA,CAAc,CAAA,2BAAA,EAA8BN,CAAM,QAAQC,CAAAA,CAAQ,EAAE,CAAA,GAAA,CAAK,CAAA,CACzFI,IAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,yBAAA,CAA2B,CAAE,MAAA,CAAAP,CAAAA,CAAQ,SAAA,CAAWC,CAAAA,CAAQ,EAAG,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACnGI,GAAAA,CAAQ,OAAA,EAAQ,CAChBG,EAAW,CAAA,cAAA,EAAiBR,CAAM,oBAAoBC,CAAAA,CAAQ,EAAE,EAAE,EACpE","file":"collab-transfer-6CG5PHVC.js","sourcesContent":["import inquirer from 'inquirer'\nimport { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function collabTransfer(folder: string, options: { to: string }): Promise<void> {\n const { confirm } = await inquirer.prompt([{\n type: 'input',\n name: 'confirm',\n message: `Type \"${folder}\" to confirm ownership transfer to ${options.to}:`,\n validate: (v: string) => v === folder ? true : 'Type the exact folder name to confirm',\n }])\n if (confirm !== folder) return\n\n const spinner = createSpinner(`Transferring ownership of \"${folder}\" to ${options.to}...`)\n spinner.start()\n await apiPost('/api/v1/collab/transfer', { folder, new_owner: options.to }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Ownership of \"${folder}\" transferred to ${options.to}`)\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {a}from'./chunk-MKRWNV2T.js';import {b}from'./chunk-FYFPDKJM.js';import {e}from'./chunk-BC2OVPRV.js';import'./chunk-NDB6KXYI.js';import'./chunk-THMWE2I6.js';import {h as h$1,i,f,m,g,c,b as b$1}from'./chunk-QT7R3AXE.js';import'./chunk-4NTVRCZM.js';import h from'path';import P from'fs';import A from'clipboardy';import v from'chalk';import B from'cli-progress';async function F(d){let e=h.resolve(d),a=P.statSync(e);if(a.isFile())return h.extname(e).toLowerCase()===".html"?{type:"single-file",rootPath:e,hasIndexHtml:true,htmlFiles:[e],totalFiles:1}:{type:"invalid",rootPath:e,hasIndexHtml:false,htmlFiles:[],totalFiles:0};if(a.isDirectory()){let m=function(i){let u=P.readdirSync(i,{withFileTypes:true});for(let n of u){let c=h.join(i,n.name);n.isDirectory()?!n.name.startsWith(".")&&n.name!=="node_modules"&&m(c):n.isFile()&&(l++,n.name.endsWith(".html")&&t.push(c));}};let t=[],l=0;if(m(e),t.length===0)return {type:"invalid",rootPath:e,hasIndexHtml:false,htmlFiles:[],totalFiles:l};let o=t.some(i=>h.basename(i).toLowerCase()==="index.html");return {type:"codebase",rootPath:e,hasIndexHtml:o,htmlFiles:t,totalFiles:l}}return {type:"invalid",rootPath:e,hasIndexHtml:false,htmlFiles:[],totalFiles:0}}async function L(d,e$1){let a$1=d?h.resolve(d):process.cwd(),r=b("Analyzing project...");r.start();let t=await F(a$1);t.type==="invalid"&&(r.fail(),h$1(`No deployable content found at ${a$1}. Provide an HTML file or folder containing HTML files.`),process.exit(1)),t.type==="codebase"&&!t.hasIndexHtml&&(r.warn(),i("No index.html found at root. Scanning one level deep for entry point...")),r.text="Uploading files...";let l={source:a$1,type:t.type,slug:e$1?.name,environment:e$1?.env||(e$1?.preview?"preview":"production"),force:e$1?.force||false};if(t.type==="codebase"){let n=function(p){let y=P.readdirSync(p,{withFileTypes:true});for(let s of y){let f=h.join(p,s.name);s.isDirectory()?!s.name.startsWith(".")&&s.name!=="node_modules"&&n(f):s.isFile()&&(a(s.name)?i.push(f):u.push(f));}};let i=[],u=[];n(t.rootPath),!e$1?.force&&t.type==="codebase"&&(r.text="Computing diff...");let c=new B.SingleBar({format:`${v.hex("#7C4DFF")("\u25B8")} Uploading |${v.hex("#7C4DFF")("{bar}")}| {percentage}% | {value}/{total} files | {speed}`,barCompleteChar:"\u2588",barIncompleteChar:"\u2591",hideCursor:true});c.start(i.length,0);let w=new FormData,b=0;for(let p of i){let y=h.relative(t.rootPath,p),s=P.readFileSync(p),f=new Blob([s]);w.append("files",f,y),b++,c.update(b);}c.stop(),r.stop(),l.files=w;}if(t.type==="single-file"){let o=P.readFileSync(t.rootPath,"utf-8");l.htmlContent=o;}r.text="Deploying to SquidCloud...",r.start();try{let o=await e("/api/v1/deploy",l,{authenticated:!0});r.succeed();let i=o.url||`https://squidcloud.vercel.app/sites/${e$1?.name||o.deploy_id}`;try{await A.write(i);}catch{}if(f()){m(o);return}g("Deployed successfully!"),console.log(` ${v.hex("#4FC3F7")(i)} ${c("")}`),o.file_count&&console.log(` ${b$1(`${o.file_count} files \xB7 ${o.deploy_time_ms}ms`)}`);}catch(o){throw r.fail(),o}}
|
|
2
|
+
export{L as default};//# sourceMappingURL=deploy-X5HX7V4J.js.map
|
|
3
|
+
//# sourceMappingURL=deploy-X5HX7V4J.js.map
|