squidcloudctl 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth-revoke-NEWOUC3A.js +2 -0
- package/dist/auth-revoke-NEWOUC3A.js.map +1 -0
- package/dist/auth-sessions-JOC7PEUT.js +2 -0
- package/dist/auth-sessions-JOC7PEUT.js.map +1 -0
- package/dist/auth-status-FUO72AA4.js +2 -0
- package/dist/auth-status-FUO72AA4.js.map +1 -0
- package/dist/bin/squidcloud.js +2 -2
- package/dist/bin/squidcloud.js.map +1 -1
- package/dist/chunk-23ZOP633.js +2 -0
- package/dist/chunk-23ZOP633.js.map +1 -0
- package/dist/{logs-tail-YVFZLSC2.js → chunk-2MWPBWUD.js} +3 -3
- package/dist/{logs-tail-YVFZLSC2.js.map → chunk-2MWPBWUD.js.map} +1 -1
- package/dist/chunk-3OYNZIJC.js +2 -0
- package/dist/chunk-3OYNZIJC.js.map +1 -0
- package/dist/chunk-3OZ4O4NE.js +2 -0
- package/dist/chunk-3OZ4O4NE.js.map +1 -0
- package/dist/chunk-3YAAQAPA.js +2 -0
- package/dist/chunk-3YAAQAPA.js.map +1 -0
- package/dist/chunk-4MW5J5VT.js +2 -0
- package/dist/chunk-4MW5J5VT.js.map +1 -0
- package/dist/chunk-4N7AHGIY.js +2 -0
- package/dist/chunk-4N7AHGIY.js.map +1 -0
- package/dist/chunk-4USNCNOY.js +2 -0
- package/dist/chunk-4USNCNOY.js.map +1 -0
- package/dist/chunk-4VJET5IM.js +2 -0
- package/dist/chunk-4VJET5IM.js.map +1 -0
- package/dist/chunk-52WHEL73.js +2 -0
- package/dist/{chunk-FNCZD2QB.js.map → chunk-52WHEL73.js.map} +1 -1
- package/dist/chunk-54BNCBLD.js +2 -0
- package/dist/chunk-54BNCBLD.js.map +1 -0
- package/dist/chunk-54MZLE2R.js +2 -0
- package/dist/chunk-54MZLE2R.js.map +1 -0
- package/dist/chunk-57X5IOZ5.js +2 -0
- package/dist/chunk-57X5IOZ5.js.map +1 -0
- package/dist/chunk-5DXTXML2.js +2 -0
- package/dist/chunk-5DXTXML2.js.map +1 -0
- package/dist/chunk-5JPIAFB2.js +2 -0
- package/dist/chunk-5JPIAFB2.js.map +1 -0
- package/dist/chunk-5TMR6Y7L.js +2 -0
- package/dist/{chunk-CHBVIZF5.js.map → chunk-5TMR6Y7L.js.map} +1 -1
- package/dist/chunk-5Z3A46OK.js +2 -0
- package/dist/chunk-5Z3A46OK.js.map +1 -0
- package/dist/chunk-6CK2UBNM.js +2 -0
- package/dist/chunk-6CK2UBNM.js.map +1 -0
- package/dist/chunk-6RI4Z6IY.js +2 -0
- package/dist/{chunk-EPDVSZII.js.map → chunk-6RI4Z6IY.js.map} +1 -1
- package/dist/chunk-6VDGYAGT.js +2 -0
- package/dist/chunk-6VDGYAGT.js.map +1 -0
- package/dist/chunk-74TMDLBA.js +2 -0
- package/dist/chunk-74TMDLBA.js.map +1 -0
- package/dist/chunk-7DPXZUZY.js +2 -0
- package/dist/chunk-7DPXZUZY.js.map +1 -0
- package/dist/chunk-7VVZS6US.js +2 -0
- package/dist/chunk-7VVZS6US.js.map +1 -0
- package/dist/chunk-A6WS3TOF.js +2 -0
- package/dist/chunk-A6WS3TOF.js.map +1 -0
- package/dist/chunk-ADOHZ74F.js +2 -0
- package/dist/chunk-ADOHZ74F.js.map +1 -0
- package/dist/chunk-BC3STHFS.js +3 -0
- package/dist/chunk-BC3STHFS.js.map +1 -0
- package/dist/chunk-BQGHHBGH.js +2 -0
- package/dist/chunk-BQGHHBGH.js.map +1 -0
- package/dist/chunk-CFZZRV3Z.js +2 -0
- package/dist/chunk-CFZZRV3Z.js.map +1 -0
- package/dist/chunk-CJYNYLZF.js +2 -0
- package/dist/chunk-CJYNYLZF.js.map +1 -0
- package/dist/chunk-CQAXMUFB.js +3 -0
- package/dist/chunk-CQAXMUFB.js.map +1 -0
- package/dist/{completion-IF3NB7PB.js → chunk-DNCVZK7V.js} +2 -2
- package/dist/chunk-DNCVZK7V.js.map +1 -0
- package/dist/chunk-E2QGSNDB.js +2 -0
- package/dist/chunk-E2QGSNDB.js.map +1 -0
- package/dist/chunk-EGVPYRIE.js +2 -0
- package/dist/chunk-EGVPYRIE.js.map +1 -0
- package/dist/chunk-EUJ26UNW.js +2 -0
- package/dist/chunk-EUJ26UNW.js.map +1 -0
- package/dist/chunk-EWFYKNK7.js +2 -0
- package/dist/chunk-EWFYKNK7.js.map +1 -0
- package/dist/chunk-F6IK5BFP.js +2 -0
- package/dist/chunk-F6IK5BFP.js.map +1 -0
- package/dist/{chunk-MKRWNV2T.js → chunk-F6Z2OAHW.js} +2 -2
- package/dist/chunk-F6Z2OAHW.js.map +1 -0
- package/dist/chunk-FBSVAPQ6.js +3 -0
- package/dist/chunk-FBSVAPQ6.js.map +1 -0
- package/dist/chunk-FJZYWFE2.js +2 -0
- package/dist/chunk-FJZYWFE2.js.map +1 -0
- package/dist/chunk-FMJZFIA2.js +3 -0
- package/dist/chunk-FMJZFIA2.js.map +1 -0
- package/dist/chunk-GAP2HHZR.js +2 -0
- package/dist/chunk-GAP2HHZR.js.map +1 -0
- package/dist/chunk-GIADGCQF.js +9 -0
- package/dist/chunk-GIADGCQF.js.map +1 -0
- package/dist/chunk-H2WQ3ECX.js +2 -0
- package/dist/chunk-H2WQ3ECX.js.map +1 -0
- package/dist/chunk-HJWONDZI.js +2 -0
- package/dist/chunk-HJWONDZI.js.map +1 -0
- package/dist/chunk-HMBPN7ID.js +2 -0
- package/dist/chunk-HMBPN7ID.js.map +1 -0
- package/dist/chunk-HTDV42AD.js +2 -0
- package/dist/chunk-HTDV42AD.js.map +1 -0
- package/dist/chunk-IBYIEHIZ.js +2 -0
- package/dist/chunk-IBYIEHIZ.js.map +1 -0
- package/dist/{chunk-ULVQ53OO.js → chunk-IJ3JNWT6.js} +3 -3
- package/dist/{chunk-ULVQ53OO.js.map → chunk-IJ3JNWT6.js.map} +1 -1
- package/dist/chunk-JCZENRYY.js +2 -0
- package/dist/chunk-JCZENRYY.js.map +1 -0
- package/dist/chunk-JLC5WGYQ.js +2 -0
- package/dist/chunk-JLC5WGYQ.js.map +1 -0
- package/dist/{version-Y2LWIEFC.js → chunk-JSYPWAKP.js} +2 -2
- package/dist/chunk-JSYPWAKP.js.map +1 -0
- package/dist/chunk-JTIGFOL5.js +2 -0
- package/dist/chunk-JTIGFOL5.js.map +1 -0
- package/dist/chunk-JTMKKTKL.js +2 -0
- package/dist/chunk-JTMKKTKL.js.map +1 -0
- package/dist/chunk-KO2JCGEV.js +2 -0
- package/dist/chunk-KO2JCGEV.js.map +1 -0
- package/dist/chunk-KQMBXJUL.js +2 -0
- package/dist/chunk-KQMBXJUL.js.map +1 -0
- package/dist/chunk-LSYYM7EZ.js +2 -0
- package/dist/chunk-LSYYM7EZ.js.map +1 -0
- package/dist/chunk-LW4AQT2F.js +2 -0
- package/dist/chunk-LW4AQT2F.js.map +1 -0
- package/dist/chunk-MCJLSHUC.js +2 -0
- package/dist/chunk-MCJLSHUC.js.map +1 -0
- package/dist/chunk-MNSBJ6HR.js +2 -0
- package/dist/chunk-MNSBJ6HR.js.map +1 -0
- package/dist/chunk-N52M225G.js +2 -0
- package/dist/chunk-N52M225G.js.map +1 -0
- package/dist/chunk-NCD7PEEP.js +2 -0
- package/dist/chunk-NCD7PEEP.js.map +1 -0
- package/dist/chunk-NDG5MZ2E.js +2 -0
- package/dist/chunk-NDG5MZ2E.js.map +1 -0
- package/dist/chunk-NKEQVDH2.js +2 -0
- package/dist/chunk-NKEQVDH2.js.map +1 -0
- package/dist/chunk-NKPRDJXY.js +2 -0
- package/dist/chunk-NKPRDJXY.js.map +1 -0
- package/dist/chunk-NLUUDXEF.js +3 -0
- package/dist/chunk-NLUUDXEF.js.map +1 -0
- package/dist/{scripts-init-BIIEMUXV.js → chunk-NQAQKZPN.js} +3 -3
- package/dist/chunk-NQAQKZPN.js.map +1 -0
- package/dist/chunk-O45EVN3E.js +3 -0
- package/dist/chunk-O45EVN3E.js.map +1 -0
- package/dist/chunk-OFJLZCDA.js +2 -0
- package/dist/chunk-OFJLZCDA.js.map +1 -0
- package/dist/{chunk-N3AD2QRA.js → chunk-OSI5H2T5.js} +2 -2
- package/dist/chunk-OSI5H2T5.js.map +1 -0
- package/dist/chunk-OWUWBBTM.js +2 -0
- package/dist/chunk-OWUWBBTM.js.map +1 -0
- package/dist/chunk-P6UN7Y3F.js +2 -0
- package/dist/chunk-P6UN7Y3F.js.map +1 -0
- package/dist/chunk-PMRLA27Q.js +2 -0
- package/dist/chunk-PMRLA27Q.js.map +1 -0
- package/dist/chunk-Q25B7YZU.js +2 -0
- package/dist/chunk-Q25B7YZU.js.map +1 -0
- package/dist/chunk-RN4IKWVM.js +2 -0
- package/dist/chunk-RN4IKWVM.js.map +1 -0
- package/dist/chunk-RNCPG3CD.js +2 -0
- package/dist/chunk-RNCPG3CD.js.map +1 -0
- package/dist/chunk-SA36QQCL.js +2 -0
- package/dist/chunk-SA36QQCL.js.map +1 -0
- package/dist/{sites-logs-AYG43HQV.js → chunk-SAE75K6H.js} +3 -3
- package/dist/{sites-logs-AYG43HQV.js.map → chunk-SAE75K6H.js.map} +1 -1
- package/dist/chunk-SB7XE246.js +2 -0
- package/dist/chunk-SB7XE246.js.map +1 -0
- package/dist/chunk-T23UIAGN.js +2 -0
- package/dist/chunk-T23UIAGN.js.map +1 -0
- package/dist/chunk-TE7L3ICT.js +2 -0
- package/dist/chunk-TE7L3ICT.js.map +1 -0
- package/dist/chunk-UEZJYSCK.js +2 -0
- package/dist/chunk-UEZJYSCK.js.map +1 -0
- package/dist/chunk-UPZC233Y.js +2 -0
- package/dist/chunk-UPZC233Y.js.map +1 -0
- package/dist/chunk-VJNDCFHN.js +2 -0
- package/dist/chunk-VJNDCFHN.js.map +1 -0
- package/dist/chunk-W74CXS6L.js +2 -0
- package/dist/chunk-W74CXS6L.js.map +1 -0
- package/dist/chunk-WNB2L5T6.js +2 -0
- package/dist/chunk-WNB2L5T6.js.map +1 -0
- package/dist/chunk-WRKYGGYI.js +2 -0
- package/dist/{chunk-SCKQAF44.js.map → chunk-WRKYGGYI.js.map} +1 -1
- package/dist/chunk-XBUJYUM3.js +2 -0
- package/dist/chunk-XBUJYUM3.js.map +1 -0
- package/dist/chunk-XFLWSNBM.js +2 -0
- package/dist/chunk-XFLWSNBM.js.map +1 -0
- package/dist/chunk-XM4MU7IT.js +2 -0
- package/dist/chunk-XM4MU7IT.js.map +1 -0
- package/dist/chunk-XTV6ABCU.js +2 -0
- package/dist/chunk-XTV6ABCU.js.map +1 -0
- package/dist/chunk-XWVREJPG.js +2 -0
- package/dist/chunk-XWVREJPG.js.map +1 -0
- package/dist/chunk-Y4LKANAN.js +2 -0
- package/dist/chunk-Y4LKANAN.js.map +1 -0
- package/dist/chunk-YAN3ZX5N.js +2 -0
- package/dist/chunk-YAN3ZX5N.js.map +1 -0
- package/dist/chunk-YMVR2Y7T.js +2 -0
- package/dist/chunk-YMVR2Y7T.js.map +1 -0
- package/dist/chunk-YRA3NRLD.js +2 -0
- package/dist/chunk-YRA3NRLD.js.map +1 -0
- package/dist/chunk-YZWZNR6K.js +6 -0
- package/dist/chunk-YZWZNR6K.js.map +1 -0
- package/dist/chunk-Z6CJWDEP.js +2 -0
- package/dist/chunk-Z6CJWDEP.js.map +1 -0
- package/dist/chunk-ZBT5KBPZ.js +2 -0
- package/dist/chunk-ZBT5KBPZ.js.map +1 -0
- package/dist/chunk-ZJ7BKNXN.js +3 -0
- package/dist/chunk-ZJ7BKNXN.js.map +1 -0
- package/dist/chunk-ZP2A2JZ2.js +2 -0
- package/dist/chunk-ZP2A2JZ2.js.map +1 -0
- package/dist/chunk-ZX2YDSZP.js +2 -0
- package/dist/chunk-ZX2YDSZP.js.map +1 -0
- package/dist/client-LLUV4KQV.js +2 -0
- package/dist/{client-IR7OHGEQ.js.map → client-LLUV4KQV.js.map} +1 -1
- package/dist/collab-activity-HHMCCSM6.js +2 -0
- package/dist/collab-activity-HHMCCSM6.js.map +1 -0
- package/dist/collab-invite-CGTTTC5E.js +2 -0
- package/dist/collab-invite-CGTTTC5E.js.map +1 -0
- package/dist/collab-leave-XQ4TYSSV.js +2 -0
- package/dist/collab-leave-XQ4TYSSV.js.map +1 -0
- package/dist/collab-list-QHZLDEQY.js +2 -0
- package/dist/collab-list-QHZLDEQY.js.map +1 -0
- package/dist/collab-remove-WEOMPRY4.js +2 -0
- package/dist/collab-remove-WEOMPRY4.js.map +1 -0
- package/dist/collab-transfer-4UAT62Q6.js +2 -0
- package/dist/collab-transfer-4UAT62Q6.js.map +1 -0
- package/dist/commands/auth/index.js +2 -0
- package/dist/commands/auth/index.js.map +1 -0
- package/dist/commands/collab/index.js +2 -0
- package/dist/commands/collab/index.js.map +1 -0
- package/dist/commands/deploy/index.js +3 -0
- package/dist/commands/deploy/index.js.map +1 -0
- package/dist/commands/forms/index.js +2 -0
- package/dist/commands/forms/index.js.map +1 -0
- package/dist/commands/logs/index.js +2 -0
- package/dist/commands/logs/index.js.map +1 -0
- package/dist/commands/monitor/index.js +2 -0
- package/dist/commands/monitor/index.js.map +1 -0
- package/dist/commands/scripts/index.js +2 -0
- package/dist/commands/scripts/index.js.map +1 -0
- package/dist/commands/sign/index.js +2 -0
- package/dist/commands/sign/index.js.map +1 -0
- package/dist/commands/sites/index.js +2 -0
- package/dist/commands/sites/index.js.map +1 -0
- package/dist/commands/storage/index.js +2 -0
- package/dist/commands/storage/index.js.map +1 -0
- package/dist/commands/time/index.js +2 -0
- package/dist/commands/time/index.js.map +1 -0
- package/dist/commands/util/index.js +2 -0
- package/dist/commands/util/index.js.map +1 -0
- package/dist/completion-I2ARGA2U.js +2 -0
- package/dist/completion-I2ARGA2U.js.map +1 -0
- package/dist/config-B5FDVP6Q.js +2 -0
- package/dist/{config-PL34OPDL.js.map → config-B5FDVP6Q.js.map} +1 -1
- package/dist/config-delete-3GEWPGA3.js +2 -0
- package/dist/config-delete-3GEWPGA3.js.map +1 -0
- package/dist/config-get-4YKTVBHW.js +2 -0
- package/dist/config-get-4YKTVBHW.js.map +1 -0
- package/dist/config-reset-GCTQD5ZJ.js +2 -0
- package/dist/config-reset-GCTQD5ZJ.js.map +1 -0
- package/dist/config-set-VHEQM2RQ.js +2 -0
- package/dist/config-set-VHEQM2RQ.js.map +1 -0
- package/dist/doctor-ZYU3JBJF.js +2 -0
- package/dist/doctor-ZYU3JBJF.js.map +1 -0
- package/dist/feedback-N5EBJ566.js +2 -0
- package/dist/feedback-N5EBJ566.js.map +1 -0
- package/dist/forms-clear-RXJVD57O.js +2 -0
- package/dist/forms-clear-RXJVD57O.js.map +1 -0
- package/dist/forms-create-ADMTRYCJ.js +2 -0
- package/dist/forms-create-ADMTRYCJ.js.map +1 -0
- package/dist/forms-delete-RFXRQFH6.js +2 -0
- package/dist/forms-delete-RFXRQFH6.js.map +1 -0
- package/dist/forms-embed-CGKIBURZ.js +2 -0
- package/dist/forms-embed-CGKIBURZ.js.map +1 -0
- package/dist/forms-export-34JBMXAM.js +2 -0
- package/dist/forms-export-34JBMXAM.js.map +1 -0
- package/dist/forms-info-LQ5S4I24.js +2 -0
- package/dist/forms-info-LQ5S4I24.js.map +1 -0
- package/dist/forms-list-7JIQCCVQ.js +2 -0
- package/dist/forms-list-7JIQCCVQ.js.map +1 -0
- package/dist/forms-submissions-EMJNSTYT.js +2 -0
- package/dist/forms-submissions-EMJNSTYT.js.map +1 -0
- package/dist/lib/api/index.js +2 -0
- package/dist/lib/api/index.js.map +1 -0
- package/dist/lib/auth/index.js +2 -0
- package/dist/lib/auth/index.js.map +1 -0
- package/dist/lib/crypto/index.js +2 -0
- package/dist/lib/crypto/index.js.map +1 -0
- package/dist/lib/deploy/index.js +2 -0
- package/dist/lib/deploy/index.js.map +1 -0
- package/dist/lib/output/index.js +2 -0
- package/dist/lib/output/index.js.map +1 -0
- package/dist/lib/upload/index.js +2 -0
- package/dist/lib/upload/index.js.map +1 -0
- package/dist/lib/utils/index.js +2 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/login-I53VTO6L.js +2 -0
- package/dist/login-I53VTO6L.js.map +1 -0
- package/dist/logout-OJV7AZZO.js +2 -0
- package/dist/logout-OJV7AZZO.js.map +1 -0
- package/dist/logs-export-TX3TDMAL.js +2 -0
- package/dist/logs-export-TX3TDMAL.js.map +1 -0
- package/dist/logs-search-N6HWWLHZ.js +2 -0
- package/dist/logs-search-N6HWWLHZ.js.map +1 -0
- package/dist/logs-tail-SQ4XQW2A.js +2 -0
- package/dist/logs-tail-SQ4XQW2A.js.map +1 -0
- package/dist/monitor-D3LZU55W.js +2 -0
- package/dist/monitor-D3LZU55W.js.map +1 -0
- package/dist/monitor-automations-GFDMFRBU.js +2 -0
- package/dist/monitor-automations-GFDMFRBU.js.map +1 -0
- package/dist/monitor-pipelines-FRVVYKME.js +2 -0
- package/dist/monitor-pipelines-FRVVYKME.js.map +1 -0
- package/dist/monitor-sites-ATWU7HOA.js +2 -0
- package/dist/monitor-sites-ATWU7HOA.js.map +1 -0
- package/dist/monitor-storage-TGFNTOHB.js +2 -0
- package/dist/monitor-storage-TGFNTOHB.js.map +1 -0
- package/dist/registry/index.js +2 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/scripts-cancel-R7NRYLVG.js +2 -0
- package/dist/scripts-cancel-R7NRYLVG.js.map +1 -0
- package/dist/scripts-delete-CFRV2B2G.js +2 -0
- package/dist/scripts-delete-CFRV2B2G.js.map +1 -0
- package/dist/scripts-disable-WQJAP6EW.js +2 -0
- package/dist/scripts-disable-WQJAP6EW.js.map +1 -0
- package/dist/scripts-enable-GJTRHEJG.js +2 -0
- package/dist/scripts-enable-GJTRHEJG.js.map +1 -0
- package/dist/scripts-init-XYDUEPHE.js +2 -0
- package/dist/scripts-init-XYDUEPHE.js.map +1 -0
- package/dist/scripts-list-I42J3TKN.js +2 -0
- package/dist/scripts-list-I42J3TKN.js.map +1 -0
- package/dist/scripts-logs-T2DBR47F.js +2 -0
- package/dist/scripts-logs-T2DBR47F.js.map +1 -0
- package/dist/scripts-run-A4V25Q5I.js +2 -0
- package/dist/scripts-run-A4V25Q5I.js.map +1 -0
- package/dist/scripts-status-5Q5Q76LC.js +2 -0
- package/dist/scripts-status-5Q5Q76LC.js.map +1 -0
- package/dist/scripts-validate-7525CAVN.js +2 -0
- package/dist/scripts-validate-7525CAVN.js.map +1 -0
- package/dist/scripts-watch-SB52KWBL.js +2 -0
- package/dist/scripts-watch-SB52KWBL.js.map +1 -0
- package/dist/sign-cancel-XKIUANS3.js +2 -0
- package/dist/sign-cancel-XKIUANS3.js.map +1 -0
- package/dist/sign-download-JLV45D2P.js +2 -0
- package/dist/sign-download-JLV45D2P.js.map +1 -0
- package/dist/sign-list-XW7YYI4K.js +2 -0
- package/dist/sign-list-XW7YYI4K.js.map +1 -0
- package/dist/sign-request-IDZFPWHL.js +2 -0
- package/dist/sign-request-IDZFPWHL.js.map +1 -0
- package/dist/sign-status-WMFCBO2Y.js +2 -0
- package/dist/sign-status-WMFCBO2Y.js.map +1 -0
- package/dist/sign-verify-MQDGGYPL.js +2 -0
- package/dist/sign-verify-MQDGGYPL.js.map +1 -0
- package/dist/sites-analytics-AU54PJC4.js +2 -0
- package/dist/sites-analytics-AU54PJC4.js.map +1 -0
- package/dist/sites-delete-ROETL6S7.js +2 -0
- package/dist/sites-delete-ROETL6S7.js.map +1 -0
- package/dist/sites-deploys-IKKCJFGI.js +2 -0
- package/dist/sites-deploys-IKKCJFGI.js.map +1 -0
- package/dist/sites-info-M7WDLFTW.js +2 -0
- package/dist/sites-info-M7WDLFTW.js.map +1 -0
- package/dist/sites-list-DQANT2J6.js +2 -0
- package/dist/sites-list-DQANT2J6.js.map +1 -0
- package/dist/sites-logs-NAOTBP7I.js +2 -0
- package/dist/sites-logs-NAOTBP7I.js.map +1 -0
- package/dist/sites-open-LYLLIXUE.js +2 -0
- package/dist/sites-open-LYLLIXUE.js.map +1 -0
- package/dist/sites-purge-TC26HZI3.js +2 -0
- package/dist/sites-purge-TC26HZI3.js.map +1 -0
- package/dist/sites-rename-UQNCLOFG.js +2 -0
- package/dist/sites-rename-UQNCLOFG.js.map +1 -0
- package/dist/sites-rollback-SQ5ITDAM.js +2 -0
- package/dist/sites-rollback-SQ5ITDAM.js.map +1 -0
- package/dist/sites-unpublish-UWBN253C.js +2 -0
- package/dist/sites-unpublish-UWBN253C.js.map +1 -0
- package/dist/sites-visibility-K4ECNWQ6.js +2 -0
- package/dist/sites-visibility-K4ECNWQ6.js.map +1 -0
- package/dist/storage-cat-FHO4FOCH.js +2 -0
- package/dist/storage-cat-FHO4FOCH.js.map +1 -0
- package/dist/storage-clean-PVEBOPCZ.js +2 -0
- package/dist/storage-clean-PVEBOPCZ.js.map +1 -0
- package/dist/storage-cp-432CZ24Q.js +2 -0
- package/dist/storage-cp-432CZ24Q.js.map +1 -0
- package/dist/storage-diff-3HUM7APQ.js +2 -0
- package/dist/storage-diff-3HUM7APQ.js.map +1 -0
- package/dist/storage-download-MEUZI6VE.js +2 -0
- package/dist/storage-download-MEUZI6VE.js.map +1 -0
- package/dist/storage-info-TXDUGMAZ.js +2 -0
- package/dist/storage-info-TXDUGMAZ.js.map +1 -0
- package/dist/storage-ls-UKF6RNFK.js +2 -0
- package/dist/storage-ls-UKF6RNFK.js.map +1 -0
- package/dist/storage-mkdir-DUCBLMFF.js +2 -0
- package/dist/storage-mkdir-DUCBLMFF.js.map +1 -0
- package/dist/storage-mv-TBFY3KYG.js +2 -0
- package/dist/storage-mv-TBFY3KYG.js.map +1 -0
- package/dist/storage-rm-5GL4JECX.js +2 -0
- package/dist/storage-rm-5GL4JECX.js.map +1 -0
- package/dist/storage-search-LOPWXFNT.js +2 -0
- package/dist/storage-search-LOPWXFNT.js.map +1 -0
- package/dist/storage-share-RAJJY3I5.js +2 -0
- package/dist/storage-share-RAJJY3I5.js.map +1 -0
- package/dist/storage-tag-WM33N7XA.js +2 -0
- package/dist/storage-tag-WM33N7XA.js.map +1 -0
- package/dist/storage-unshare-H5UBXLAT.js +2 -0
- package/dist/storage-unshare-H5UBXLAT.js.map +1 -0
- package/dist/storage-upload-XY2GN3VU.js +2 -0
- package/dist/storage-upload-XY2GN3VU.js.map +1 -0
- package/dist/time-list-WSRWMUGP.js +2 -0
- package/dist/time-list-WSRWMUGP.js.map +1 -0
- package/dist/time-lock-GOKLWQZ6.js +2 -0
- package/dist/time-lock-GOKLWQZ6.js.map +1 -0
- package/dist/time-proof-J7GT4M5G.js +2 -0
- package/dist/time-proof-J7GT4M5G.js.map +1 -0
- package/dist/time-status-SV3OA35J.js +2 -0
- package/dist/time-status-SV3OA35J.js.map +1 -0
- package/dist/time-unlock-6OF5VTV4.js +2 -0
- package/dist/time-unlock-6OF5VTV4.js.map +1 -0
- package/dist/update-M3RJEWWA.js +2 -0
- package/dist/update-M3RJEWWA.js.map +1 -0
- package/dist/version-QA4ZYKDW.js +2 -0
- package/dist/version-QA4ZYKDW.js.map +1 -0
- package/dist/whoami-BQMXFSCR.js +2 -0
- package/dist/whoami-BQMXFSCR.js.map +1 -0
- package/package.json +5 -2
- package/dist/auth-revoke-DWV3OFW6.js +0 -2
- package/dist/auth-revoke-DWV3OFW6.js.map +0 -1
- package/dist/auth-sessions-D4RWXFPE.js +0 -2
- package/dist/auth-sessions-D4RWXFPE.js.map +0 -1
- package/dist/auth-status-EPQU6F63.js +0 -2
- package/dist/auth-status-EPQU6F63.js.map +0 -1
- package/dist/chunk-CHBVIZF5.js +0 -2
- package/dist/chunk-EMRHLWPD.js +0 -3
- package/dist/chunk-EMRHLWPD.js.map +0 -1
- package/dist/chunk-EPDVSZII.js +0 -2
- package/dist/chunk-FNCZD2QB.js +0 -2
- package/dist/chunk-MKRWNV2T.js.map +0 -1
- package/dist/chunk-N3AD2QRA.js.map +0 -1
- package/dist/chunk-Q3A4IBGC.js +0 -2
- package/dist/chunk-Q3A4IBGC.js.map +0 -1
- package/dist/chunk-SCKQAF44.js +0 -2
- package/dist/chunk-UNA5CAPX.js +0 -2
- package/dist/chunk-UNA5CAPX.js.map +0 -1
- package/dist/client-IR7OHGEQ.js +0 -2
- package/dist/collab-activity-YOEJEJTQ.js +0 -2
- package/dist/collab-activity-YOEJEJTQ.js.map +0 -1
- package/dist/collab-invite-VDDBCLSH.js +0 -2
- package/dist/collab-invite-VDDBCLSH.js.map +0 -1
- package/dist/collab-leave-2AEIFR47.js +0 -2
- package/dist/collab-leave-2AEIFR47.js.map +0 -1
- package/dist/collab-list-MTJYXE53.js +0 -2
- package/dist/collab-list-MTJYXE53.js.map +0 -1
- package/dist/collab-remove-I3FKGFOF.js +0 -2
- package/dist/collab-remove-I3FKGFOF.js.map +0 -1
- package/dist/collab-transfer-VVHH6B2J.js +0 -2
- package/dist/collab-transfer-VVHH6B2J.js.map +0 -1
- package/dist/completion-IF3NB7PB.js.map +0 -1
- package/dist/config-PL34OPDL.js +0 -2
- package/dist/config-delete-4UN7BFBI.js +0 -2
- package/dist/config-delete-4UN7BFBI.js.map +0 -1
- package/dist/config-get-XOS7EWEQ.js +0 -2
- package/dist/config-get-XOS7EWEQ.js.map +0 -1
- package/dist/config-reset-NIOGYFA5.js +0 -2
- package/dist/config-reset-NIOGYFA5.js.map +0 -1
- package/dist/config-set-DRTRWWAA.js +0 -2
- package/dist/config-set-DRTRWWAA.js.map +0 -1
- package/dist/deploy-UOPO2HHL.js +0 -3
- package/dist/deploy-UOPO2HHL.js.map +0 -1
- package/dist/doctor-B7RAWBD5.js +0 -2
- package/dist/doctor-B7RAWBD5.js.map +0 -1
- package/dist/feedback-BEX6DRXB.js +0 -3
- package/dist/feedback-BEX6DRXB.js.map +0 -1
- package/dist/forms-clear-VPH7SHJZ.js +0 -2
- package/dist/forms-clear-VPH7SHJZ.js.map +0 -1
- package/dist/forms-create-O5W7O2BI.js +0 -2
- package/dist/forms-create-O5W7O2BI.js.map +0 -1
- package/dist/forms-delete-H4RY6C64.js +0 -2
- package/dist/forms-delete-H4RY6C64.js.map +0 -1
- package/dist/forms-embed-2WBFYFUO.js +0 -3
- package/dist/forms-embed-2WBFYFUO.js.map +0 -1
- package/dist/forms-export-MDWMZ7I7.js +0 -2
- package/dist/forms-export-MDWMZ7I7.js.map +0 -1
- package/dist/forms-info-VO4FK3CS.js +0 -2
- package/dist/forms-info-VO4FK3CS.js.map +0 -1
- package/dist/forms-list-PDSDIJI7.js +0 -2
- package/dist/forms-list-PDSDIJI7.js.map +0 -1
- package/dist/forms-submissions-VJQWV7SI.js +0 -2
- package/dist/forms-submissions-VJQWV7SI.js.map +0 -1
- package/dist/login-PMDO43CL.js +0 -3
- package/dist/login-PMDO43CL.js.map +0 -1
- package/dist/logout-XIUWCA75.js +0 -2
- package/dist/logout-XIUWCA75.js.map +0 -1
- package/dist/logs-export-AU4WZDLW.js +0 -2
- package/dist/logs-export-AU4WZDLW.js.map +0 -1
- package/dist/logs-search-BHVB3BIH.js +0 -2
- package/dist/logs-search-BHVB3BIH.js.map +0 -1
- package/dist/monitor-KLJ762WM.js +0 -2
- package/dist/monitor-KLJ762WM.js.map +0 -1
- package/dist/monitor-automations-B2NRWSFH.js +0 -2
- package/dist/monitor-automations-B2NRWSFH.js.map +0 -1
- package/dist/monitor-pipelines-2PNBET3B.js +0 -2
- package/dist/monitor-pipelines-2PNBET3B.js.map +0 -1
- package/dist/monitor-sites-QNMTCOSH.js +0 -2
- package/dist/monitor-sites-QNMTCOSH.js.map +0 -1
- package/dist/monitor-storage-Z53C4CI2.js +0 -2
- package/dist/monitor-storage-Z53C4CI2.js.map +0 -1
- package/dist/scripts-cancel-2HWDUPFM.js +0 -2
- package/dist/scripts-cancel-2HWDUPFM.js.map +0 -1
- package/dist/scripts-delete-UI6YRWEN.js +0 -2
- package/dist/scripts-delete-UI6YRWEN.js.map +0 -1
- package/dist/scripts-disable-7IXFGWWG.js +0 -2
- package/dist/scripts-disable-7IXFGWWG.js.map +0 -1
- package/dist/scripts-enable-DNEVMHLS.js +0 -2
- package/dist/scripts-enable-DNEVMHLS.js.map +0 -1
- package/dist/scripts-init-BIIEMUXV.js.map +0 -1
- package/dist/scripts-list-LYDOWRTU.js +0 -2
- package/dist/scripts-list-LYDOWRTU.js.map +0 -1
- package/dist/scripts-logs-32CWQEBA.js +0 -2
- package/dist/scripts-logs-32CWQEBA.js.map +0 -1
- package/dist/scripts-run-6AJVHB4U.js +0 -2
- package/dist/scripts-run-6AJVHB4U.js.map +0 -1
- package/dist/scripts-status-KCILW363.js +0 -2
- package/dist/scripts-status-KCILW363.js.map +0 -1
- package/dist/scripts-validate-MZP4MJZZ.js +0 -2
- package/dist/scripts-validate-MZP4MJZZ.js.map +0 -1
- package/dist/scripts-watch-3SFVPUAA.js +0 -2
- package/dist/scripts-watch-3SFVPUAA.js.map +0 -1
- package/dist/sign-cancel-KK745O7W.js +0 -2
- package/dist/sign-cancel-KK745O7W.js.map +0 -1
- package/dist/sign-download-6V3ABZG2.js +0 -2
- package/dist/sign-download-6V3ABZG2.js.map +0 -1
- package/dist/sign-list-VCNJSS6F.js +0 -2
- package/dist/sign-list-VCNJSS6F.js.map +0 -1
- package/dist/sign-request-LNRMPU2F.js +0 -2
- package/dist/sign-request-LNRMPU2F.js.map +0 -1
- package/dist/sign-status-PNAGMC7S.js +0 -2
- package/dist/sign-status-PNAGMC7S.js.map +0 -1
- package/dist/sign-verify-ZROVA7LH.js +0 -2
- package/dist/sign-verify-ZROVA7LH.js.map +0 -1
- package/dist/sites-analytics-L6KVTZNH.js +0 -2
- package/dist/sites-analytics-L6KVTZNH.js.map +0 -1
- package/dist/sites-delete-JCBOLOA7.js +0 -2
- package/dist/sites-delete-JCBOLOA7.js.map +0 -1
- package/dist/sites-deploys-XJ3NY4RQ.js +0 -2
- package/dist/sites-deploys-XJ3NY4RQ.js.map +0 -1
- package/dist/sites-info-V3R7YNPU.js +0 -2
- package/dist/sites-info-V3R7YNPU.js.map +0 -1
- package/dist/sites-list-ZQTXLHJ3.js +0 -2
- package/dist/sites-list-ZQTXLHJ3.js.map +0 -1
- package/dist/sites-open-K2JWMIWD.js +0 -3
- package/dist/sites-open-K2JWMIWD.js.map +0 -1
- package/dist/sites-purge-5Y5AQWBY.js +0 -2
- package/dist/sites-purge-5Y5AQWBY.js.map +0 -1
- package/dist/sites-rename-QH6YYXUE.js +0 -2
- package/dist/sites-rename-QH6YYXUE.js.map +0 -1
- package/dist/sites-rollback-ZQ2IHERR.js +0 -2
- package/dist/sites-rollback-ZQ2IHERR.js.map +0 -1
- package/dist/sites-unpublish-MDK4GP2C.js +0 -2
- package/dist/sites-unpublish-MDK4GP2C.js.map +0 -1
- package/dist/sites-visibility-WKPIU5OK.js +0 -2
- package/dist/sites-visibility-WKPIU5OK.js.map +0 -1
- package/dist/storage-cat-OAUEF3EE.js +0 -2
- package/dist/storage-cat-OAUEF3EE.js.map +0 -1
- package/dist/storage-clean-I7QZ5FR6.js +0 -2
- package/dist/storage-clean-I7QZ5FR6.js.map +0 -1
- package/dist/storage-cp-H36Q2ER4.js +0 -2
- package/dist/storage-cp-H36Q2ER4.js.map +0 -1
- package/dist/storage-diff-6KUEJ4DB.js +0 -2
- package/dist/storage-diff-6KUEJ4DB.js.map +0 -1
- package/dist/storage-download-32EYGI47.js +0 -3
- package/dist/storage-download-32EYGI47.js.map +0 -1
- package/dist/storage-info-2JSV56KE.js +0 -2
- package/dist/storage-info-2JSV56KE.js.map +0 -1
- package/dist/storage-ls-G33T3LMU.js +0 -3
- package/dist/storage-ls-G33T3LMU.js.map +0 -1
- package/dist/storage-mkdir-BDT3GX7A.js +0 -2
- package/dist/storage-mkdir-BDT3GX7A.js.map +0 -1
- package/dist/storage-mv-2QJZR2FL.js +0 -2
- package/dist/storage-mv-2QJZR2FL.js.map +0 -1
- package/dist/storage-rm-NRRRFG36.js +0 -2
- package/dist/storage-rm-NRRRFG36.js.map +0 -1
- package/dist/storage-search-E5BIXLSU.js +0 -2
- package/dist/storage-search-E5BIXLSU.js.map +0 -1
- package/dist/storage-share-EXSSZ6XL.js +0 -2
- package/dist/storage-share-EXSSZ6XL.js.map +0 -1
- package/dist/storage-tag-YV5GUZDV.js +0 -2
- package/dist/storage-tag-YV5GUZDV.js.map +0 -1
- package/dist/storage-unshare-MF4V2NGC.js +0 -2
- package/dist/storage-unshare-MF4V2NGC.js.map +0 -1
- package/dist/storage-upload-DYWSZ6RO.js +0 -9
- package/dist/storage-upload-DYWSZ6RO.js.map +0 -1
- package/dist/time-list-4T3FJE2I.js +0 -2
- package/dist/time-list-4T3FJE2I.js.map +0 -1
- package/dist/time-lock-O55XMYPX.js +0 -2
- package/dist/time-lock-O55XMYPX.js.map +0 -1
- package/dist/time-proof-SDANSS3D.js +0 -2
- package/dist/time-proof-SDANSS3D.js.map +0 -1
- package/dist/time-status-JFJA3MYK.js +0 -2
- package/dist/time-status-JFJA3MYK.js.map +0 -1
- package/dist/time-unlock-F7NGQ2IE.js +0 -2
- package/dist/time-unlock-F7NGQ2IE.js.map +0 -1
- package/dist/update-5PTOF5ZA.js +0 -2
- package/dist/update-5PTOF5ZA.js.map +0 -1
- package/dist/version-Y2LWIEFC.js.map +0 -1
- package/dist/whoami-BGMVNESX.js +0 -2
- package/dist/whoami-BGMVNESX.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-52WHEL73.js';import {d}from'./chunk-OSI5H2T5.js';import {c}from'./chunk-5TMR6Y7L.js';import t from'chalk';async function n(r){let i=((await c(`/api/v1/collab/list?folder=${encodeURIComponent(r)}`,{authenticated:true})).collaborators||[]).map(e=>({email:e.email,user:e.username,role:t.hex("#7C4DFF")(e.role),joined:d(e.joined_at),active:e.last_active?d(e.last_active):t.dim("never")}));console.log(b(i,[{key:"email",label:"Email"},{key:"user",label:"User"},{key:"role",label:"Role"},{key:"joined",label:"Joined"},{key:"active",label:"Last Active"}]));}export{n as a};//# sourceMappingURL=chunk-EWFYKNK7.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-EWFYKNK7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/collab/collab-list.ts"],"names":["collabList","folder","rows","apiGet","c","chalk","formatRelative","renderTable"],"mappings":"iIAaA,eAAOA,CAAAA,CAAkCC,EAA+B,CAEtE,IAAMC,IADO,MAAMC,CAAAA,CAA0C,8BAA8B,kBAAA,CAAmBF,CAAM,CAAC,CAAA,CAAA,CAAI,CAAE,cAAe,IAAK,CAAC,GAC7H,aAAA,EAAiB,IAAI,GAAA,CAAIG,CAAAA,GAAM,CAChD,KAAA,CAAOA,CAAAA,CAAE,MACT,IAAA,CAAMA,CAAAA,CAAE,SACR,IAAA,CAAMC,CAAAA,CAAM,IAAI,SAAS,CAAA,CAAED,EAAE,IAAI,CAAA,CACjC,OAAQE,CAAAA,CAAeF,CAAAA,CAAE,SAAS,CAAA,CAClC,MAAA,CAAQA,CAAAA,CAAE,YAAcE,CAAAA,CAAeF,CAAAA,CAAE,WAAW,CAAA,CAAIC,CAAAA,CAAM,IAAI,OAAO,CAC3E,EAAE,CAAA,CACF,OAAA,CAAQ,IAAIE,CAAAA,CAAYL,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,QAAS,KAAA,CAAO,OAAQ,CAAA,CAC/B,CAAE,GAAA,CAAK,MAAA,CAAQ,MAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,MAAA,CAAQ,MAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,QAAA,CAAU,MAAO,QAAS,CAAA,CACjC,CAAE,GAAA,CAAK,QAAA,CAAU,MAAO,aAAc,CACxC,CAAC,CAAC,EACJ","file":"chunk-EWFYKNK7.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface Collaborator {\n email: string\n username: string\n role: string\n joined_at: string\n last_active: string | null\n}\n\nexport default async function collabList(folder: string): Promise<void> {\n const data = await apiGet<{ collaborators: Collaborator[] }>(`/api/v1/collab/list?folder=${encodeURIComponent(folder)}`, { authenticated: true })\n const rows = (data.collaborators || []).map(c => ({\n email: c.email,\n user: c.username,\n role: chalk.hex('#7C4DFF')(c.role),\n joined: formatRelative(c.joined_at),\n active: c.last_active ? formatRelative(c.last_active) : chalk.dim('never'),\n }))\n console.log(renderTable(rows, [\n { key: 'email', label: 'Email' },\n { key: 'user', label: 'User' },\n { key: 'role', label: 'Role' },\n { key: 'joined', label: 'Joined' },\n { key: 'active', label: 'Last Active' },\n ]))\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c}from'./chunk-YZWZNR6K.js';import {q,y,s}from'./chunk-BC3STHFS.js';import {a}from'./chunk-OSI5H2T5.js';import {d}from'./chunk-5TMR6Y7L.js';async function m(){let r=c("Scanning for orphaned files...");r.start();let e=await d("/api/v1/storage/clean",{orphaned:true},{authenticated:true});if(r.succeed(),q()){y(e);return}s(`Cleaned ${e.deleted} orphaned files (${a(e.freed_bytes)})`);}export{m as a};//# sourceMappingURL=chunk-F6IK5BFP.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-F6IK5BFP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/storage/storage-clean.ts"],"names":["storageClean","spinner","createSpinner","result","apiPost","isJsonMode","logJSON","logSuccess","formatBytes"],"mappings":"oJAOA,eAAOA,CAAAA,EAAqD,CAC1D,IAAMC,CAAAA,CAAUC,EAAc,gCAAgC,CAAA,CAC9DD,EAAQ,KAAA,EAAM,CACd,IAAME,CAAAA,CAAS,MAAMC,EAAkD,uBAAA,CAAyB,CAAE,SAAU,IAAK,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,EAE3I,GADAH,CAAAA,CAAQ,SAAQ,CACZI,CAAAA,GAAc,CAChBC,CAAAA,CAAQH,CAAM,CAAA,CACd,MACF,CACAI,CAAAA,CAAW,CAAA,QAAA,EAAWJ,EAAO,OAAO,CAAA,iBAAA,EAAoBK,EAAYL,CAAAA,CAAO,WAAW,CAAC,CAAA,CAAA,CAAG,EAC5F","file":"chunk-F6IK5BFP.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\nimport { formatBytes } from '../../lib/utils/format.js'\n\nexport default async function storageClean(): Promise<void> {\n const spinner = createSpinner('Scanning for orphaned files...')\n spinner.start()\n const result = await apiPost<{ deleted: number; freed_bytes: number }>('/api/v1/storage/clean', { orphaned: true }, { authenticated: true })\n spinner.succeed()\n if (isJsonMode()) {\n logJSON(result)\n return\n }\n logSuccess(`Cleaned ${result.deleted} orphaned files (${formatBytes(result.freed_bytes)})`)\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var o=new Set([".html",".css",".js",".mjs",".json",".svg",".png",".jpg",".jpeg",".gif",".webp",".avif",".ico",".woff",".woff2",".ttf",".otf",".eot",".mp4",".webm",".ogg",".mp3",".wav",".pdf",".txt",".xml",".map"]);function n(t){let e=t.toLowerCase().slice(t.lastIndexOf("."));return e?o.has(e):false}export{n as a};//# sourceMappingURL=chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
var o=new Set([".html",".css",".js",".mjs",".json",".svg",".png",".jpg",".jpeg",".gif",".webp",".avif",".ico",".woff",".woff2",".ttf",".otf",".eot",".mp4",".webm",".ogg",".mp3",".wav",".pdf",".txt",".xml",".map"]);function n(t){let e=t.toLowerCase().slice(t.lastIndexOf("."));return e?o.has(e):false}function s(){return [...o]}export{n as a,s as b};//# sourceMappingURL=chunk-F6Z2OAHW.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-F6Z2OAHW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/deploy/allowlist.ts"],"names":["ALLOWED_EXTENSIONS","isAllowedFile","filePath","ext","getAllowedExtensions"],"mappings":"AAAA,IAAMA,CAAAA,CAAqB,IAAI,GAAA,CAAI,CACjC,OAAA,CAAS,MAAA,CAAQ,KAAA,CAAO,MAAA,CAAQ,OAAA,CAAS,MAAA,CACzC,MAAA,CAAQ,MAAA,CAAQ,OAAA,CAAS,MAAA,CAAQ,OAAA,CAAS,OAAA,CAAS,MAAA,CACnD,OAAA,CAAS,QAAA,CAAU,MAAA,CAAQ,MAAA,CAAQ,MAAA,CACnC,MAAA,CAAQ,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,MAAA,CACjC,MAAA,CAAQ,OAAQ,MAAA,CAAQ,MAC1B,CAAC,CAAA,CAEM,SAASC,CAAAA,CAAcC,CAAAA,CAA2B,CACvD,IAAMC,CAAAA,CAAMD,CAAAA,CAAS,WAAA,EAAY,CAAE,KAAA,CAAMA,CAAAA,CAAS,WAAA,CAAY,GAAG,CAAC,CAAA,CAClE,OAAKC,CAAAA,CACEH,CAAAA,CAAmB,GAAA,CAAIG,CAAG,CAAA,CADhB,KAEnB,CAEO,SAASC,CAAAA,EAAiC,CAC/C,OAAO,CAAC,GAAGJ,CAAkB,CAC/B","file":"chunk-F6Z2OAHW.js","sourcesContent":["const ALLOWED_EXTENSIONS = new Set([\n '.html', '.css', '.js', '.mjs', '.json', '.svg',\n '.png', '.jpg', '.jpeg', '.gif', '.webp', '.avif', '.ico',\n '.woff', '.woff2', '.ttf', '.otf', '.eot',\n '.mp4', '.webm', '.ogg', '.mp3', '.wav',\n '.pdf', '.txt', '.xml', '.map',\n])\n\nexport function isAllowedFile(filePath: string): boolean {\n const ext = filePath.toLowerCase().slice(filePath.lastIndexOf('.'))\n if (!ext) return false\n return ALLOWED_EXTENSIONS.has(ext)\n}\n\nexport function getAllowedExtensions(): string[] {\n return [...ALLOWED_EXTENSIONS]\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {v}from'./chunk-BC3STHFS.js';import {c}from'./chunk-5TMR6Y7L.js';import a from'open';async function r(t){let i=(await c(`/api/v1/sites/${t}`,{authenticated:true})).site.url||`https://squidcloud.vercel.app/sites/${t}`;v(`Opening ${i}...`),await a(i);}
|
|
2
|
+
export{r as a};//# sourceMappingURL=chunk-FBSVAPQ6.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-FBSVAPQ6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/sites/sites-open.ts"],"names":["sitesOpen","slug","url","apiGet","logInfo","open"],"mappings":"4FAIA,eAAOA,CAAAA,CAAiCC,CAAAA,CAA6B,CAEnE,IAAMC,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAkC,CAAA,cAAA,EAAiBF,CAAI,GAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACpF,IAAA,CAAK,GAAA,EAAO,CAAA,oCAAA,EAAuCA,CAAI,CAAA,CAAA,CACxEG,CAAAA,CAAQ,CAAA,QAAA,EAAWF,CAAG,CAAA,GAAA,CAAK,CAAA,CAC3B,MAAMG,CAAAA,CAAKH,CAAG,EAChB","file":"chunk-FBSVAPQ6.js","sourcesContent":["import open from 'open'\nimport { apiGet } from '../../lib/api/client.js'\nimport { logInfo } from '../../lib/output/logger.js'\n\nexport default async function sitesOpen(slug: string): Promise<void> {\n const data = await apiGet<{ site: { url: string } }>(`/api/v1/sites/${slug}`, { authenticated: true })\n const url = data.site.url || `https://squidcloud.vercel.app/sites/${slug}`\n logInfo(`Opening ${url}...`)\n await open(url)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c}from'./chunk-YZWZNR6K.js';import {s}from'./chunk-BC3STHFS.js';import {d}from'./chunk-5TMR6Y7L.js';async function g(a,e){if(e.add){let r=c(`Adding tag "${e.add}" to ${a}...`);r.start(),await d("/api/v1/storage/tags",{path:a,tag:e.add,action:"add"},{authenticated:true}),r.succeed(),s(`Tag "${e.add}" added to ${a}`);}if(e.remove){let r=c(`Removing tag "${e.remove}" from ${a}...`);r.start(),await d("/api/v1/storage/tags",{path:a,tag:e.remove,action:"remove"},{authenticated:true}),r.succeed(),s(`Tag "${e.remove}" removed from ${a}`);}}export{g as a};//# sourceMappingURL=chunk-FJZYWFE2.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-FJZYWFE2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/storage/storage-tag.ts"],"names":["storageTag","path","options","spinner","createSpinner","apiPost","logSuccess"],"mappings":"4GAIA,eAAOA,CAAAA,CAAkCC,EAAcC,CAAAA,CAA2D,CAChH,GAAIA,CAAAA,CAAQ,GAAA,CAAK,CACf,IAAMC,CAAAA,CAAUC,EAAc,CAAA,YAAA,EAAeF,CAAAA,CAAQ,GAAG,CAAA,KAAA,EAAQD,CAAI,KAAK,CAAA,CACzEE,CAAAA,CAAQ,OAAM,CACd,MAAME,EAAQ,sBAAA,CAAwB,CAAE,KAAAJ,CAAAA,CAAM,GAAA,CAAKC,EAAQ,GAAA,CAAK,MAAA,CAAQ,KAAM,CAAA,CAAG,CAAE,cAAe,IAAK,CAAC,EACxGC,CAAAA,CAAQ,OAAA,GACRG,CAAAA,CAAW,CAAA,KAAA,EAAQJ,CAAAA,CAAQ,GAAG,CAAA,WAAA,EAAcD,CAAI,EAAE,EACpD,CACA,GAAIC,CAAAA,CAAQ,MAAA,CAAQ,CAClB,IAAMC,CAAAA,CAAUC,EAAc,CAAA,cAAA,EAAiBF,CAAAA,CAAQ,MAAM,CAAA,OAAA,EAAUD,CAAI,KAAK,CAAA,CAChFE,CAAAA,CAAQ,OAAM,CACd,MAAME,CAAAA,CAAQ,sBAAA,CAAwB,CAAE,IAAA,CAAAJ,EAAM,GAAA,CAAKC,CAAAA,CAAQ,OAAQ,MAAA,CAAQ,QAAS,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC9GC,EAAQ,OAAA,EAAQ,CAChBG,EAAW,CAAA,KAAA,EAAQJ,CAAAA,CAAQ,MAAM,CAAA,eAAA,EAAkBD,CAAI,CAAA,CAAE,EAC3D,CACF","file":"chunk-FJZYWFE2.js","sourcesContent":["import { apiPost, apiDelete } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function storageTag(path: string, options: { add?: string; remove?: string }): Promise<void> {\n if (options.add) {\n const spinner = createSpinner(`Adding tag \"${options.add}\" to ${path}...`)\n spinner.start()\n await apiPost('/api/v1/storage/tags', { path, tag: options.add, action: 'add' }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Tag \"${options.add}\" added to ${path}`)\n }\n if (options.remove) {\n const spinner = createSpinner(`Removing tag \"${options.remove}\" from ${path}...`)\n spinner.start()\n await apiPost('/api/v1/storage/tags', { path, tag: options.remove, action: 'remove' }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Tag \"${options.remove}\" removed from ${path}`)\n }\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {v}from'./chunk-BC3STHFS.js';import r from'open';async function i(){let o="https://squidcloud.vercel.app/feedback";v(`Opening ${o} in your browser...`),await r(o);}
|
|
2
|
+
export{i as a};//# sourceMappingURL=chunk-FMJZFIA2.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-FMJZFIA2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/util/feedback.ts"],"names":["feedback","url","logInfo","open"],"mappings":"wDAGA,eAAOA,CAAAA,EAAiD,CACtD,IAAMC,CAAAA,CAAM,wCAAA,CACZC,CAAAA,CAAQ,CAAA,QAAA,EAAWD,CAAG,CAAA,mBAAA,CAAqB,CAAA,CAC3C,MAAME,CAAAA,CAAKF,CAAG,EAChB","file":"chunk-FMJZFIA2.js","sourcesContent":["import open from 'open'\nimport { logInfo } from '../../lib/output/logger.js'\n\nexport default async function feedback(): Promise<void> {\n const url = 'https://squidcloud.vercel.app/feedback'\n logInfo(`Opening ${url} in your browser...`)\n await open(url)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {q,y,x}from'./chunk-BC3STHFS.js';import {c}from'./chunk-5TMR6Y7L.js';import o from'chalk';async function a(m){let i=(await c(`/api/v1/forms/${m}`,{authenticated:true})).form;if(q()){y(i);return}x(""),x(` ${o.bold(i.name)}`),x(o.dim(" \u2500\u2500\u2500".repeat(8))),x(` ${o.bold("ID:")} ${i.id}`),x(` ${o.bold("Folder:")} ${i.folder||o.dim("none")}`),x(` ${o.bold("Submissions:")} ${i.submission_count}`),x(` ${o.bold("Spam Protection:")} ${i.spam_protection?o.green("on"):o.dim("off")}`),x(` ${o.bold("Active:")} ${i.is_active?o.green("yes"):o.yellow("no")}`),x(` ${o.bold("Embed:")} ${o.dim(i.embed_url)}`),x("");}export{a};//# sourceMappingURL=chunk-GAP2HHZR.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-GAP2HHZR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/forms/forms-info.ts"],"names":["formsInfo","id","f","apiGet","isJsonMode","logJSON","logRaw","chalk"],"mappings":"iGAeA,eAAOA,CAAAA,CAAiCC,EAA2B,CAEjE,IAAMC,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAA6B,CAAA,cAAA,EAAiBF,CAAE,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EAC/E,IAAA,CAEf,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQH,CAAC,CAAA,CACT,MACF,CAEAI,CAAAA,CAAO,EAAE,CAAA,CACTA,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAKL,CAAAA,CAAE,IAAI,CAAC,CAAA,CAAE,CAAA,CAChCI,EAAOC,CAAAA,CAAM,GAAA,CAAI,sBAAA,CAAQ,MAAA,CAAO,CAAC,CAAC,CAAC,CAAA,CACnCD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,KAAK,CAAC,CAAA,cAAA,EAAiBL,CAAAA,CAAE,EAAE,EAAE,CAAA,CACpDI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,SAAS,CAAC,CAAA,UAAA,EAAaL,EAAE,MAAA,EAAUK,CAAAA,CAAM,GAAA,CAAI,MAAM,CAAC,CAAA,CAAE,CAAA,CAC7ED,CAAAA,CAAO,KAAKC,CAAAA,CAAM,IAAA,CAAK,cAAc,CAAC,CAAA,KAAA,EAAQL,CAAAA,CAAE,gBAAgB,CAAA,CAAE,EAClEI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,kBAAkB,CAAC,CAAA,CAAA,EAAIL,CAAAA,CAAE,gBAAkBK,CAAAA,CAAM,KAAA,CAAM,IAAI,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAI,KAAK,CAAC,EAAE,CAAA,CACxGD,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,SAAS,CAAC,CAAA,UAAA,EAAaL,EAAE,SAAA,CAAYK,CAAAA,CAAM,KAAA,CAAM,KAAK,CAAA,CAAIA,CAAAA,CAAM,MAAA,CAAO,IAAI,CAAC,CAAA,CAAE,CAAA,CACrGD,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,QAAQ,CAAC,cAAcA,CAAAA,CAAM,GAAA,CAAIL,CAAAA,CAAE,SAAS,CAAC,CAAA,CAAE,CAAA,CACtEI,CAAAA,CAAO,EAAE,EACX","file":"chunk-GAP2HHZR.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { logJSON, logRaw } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\n\ninterface FormDetail {\n id: string\n name: string\n folder: string | null\n submission_count: number\n spam_protection: boolean\n is_active: boolean\n embed_url: string\n}\n\nexport default async function formsInfo(id: string): Promise<void> {\n const data = await apiGet<{ form: FormDetail }>(`/api/v1/forms/${id}`, { authenticated: true })\n const f = data.form\n\n if (isJsonMode()) {\n logJSON(f)\n return\n }\n\n logRaw('')\n logRaw(` ${chalk.bold(f.name)}`)\n logRaw(chalk.dim(' ───'.repeat(8)))\n logRaw(` ${chalk.bold('ID:')} ${f.id}`)\n logRaw(` ${chalk.bold('Folder:')} ${f.folder || chalk.dim('none')}`)\n logRaw(` ${chalk.bold('Submissions:')} ${f.submission_count}`)\n logRaw(` ${chalk.bold('Spam Protection:')} ${f.spam_protection ? chalk.green('on') : chalk.dim('off')}`)\n logRaw(` ${chalk.bold('Active:')} ${f.is_active ? chalk.green('yes') : chalk.yellow('no')}`)\n logRaw(` ${chalk.bold('Embed:')} ${chalk.dim(f.embed_url)}`)\n logRaw('')\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import {a,b}from'./chunk-6RI4Z6IY.js';import {v,q,y,s,u}from'./chunk-BC3STHFS.js';import {a as a$1}from'./chunk-OSI5H2T5.js';import {f}from'./chunk-BQGHHBGH.js';import {m}from'./chunk-6VDGYAGT.js';import {a as a$2}from'./chunk-F6Z2OAHW.js';import C from'fs';import R from'path';import {gcm}from'@noble/ciphers/aes';import {randomBytes}from'@noble/hashes/utils';import {sha256}from'@noble/hashes/sha256';import te from'https';import ne from'http';import U from'chalk';import oe from'cli-progress';import ie from'ignore';function H(t){return new TextEncoder().encode(t.slice(0,32).padEnd(32,"0"))}function Z(t){return Buffer.from(t).toString("base64")}function L(){return Buffer.from(randomBytes(32)).toString("hex")}var Y=1.5*1024*1024,G=2*1024*1024,V=2.5*1024*1024;function W(t){return t>100*1024*1024?V:t>10*1024*1024?G:Y}function M(t,c,i,e){let n=L(),o=H(n),f=W(t.length),r=Math.ceil(t.length/f),u=[],g=Date.now();for(let m$1=0;m$1<r;m$1++){let b=m$1*f,h=Math.min(b+f,t.length),s=t.subarray(b,h),l=randomBytes(12),a=new TextEncoder().encode(`res54-v2-${g}`),w=gcm(o,l,a).encrypt(s),d=new Uint8Array(4+a.length+l.length+w.length);new DataView(d.buffer,0,4).setUint32(0,a.length,true),d.set(a,4),d.set(l,4+a.length),d.set(w,4+a.length+l.length),u.push({index:m$1,totalChunks:r,size:s.length,offset:b,sha256:m(sha256(s)),encryptedBase64:Z(d)});}return {encryptionKey:n,fileName:c,fileType:i,fileSize:t.length,chunks:u}}var X="https://aouqcwbdoyrccjcrhzzi.supabase.co",Q="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U";async function E(t,c,i){let e=await f();if(!e?.access_token)throw new Error("Not logged in");let n=await fetch(`${X}${c}`,{method:t,headers:{"Content-Type":"application/json",Authorization:`Bearer ${e.access_token}`,apikey:Q},body:i?JSON.stringify(i):void 0});if(!n.ok){let o=await n.text();throw new Error(`Supabase API error (${n.status}): ${o.slice(0,500)}`)}if(n.status!==204)return n.json()}function ee(t,c,i){let e=`res54_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,9)}_${c}`;return `${t}/${e}.json`}async function J(t,c,i,e){let n=await f();if(!n?.access_token)throw new Error("Not logged in. Run `squidcloud auth login` first.");let o=n.user.id,f$1=await E("GET",`/rest/v1/repositories?select=repo_name&user_id=eq.${o}`);if(!f$1||f$1.length===0)throw new Error("No storage vault found. Create one on the dashboard first.");e?.(0,1,"Encrypting");let r=M(t,c,i),u=r.chunks.length,g=[];e?.(0,u,"Uploading");for(let s=0;s<u;s++){let l=r.chunks[s],a=f$1[s%f$1.length],p=ee(o,l.index),w={version:"3.0",chunkIndex:l.index,totalChunks:l.totalChunks,fileName:r.fileName,fileType:r.fileType,fileSize:r.fileSize,chunkData:l.encryptedBase64,chunkSize:l.encryptedBase64.length,checksum:l.sha256,repo:a.repo_name,path:p},d=await E("POST","/functions/v1/github-storage",{action:"upload",fileName:p.split("/").pop(),fileType:"application/json",data:JSON.stringify(w),userId:o,path:p,repo:a.repo_name});if(!d.success)throw new Error(`Failed to upload chunk ${s}`);g.push({index:s,repo:a.repo_name,path:p,sha:d.sha}),e?.(s+1,u,"Uploading");}e?.(u,u,"Finalizing");let m={fileName:r.fileName,fileType:r.fileType,fileSize:r.fileSize,chunks:r.chunks.map((s,l)=>({...s,repo:g[l].repo,path:g[l].path})),encryptionKey:r.encryptionKey,created:new Date().toISOString(),previewAvailable:false},h=(await E("POST","/rest/v1/rpc/create_file_record",{p_name:r.fileName,p_type:r.fileType,p_size:r.fileSize,p_storage_path:"res54_distributed",p_user_id:o,p_encrypted:true,p_encryption_key:r.encryptionKey,p_metadata:JSON.stringify(m),p_workspace_id:null}))?.id;if(!h)throw new Error("Failed to create file record: no id returned");return e?.(u,u,"Complete"),{id:h}}function re(t,c,i){let e=Buffer.from(`--${i}\r
|
|
2
|
+
Content-Disposition: form-data; name="file"; filename="${c}"\r
|
|
3
|
+
Content-Type: application/octet-stream\r
|
|
4
|
+
\r
|
|
5
|
+
`),n=Buffer.from(`\r
|
|
6
|
+
--${i}--\r
|
|
7
|
+
`);return Buffer.concat([e,t,n])}function K(t,c,i,e,n){return new Promise((o,f)=>{let r=`----FormBoundary${Math.random().toString(36).slice(2,12)}`,u=re(c,i,r),g=u.length,m=new URL(t),b=m.protocol==="https:",h=b?te:ne,s={"Content-Type":`multipart/form-data; boundary=${r}`,"Content-Length":String(g),...e},l={hostname:m.hostname,port:m.port||(b?443:80),path:m.pathname+m.search,method:"POST",headers:s},a=h.request(l,y=>{let $=[];y.on("data",S=>$.push(S)),y.on("end",()=>{let S=Buffer.concat($),P=new Response(S,{status:y.statusCode??200,statusText:y.statusMessage??"OK",headers:new Headers(y.headers)});o(P);});});a.on("error",y=>f(y));let p=0,w=65536,d=0;function k(){if(d>=g){a.end();return}let y=Math.min(d+w,g),$=u.subarray(d,y),S=a.write($);p=y,n(p),S?(d=y,k()):a.once("drain",()=>{d=y,k();});}k();})}var se="https://squidcloud.vercel.app";async function ae(t,c,i){let e=R.resolve(t),n=c||R.basename(e);C.existsSync(e)||(console.error(`File not found: ${e}`),process.exit(1));let o=C.statSync(e);if(o.isFile()){if(i?.dryRun){v(`[DRY-RUN] Would upload: ${e} \u2192 ${n}`);return}await ce(e,n);return}if(o.isDirectory()){if(i?.dryRun){v(`[DRY-RUN] Would upload directory: ${e} \u2192 ${n}`);return}await le(e,n,i?.ignore);}}async function ce(t,c){let i=C.readFileSync(t),e=i.length,n=R.basename(t),{bar:o,tracker:f}=a(n,e);o.update(0,{filename:n});try{let r=await J(new Uint8Array(i),c,"application/octet-stream",(u,g)=>{b(o,f,Math.round(u/g*e));});o.stop(),q()?y(r):s(`Uploaded ${n} (${a$1(e)})`);}catch(r){throw o.stop(),r}}async function le(t,c,i){let e=await f();if(!e)throw new Error("Not logged in. Run `squidcloud auth login` first.");let n=ie();i&&n.add(i),n.add(".DS_Store"),n.add("node_modules"),n.add(".git");let o=[];function f$1(h,s){let l=C.readdirSync(h,{withFileTypes:true});for(let a of l){let p=R.join(h,a.name),w=R.relative(s,p);n.ignores(w)||(a.isDirectory()?f$1(p,s):a.isFile()&&a$2(a.name)&&o.push({relative:w,absolute:p}));}}if(f$1(t,t),o.length===0){u("No allowed files found to upload");return}let r=new oe.MultiBar({clearOnComplete:false,hideCursor:true,format:` ${U.hex("#7C4DFF")("\u25B8")} {filename}`,barCompleteChar:"\u2588",barIncompleteChar:"\u2591",stopOnComplete:true}),u$1=r.create(o.length,0,{filename:U.bold(`Uploading ${o.length} files...`)}),g=r.create(100,0,{filename:""}),m={};e.api_key&&(m["x-squidcloud-key"]=e.api_key);let b=0;for(let h of o){g.update(0,{filename:U.dim(h.relative)});let s=C.readFileSync(h.absolute),l=c?`${c}/${h.relative}`:h.relative,a=`${se}/api/v1/storage/upload?path=${encodeURIComponent(l)}`;await K(a,s,h.relative,m,w=>{let y=s.length>0?w/s.length*100:0;g.update(y);}),b++,u$1.update(b,{filename:U.bold(`Uploaded ${b}/${o.length} files`)});}r.stop(),q()?y({uploaded:o.length,path:c}):s(`Uploaded ${o.length} files to ${c}`);}
|
|
8
|
+
export{ae as a};//# sourceMappingURL=chunk-GIADGCQF.js.map
|
|
9
|
+
//# sourceMappingURL=chunk-GIADGCQF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/crypto/encrypt-file.ts","../src/lib/api/upload-res54.ts","../src/lib/api/upload-progress.ts","../src/commands/storage/storage-upload.ts"],"names":["deriveRawKey","key","uint8ArrayToBase64","bytes","generateEncryptionKey","randomBytes","CHUNK_SIZE_SMALL","CHUNK_SIZE_MEDIUM","CHUNK_SIZE_LARGE","determineChunkSize","fileSize","encryptFile","data","fileName","fileType","encryptionKey","keyBytes","chunkSize","totalChunks","chunks","timestamp","i","offset","end","plaintext","iv","ad","encrypted","gcm","combined","bytesToHex","sha256","SUPABASE_URL","ANON_KEY","supabaseFetch","method","path","body","session","loadSession","response","text","getRepoPath","userId","chunkIndex","id","uploadFileRes54","onProgress","repos","result","chunkResults","chunk","repo","chunkData","uploadResponse","metadata","c","idx","fileId","buildMultipart","fileContent","filename","boundary","header","footer","uploadFileWithProgress","url","headers","resolve","reject","total","urlObj","isHttps","mod","https","http","reqHeaders","options","req","res","resp","err","uploaded","writeNext","canContinue","API_BASE","storageUpload","local","remote","localPath","remotePath","fs","stat","logInfo","uploadFile","uploadDirectory","content","bar","tracker","createProgressBar","current","updateProgress","isJsonMode","logJSON","logSuccess","formatBytes","ignorePattern","ig","ignore","files","walk","dir","baseDir","entries","entry","fullPath","relative","isAllowedFile","logWarn","multibar","cliProgress","chalk","overallBar","fileBar","uploadedCount","f","fileRemote","pct"],"mappings":"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","file":"chunk-GIADGCQF.js","sourcesContent":["import { gcm } from '@noble/ciphers/aes'\nimport { randomBytes } from '@noble/hashes/utils'\nimport { sha256 } from '@noble/hashes/sha256'\nimport { bytesToHex } from './ssp.js'\n\nfunction deriveRawKey(key: string): Uint8Array {\n return new TextEncoder().encode(key.slice(0, 32).padEnd(32, '0'))\n}\n\nfunction uint8ArrayToBase64(bytes: Uint8Array): string {\n return Buffer.from(bytes).toString('base64')\n}\n\nfunction base64ToUint8Array(b64: string): Uint8Array {\n return new Uint8Array(Buffer.from(b64, 'base64'))\n}\n\nfunction generateEncryptionKey(): string {\n return Buffer.from(randomBytes(32)).toString('hex')\n}\n\nexport interface EncryptedChunkResult {\n index: number\n totalChunks: number\n size: number\n offset: number\n sha256: string\n encryptedBase64: string\n}\n\nexport interface FileEncryptionResult {\n encryptionKey: string\n fileName: string\n fileType: string\n fileSize: number\n chunks: EncryptedChunkResult[]\n}\n\nconst CHUNK_SIZE_SMALL = 1.5 * 1024 * 1024\nconst CHUNK_SIZE_MEDIUM = 2 * 1024 * 1024\nconst CHUNK_SIZE_LARGE = 2.5 * 1024 * 1024\n\nfunction determineChunkSize(fileSize: number): number {\n if (fileSize > 100 * 1024 * 1024) return CHUNK_SIZE_LARGE\n if (fileSize > 10 * 1024 * 1024) return CHUNK_SIZE_MEDIUM\n return CHUNK_SIZE_SMALL\n}\n\nexport function encryptFile(data: Uint8Array, fileName: string, fileType: string, encryptionKey?: string): FileEncryptionResult {\n const key = encryptionKey || generateEncryptionKey()\n const keyBytes = deriveRawKey(key)\n const chunkSize = determineChunkSize(data.length)\n const totalChunks = Math.ceil(data.length / chunkSize)\n\n const chunks: EncryptedChunkResult[] = []\n const timestamp = Date.now()\n\n for (let i = 0; i < totalChunks; i++) {\n const offset = i * chunkSize\n const end = Math.min(offset + chunkSize, data.length)\n const plaintext = data.subarray(offset, end)\n\n const iv = randomBytes(12)\n const ad = new TextEncoder().encode(`res54-v2-${timestamp}`)\n\n const aes = gcm(keyBytes, iv, ad)\n const encrypted = aes.encrypt(plaintext)\n\n const combined = new Uint8Array(4 + ad.length + iv.length + encrypted.length)\n const view = new DataView(combined.buffer, 0, 4)\n view.setUint32(0, ad.length, true)\n combined.set(ad, 4)\n combined.set(iv, 4 + ad.length)\n combined.set(encrypted, 4 + ad.length + iv.length)\n\n chunks.push({\n index: i,\n totalChunks,\n size: plaintext.length,\n offset,\n sha256: bytesToHex(sha256(plaintext)),\n encryptedBase64: uint8ArrayToBase64(combined),\n })\n }\n\n return {\n encryptionKey: key,\n fileName,\n fileType,\n fileSize: data.length,\n chunks,\n }\n}\n","import { loadSession } from '../auth/session.js'\nimport { encryptFile, type FileEncryptionResult } from '../crypto/encrypt-file.js'\n\nconst SUPABASE_URL = 'https://aouqcwbdoyrccjcrhzzi.supabase.co'\nconst ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U'\n\ninterface GitHubRepo {\n repo_name: string\n}\n\ninterface ChunkUploadResult {\n index: number\n repo: string\n path: string\n sha?: string\n}\n\nasync function supabaseFetch<T>(method: string, path: string, body?: unknown): Promise<T> {\n const session = await loadSession()\n if (!session?.access_token) throw new Error('Not logged in')\n\n const response = await fetch(`${SUPABASE_URL}${path}`, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${session.access_token}`,\n 'apikey': ANON_KEY,\n },\n body: body ? JSON.stringify(body) : undefined,\n })\n\n if (!response.ok) {\n const text = await response.text()\n throw new Error(`Supabase API error (${response.status}): ${text.slice(0, 500)}`)\n }\n\n if (response.status === 204) return undefined as T\n return response.json() as Promise<T>\n}\n\nfunction getRepoPath(userId: string, chunkIndex: number, totalChunks: number): string {\n const id = `res54_${Date.now().toString(36)}_${Math.random().toString(36).substring(2, 9)}_${chunkIndex}`\n return `${userId}/${id}.json`\n}\n\nexport async function uploadFileRes54(\n data: Uint8Array,\n fileName: string,\n fileType: string,\n onProgress?: (current: number, total: number, stage: string) => void,\n): Promise<{ id: string }> {\n const session = await loadSession()\n if (!session?.access_token) throw new Error('Not logged in. Run `squidcloud auth login` first.')\n const userId = session.user.id\n\n const repos = await supabaseFetch<GitHubRepo[]>('GET', `/rest/v1/repositories?select=repo_name&user_id=eq.${userId}`)\n if (!repos || repos.length === 0) throw new Error('No storage vault found. Create one on the dashboard first.')\n\n onProgress?.(0, 1, 'Encrypting')\n\n const result = encryptFile(data, fileName, fileType)\n const totalChunks = result.chunks.length\n\n const chunkResults: ChunkUploadResult[] = []\n\n onProgress?.(0, totalChunks, 'Uploading')\n\n for (let i = 0; i < totalChunks; i++) {\n const chunk = result.chunks[i]\n const repo = repos[i % repos.length]\n const path = getRepoPath(userId, chunk.index, totalChunks)\n\n const chunkData = {\n version: '3.0',\n chunkIndex: chunk.index,\n totalChunks: chunk.totalChunks,\n fileName: result.fileName,\n fileType: result.fileType,\n fileSize: result.fileSize,\n chunkData: chunk.encryptedBase64,\n chunkSize: chunk.encryptedBase64.length,\n checksum: chunk.sha256,\n repo: repo.repo_name,\n path,\n }\n\n const uploadResponse = await supabaseFetch<{ success: boolean; sha?: string }>('POST', '/functions/v1/github-storage', {\n action: 'upload',\n fileName: path.split('/').pop(),\n fileType: 'application/json',\n data: JSON.stringify(chunkData),\n userId,\n path,\n repo: repo.repo_name,\n })\n\n if (!uploadResponse.success) {\n throw new Error(`Failed to upload chunk ${i}`)\n }\n\n chunkResults.push({ index: i, repo: repo.repo_name, path, sha: uploadResponse.sha })\n onProgress?.(i + 1, totalChunks, 'Uploading')\n }\n\n onProgress?.(totalChunks, totalChunks, 'Finalizing')\n\n const metadata = {\n fileName: result.fileName,\n fileType: result.fileType,\n fileSize: result.fileSize,\n chunks: result.chunks.map((c, idx) => ({\n ...c,\n repo: chunkResults[idx].repo,\n path: chunkResults[idx].path,\n })),\n encryptionKey: result.encryptionKey,\n created: new Date().toISOString(),\n previewAvailable: false,\n }\n\n const rpcResult = await supabaseFetch<{ id: string }>('POST', '/rest/v1/rpc/create_file_record', {\n p_name: result.fileName,\n p_type: result.fileType || 'application/octet-stream',\n p_size: result.fileSize,\n p_storage_path: 'res54_distributed',\n p_user_id: userId,\n p_encrypted: true,\n p_encryption_key: result.encryptionKey,\n p_metadata: JSON.stringify(metadata),\n p_workspace_id: null as string | null,\n })\n\n const fileId = (rpcResult as any)?.id\n if (!fileId) throw new Error('Failed to create file record: no id returned')\n\n onProgress?.(totalChunks, totalChunks, 'Complete')\n\n return { id: fileId }\n}\n","import https from 'node:https'\nimport http from 'node:http'\n\nfunction buildMultipart(fileContent: Buffer, filename: string, boundary: string): Buffer {\n const header = Buffer.from(\n `--${boundary}\\r\\n` +\n `Content-Disposition: form-data; name=\"file\"; filename=\"${filename}\"\\r\\n` +\n `Content-Type: application/octet-stream\\r\\n\\r\\n`\n )\n const footer = Buffer.from(`\\r\\n--${boundary}--\\r\\n`)\n return Buffer.concat([header, fileContent, footer])\n}\n\nexport function uploadFileWithProgress(\n url: string,\n fileContent: Buffer,\n filename: string,\n headers: Record<string, string>,\n onProgress: (bytes: number) => void,\n): Promise<Response> {\n return new Promise((resolve, reject) => {\n const boundary = `----FormBoundary${Math.random().toString(36).slice(2, 12)}`\n const body = buildMultipart(fileContent, filename, boundary)\n const total = body.length\n\n const urlObj = new URL(url)\n const isHttps = urlObj.protocol === 'https:'\n const mod = isHttps ? https : http\n\n const reqHeaders: Record<string, string> = {\n 'Content-Type': `multipart/form-data; boundary=${boundary}`,\n 'Content-Length': String(total),\n ...headers,\n }\n\n const options: http.RequestOptions = {\n hostname: urlObj.hostname,\n port: urlObj.port || (isHttps ? 443 : 80),\n path: urlObj.pathname + urlObj.search,\n method: 'POST',\n headers: reqHeaders,\n }\n\n const req = mod.request(options, (res) => {\n const chunks: Buffer[] = []\n res.on('data', (chunk: Buffer) => chunks.push(chunk))\n res.on('end', () => {\n const body = Buffer.concat(chunks)\n const resp = new Response(body, {\n status: res.statusCode ?? 200,\n statusText: res.statusMessage ?? 'OK',\n headers: new Headers(res.headers as Record<string, string>),\n })\n resolve(resp)\n })\n })\n\n req.on('error', (err) => reject(err))\n\n let uploaded = 0\n const chunkSize = 65536\n let offset = 0\n\n function writeNext(): void {\n if (offset >= total) {\n req.end()\n return\n }\n const end = Math.min(offset + chunkSize, total)\n const chunk = body.subarray(offset, end)\n const canContinue = req.write(chunk)\n uploaded = end\n onProgress(uploaded)\n if (canContinue) {\n offset = end\n writeNext()\n } else {\n req.once('drain', () => {\n offset = end\n writeNext()\n })\n }\n }\n\n writeNext()\n })\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\nimport { isAllowedFile } from '../../lib/deploy/allowlist.js'\nimport { logSuccess, logWarn, logJSON, logInfo } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatBytes } from '../../lib/utils/format.js'\nimport { uploadFileRes54 } from '../../lib/api/upload-res54.js'\nimport { uploadFileWithProgress } from '../../lib/api/upload-progress.js'\nimport { loadSession } from '../../lib/auth/session.js'\nimport { createProgressBar, updateProgress } from '../../lib/output/progress.js'\nimport chalk from 'chalk'\nimport cliProgress from 'cli-progress'\nimport ignore from 'ignore'\n\nconst API_BASE = 'https://squidcloud.vercel.app'\n\nexport default async function storageUpload(local: string, remote?: string, options?: { ignore?: string; dryRun?: boolean }): Promise<void> {\n const localPath = path.resolve(local)\n const remotePath = remote || path.basename(localPath)\n\n if (!fs.existsSync(localPath)) {\n console.error(`File not found: ${localPath}`)\n process.exit(1)\n }\n\n const stat = fs.statSync(localPath)\n\n if (stat.isFile()) {\n if (options?.dryRun) {\n logInfo(`[DRY-RUN] Would upload: ${localPath} → ${remotePath}`)\n return\n }\n await uploadFile(localPath, remotePath)\n return\n }\n\n if (stat.isDirectory()) {\n if (options?.dryRun) {\n logInfo(`[DRY-RUN] Would upload directory: ${localPath} → ${remotePath}`)\n return\n }\n await uploadDirectory(localPath, remotePath, options?.ignore)\n }\n}\n\nasync function uploadFile(localPath: string, remotePath: string): Promise<void> {\n const content = fs.readFileSync(localPath)\n const total = content.length\n const fileName = path.basename(localPath)\n\n const { bar, tracker } = createProgressBar(fileName, total)\n bar.update(0, { filename: fileName })\n\n try {\n const result = await uploadFileRes54(\n new Uint8Array(content),\n remotePath,\n 'application/octet-stream',\n (current, totalChunks) => {\n updateProgress(bar, tracker, Math.round((current / totalChunks) * total))\n },\n )\n\n bar.stop()\n\n if (isJsonMode()) logJSON(result)\n else logSuccess(`Uploaded ${fileName} (${formatBytes(total)})`)\n } catch (err) {\n bar.stop()\n throw err\n }\n}\n\nasync function uploadDirectory(localPath: string, remotePath: string, ignorePattern?: string): Promise<void> {\n const session = await loadSession()\n if (!session) throw new Error('Not logged in. Run `squidcloud auth login` first.')\n\n const ig = ignore()\n if (ignorePattern) ig.add(ignorePattern)\n ig.add('.DS_Store')\n ig.add('node_modules')\n ig.add('.git')\n\n const files: { relative: string; absolute: string }[] = []\n function walk(dir: string, baseDir: string): void {\n const entries = fs.readdirSync(dir, { withFileTypes: true })\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name)\n const relative = path.relative(baseDir, fullPath)\n if (ig.ignores(relative)) continue\n if (entry.isDirectory()) {\n walk(fullPath, baseDir)\n } else if (entry.isFile() && isAllowedFile(entry.name)) {\n files.push({ relative, absolute: fullPath })\n }\n }\n }\n walk(localPath, localPath)\n\n if (files.length === 0) {\n logWarn('No allowed files found to upload')\n return\n }\n\n const multibar = new cliProgress.MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: ` ${chalk.hex('#7C4DFF')('▸')} {filename}`,\n barCompleteChar: '█',\n barIncompleteChar: '░',\n stopOnComplete: true,\n })\n\n const overallBar = multibar.create(files.length, 0, { filename: chalk.bold(`Uploading ${files.length} files...`) })\n const fileBar = multibar.create(100, 0, { filename: '' })\n\n const headers: Record<string, string> = {}\n if (session.api_key) headers['x-squidcloud-key'] = session.api_key\n\n let uploadedCount = 0\n\n for (const f of files) {\n fileBar.update(0, { filename: chalk.dim(f.relative) })\n\n const content = fs.readFileSync(f.absolute)\n const fileRemote = remotePath ? `${remotePath}/${f.relative}` : f.relative\n\n const url = `${API_BASE}/api/v1/storage/upload?path=${encodeURIComponent(fileRemote)}`\n\n const tracker = { startTime: Date.now(), lastBytes: 0, lastTime: Date.now(), speed: 0 }\n\n await uploadFileWithProgress(url, content, f.relative, headers, (bytes) => {\n const now = Date.now()\n const dt = (now - tracker.lastTime) / 1000\n if (dt >= 0.3) {\n tracker.speed = (bytes - tracker.lastBytes) / dt\n tracker.lastBytes = bytes\n tracker.lastTime = now\n }\n const pct = content.length > 0 ? (bytes / content.length) * 100 : 0\n fileBar.update(pct)\n })\n\n uploadedCount++\n overallBar.update(uploadedCount, { filename: chalk.bold(`Uploaded ${uploadedCount}/${files.length} files`) })\n }\n\n multibar.stop()\n\n if (isJsonMode()) logJSON({ uploaded: files.length, path: remotePath })\n else logSuccess(`Uploaded ${files.length} files to ${remotePath}`)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c as c$1}from'./chunk-YZWZNR6K.js';import {s}from'./chunk-BC3STHFS.js';import {d}from'./chunk-5TMR6Y7L.js';async function c(i,e){let t=e.public?"public":e.private?"private":"public",o=c$1(`Setting ${i} visibility to ${t}...`);o.start(),await d(`/api/v1/sites/${i}/visibility`,{visibility:t},{authenticated:true}),o.succeed(),s(`Site ${i} is now ${t}`);}export{c as a};//# sourceMappingURL=chunk-H2WQ3ECX.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-H2WQ3ECX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/sites/sites-visibility.ts"],"names":["sitesVisibility","slug","options","visibility","spinner","createSpinner","apiPost","logSuccess"],"mappings":"mHAIA,eAAOA,CAAAA,CAAuCC,EAAcC,CAAAA,CAAiE,CAC3H,IAAMC,CAAAA,CAAaD,CAAAA,CAAQ,OAAS,QAAA,CAAWA,CAAAA,CAAQ,QAAU,SAAA,CAAY,QAAA,CACvEE,EAAUC,GAAAA,CAAc,CAAA,QAAA,EAAWJ,CAAI,CAAA,eAAA,EAAkBE,CAAU,CAAA,GAAA,CAAK,CAAA,CAC9EC,CAAAA,CAAQ,KAAA,GACR,MAAME,CAAAA,CAAQ,iBAAiBL,CAAI,CAAA,WAAA,CAAA,CAAe,CAAE,UAAA,CAAAE,CAAW,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACzFC,CAAAA,CAAQ,SAAQ,CAChBG,CAAAA,CAAW,QAAQN,CAAI,CAAA,QAAA,EAAWE,CAAU,CAAA,CAAE,EAChD","file":"chunk-H2WQ3ECX.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function sitesVisibility(slug: string, options: { public?: boolean; private?: boolean }): Promise<void> {\n const visibility = options.public ? 'public' : options.private ? 'private' : 'public'\n const spinner = createSpinner(`Setting ${slug} visibility to ${visibility}...`)\n spinner.start()\n await apiPost(`/api/v1/sites/${slug}/visibility`, { visibility }, { authenticated: true })\n spinner.succeed()\n logSuccess(`Site ${slug} is now ${visibility}`)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-WRKYGGYI.js';import {s}from'./chunk-BC3STHFS.js';import r from'inquirer';async function i(){let{confirm:t}=await r.prompt([{type:"confirm",name:"confirm",message:"Reset all configuration to defaults?",default:false}]);t&&(b().clear(),s("Configuration reset to defaults"));}export{i as a};//# sourceMappingURL=chunk-HJWONDZI.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-HJWONDZI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/util/config-reset.ts"],"names":["configReset","confirm","inquirer","getConfig","logSuccess"],"mappings":"gGAIA,eAAOA,CAAAA,EAAoD,CACzD,GAAM,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAI,MAAMC,CAAAA,CAAS,MAAA,CAAO,CAAC,CACzC,IAAA,CAAM,SAAA,CACN,IAAA,CAAM,SAAA,CACN,OAAA,CAAS,sCAAA,CACT,OAAA,CAAS,KACX,CAAC,CAAC,CAAA,CACGD,CAAAA,GACLE,GAAU,CAAE,KAAA,EAAM,CAClBC,CAAAA,CAAW,iCAAiC,CAAA,EAC9C","file":"chunk-HJWONDZI.js","sourcesContent":["import inquirer from 'inquirer'\nimport { getConfig } from './config.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function configReset(): Promise<void> {\n const { confirm } = await inquirer.prompt([{\n type: 'confirm',\n name: 'confirm',\n message: 'Reset all configuration to defaults?',\n default: false,\n }])\n if (!confirm) return\n getConfig().clear()\n logSuccess('Configuration reset to defaults')\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c as c$2}from'./chunk-52WHEL73.js';import {q,y,x}from'./chunk-BC3STHFS.js';import {c as c$1}from'./chunk-5TMR6Y7L.js';import r from'chalk';async function c(s){let t=(await c$1(`/api/v1/sites/${s}/analytics`,{authenticated:true})).analytics;if(q()){y(t);return}if(x(""),x(r.bold(` Traffic: ${s}`)),x(r.dim(" \u2500\u2500\u2500".repeat(10))),x(` ${r.bold("Total Views:")} ${t.total_views}`),x(` ${r.bold("Unique Visitors:")} ${t.unique_visitors}`),x(""),t.top_pages?.length){x(r.bold(" Top Pages")),x(r.dim(" \u2500\u2500\u2500".repeat(8)));let a=t.top_pages.map(i=>({path:i.path,views:String(i.views)}));x(c$2(a,[{key:"path",label:"Page"},{key:"views",label:"Views"}]));}if(t.top_referrers?.length){x(r.bold(" Top Referrers")),x(r.dim(" \u2500\u2500\u2500".repeat(8)));let a=t.top_referrers.map(i=>({referrer:i.referrer||"(direct)",count:String(i.count)}));x(c$2(a,[{key:"referrer",label:"Referrer"},{key:"count",label:"Visits"}]));}x("");}export{c as a};//# sourceMappingURL=chunk-HMBPN7ID.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-HMBPN7ID.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/sites/sites-analytics.ts"],"names":["sitesAnalytics","slug","a","apiGet","isJsonMode","logJSON","logRaw","chalk","rows","p","renderCompactTable","r"],"mappings":"mJAcA,eAAOA,CAAAA,CAAsCC,EAA6B,CAExE,IAAMC,GADO,MAAMC,GAAAA,CAAqC,iBAAiBF,CAAI,CAAA,UAAA,CAAA,CAAc,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACnG,SAAA,CAEf,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQH,CAAC,EACT,MACF,CASA,GAPAI,CAAAA,CAAO,EAAE,EACTA,CAAAA,CAAOC,CAAAA,CAAM,KAAK,CAAA,WAAA,EAAcN,CAAI,EAAE,CAAC,CAAA,CACvCK,EAAOC,CAAAA,CAAM,GAAA,CAAI,uBAAQ,MAAA,CAAO,EAAE,CAAC,CAAC,CAAA,CACpCD,EAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,KAAK,cAAc,CAAC,OAAOL,CAAAA,CAAE,WAAW,EAAE,CAAA,CAC5DI,CAAAA,CAAO,KAAKC,CAAAA,CAAM,IAAA,CAAK,kBAAkB,CAAC,CAAA,CAAA,EAAIL,EAAE,eAAe,CAAA,CAAE,EACjEI,CAAAA,CAAO,EAAE,EAELJ,CAAAA,CAAE,SAAA,EAAW,OAAQ,CACvBI,CAAAA,CAAOC,EAAM,IAAA,CAAK,aAAa,CAAC,CAAA,CAChCD,CAAAA,CAAOC,EAAM,GAAA,CAAI,sBAAA,CAAQ,OAAO,CAAC,CAAC,CAAC,CAAA,CACnC,IAAMC,CAAAA,CAAON,EAAE,SAAA,CAAU,GAAA,CAAIO,IAAM,CAAE,IAAA,CAAMA,EAAE,IAAA,CAAM,KAAA,CAAO,OAAOA,CAAAA,CAAE,KAAK,CAAE,CAAA,CAAE,CAAA,CAC5EH,EAAOI,GAAAA,CAAmBF,CAAAA,CAAM,CAC9B,CAAE,GAAA,CAAK,OAAQ,KAAA,CAAO,MAAO,EAC7B,CAAE,GAAA,CAAK,QAAS,KAAA,CAAO,OAAQ,CACjC,CAAC,CAAC,EACJ,CAEA,GAAIN,EAAE,aAAA,EAAe,MAAA,CAAQ,CAC3BI,CAAAA,CAAOC,CAAAA,CAAM,KAAK,iBAAiB,CAAC,EACpCD,CAAAA,CAAOC,CAAAA,CAAM,IAAI,sBAAA,CAAQ,MAAA,CAAO,CAAC,CAAC,CAAC,EACnC,IAAMC,CAAAA,CAAON,EAAE,aAAA,CAAc,GAAA,CAAIS,IAAM,CAAE,QAAA,CAAUA,EAAE,QAAA,EAAY,UAAA,CAAY,MAAO,MAAA,CAAOA,CAAAA,CAAE,KAAK,CAAE,CAAA,CAAE,EACtGL,CAAAA,CAAOI,GAAAA,CAAmBF,EAAM,CAC9B,CAAE,IAAK,UAAA,CAAY,KAAA,CAAO,UAAW,CAAA,CACrC,CAAE,IAAK,OAAA,CAAS,KAAA,CAAO,QAAS,CAClC,CAAC,CAAC,EACJ,CACAF,CAAAA,CAAO,EAAE,EACX","file":"chunk-HMBPN7ID.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { logRaw, logJSON } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport chalk from 'chalk'\nimport { renderCompactTable } from '../../lib/output/table.js'\n\ninterface SiteAnalytics {\n total_views: number\n unique_visitors: number\n top_pages: { path: string; views: number }[]\n top_referrers: { referrer: string; count: number }[]\n daily_breakdown: { date: string; views: number }[]\n}\n\nexport default async function sitesAnalytics(slug: string): Promise<void> {\n const data = await apiGet<{ analytics: SiteAnalytics }>(`/api/v1/sites/${slug}/analytics`, { authenticated: true })\n const a = data.analytics\n\n if (isJsonMode()) {\n logJSON(a)\n return\n }\n\n logRaw('')\n logRaw(chalk.bold(` Traffic: ${slug}`))\n logRaw(chalk.dim(' ───'.repeat(10)))\n logRaw(` ${chalk.bold('Total Views:')} ${a.total_views}`)\n logRaw(` ${chalk.bold('Unique Visitors:')} ${a.unique_visitors}`)\n logRaw('')\n\n if (a.top_pages?.length) {\n logRaw(chalk.bold(' Top Pages'))\n logRaw(chalk.dim(' ───'.repeat(8)))\n const rows = a.top_pages.map(p => ({ path: p.path, views: String(p.views) }))\n logRaw(renderCompactTable(rows, [\n { key: 'path', label: 'Page' },\n { key: 'views', label: 'Views' },\n ]))\n }\n\n if (a.top_referrers?.length) {\n logRaw(chalk.bold(' Top Referrers'))\n logRaw(chalk.dim(' ───'.repeat(8)))\n const rows = a.top_referrers.map(r => ({ referrer: r.referrer || '(direct)', count: String(r.count) }))\n logRaw(renderCompactTable(rows, [\n { key: 'referrer', label: 'Referrer' },\n { key: 'count', label: 'Visits' },\n ]))\n }\n logRaw('')\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c as c$1}from'./chunk-YZWZNR6K.js';import {b}from'./chunk-52WHEL73.js';import {d}from'./chunk-OSI5H2T5.js';import {c}from'./chunk-5TMR6Y7L.js';import {a}from'./chunk-NDB6KXYI.js';import {f}from'./chunk-BQGHHBGH.js';import {WebSocket}from'ws';import s from'chalk';async function y(e,n,g){if(g?.live){let t=await f();t||(console.error("Not authenticated"),process.exit(1));let o=a().replace(/^http/,"ws"),r=new WebSocket(`${o}/api/v1/scripts/${e}/logs/live`,{headers:{Authorization:`Bearer ${t.access_token}`}});console.log(s.dim(`Streaming live logs for "${e}"... (Ctrl+C to stop)`)),r.on("message",i=>console.log(i.toString())),r.on("error",i=>{console.error(s.red(`Error: ${i.message}`)),process.exit(1);}),process.on("SIGINT",()=>{r.close(),process.exit(0);});return}if(n){let t=await c(`/api/v1/scripts/${e}/logs/${n}`,{authenticated:true});for(let o of t.logs||[])console.log(o);return}let l=c$1("Fetching run history...");l.start();let f$1=await c(`/api/v1/scripts/${e}/runs`,{authenticated:true});l.stop();let h=(f$1.runs||[]).map(t=>({id:s.dim(t.run_id.slice(0,8)),status:t.status==="success"?s.green("\u2713"):t.status==="failed"?s.red("\u2717"):s.yellow("\u25CB"),started:t.started_at?d(t.started_at):"-",duration:t.duration_ms?`${(t.duration_ms/1e3).toFixed(1)}s`:"-"}));console.log(b(h,[{key:"id",label:"Run"},{key:"status",label:""},{key:"started",label:"Started"},{key:"duration",label:"Duration"}]));}export{y as a};//# sourceMappingURL=chunk-HTDV42AD.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-HTDV42AD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/scripts/scripts-logs.ts"],"names":["scriptsLogs","name","runId","options","session","loadSession","apiBase","getApiBase","ws","WebSocket","chalk","data","err","apiGet","line","spinner","createSpinner","rows","r","formatRelative","renderTable"],"mappings":"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","file":"chunk-HTDV42AD.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { WebSocket } from 'ws'\nimport { renderTable } from '../../lib/output/table.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { formatRelative } from '../../lib/utils/format.js'\nimport { loadSession } from '../../lib/auth/session.js'\nimport { getApiBase } from '../../lib/api/cert-pin.js'\nimport chalk from 'chalk'\n\ninterface RunEntry {\n run_id: string\n status: string\n started_at: string\n duration_ms: number\n}\n\nexport default async function scriptsLogs(name: string, runId?: string, options?: { live?: boolean }): Promise<void> {\n if (options?.live) {\n const session = await loadSession()\n if (!session) { console.error('Not authenticated'); process.exit(1) }\n const apiBase = getApiBase().replace(/^http/, 'ws')\n const ws = new WebSocket(`${apiBase}/api/v1/scripts/${name}/logs/live`, {\n headers: { Authorization: `Bearer ${session.access_token}` },\n })\n console.log(chalk.dim(`Streaming live logs for \"${name}\"... (Ctrl+C to stop)`))\n ws.on('message', (data: Buffer) => console.log(data.toString()))\n ws.on('error', (err) => { console.error(chalk.red(`Error: ${err.message}`)); process.exit(1) })\n process.on('SIGINT', () => { ws.close(); process.exit(0) })\n return\n }\n\n if (runId) {\n const data = await apiGet<{ logs: string[] }>(`/api/v1/scripts/${name}/logs/${runId}`, { authenticated: true })\n for (const line of data.logs || []) {\n console.log(line)\n }\n return\n }\n\n const spinner = createSpinner('Fetching run history...')\n spinner.start()\n const data = await apiGet<{ runs: RunEntry[] }>(`/api/v1/scripts/${name}/runs`, { authenticated: true })\n spinner.stop()\n const rows = (data.runs || []).map(r => ({\n id: chalk.dim(r.run_id.slice(0, 8)),\n status: r.status === 'success' ? chalk.green('✓') : r.status === 'failed' ? chalk.red('✗') : chalk.yellow('○'),\n started: r.started_at ? formatRelative(r.started_at) : '-',\n duration: r.duration_ms ? `${(r.duration_ms / 1000).toFixed(1)}s` : '-',\n }))\n console.log(renderTable(rows, [\n { key: 'id', label: 'Run' },\n { key: 'status', label: '' },\n { key: 'started', label: 'Started' },\n { key: 'duration', label: 'Duration' },\n ]))\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c}from'./chunk-YZWZNR6K.js';import {s}from'./chunk-BC3STHFS.js';import {c as c$1}from'./chunk-5TMR6Y7L.js';import n from'fs';import p from'path';async function a(){let o=c("Exporting logs...");o.start();let i=await c$1("/api/v1/logs/export",{authenticated:true});o.succeed();let t=p.join(process.cwd(),`squidcloud-logs-${Date.now()}.jsonl`);n.writeFileSync(t,i.jsonl,"utf-8"),s(`Exported to ${t}`);}export{a};//# sourceMappingURL=chunk-IBYIEHIZ.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-IBYIEHIZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/logs/logs-export.ts"],"names":["logsExport","spinner","createSpinner","data","apiGet","filePath","path","fs","logSuccess"],"mappings":"yJAMA,eAAOA,CAAAA,EAAmD,CACxD,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,mBAAmB,EACjDD,CAAAA,CAAQ,KAAA,EAAM,CACd,IAAME,CAAAA,CAAO,MAAMC,IAA0B,qBAAA,CAAuB,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC3FH,EAAQ,OAAA,EAAQ,CAChB,IAAMI,CAAAA,CAAWC,CAAAA,CAAK,IAAA,CAAK,QAAQ,GAAA,EAAI,CAAG,CAAA,gBAAA,EAAmB,IAAA,CAAK,GAAA,EAAK,QAAQ,CAAA,CAC/EC,CAAAA,CAAG,aAAA,CAAcF,CAAAA,CAAUF,CAAAA,CAAK,KAAA,CAAO,OAAO,CAAA,CAC9CK,CAAAA,CAAW,CAAA,YAAA,EAAeH,CAAQ,CAAA,CAAE,EACtC","file":"chunk-IBYIEHIZ.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function logsExport(): Promise<void> {\n const spinner = createSpinner('Exporting logs...')\n spinner.start()\n const data = await apiGet<{ jsonl: string }>('/api/v1/logs/export', { authenticated: true })\n spinner.succeed()\n const filePath = path.join(process.cwd(), `squidcloud-logs-${Date.now()}.jsonl`)\n fs.writeFileSync(filePath, data.jsonl, 'utf-8')\n logSuccess(`Exported to ${filePath}`)\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export{b as a};//# sourceMappingURL=chunk-
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {f as f$1,a,h as h$1,g}from'./chunk-BQGHHBGH.js';import s from'fs';import f from'path';import d from'os';var l="https://aouqcwbdoyrccjcrhzzi.supabase.co",y="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U",r=f.join(d.homedir(),".squidcloud",".refresh.lock");function S(){let n=f.dirname(r);s.existsSync(n)||s.mkdirSync(n,{recursive:true,mode:448});}async function h(){S();let n=false,t=0;for(;!n&&t<50;)try{let i=s.openSync(r,"wx");s.writeSync(i,String(process.pid)),s.closeSync(i),n=!0;}catch{let i=s.statSync(r);if(Date.now()-i.mtimeMs>1e4)try{s.unlinkSync(r);}catch{}await new Promise(e=>setTimeout(e,100)),t++;}return ()=>{try{s.unlinkSync(r);}catch{}}}async function b(){let n=await h();try{let t=await f$1();if(!t)return null;let i=a();if(t.device_fingerprint!==i)return await h$1(),null;let a$1=await fetch(`${l}/auth/v1/token?grant_type=refresh_token`,{method:"POST",headers:{"Content-Type":"application/json",apikey:y},body:JSON.stringify({refresh_token:t.refresh_token})});if(!a$1.ok)return await h$1(),null;let e=await a$1.json(),c={...t,access_token:e.access_token,refresh_token:e.refresh_token,expires_at:e.expires_at*1e3,issued_at:Date.now(),device_fingerprint:i,user:{id:e.user.id,email:e.user.email,username:e.user.user_metadata?.username||e.user.email.split("@")[0]||"user",plan:"free"}};return await g(c),c}catch{return await h$1(),null}finally{n();}}
|
|
2
|
+
export{b as a};//# sourceMappingURL=chunk-IJ3JNWT6.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-IJ3JNWT6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/auth/refresh.ts"],"names":["SUPABASE_URL","ANON_KEY","LOCK_FILE","path","os","ensureLockDir","dir","fs","acquireLock","acquired","attempts","fd","stat","r","refreshAccessToken","release","session","loadSession","fingerprint","computeDeviceFingerprint","clearSession","response","data","newSession","saveSession"],"mappings":"gHAOA,IAAMA,CAAAA,CAAe,0CAAA,CACfC,CAAAA,CAAW,mNAEXC,CAAAA,CAAYC,CAAAA,CAAK,IAAA,CAAKC,CAAAA,CAAG,OAAA,EAAQ,CAAG,aAAA,CAAe,eAAe,CAAA,CAExE,SAASC,CAAAA,EAAsB,CAC7B,IAAMC,CAAAA,CAAMH,CAAAA,CAAK,OAAA,CAAQD,CAAS,CAAA,CAC7BK,CAAAA,CAAG,UAAA,CAAWD,CAAG,CAAA,EACpBC,CAAAA,CAAG,SAAA,CAAUD,CAAAA,CAAK,CAAE,SAAA,CAAW,IAAA,CAAM,IAAA,CAAM,GAAM,CAAC,EAEtD,CAEA,eAAeE,CAAAA,EAAmC,CAChDH,CAAAA,EAAc,CACd,IAAII,CAAAA,CAAW,KAAA,CACXC,CAAAA,CAAW,CAAA,CACf,KAAO,CAACD,CAAAA,EAAYC,CAAAA,CAAW,EAAA,EAC7B,GAAI,CACF,IAAMC,CAAAA,CAAKJ,CAAAA,CAAG,QAAA,CAASL,CAAAA,CAAW,IAAI,CAAA,CACtCK,CAAAA,CAAG,SAAA,CAAUI,CAAAA,CAAI,MAAA,CAAO,OAAA,CAAQ,GAAG,CAAC,CAAA,CACpCJ,CAAAA,CAAG,SAAA,CAAUI,CAAE,CAAA,CACfF,CAAAA,CAAW,CAAA,EACb,CAAA,KAAQ,CACN,IAAMG,CAAAA,CAAOL,CAAAA,CAAG,QAAA,CAASL,CAAS,CAAA,CAElC,GADY,IAAA,CAAK,GAAA,EAAI,CAAIU,CAAAA,CAAK,QACpB,GAAA,CACR,GAAI,CAAEL,CAAAA,CAAG,UAAA,CAAWL,CAAS,EAAE,CAAA,KAAQ,CAAC,CAE1C,MAAM,IAAI,OAAA,CAAQW,CAAAA,EAAK,UAAA,CAAWA,CAAAA,CAAG,GAAG,CAAC,CAAA,CACzCH,CAAAA,GACF,CAEF,OAAO,IAAM,CACX,GAAI,CAAEH,CAAAA,CAAG,UAAA,CAAWL,CAAS,EAAE,CAAA,KAAQ,CAAC,CAC1C,CACF,CAeA,eAAsBY,CAAAA,EAAmD,CACvE,IAAMC,CAAAA,CAAU,MAAMP,CAAAA,EAAY,CAClC,GAAI,CACF,IAAMQ,CAAAA,CAAU,MAAMC,GAAAA,EAAY,CAClC,GAAI,CAACD,CAAAA,CAAS,OAAO,IAAA,CAErB,IAAME,CAAAA,CAAcC,CAAAA,EAAyB,CAC7C,GAAIH,CAAAA,CAAQ,kBAAA,GAAuBE,CAAAA,CACjC,OAAA,MAAME,GAAAA,EAAa,CACZ,IAAA,CAGT,IAAMC,IAAW,MAAM,KAAA,CAAM,CAAA,EAAGrB,CAAY,CAAA,uCAAA,CAAA,CAA2C,CACrF,MAAA,CAAQ,MAAA,CACR,OAAA,CAAS,CACP,cAAA,CAAgB,kBAAA,CAChB,MAAA,CAAUC,CACZ,CAAA,CACA,IAAA,CAAM,KAAK,SAAA,CAAU,CAAE,aAAA,CAAee,CAAAA,CAAQ,aAAc,CAAC,CAC/D,CAAC,CAAA,CAED,GAAI,CAACK,GAAAA,CAAS,EAAA,CACZ,OAAA,MAAMD,GAAAA,EAAa,CACZ,KAGT,IAAME,CAAAA,CAAgC,MAAMD,GAAAA,CAAS,IAAA,EAAK,CAEpDE,
|
|
1
|
+
{"version":3,"sources":["../src/lib/auth/refresh.ts"],"names":["SUPABASE_URL","ANON_KEY","LOCK_FILE","path","os","ensureLockDir","dir","fs","acquireLock","acquired","attempts","fd","stat","r","refreshAccessToken","release","session","loadSession","fingerprint","computeDeviceFingerprint","clearSession","response","data","newSession","saveSession"],"mappings":"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","file":"chunk-IJ3JNWT6.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport os from 'node:os'\nimport { SquidSession } from '../crypto/ssp.js'\nimport { computeDeviceFingerprint } from './fingerprint.js'\nimport { loadSession, saveSession, clearSession } from './session.js'\n\nconst SUPABASE_URL = 'https://aouqcwbdoyrccjcrhzzi.supabase.co'\nconst ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U'\n\nconst LOCK_FILE = path.join(os.homedir(), '.squidcloud', '.refresh.lock')\n\nfunction ensureLockDir(): void {\n const dir = path.dirname(LOCK_FILE)\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true, mode: 0o700 })\n }\n}\n\nasync function acquireLock(): Promise<() => void> {\n ensureLockDir()\n let acquired = false\n let attempts = 0\n while (!acquired && attempts < 50) {\n try {\n const fd = fs.openSync(LOCK_FILE, 'wx')\n fs.writeSync(fd, String(process.pid))\n fs.closeSync(fd)\n acquired = true\n } catch {\n const stat = fs.statSync(LOCK_FILE)\n const age = Date.now() - stat.mtimeMs\n if (age > 10000) {\n try { fs.unlinkSync(LOCK_FILE) } catch {}\n }\n await new Promise(r => setTimeout(r, 100))\n attempts++\n }\n }\n return () => {\n try { fs.unlinkSync(LOCK_FILE) } catch {}\n }\n}\n\ninterface SupabaseRefreshResponse {\n access_token: string\n token_type: string\n expires_in: number\n expires_at: number\n refresh_token: string\n user: {\n id: string\n email: string\n user_metadata: Record<string, unknown>\n }\n}\n\nexport async function refreshAccessToken(): Promise<SquidSession | null> {\n const release = await acquireLock()\n try {\n const session = await loadSession()\n if (!session) return null\n\n const fingerprint = computeDeviceFingerprint()\n if (session.device_fingerprint !== fingerprint) {\n await clearSession()\n return null\n }\n\n const response = await fetch(`${SUPABASE_URL}/auth/v1/token?grant_type=refresh_token`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'apikey': ANON_KEY,\n },\n body: JSON.stringify({ refresh_token: session.refresh_token }),\n })\n\n if (!response.ok) {\n await clearSession()\n return null\n }\n\n const data: SupabaseRefreshResponse = await response.json()\n\n const newSession: SquidSession = {\n ...session,\n access_token: data.access_token,\n refresh_token: data.refresh_token,\n expires_at: data.expires_at * 1000,\n issued_at: Date.now(),\n device_fingerprint: fingerprint,\n user: {\n id: data.user.id,\n email: data.user.email,\n username: (data.user.user_metadata?.username as string) || data.user.email.split('@')[0] || 'user',\n plan: 'free',\n },\n }\n await saveSession(newSession)\n return newSession\n } catch {\n await clearSession()\n return null\n } finally {\n release()\n }\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c}from'./chunk-YZWZNR6K.js';import {s}from'./chunk-BC3STHFS.js';import {d}from'./chunk-5TMR6Y7L.js';async function m(i,e){let t=c(`Inviting ${e.email} to "${i}" as ${e.role}...`);t.start(),await d("/api/v1/collab/invite",{folder:i,email:e.email,role:e.role},{authenticated:true}),t.succeed(),s(`Invited ${e.email} to "${i}" as ${e.role}`);}export{m as a};//# sourceMappingURL=chunk-JCZENRYY.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-JCZENRYY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/collab/collab-invite.ts"],"names":["collabInvite","folder","options","spinner","createSpinner","apiPost","logSuccess"],"mappings":"4GAIA,eAAOA,CAAAA,CAAoCC,EAAgBC,CAAAA,CAAyD,CAClH,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,CAAA,SAAA,EAAYF,CAAAA,CAAQ,KAAK,CAAA,KAAA,EAAQD,CAAM,CAAA,KAAA,EAAQC,CAAAA,CAAQ,IAAI,CAAA,GAAA,CAAK,CAAA,CAC9FC,CAAAA,CAAQ,OAAM,CACd,MAAME,CAAAA,CAAQ,uBAAA,CAAyB,CACrC,MAAA,CAAAJ,EACA,KAAA,CAAOC,CAAAA,CAAQ,KAAA,CACf,IAAA,CAAMA,CAAAA,CAAQ,IAChB,EAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC1BC,CAAAA,CAAQ,SAAQ,CAChBG,CAAAA,CAAW,CAAA,QAAA,EAAWJ,CAAAA,CAAQ,KAAK,CAAA,KAAA,EAAQD,CAAM,CAAA,KAAA,EAAQC,CAAAA,CAAQ,IAAI,CAAA,CAAE,EACzE","file":"chunk-JCZENRYY.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-52WHEL73.js';import {d}from'./chunk-OSI5H2T5.js';import {c}from'./chunk-5TMR6Y7L.js';import a from'chalk';async function i(){let s=((await c("/api/v1/monitor/automations",{authenticated:true})).automations||[]).map(t=>({name:t.name,last:t.last_fired?d(t.last_fired):a.dim("never"),rate:`${(t.success_rate*100).toFixed(0)}%`,status:t.status==="healthy"?a.green("\u25CF"):t.status==="erroring"?a.red("\u25CF"):a.dim("\u25CB")}));console.log(b(s,[{key:"name",label:"Automation"},{key:"last",label:"Last Fired"},{key:"rate",label:"Success"},{key:"status",label:""}]));}export{i as a};//# sourceMappingURL=chunk-JLC5WGYQ.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-JLC5WGYQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/monitor/monitor-automations.ts"],"names":["monitorAutomations","rows","apiGet","a","formatRelative","chalk","renderTable"],"mappings":"iIAYA,eAAOA,CAAAA,EAA2D,CAEhE,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAA4C,6BAAA,CAA+B,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EAClG,WAAA,EAAe,EAAC,EAAG,GAAA,CAAIC,CAAAA,GAAM,CAC9C,IAAA,CAAMA,CAAAA,CAAE,KACR,IAAA,CAAMA,CAAAA,CAAE,WAAaC,CAAAA,CAAeD,CAAAA,CAAE,UAAU,CAAA,CAAIE,CAAAA,CAAM,IAAI,OAAO,CAAA,CACrE,KAAM,CAAA,EAAA,CAAIF,CAAAA,CAAE,aAAe,GAAA,EAAK,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA,CAC1C,MAAA,CAAQA,CAAAA,CAAE,MAAA,GAAW,SAAA,CAAYE,EAAM,KAAA,CAAM,QAAG,EAAIF,CAAAA,CAAE,MAAA,GAAW,WAAaE,CAAAA,CAAM,GAAA,CAAI,QAAG,CAAA,CAAIA,CAAAA,CAAM,IAAI,QAAG,CAC9G,EAAE,CAAA,CACF,OAAA,CAAQ,IAAIC,CAAAA,CAAYL,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,MAAA,CAAQ,MAAO,YAAa,CAAA,CACnC,CAAE,GAAA,CAAK,MAAA,CAAQ,MAAO,YAAa,CAAA,CACnC,CAAE,GAAA,CAAK,MAAA,CAAQ,MAAO,SAAU,CAAA,CAChC,CAAE,GAAA,CAAK,QAAA,CAAU,MAAO,EAAG,CAC7B,CAAC,CAAC,EACJ","file":"chunk-JLC5WGYQ.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface AutomationHealth {\n name: string\n status: 'healthy' | 'erroring' | 'dormant'\n last_fired: string | null\n success_rate: number\n}\n\nexport default async function monitorAutomations(): Promise<void> {\n const data = await apiGet<{ automations: AutomationHealth[] }>('/api/v1/monitor/automations', { authenticated: true })\n const rows = (data.automations || []).map(a => ({\n name: a.name,\n last: a.last_fired ? formatRelative(a.last_fired) : chalk.dim('never'),\n rate: `${(a.success_rate * 100).toFixed(0)}%`,\n status: a.status === 'healthy' ? chalk.green('●') : a.status === 'erroring' ? chalk.red('●') : chalk.dim('○'),\n }))\n console.log(renderTable(rows, [\n { key: 'name', label: 'Automation' },\n { key: 'last', label: 'Last Fired' },\n { key: 'rate', label: 'Success' },\n { key: 'status', label: '' },\n ]))\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import {q,y}from'./chunk-BC3STHFS.js';import {readFileSync}from'fs';import {dirname,resolve}from'path';import {fileURLToPath}from'url';import o from'chalk';var a=dirname(fileURLToPath(import.meta.url)),i=JSON.parse(readFileSync(resolve(a,"../package.json"),"utf-8"));async function l(){if(q()){y({version:i.version,name:"squidcloudctl"});return}console.log(o.hex("#4FC3F7")("squidcloud.vercel.app")+o.dim(" CLI ")+o.dim("v"+i.version));}var v=l;export{l as a,v as b};//# sourceMappingURL=chunk-JSYPWAKP.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-JSYPWAKP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/util/version.ts"],"names":["__dirname","dirname","fileURLToPath","pkg","readFileSync","resolve","showVersion","isJsonMode","logJSON","chalk","version_default"],"mappings":"4JAMA,IAAMA,CAAAA,CAAYC,OAAAA,CAAQC,cAAc,MAAA,CAAA,IAAA,CAAY,GAAG,CAAC,CAAA,CAClDC,EAAM,IAAA,CAAK,KAAA,CAAMC,YAAAA,CAAaC,OAAAA,CAAQL,EAAW,iBAAiB,CAAA,CAAG,OAAO,CAAC,EAEnF,eAAsBM,CAAAA,EAA6B,CACjD,GAAIC,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQ,CAAE,OAAA,CAASL,CAAAA,CAAI,OAAA,CAAS,IAAA,CAAM,eAAgB,CAAC,CAAA,CACvD,MACF,CACA,QAAQ,GAAA,CAAIM,CAAAA,CAAM,GAAA,CAAI,SAAS,EAAE,uBAAuB,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAI,OAAO,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAI,GAAA,CAAMN,EAAI,OAAO,CAAC,EAC/G,KAEOO,CAAAA,CAAQJ","file":"chunk-JSYPWAKP.js","sourcesContent":["import { readFileSync } from 'node:fs'\nimport { dirname, resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport chalk from 'chalk'\nimport { isJsonMode, logJSON } from '../../lib/output/logger.js'\n\nconst __dirname = dirname(fileURLToPath(import.meta.url))\nconst pkg = JSON.parse(readFileSync(resolve(__dirname, '../package.json'), 'utf-8')) as { version: string }\n\nexport async function showVersion(): Promise<void> {\n if (isJsonMode()) {\n logJSON({ version: pkg.version, name: 'squidcloudctl' })\n return\n }\n console.log(chalk.hex('#4FC3F7')('squidcloud.vercel.app') + chalk.dim(' CLI ') + chalk.dim('v' + pkg.version))\n}\n\nexport default showVersion\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/util/config-delete.ts"],"names":["configDelete","key","getConfig","logSuccess"],"mappings":"wEAGA,eAAOA,CAAAA,CAAoCC,CAAAA,CAA4B,CACtDC,CAAAA,EAAU,CAClB,MAAA,CAAOD,CAAG,CAAA,CACjBE,CAAAA,CAAW,CAAA,OAAA,EAAUF,CAAG,CAAA,QAAA,CAAU,EACpC","file":"chunk-JTIGFOL5.js","sourcesContent":["import { getConfig } from './config.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function configDelete(key: string): Promise<void> {\n const config = getConfig()\n config.delete(key)\n logSuccess(`Config ${key} deleted`)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c}from'./chunk-YZWZNR6K.js';import {s}from'./chunk-BC3STHFS.js';import {d}from'./chunk-5TMR6Y7L.js';async function n(e){let c$1=c(`Cancelling run ${e.slice(0,8)}...`);c$1.start(),await d(`/api/v1/scripts/runs/${e}/cancel`,{},{authenticated:true}),c$1.succeed(),s(`Run ${e.slice(0,8)} cancelled`);}export{n as a};//# sourceMappingURL=chunk-JTMKKTKL.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-JTMKKTKL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/scripts/scripts-cancel.ts"],"names":["scriptsCancel","runId","spinner","createSpinner","apiPost","logSuccess"],"mappings":"4GAIA,eAAOA,EAAqCC,CAAAA,CAA8B,CACxE,IAAMC,GAAAA,CAAUC,CAAAA,CAAc,kBAAkBF,CAAAA,CAAM,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,CAAA,GAAA,CAAK,CAAA,CACtEC,IAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,CAAA,qBAAA,EAAwBH,CAAK,CAAA,OAAA,CAAA,CAAW,EAAC,CAAG,CAAE,cAAe,IAAK,CAAC,EACjFC,GAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,OAAOJ,CAAAA,CAAM,KAAA,CAAM,EAAG,CAAC,CAAC,YAAY,EACjD","file":"chunk-JTMKKTKL.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 scriptsCancel(runId: string): Promise<void> {\n const spinner = createSpinner(`Cancelling run ${runId.slice(0, 8)}...`)\n spinner.start()\n await apiPost(`/api/v1/scripts/runs/${runId}/cancel`, {}, { authenticated: true })\n spinner.succeed()\n logSuccess(`Run ${runId.slice(0, 8)} cancelled`)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-52WHEL73.js';import {c as c$1}from'./chunk-OSI5H2T5.js';import {c}from'./chunk-5TMR6Y7L.js';import o from'chalk';async function s(){let r=((await c("/api/v1/forms",{authenticated:true})).forms||[]).map(e=>({id:o.dim(e.id.slice(0,8)),name:o.hex("#4FC3F7")(e.name),folder:o.dim(e.folder||"-"),submissions:String(e.submission_count),created:c$1(e.created_at),active:e.is_active?o.green("yes"):o.yellow("no")}));console.log(b(r,[{key:"id",label:"ID"},{key:"name",label:"Name"},{key:"folder",label:"Folder"},{key:"submissions",label:"Submissions"},{key:"created",label:"Created"},{key:"active",label:"Active"}]));}export{s as a};//# sourceMappingURL=chunk-KO2JCGEV.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-KO2JCGEV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/forms/forms-list.ts"],"names":["formsList","rows","apiGet","f","chalk","formatDate","renderTable"],"mappings":"wIAcA,eAAOA,CAAAA,EAAkD,CAEvD,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAA8B,eAAA,CAAiB,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACtE,KAAA,EAAS,EAAC,EAAG,GAAA,CAAIC,CAAAA,GAAM,CACxC,EAAA,CAAIC,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,EAAA,CAAG,KAAA,CAAM,EAAG,CAAC,CAAC,CAAA,CAC9B,IAAA,CAAMC,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAAED,CAAAA,CAAE,IAAI,CAAA,CACjC,MAAA,CAAQC,CAAAA,CAAM,IAAID,CAAAA,CAAE,MAAA,EAAU,GAAG,CAAA,CACjC,WAAA,CAAa,MAAA,CAAOA,CAAAA,CAAE,gBAAgB,CAAA,CACtC,OAAA,CAASE,GAAAA,CAAWF,CAAAA,CAAE,UAAU,CAAA,CAChC,OAAQA,CAAAA,CAAE,SAAA,CAAYC,CAAAA,CAAM,KAAA,CAAM,KAAK,CAAA,CAAIA,EAAM,MAAA,CAAO,IAAI,CAC9D,CAAA,CAAE,CAAA,CACF,OAAA,CAAQ,IAAIE,CAAAA,CAAYL,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,IAAA,CAAM,KAAA,CAAO,IAAK,CAAA,CACzB,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,EAC7B,CAAE,GAAA,CAAK,QAAA,CAAU,KAAA,CAAO,QAAS,CAAA,CACjC,CAAE,GAAA,CAAK,aAAA,CAAe,KAAA,CAAO,aAAc,CAAA,CAC3C,CAAE,IAAK,SAAA,CAAW,KAAA,CAAO,SAAU,CAAA,CACnC,CAAE,GAAA,CAAK,QAAA,CAAU,KAAA,CAAO,QAAS,CACnC,CAAC,CAAC,EACJ","file":"chunk-KO2JCGEV.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface FormInfo {\n id: string\n name: string\n folder: string\n submission_count: number\n created_at: string\n is_active: boolean\n}\n\nexport default async function formsList(): Promise<void> {\n const data = await apiGet<{ forms: FormInfo[] }>('/api/v1/forms', { authenticated: true })\n const rows = (data.forms || []).map(f => ({\n id: chalk.dim(f.id.slice(0, 8)),\n name: chalk.hex('#4FC3F7')(f.name),\n folder: chalk.dim(f.folder || '-'),\n submissions: String(f.submission_count),\n created: formatDate(f.created_at),\n active: f.is_active ? chalk.green('yes') : chalk.yellow('no'),\n }))\n console.log(renderTable(rows, [\n { key: 'id', label: 'ID' },\n { key: 'name', label: 'Name' },\n { key: 'folder', label: 'Folder' },\n { key: 'submissions', label: 'Submissions' },\n { key: 'created', label: 'Created' },\n { key: 'active', label: 'Active' },\n ]))\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-52WHEL73.js';import {c as c$1}from'./chunk-OSI5H2T5.js';import {c}from'./chunk-5TMR6Y7L.js';import t from'chalk';async function o(){let n=((await c("/api/v1/sign/list",{authenticated:true})).requests||[]).map(e=>({id:t.dim(e.id.slice(0,8)),file:e.filename,status:e.status==="completed"?t.green("completed"):e.status==="pending"?t.yellow("pending"):t.dim(e.status),recipients:`${e.signed_count}/${e.recipient_count}`,created:c$1(e.created_at)}));console.log(b(n,[{key:"id",label:"Request"},{key:"file",label:"Document"},{key:"status",label:"Status"},{key:"recipients",label:"Signed"},{key:"created",label:"Created"}]));}export{o as a};//# sourceMappingURL=chunk-KQMBXJUL.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-KQMBXJUL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/sign/sign-list.ts"],"names":["signList","rows","apiGet","r","chalk","formatDate","renderTable"],"mappings":"wIAcA,eAAOA,CAAAA,EAAiD,CAEtD,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAoC,mBAAA,CAAqB,CAAE,cAAe,IAAK,CAAC,CAAA,EAChF,QAAA,EAAY,EAAC,EAAG,IAAIC,CAAAA,GAAM,CAC3C,EAAA,CAAIC,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,GAAG,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,CAAA,CAC9B,IAAA,CAAMA,EAAE,QAAA,CACR,MAAA,CAAQA,CAAAA,CAAE,MAAA,GAAW,WAAA,CAAcC,CAAAA,CAAM,MAAM,WAAW,CAAA,CAAID,CAAAA,CAAE,MAAA,GAAW,SAAA,CAAYC,CAAAA,CAAM,OAAO,SAAS,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,MAAM,EACnI,UAAA,CAAY,CAAA,EAAGA,EAAE,YAAY,CAAA,CAAA,EAAIA,EAAE,eAAe,CAAA,CAAA,CAClD,OAAA,CAASE,GAAAA,CAAWF,CAAAA,CAAE,UAAU,CAClC,CAAA,CAAE,CAAA,CACF,OAAA,CAAQ,GAAA,CAAIG,CAAAA,CAAYL,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,IAAA,CAAM,KAAA,CAAO,SAAU,CAAA,CAC9B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,UAAW,CAAA,CACjC,CAAE,IAAK,QAAA,CAAU,KAAA,CAAO,QAAS,CAAA,CACjC,CAAE,GAAA,CAAK,aAAc,KAAA,CAAO,QAAS,CAAA,CACrC,CAAE,GAAA,CAAK,SAAA,CAAW,MAAO,SAAU,CACrC,CAAC,CAAC,EACJ","file":"chunk-KQMBXJUL.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatDate } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SignRequest {\n id: string\n filename: string\n status: string\n recipient_count: number\n signed_count: number\n created_at: string\n}\n\nexport default async function signList(): Promise<void> {\n const data = await apiGet<{ requests: SignRequest[] }>('/api/v1/sign/list', { authenticated: true })\n const rows = (data.requests || []).map(r => ({\n id: chalk.dim(r.id.slice(0, 8)),\n file: r.filename,\n status: r.status === 'completed' ? chalk.green('completed') : r.status === 'pending' ? chalk.yellow('pending') : chalk.dim(r.status),\n recipients: `${r.signed_count}/${r.recipient_count}`,\n created: formatDate(r.created_at),\n }))\n console.log(renderTable(rows, [\n { key: 'id', label: 'Request' },\n { key: 'file', label: 'Document' },\n { key: 'status', label: 'Status' },\n { key: 'recipients', label: 'Signed' },\n { key: 'created', label: 'Created' },\n ]))\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c}from'./chunk-YZWZNR6K.js';import {s}from'./chunk-BC3STHFS.js';import {d}from'./chunk-5TMR6Y7L.js';async function a(e){let i=c(`Cancelling request ${e.slice(0,8)}...`);i.start(),await d(`/api/v1/sign/${e}/cancel`,{},{authenticated:true}),i.succeed(),s(`Signing request ${e.slice(0,8)} cancelled`);}export{a};//# sourceMappingURL=chunk-LSYYM7EZ.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-LSYYM7EZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/sign/sign-cancel.ts"],"names":["signCancel","requestId","spinner","createSpinner","apiPost","logSuccess"],"mappings":"4GAIA,eAAOA,EAAkCC,CAAAA,CAAkC,CACzE,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,sBAAsBF,CAAAA,CAAU,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,CAAA,GAAA,CAAK,CAAA,CAC9EC,EAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,CAAA,aAAA,EAAgBH,CAAS,CAAA,OAAA,CAAA,CAAW,EAAC,CAAG,CAAE,cAAe,IAAK,CAAC,EAC7EC,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,mBAAmBJ,CAAAA,CAAU,KAAA,CAAM,EAAG,CAAC,CAAC,YAAY,EACjE","file":"chunk-LSYYM7EZ.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 signCancel(requestId: string): Promise<void> {\n const spinner = createSpinner(`Cancelling request ${requestId.slice(0, 8)}...`)\n spinner.start()\n await apiPost(`/api/v1/sign/${requestId}/cancel`, {}, { authenticated: true })\n spinner.succeed()\n logSuccess(`Signing request ${requestId.slice(0, 8)} cancelled`)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c}from'./chunk-YZWZNR6K.js';import {s}from'./chunk-BC3STHFS.js';import {d}from'./chunk-5TMR6Y7L.js';import n from'inquirer';async function m(e){let{confirm:a}=await n.prompt([{type:"confirm",name:"confirm",message:`Remove yourself from "${e}"?`,default:false}]);if(!a)return;let t=c(`Leaving "${e}"...`);t.start(),await d("/api/v1/collab/leave",{folder:e},{authenticated:true}),t.succeed(),s(`You left "${e}"`);}export{m as a};//# sourceMappingURL=chunk-LW4AQT2F.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-LW4AQT2F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/collab/collab-leave.ts"],"names":["collabLeave","folder","confirm","inquirer","spinner","createSpinner","apiPost","logSuccess"],"mappings":"oIAKA,eAAOA,CAAAA,CAAmCC,CAAAA,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,CAAM,CAAA,EAAA,CAAA,CACxC,OAAA,CAAS,KACX,CAAC,CAAC,EACF,GAAI,CAACC,CAAAA,CAAS,OACd,IAAME,CAAAA,CAAUC,CAAAA,CAAc,CAAA,SAAA,EAAYJ,CAAM,CAAA,IAAA,CAAM,CAAA,CACtDG,CAAAA,CAAQ,KAAA,EAAM,CACd,MAAME,CAAAA,CAAQ,sBAAA,CAAwB,CAAE,MAAA,CAAAL,CAAO,CAAA,CAAG,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CACzEG,CAAAA,CAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,UAAA,EAAaN,CAAM,GAAG,EACnC","file":"chunk-LW4AQT2F.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-52WHEL73.js';import {d}from'./chunk-OSI5H2T5.js';import {c}from'./chunk-5TMR6Y7L.js';import t from'chalk';async function r(){let l=((await c("/api/v1/monitor/pipelines",{authenticated:true})).pipelines||[]).map(e=>({name:e.name,last:e.last_run?d(e.last_run):t.dim("never"),runs:String(e.runs_24h),status:e.status==="healthy"?t.green("\u25CF"):e.status==="degraded"?t.yellow("\u25CF"):t.red("\u25CF")}));console.log(b(l,[{key:"name",label:"Pipeline"},{key:"last",label:"Last Run"},{key:"runs",label:"24h Runs"},{key:"status",label:""}]));}export{r as a};//# sourceMappingURL=chunk-MCJLSHUC.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-MCJLSHUC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/monitor/monitor-pipelines.ts"],"names":["monitorPipelines","rows","apiGet","p","formatRelative","chalk","renderTable"],"mappings":"iIAYA,eAAOA,CAAAA,EAAyD,CAE9D,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAwC,2BAAA,CAA6B,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EAC5F,SAAA,EAAa,EAAC,EAAG,GAAA,CAAIC,IAAM,CAC5C,IAAA,CAAMA,EAAE,IAAA,CACR,IAAA,CAAMA,EAAE,QAAA,CAAWC,CAAAA,CAAeD,EAAE,QAAQ,CAAA,CAAIE,EAAM,GAAA,CAAI,OAAO,EACjE,IAAA,CAAM,MAAA,CAAOF,EAAE,QAAQ,CAAA,CACvB,OAAQA,CAAAA,CAAE,MAAA,GAAW,UAAYE,CAAAA,CAAM,KAAA,CAAM,QAAG,CAAA,CAAIF,CAAAA,CAAE,SAAW,UAAA,CAAaE,CAAAA,CAAM,OAAO,QAAG,CAAA,CAAIA,EAAM,GAAA,CAAI,QAAG,CACjH,CAAA,CAAE,CAAA,CACF,QAAQ,GAAA,CAAIC,CAAAA,CAAYL,EAAM,CAC5B,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,UAAW,CAAA,CACjC,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,UAAW,CAAA,CACjC,CAAE,IAAK,MAAA,CAAQ,KAAA,CAAO,UAAW,CAAA,CACjC,CAAE,IAAK,QAAA,CAAU,KAAA,CAAO,EAAG,CAC7B,CAAC,CAAC,EACJ","file":"chunk-MCJLSHUC.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface PipelineHealth {\n name: string\n status: 'healthy' | 'degraded' | 'failing'\n last_run: string | null\n runs_24h: number\n}\n\nexport default async function monitorPipelines(): Promise<void> {\n const data = await apiGet<{ pipelines: PipelineHealth[] }>('/api/v1/monitor/pipelines', { authenticated: true })\n const rows = (data.pipelines || []).map(p => ({\n name: p.name,\n last: p.last_run ? formatRelative(p.last_run) : chalk.dim('never'),\n runs: String(p.runs_24h),\n status: p.status === 'healthy' ? chalk.green('●') : p.status === 'degraded' ? chalk.yellow('●') : chalk.red('●'),\n }))\n console.log(renderTable(rows, [\n { key: 'name', label: 'Pipeline' },\n { key: 'last', label: 'Last Run' },\n { key: 'runs', label: '24h Runs' },\n { key: 'status', label: '' },\n ]))\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-52WHEL73.js';import {c}from'./chunk-5TMR6Y7L.js';import t from'chalk';async function o(){let i=((await c("/api/v1/monitor/sites",{authenticated:true})).sites||[]).map(e=>({slug:e.slug,uptime:`${(e.uptime*100).toFixed(1)}%`,checked:e.last_check?new Date(e.last_check).toLocaleTimeString():"-",response:`${e.response_time_ms}ms`,status:e.status==="healthy"?t.green("\u25CF healthy"):e.status==="degraded"?t.yellow("\u25CF degraded"):t.red("\u25CF down")}));console.log(b(i,[{key:"slug",label:"Site"},{key:"uptime",label:"Uptime"},{key:"checked",label:"Last Check"},{key:"response",label:"Response"},{key:"status",label:"Status"}]));}export{o as a};//# sourceMappingURL=chunk-MNSBJ6HR.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-MNSBJ6HR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/monitor/monitor-sites.ts"],"names":["monitorSites","rows","apiGet","s","chalk","renderTable"],"mappings":"6FAYA,eAAOA,CAAAA,EAAqD,CAE1D,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAgC,uBAAA,CAAyB,CAAE,cAAe,IAAK,CAAC,CAAA,EAChF,KAAA,EAAS,EAAC,EAAG,IAAIC,CAAAA,GAAM,CACxC,IAAA,CAAMA,CAAAA,CAAE,IAAA,CACR,MAAA,CAAQ,IAAIA,CAAAA,CAAE,MAAA,CAAS,GAAA,EAAK,OAAA,CAAQ,CAAC,CAAC,IACtC,OAAA,CAASA,CAAAA,CAAE,UAAA,CAAa,IAAI,IAAA,CAAKA,CAAAA,CAAE,UAAU,CAAA,CAAE,kBAAA,EAAmB,CAAI,GAAA,CACtE,QAAA,CAAU,CAAA,EAAGA,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAC/B,MAAA,CAAQA,CAAAA,CAAE,MAAA,GAAW,SAAA,CAAYC,EAAM,KAAA,CAAM,gBAAW,CAAA,CAAID,CAAAA,CAAE,MAAA,GAAW,UAAA,CAAaC,EAAM,MAAA,CAAO,iBAAY,CAAA,CAAIA,CAAAA,CAAM,GAAA,CAAI,aAAQ,CACvI,CAAA,CAAE,CAAA,CACF,OAAA,CAAQ,GAAA,CAAIC,CAAAA,CAAYJ,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,QAAA,CAAU,KAAA,CAAO,QAAS,CAAA,CACjC,CAAE,IAAK,SAAA,CAAW,KAAA,CAAO,YAAa,CAAA,CACtC,CAAE,GAAA,CAAK,WAAY,KAAA,CAAO,UAAW,CAAA,CACrC,CAAE,GAAA,CAAK,QAAA,CAAU,MAAO,QAAS,CACnC,CAAC,CAAC,EACJ","file":"chunk-MNSBJ6HR.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport chalk from 'chalk'\n\ninterface SiteHealth {\n slug: string\n uptime: number\n last_check: string\n response_time_ms: number\n status: 'healthy' | 'degraded' | 'down'\n}\n\nexport default async function monitorSites(): Promise<void> {\n const data = await apiGet<{ sites: SiteHealth[] }>('/api/v1/monitor/sites', { authenticated: true })\n const rows = (data.sites || []).map(s => ({\n slug: s.slug,\n uptime: `${(s.uptime * 100).toFixed(1)}%`,\n checked: s.last_check ? new Date(s.last_check).toLocaleTimeString() : '-',\n response: `${s.response_time_ms}ms`,\n status: s.status === 'healthy' ? chalk.green('● healthy') : s.status === 'degraded' ? chalk.yellow('● degraded') : chalk.red('● down'),\n }))\n console.log(renderTable(rows, [\n { key: 'slug', label: 'Site' },\n { key: 'uptime', label: 'Uptime' },\n { key: 'checked', label: 'Last Check' },\n { key: 'response', label: 'Response' },\n { key: 'status', label: 'Status' },\n ]))\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-52WHEL73.js';import {d}from'./chunk-OSI5H2T5.js';import {c}from'./chunk-5TMR6Y7L.js';import e from'chalk';async function o(){let r=((await c("/api/v1/sites",{authenticated:true})).sites||[]).map(i=>({slug:e.hex("#4FC3F7")(i.slug),url:e.dim(i.url),visibility:i.visibility==="public"?e.green("public"):e.yellow("private"),deployed:i.last_deploy?d(i.last_deploy):e.dim("never"),files:String(i.file_count??"-"),visitors:String(i.visitors??"-")}));console.log(b(r,[{key:"slug",label:"Site"},{key:"url",label:"URL"},{key:"visibility",label:"Visibility"},{key:"deployed",label:"Last Deploy"},{key:"files",label:"Files"},{key:"visitors",label:"Visitors"}]));}export{o as a};//# sourceMappingURL=chunk-N52M225G.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-N52M225G.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/sites/sites-list.ts"],"names":["sitesList","rows","apiGet","s","chalk","formatRelative","renderTable"],"mappings":"iIAcA,eAAOA,CAAAA,EAAkD,CAEvD,IAAMC,CAAAA,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAA8B,eAAA,CAAiB,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACtE,KAAA,EAAS,EAAC,EAAG,GAAA,CAAIC,CAAAA,GAAM,CACxC,IAAA,CAAMC,CAAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAAED,CAAAA,CAAE,IAAI,CAAA,CACjC,GAAA,CAAKC,CAAAA,CAAM,GAAA,CAAID,CAAAA,CAAE,GAAG,CAAA,CACpB,UAAA,CAAYA,CAAAA,CAAE,UAAA,GAAe,QAAA,CAAWC,CAAAA,CAAM,KAAA,CAAM,QAAQ,EAAIA,CAAAA,CAAM,MAAA,CAAO,SAAS,CAAA,CACtF,QAAA,CAAUD,CAAAA,CAAE,WAAA,CAAcE,CAAAA,CAAeF,CAAAA,CAAE,WAAW,CAAA,CAAIC,CAAAA,CAAM,GAAA,CAAI,OAAO,EAC3E,KAAA,CAAO,MAAA,CAAOD,CAAAA,CAAE,UAAA,EAAc,GAAG,CAAA,CACjC,QAAA,CAAU,MAAA,CAAOA,CAAAA,CAAE,QAAA,EAAY,GAAG,CACpC,CAAA,CAAE,CAAA,CACF,QAAQ,GAAA,CAAIG,CAAAA,CAAYL,CAAAA,CAAM,CAC5B,CAAE,GAAA,CAAK,MAAA,CAAQ,KAAA,CAAO,MAAO,CAAA,CAC7B,CAAE,GAAA,CAAK,KAAA,CAAO,KAAA,CAAO,KAAM,CAAA,CAC3B,CAAE,GAAA,CAAK,YAAA,CAAc,KAAA,CAAO,YAAa,CAAA,CACzC,CAAE,GAAA,CAAK,UAAA,CAAY,KAAA,CAAO,aAAc,CAAA,CACxC,CAAE,IAAK,OAAA,CAAS,KAAA,CAAO,OAAQ,CAAA,CAC/B,CAAE,GAAA,CAAK,UAAA,CAAY,KAAA,CAAO,UAAW,CACvC,CAAC,CAAC,EACJ","file":"chunk-N52M225G.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { renderTable } from '../../lib/output/table.js'\nimport { formatRelative } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface SiteInfo {\n slug: string\n url: string\n visibility: 'public' | 'private'\n last_deploy: string\n file_count: number\n visitors: number\n}\n\nexport default async function sitesList(): Promise<void> {\n const data = await apiGet<{ sites: SiteInfo[] }>('/api/v1/sites', { authenticated: true })\n const rows = (data.sites || []).map(s => ({\n slug: chalk.hex('#4FC3F7')(s.slug),\n url: chalk.dim(s.url),\n visibility: s.visibility === 'public' ? chalk.green('public') : chalk.yellow('private'),\n deployed: s.last_deploy ? formatRelative(s.last_deploy) : chalk.dim('never'),\n files: String(s.file_count ?? '-'),\n visitors: String(s.visitors ?? '-'),\n }))\n console.log(renderTable(rows, [\n { key: 'slug', label: 'Site' },\n { key: 'url', label: 'URL' },\n { key: 'visibility', label: 'Visibility' },\n { key: 'deployed', label: 'Last Deploy' },\n { key: 'files', label: 'Files' },\n { key: 'visitors', label: 'Visitors' },\n ]))\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c}from'./chunk-YZWZNR6K.js';import {s,t}from'./chunk-BC3STHFS.js';import {d}from'./chunk-5TMR6Y7L.js';async function i(t$1){let o=c(`Attempting to unlock ${t$1}...`);o.start();try{(await d("/api/v1/time/unlock",{path:t$1},{authenticated:!0})).unlocked?(o.succeed(),s(`Unlocked ${t$1}`)):(o.fail(),t("Cannot unlock yet \u2014 lock time has not passed"),process.exit(1));}catch{throw o.fail(),new Error("Cannot unlock yet \u2014 lock time has not passed")}}export{i as a};//# sourceMappingURL=chunk-NCD7PEEP.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-NCD7PEEP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/time/time-unlock.ts"],"names":["timeUnlock","path","spinner","createSpinner","apiPost","logSuccess","logError"],"mappings":"8GAIA,eAAOA,CAAAA,CAAkCC,GAAAA,CAA6B,CACpE,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,CAAA,qBAAA,EAAwBF,GAAI,CAAA,GAAA,CAAK,CAAA,CAC/DC,CAAAA,CAAQ,KAAA,EAAM,CACd,GAAI,CAAA,CACa,MAAME,CAAAA,CAA+B,qBAAA,CAAuB,CAAE,IAAA,CAAAH,GAAK,CAAA,CAAG,CAAE,aAAA,CAAe,CAAA,CAAK,CAAC,CAAA,EACjG,QAAA,EACTC,EAAQ,OAAA,EAAQ,CAChBG,CAAAA,CAAW,CAAA,SAAA,EAAYJ,GAAI,CAAA,CAAE,CAAA,GAE7BC,CAAAA,CAAQ,IAAA,EAAK,CACbI,CAAAA,CAAS,mDAA8C,CAAA,CACvD,OAAA,CAAQ,KAAK,CAAC,CAAA,EAElB,CAAA,KAAQ,CACN,MAAAJ,CAAAA,CAAQ,IAAA,EAAK,CACP,IAAI,KAAA,CAAM,mDAA8C,CAChE,CACF","file":"chunk-NCD7PEEP.js","sourcesContent":["import { apiPost } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess, logError } from '../../lib/output/logger.js'\n\nexport default async function timeUnlock(path: string): Promise<void> {\n const spinner = createSpinner(`Attempting to unlock ${path}...`)\n spinner.start()\n try {\n const result = await apiPost<{ unlocked: boolean }>('/api/v1/time/unlock', { path }, { authenticated: true })\n if (result.unlocked) {\n spinner.succeed()\n logSuccess(`Unlocked ${path}`)\n } else {\n spinner.fail()\n logError('Cannot unlock yet — lock time has not passed')\n process.exit(1)\n }\n } catch {\n spinner.fail()\n throw new Error('Cannot unlock yet — lock time has not passed')\n }\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {q,y,x}from'./chunk-BC3STHFS.js';import {e}from'./chunk-OSI5H2T5.js';import {c}from'./chunk-5TMR6Y7L.js';import t from'chalk';async function s(e$1){let i=(await c(`/api/v1/time/status?path=${encodeURIComponent(e$1)}`,{authenticated:true})).status;if(q()){y(i);return}x(""),x(` ${t.bold(e$1)}`),x(t.dim(" \u2500\u2500\u2500".repeat(8))),x(` ${t.bold("Locked:")} ${i.locked?t.yellow("yes"):t.green("no")}`),i.unlock_at&&x(` ${t.bold("Unlocks:")} ${i.unlock_at}`),i.time_remaining_ms!==null&&i.time_remaining_ms>0&&x(` ${t.bold("Remaining:")} ${e(i.time_remaining_ms)}`),x(` ${t.bold("Proof:")} ${t.dim(i.proof_hash?.slice(0,16)||"-")}`),x("");}export{s as a};//# sourceMappingURL=chunk-NDG5MZ2E.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-NDG5MZ2E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/time/time-status.ts"],"names":["timeStatus","path","s","apiGet","isJsonMode","logJSON","logRaw","chalk","formatCountdown"],"mappings":"qIAaA,eAAOA,CAAAA,CAAkCC,GAAAA,CAA6B,CAEpE,IAAMC,CAAAA,CAAAA,CADO,MAAMC,CAAAA,CAAmC,CAAA,yBAAA,EAA4B,kBAAA,CAAmBF,GAAI,CAAC,CAAA,CAAA,CAAI,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,EACtH,MAAA,CAEf,GAAIG,CAAAA,EAAW,CAAG,CAChBC,CAAAA,CAAQH,CAAC,CAAA,CACT,MACF,CAEAI,CAAAA,CAAO,EAAE,CAAA,CACTA,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAKN,GAAI,CAAC,CAAA,CAAE,CAAA,CAC9BK,CAAAA,CAAOC,CAAAA,CAAM,GAAA,CAAI,sBAAA,CAAQ,MAAA,CAAO,CAAC,CAAC,CAAC,CAAA,CACnCD,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,SAAS,CAAC,CAAA,EAAA,EAAKL,CAAAA,CAAE,MAAA,CAASK,CAAAA,CAAM,MAAA,CAAO,KAAK,CAAA,CAAIA,CAAAA,CAAM,KAAA,CAAM,IAAI,CAAC,CAAA,CAAE,CAAA,CACtFL,CAAAA,CAAE,SAAA,EACJI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,UAAU,CAAC,CAAA,CAAA,EAAIL,CAAAA,CAAE,SAAS,CAAA,CAAE,CAAA,CAEjDA,CAAAA,CAAE,iBAAA,GAAsB,IAAA,EAAQA,CAAAA,CAAE,iBAAA,CAAoB,CAAA,EACxDI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,YAAY,CAAC,CAAA,CAAA,EAAIC,CAAAA,CAAgBN,CAAAA,CAAE,iBAAiB,CAAC,CAAA,CAAE,CAAA,CAEhFI,CAAAA,CAAO,CAAA,EAAA,EAAKC,CAAAA,CAAM,IAAA,CAAK,QAAQ,CAAC,CAAA,GAAA,EAAMA,CAAAA,CAAM,GAAA,CAAIL,CAAAA,CAAE,UAAA,EAAY,KAAA,CAAM,CAAA,CAAG,EAAE,CAAA,EAAK,GAAG,CAAC,CAAA,CAAE,CAAA,CACpFI,CAAAA,CAAO,EAAE,EACX","file":"chunk-NDG5MZ2E.js","sourcesContent":["import { apiGet } from '../../lib/api/client.js'\nimport { logJSON, logRaw } from '../../lib/output/logger.js'\nimport { isJsonMode } from '../../lib/output/logger.js'\nimport { formatCountdown } from '../../lib/utils/format.js'\nimport chalk from 'chalk'\n\ninterface TimeLockStatus {\n locked: boolean\n unlock_at: string | null\n time_remaining_ms: number | null\n proof_hash: string\n}\n\nexport default async function timeStatus(path: string): Promise<void> {\n const data = await apiGet<{ status: TimeLockStatus }>(`/api/v1/time/status?path=${encodeURIComponent(path)}`, { authenticated: true })\n const s = data.status\n\n if (isJsonMode()) {\n logJSON(s)\n return\n }\n\n logRaw('')\n logRaw(` ${chalk.bold(path)}`)\n logRaw(chalk.dim(' ───'.repeat(8)))\n logRaw(` ${chalk.bold('Locked:')} ${s.locked ? chalk.yellow('yes') : chalk.green('no')}`)\n if (s.unlock_at) {\n logRaw(` ${chalk.bold('Unlocks:')} ${s.unlock_at}`)\n }\n if (s.time_remaining_ms !== null && s.time_remaining_ms > 0) {\n logRaw(` ${chalk.bold('Remaining:')} ${formatCountdown(s.time_remaining_ms)}`)\n }\n logRaw(` ${chalk.bold('Proof:')} ${chalk.dim(s.proof_hash?.slice(0, 16) || '-')}`)\n logRaw('')\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c}from'./chunk-YZWZNR6K.js';import {s as s$1}from'./chunk-BC3STHFS.js';import {c as c$1}from'./chunk-5TMR6Y7L.js';import s from'fs';import c$2 from'path';async function d(o){let n=c("Downloading signed document...");n.start();let t=await c$1(`/api/v1/sign/${o}/download`,{authenticated:true});n.succeed();let e=c$2.join(process.cwd(),`signed-${t.filename||`${o.slice(0,8)}.pdf`}`);s.writeFileSync(e,Buffer.from(t.content,"base64")),s$1(`Downloaded to ${e}`);}export{d as a};//# sourceMappingURL=chunk-NKEQVDH2.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-NKEQVDH2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/sign/sign-download.ts"],"names":["signDownload","requestId","spinner","createSpinner","data","apiGet","filePath","path","fs","logSuccess"],"mappings":"kKAMA,eAAOA,CAAAA,CAAoCC,CAAAA,CAAkC,CAC3E,IAAMC,CAAAA,CAAUC,CAAAA,CAAc,gCAAgC,CAAA,CAC9DD,CAAAA,CAAQ,KAAA,EAAM,CACd,IAAME,CAAAA,CAAO,MAAMC,GAAAA,CAA8C,CAAA,aAAA,EAAgBJ,CAAS,CAAA,SAAA,CAAA,CAAa,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC9HC,EAAQ,OAAA,EAAQ,CAChB,IAAMI,CAAAA,CAAWC,GAAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,GAAA,EAAI,CAAG,CAAA,OAAA,EAAUH,CAAAA,CAAK,QAAA,EAAY,CAAA,EAAGH,CAAAA,CAAU,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,CAAA,IAAA,CAAM,CAAA,CAAE,CAAA,CACrGO,CAAAA,CAAG,aAAA,CAAcF,CAAAA,CAAU,MAAA,CAAO,KAAKF,CAAAA,CAAK,OAAA,CAAS,QAAQ,CAAC,CAAA,CAC9DK,GAAAA,CAAW,CAAA,cAAA,EAAiBH,CAAQ,EAAE,EACxC","file":"chunk-NKEQVDH2.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { apiGet } from '../../lib/api/client.js'\nimport { createSpinner } from '../../lib/output/spinner.js'\nimport { logSuccess } from '../../lib/output/logger.js'\n\nexport default async function signDownload(requestId: string): Promise<void> {\n const spinner = createSpinner('Downloading signed document...')\n spinner.start()\n const data = await apiGet<{ content: string; filename: string }>(`/api/v1/sign/${requestId}/download`, { authenticated: true })\n spinner.succeed()\n const filePath = path.join(process.cwd(), `signed-${data.filename || `${requestId.slice(0, 8)}.pdf`}`)\n fs.writeFileSync(filePath, Buffer.from(data.content, 'base64'))\n logSuccess(`Downloaded to ${filePath}`)\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import m from'fs';import l from'path';async function f(c){let e=l.resolve(c),n=m.statSync(e);if(n.isFile())return l.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(n.isDirectory()){let r=function(s){let d=m.readdirSync(s,{withFileTypes:true});for(let t of d){let a=l.join(s,t.name);t.isDirectory()?!t.name.startsWith(".")&&t.name!=="node_modules"&&r(a):t.isFile()&&(i++,t.name.endsWith(".html")&&o.push(a));}};let o=[],i=0;if(r(e),o.length===0)return {type:"invalid",rootPath:e,hasIndexHtml:false,htmlFiles:[],totalFiles:i};let h=o.some(s=>l.basename(s).toLowerCase()==="index.html");return {type:"codebase",rootPath:e,hasIndexHtml:h,htmlFiles:o,totalFiles:i}}return {type:"invalid",rootPath:e,hasIndexHtml:false,htmlFiles:[],totalFiles:0}}export{f as a};//# sourceMappingURL=chunk-NKPRDJXY.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-NKPRDJXY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/deploy/detector.ts"],"names":["detectProject","targetPath","resolved","path","stat","fs","walk","dir","entries","entry","fullPath","totalFiles","htmlFiles","hasIndexHtml","f"],"mappings":"sCAaA,eAAsBA,CAAAA,CAAcC,EAA8C,CAChF,IAAMC,EAAWC,CAAAA,CAAK,OAAA,CAAQF,CAAU,CAAA,CAClCG,CAAAA,CAAOC,EAAG,QAAA,CAASH,CAAQ,EAEjC,GAAIE,CAAAA,CAAK,QAAO,CAEd,OADYD,EAAK,OAAA,CAAQD,CAAQ,EAAE,WAAA,EAAY,GACnC,QACH,CACL,IAAA,CAAM,cACN,QAAA,CAAUA,CAAAA,CACV,aAAc,IAAA,CACd,SAAA,CAAW,CAACA,CAAQ,CAAA,CACpB,WAAY,CACd,CAAA,CAEK,CAAE,IAAA,CAAM,SAAA,CAAW,SAAUA,CAAAA,CAAU,YAAA,CAAc,MAAO,SAAA,CAAW,GAAI,UAAA,CAAY,CAAE,EAGlG,GAAIE,CAAAA,CAAK,aAAY,CAAG,CAItB,IAASE,CAAAA,CAAT,SAAcC,EAAmB,CAC/B,IAAMC,EAAUH,CAAAA,CAAG,WAAA,CAAYE,EAAK,CAAE,aAAA,CAAe,IAAK,CAAC,CAAA,CAC3D,QAAWE,CAAAA,IAASD,CAAAA,CAAS,CAC3B,IAAME,CAAAA,CAAWP,EAAK,IAAA,CAAKI,CAAAA,CAAKE,EAAM,IAAI,CAAA,CACtCA,CAAAA,CAAM,WAAA,EAAY,CAChB,CAACA,EAAM,IAAA,CAAK,UAAA,CAAW,GAAG,CAAA,EAAKA,CAAAA,CAAM,OAAS,cAAA,EAChDH,CAAAA,CAAKI,CAAQ,CAAA,CAEND,CAAAA,CAAM,QAAO,GACtBE,CAAAA,EAAAA,CACIF,EAAM,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA,EAC7BG,CAAAA,CAAU,KAAKF,CAAQ,CAAA,EAG7B,CACF,CAAA,CAlBA,IAAME,CAAAA,CAAsB,EAAC,CACzBD,CAAAA,CAAa,EAqBjB,GAFAL,CAAAA,CAAKJ,CAAQ,CAAA,CAETU,CAAAA,CAAU,SAAW,CAAA,CACvB,OAAO,CAAE,IAAA,CAAM,SAAA,CAAW,SAAUV,CAAAA,CAAU,YAAA,CAAc,MAAO,SAAA,CAAW,GAAI,UAAA,CAAAS,CAAW,EAG/F,IAAME,CAAAA,CAAeD,EAAU,IAAA,CAAKE,CAAAA,EAAKX,EAAK,QAAA,CAASW,CAAC,EAAE,WAAA,EAAY,GAAM,YAAY,CAAA,CAExF,OAAO,CACL,IAAA,CAAM,UAAA,CACN,SAAUZ,CAAAA,CACV,YAAA,CAAAW,EACA,SAAA,CAAAD,CAAAA,CACA,WAAAD,CACF,CACF,CAEA,OAAO,CAAE,KAAM,SAAA,CAAW,QAAA,CAAUT,EAAU,YAAA,CAAc,KAAA,CAAO,UAAW,EAAC,CAAG,UAAA,CAAY,CAAE,CAClG","file":"chunk-NKPRDJXY.js","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\n\nexport type DeployType = 'single-file' | 'codebase' | 'invalid'\n\nexport interface DetectedProject {\n type: DeployType\n rootPath: string\n hasIndexHtml: boolean\n htmlFiles: string[]\n totalFiles: number\n}\n\nexport async function detectProject(targetPath: string): Promise<DetectedProject> {\n const resolved = path.resolve(targetPath)\n const stat = fs.statSync(resolved)\n\n if (stat.isFile()) {\n const ext = path.extname(resolved).toLowerCase()\n if (ext === '.html') {\n return {\n type: 'single-file',\n rootPath: resolved,\n hasIndexHtml: true,\n htmlFiles: [resolved],\n totalFiles: 1,\n }\n }\n return { type: 'invalid', rootPath: resolved, hasIndexHtml: false, htmlFiles: [], totalFiles: 0 }\n }\n\n if (stat.isDirectory()) {\n const htmlFiles: string[] = []\n let totalFiles = 0\n\n function walk(dir: string): void {\n const entries = fs.readdirSync(dir, { withFileTypes: true })\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name)\n if (entry.isDirectory()) {\n if (!entry.name.startsWith('.') && entry.name !== 'node_modules') {\n walk(fullPath)\n }\n } else if (entry.isFile()) {\n totalFiles++\n if (entry.name.endsWith('.html')) {\n htmlFiles.push(fullPath)\n }\n }\n }\n }\n\n walk(resolved)\n\n if (htmlFiles.length === 0) {\n return { type: 'invalid', rootPath: resolved, hasIndexHtml: false, htmlFiles: [], totalFiles }\n }\n\n const hasIndexHtml = htmlFiles.some(f => path.basename(f).toLowerCase() === 'index.html')\n\n return {\n type: 'codebase',\n rootPath: resolved,\n hasIndexHtml,\n htmlFiles,\n totalFiles,\n }\n }\n\n return { type: 'invalid', rootPath: resolved, hasIndexHtml: false, htmlFiles: [], totalFiles: 0 }\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {a,b}from'./chunk-6RI4Z6IY.js';import {c}from'./chunk-YZWZNR6K.js';import {q,y,s as s$1}from'./chunk-BC3STHFS.js';import {a as a$1}from'./chunk-OSI5H2T5.js';import {f}from'./chunk-BQGHHBGH.js';import f$1 from'fs';import s from'path';var z="https://aouqcwbdoyrccjcrhzzi.supabase.co",A="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFvdXFjd2Jkb3lyY2NqY3JoenppIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI5NjAyMTEsImV4cCI6MjA1ODUzNjIxMX0.b_VHC6uP3Efw3o_yibCoZKmsCIVZgOJ4FUF1NK-nd7U",B="https://squidcloud.vercel.app";async function C(e,n){let r=await f();if(!r)throw new Error("Not logged in. Run `squidcloud auth login` first.");if(q()){y({remote:e,local:n||s.basename(e)});return}let a$2=n?s.resolve(n):s.resolve(".",s.basename(e)),u=c(`Looking up ${e}...`);u.start();let q$1=`select=id,name,type,size&name=eq.${e}&user_id=eq.${r.user.id}&is_deleted=eq.false&limit=1`,c$1=await fetch(`${z}/rest/v1/files?${q$1}`,{headers:{apikey:A,Authorization:`Bearer ${r.access_token}`}});if(!c$1.ok)throw new Error(`Failed to find file: ${c$1.status}`);let m=await c$1.json();if(m.length===0)throw new Error(`File not found: ${e}`);let v=m[0].id;u.succeed();let w={"Content-Type":"application/json"};r.api_key&&(w["x-squidcloud-key"]=r.api_key);let P=`${B}/api/v1/files/${v}/download`,t=await fetch(P,{headers:w}),g=t.headers.get("content-length"),h=g?parseInt(g,10):0;if(!t.ok||!t.body){let l=await t.text();throw new Error(`Download failed (HTTP ${t.status}): ${l}`)}let y$1=s.dirname(a$2);f$1.existsSync(y$1)||f$1.mkdirSync(y$1,{recursive:true});let I=f$1.createWriteStream(a$2),j=t.body.getReader(),d=0,o=null,i=null;for(h>0?o=a(e,h):(i=c(`Downloading ${e}...`),i.start());;){let{done:l,value:b$1}=await j.read();if(l)break;I.write(Buffer.from(b$1)),d+=b$1.length,o&&b(o.bar,o.tracker,d);}I.end(),o&&o.bar.stop(),i&&i.succeed(),s$1(`Downloaded to ${a$2} (${a$1(d)})`);}
|
|
2
|
+
export{C as a};//# sourceMappingURL=chunk-NLUUDXEF.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-NLUUDXEF.js.map
|