squidcloudctl 1.3.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (892) hide show
  1. package/README.md +72 -0
  2. package/dist/auth-revoke-LTTGYMMO.js +2 -0
  3. package/dist/auth-revoke-LTTGYMMO.js.map +1 -0
  4. package/dist/auth-sessions-ZVZIABS6.js +2 -0
  5. package/dist/auth-sessions-ZVZIABS6.js.map +1 -0
  6. package/dist/auth-status-X4HCOXHF.js +2 -0
  7. package/dist/auth-status-X4HCOXHF.js.map +1 -0
  8. package/dist/bin/squidcloud.js +189 -3
  9. package/dist/bin/squidcloud.js.map +1 -1
  10. package/dist/chunk-2RAH2YAY.js +6 -0
  11. package/dist/chunk-2RAH2YAY.js.map +1 -0
  12. package/dist/chunk-3E23ZFCV.js +2 -0
  13. package/dist/chunk-3E23ZFCV.js.map +1 -0
  14. package/dist/chunk-3JD6INFN.js +2 -0
  15. package/dist/chunk-3JD6INFN.js.map +1 -0
  16. package/dist/chunk-3XXAN3BP.js +2 -0
  17. package/dist/chunk-3XXAN3BP.js.map +1 -0
  18. package/dist/chunk-43FK57CR.js +2 -0
  19. package/dist/chunk-43FK57CR.js.map +1 -0
  20. package/dist/chunk-4625KLCT.js +2 -0
  21. package/dist/chunk-4625KLCT.js.map +1 -0
  22. package/dist/chunk-4EBJSKII.js +2 -0
  23. package/dist/chunk-4EBJSKII.js.map +1 -0
  24. package/dist/chunk-4FZZ3I76.js +3 -0
  25. package/dist/chunk-4FZZ3I76.js.map +1 -0
  26. package/dist/chunk-4GV6L47P.js +2 -0
  27. package/dist/chunk-4GV6L47P.js.map +1 -0
  28. package/dist/chunk-4VH6P4GC.js +2 -0
  29. package/dist/chunk-4VH6P4GC.js.map +1 -0
  30. package/dist/chunk-4VMT6FXR.js +2 -0
  31. package/dist/chunk-4VMT6FXR.js.map +1 -0
  32. package/dist/chunk-5JWZKMAI.js +2 -0
  33. package/dist/chunk-5JWZKMAI.js.map +1 -0
  34. package/dist/chunk-5TYVWTHC.js +2 -0
  35. package/dist/chunk-5TYVWTHC.js.map +1 -0
  36. package/dist/chunk-5XSOEZ7F.js +2 -0
  37. package/dist/chunk-5XSOEZ7F.js.map +1 -0
  38. package/dist/chunk-632C2FZM.js +2 -0
  39. package/dist/chunk-632C2FZM.js.map +1 -0
  40. package/dist/chunk-6IXURJIU.js +2 -0
  41. package/dist/chunk-6IXURJIU.js.map +1 -0
  42. package/dist/chunk-6LLJ6P3U.js +2 -0
  43. package/dist/chunk-6LLJ6P3U.js.map +1 -0
  44. package/dist/chunk-7JVXW7C4.js +2 -0
  45. package/dist/chunk-7JVXW7C4.js.map +1 -0
  46. package/dist/chunk-7TMB3QXF.js +2 -0
  47. package/dist/chunk-7TMB3QXF.js.map +1 -0
  48. package/dist/chunk-ADVALEDT.js +2 -0
  49. package/dist/chunk-ADVALEDT.js.map +1 -0
  50. package/dist/chunk-AN6SA3TI.js +2 -0
  51. package/dist/chunk-AN6SA3TI.js.map +1 -0
  52. package/dist/chunk-AZ4774YQ.js +2 -0
  53. package/dist/chunk-AZ4774YQ.js.map +1 -0
  54. package/dist/chunk-BDRSOUY3.js +2 -0
  55. package/dist/chunk-BDRSOUY3.js.map +1 -0
  56. package/dist/chunk-BDUD2TSS.js +2 -0
  57. package/dist/chunk-BDUD2TSS.js.map +1 -0
  58. package/dist/chunk-BGOM6C6D.js +2 -0
  59. package/dist/chunk-BGOM6C6D.js.map +1 -0
  60. package/dist/chunk-BUG4O26P.js +2 -0
  61. package/dist/chunk-BUG4O26P.js.map +1 -0
  62. package/dist/chunk-BUKRJMQ5.js +2 -0
  63. package/dist/chunk-BUKRJMQ5.js.map +1 -0
  64. package/dist/chunk-C7M6KZGB.js +2 -0
  65. package/dist/chunk-C7M6KZGB.js.map +1 -0
  66. package/dist/chunk-CRT5ANG2.js +2 -0
  67. package/dist/chunk-CRT5ANG2.js.map +1 -0
  68. package/dist/chunk-E26CRSCS.js +2 -0
  69. package/dist/chunk-E26CRSCS.js.map +1 -0
  70. package/dist/chunk-E5PJTTE5.js +2 -0
  71. package/dist/chunk-E5PJTTE5.js.map +1 -0
  72. package/dist/chunk-E6UJ45WU.js +2 -0
  73. package/dist/chunk-E6UJ45WU.js.map +1 -0
  74. package/dist/chunk-EDD2NCQT.js +2 -0
  75. package/dist/chunk-EDD2NCQT.js.map +1 -0
  76. package/dist/chunk-FJ5D3ELC.js +2 -0
  77. package/dist/chunk-FJ5D3ELC.js.map +1 -0
  78. package/dist/chunk-GFTSNOCG.js +5 -0
  79. package/dist/chunk-GFTSNOCG.js.map +1 -0
  80. package/dist/chunk-GMKCZ2PB.js +2 -0
  81. package/dist/chunk-GMKCZ2PB.js.map +1 -0
  82. package/dist/chunk-GRZ7FAK4.js +2 -0
  83. package/dist/chunk-GRZ7FAK4.js.map +1 -0
  84. package/dist/chunk-GVYPGCEO.js +2 -0
  85. package/dist/chunk-GVYPGCEO.js.map +1 -0
  86. package/dist/chunk-H3FD4YYC.js +2 -0
  87. package/dist/chunk-H3FD4YYC.js.map +1 -0
  88. package/dist/chunk-I3DVKNFK.js +2 -0
  89. package/dist/chunk-I3DVKNFK.js.map +1 -0
  90. package/dist/chunk-IER3WJEG.js +2 -0
  91. package/dist/chunk-IER3WJEG.js.map +1 -0
  92. package/dist/chunk-J5MM66CO.js +2 -0
  93. package/dist/chunk-J5MM66CO.js.map +1 -0
  94. package/dist/chunk-K4UZNQFC.js +2 -0
  95. package/dist/chunk-K4UZNQFC.js.map +1 -0
  96. package/dist/chunk-KJIMUYAU.js +2 -0
  97. package/dist/chunk-KJIMUYAU.js.map +1 -0
  98. package/dist/chunk-KLPKNHXU.js +2 -0
  99. package/dist/chunk-KLPKNHXU.js.map +1 -0
  100. package/dist/chunk-KQE3YLI3.js +2 -0
  101. package/dist/chunk-KQE3YLI3.js.map +1 -0
  102. package/dist/chunk-KZ7RBLQY.js +2 -0
  103. package/dist/chunk-KZ7RBLQY.js.map +1 -0
  104. package/dist/chunk-LDYPQMLZ.js +2 -0
  105. package/dist/chunk-LDYPQMLZ.js.map +1 -0
  106. package/dist/chunk-LFPHETWG.js +2 -0
  107. package/dist/chunk-LFPHETWG.js.map +1 -0
  108. package/dist/chunk-M6RN7Y3S.js +2 -0
  109. package/dist/chunk-M6RN7Y3S.js.map +1 -0
  110. package/dist/chunk-N6QOCJDY.js +2 -0
  111. package/dist/chunk-N6QOCJDY.js.map +1 -0
  112. package/dist/chunk-NB4OO3VK.js +2 -0
  113. package/dist/chunk-NB4OO3VK.js.map +1 -0
  114. package/dist/chunk-NJC4W2S6.js +2 -0
  115. package/dist/chunk-NJC4W2S6.js.map +1 -0
  116. package/dist/chunk-NJCALUUB.js +2 -0
  117. package/dist/chunk-NJCALUUB.js.map +1 -0
  118. package/dist/chunk-NS5IBNC2.js +2 -0
  119. package/dist/chunk-NS5IBNC2.js.map +1 -0
  120. package/dist/chunk-OCDE2G25.js +2 -0
  121. package/dist/chunk-OCDE2G25.js.map +1 -0
  122. package/dist/chunk-OEURGJIH.js +2 -0
  123. package/dist/chunk-OEURGJIH.js.map +1 -0
  124. package/dist/chunk-OPZJKTOV.js +2 -0
  125. package/dist/chunk-OPZJKTOV.js.map +1 -0
  126. package/dist/chunk-OXJ6DOWC.js +2 -0
  127. package/dist/chunk-OXJ6DOWC.js.map +1 -0
  128. package/dist/chunk-P42LDK4T.js +2 -0
  129. package/dist/chunk-P42LDK4T.js.map +1 -0
  130. package/dist/chunk-PGDN5F2F.js +2 -0
  131. package/dist/chunk-PGDN5F2F.js.map +1 -0
  132. package/dist/chunk-PVZ4PRGM.js +2 -0
  133. package/dist/chunk-PVZ4PRGM.js.map +1 -0
  134. package/dist/chunk-QCDCTQU5.js +2 -0
  135. package/dist/chunk-QCDCTQU5.js.map +1 -0
  136. package/dist/chunk-QEG6LP5X.js +2 -0
  137. package/dist/chunk-QEG6LP5X.js.map +1 -0
  138. package/dist/chunk-QF3NWEHO.js +2 -0
  139. package/dist/chunk-QF3NWEHO.js.map +1 -0
  140. package/dist/chunk-QLLHU2RS.js +2 -0
  141. package/dist/chunk-QLLHU2RS.js.map +1 -0
  142. package/dist/chunk-R2PV6TY4.js +2 -0
  143. package/dist/chunk-R2PV6TY4.js.map +1 -0
  144. package/dist/chunk-RREABTVT.js +2 -0
  145. package/dist/chunk-RREABTVT.js.map +1 -0
  146. package/dist/chunk-RRGGKRRS.js +2 -0
  147. package/dist/chunk-RRGGKRRS.js.map +1 -0
  148. package/dist/chunk-RYEKRFP5.js +2 -0
  149. package/dist/chunk-RYEKRFP5.js.map +1 -0
  150. package/dist/chunk-SBNM6EQO.js +2 -0
  151. package/dist/chunk-SBNM6EQO.js.map +1 -0
  152. package/dist/chunk-T6VFW2SW.js +2 -0
  153. package/dist/chunk-T6VFW2SW.js.map +1 -0
  154. package/dist/chunk-TAS2JGNI.js +2 -0
  155. package/dist/chunk-TAS2JGNI.js.map +1 -0
  156. package/dist/chunk-UO2SSIIZ.js +3 -0
  157. package/dist/chunk-UO2SSIIZ.js.map +1 -0
  158. package/dist/chunk-UYERZEPM.js +2 -0
  159. package/dist/chunk-UYERZEPM.js.map +1 -0
  160. package/dist/chunk-V3UZYH25.js +2 -0
  161. package/dist/chunk-V3UZYH25.js.map +1 -0
  162. package/dist/chunk-VBOLWWMB.js +2 -0
  163. package/dist/chunk-VBOLWWMB.js.map +1 -0
  164. package/dist/chunk-VDWSP3BD.js +3 -0
  165. package/dist/chunk-VDWSP3BD.js.map +1 -0
  166. package/dist/chunk-VPEATOB2.js +2 -0
  167. package/dist/chunk-VPEATOB2.js.map +1 -0
  168. package/dist/chunk-VXPI52BF.js +2 -0
  169. package/dist/chunk-VXPI52BF.js.map +1 -0
  170. package/dist/chunk-WOMYFCVM.js +2 -0
  171. package/dist/chunk-WOMYFCVM.js.map +1 -0
  172. package/dist/chunk-WVCLY4PF.js +2 -0
  173. package/dist/chunk-WVCLY4PF.js.map +1 -0
  174. package/dist/chunk-WVS5JOCE.js +2 -0
  175. package/dist/chunk-WVS5JOCE.js.map +1 -0
  176. package/dist/chunk-X33BC54Z.js +2 -0
  177. package/dist/chunk-X33BC54Z.js.map +1 -0
  178. package/dist/chunk-XHGWAAJS.js +2 -0
  179. package/dist/chunk-XHGWAAJS.js.map +1 -0
  180. package/dist/chunk-XJTNICPE.js +2 -0
  181. package/dist/chunk-XJTNICPE.js.map +1 -0
  182. package/dist/chunk-YBKX6Q3Q.js +2 -0
  183. package/dist/chunk-YBKX6Q3Q.js.map +1 -0
  184. package/dist/chunk-YE2FF227.js +2 -0
  185. package/dist/chunk-YE2FF227.js.map +1 -0
  186. package/dist/chunk-YMTB3NHI.js +2 -0
  187. package/dist/chunk-YMTB3NHI.js.map +1 -0
  188. package/dist/chunk-YQQMT67S.js +2 -0
  189. package/dist/chunk-YQQMT67S.js.map +1 -0
  190. package/dist/chunk-YRSMMECJ.js +2 -0
  191. package/dist/chunk-YRSMMECJ.js.map +1 -0
  192. package/dist/chunk-Z4BTW3UI.js +2 -0
  193. package/dist/chunk-Z4BTW3UI.js.map +1 -0
  194. package/dist/chunk-ZGBTOZ7M.js +2 -0
  195. package/dist/chunk-ZGBTOZ7M.js.map +1 -0
  196. package/dist/chunk-ZQ2OIVG3.js +2 -0
  197. package/dist/chunk-ZQ2OIVG3.js.map +1 -0
  198. package/dist/chunk-ZXNTK3KX.js +2 -0
  199. package/dist/chunk-ZXNTK3KX.js.map +1 -0
  200. package/dist/chunk-ZY4RVPTF.js +2 -0
  201. package/dist/chunk-ZY4RVPTF.js.map +1 -0
  202. package/dist/chunk-ZZSRCXWK.js +2 -0
  203. package/dist/chunk-ZZSRCXWK.js.map +1 -0
  204. package/dist/collab-activity-R6AYISVI.js +2 -0
  205. package/dist/collab-activity-R6AYISVI.js.map +1 -0
  206. package/dist/collab-invite-TUWJGMNS.js +2 -0
  207. package/dist/collab-invite-TUWJGMNS.js.map +1 -0
  208. package/dist/collab-leave-GRSWXTOP.js +2 -0
  209. package/dist/collab-leave-GRSWXTOP.js.map +1 -0
  210. package/dist/collab-list-ZKZTNIGX.js +2 -0
  211. package/dist/collab-list-ZKZTNIGX.js.map +1 -0
  212. package/dist/collab-remove-2HYNLLLX.js +2 -0
  213. package/dist/collab-remove-2HYNLLLX.js.map +1 -0
  214. package/dist/collab-transfer-HC5KHBV5.js +2 -0
  215. package/dist/collab-transfer-HC5KHBV5.js.map +1 -0
  216. package/dist/commands/auth/auth-status.js +29 -0
  217. package/dist/commands/auth/index.js +1 -1
  218. package/dist/commands/auth/login-device.js +70 -0
  219. package/dist/commands/auth/login-oauth.js +81 -0
  220. package/dist/commands/auth/logout.js +23 -0
  221. package/dist/commands/auth/whoami.js +21 -0
  222. package/dist/commands/collab/index.js +1 -1
  223. package/dist/commands/deploy/index.js +1 -2
  224. package/dist/commands/deploy/index.js.map +1 -1
  225. package/dist/commands/filereq/client.js +37 -0
  226. package/dist/commands/filereq/create.js +36 -0
  227. package/dist/commands/filereq/delete.js +18 -0
  228. package/dist/commands/filereq/list.js +17 -0
  229. package/dist/commands/filereq/submissions.js +29 -0
  230. package/dist/commands/files/download.js +23 -0
  231. package/dist/commands/files/list.js +33 -0
  232. package/dist/commands/files/upload.js +57 -0
  233. package/dist/commands/forms/index.js +1 -1
  234. package/dist/commands/fs/binary.js +110 -0
  235. package/dist/commands/fs/mount.js +46 -0
  236. package/dist/commands/fs/status.js +18 -0
  237. package/dist/commands/fs/stop.js +19 -0
  238. package/dist/commands/fs/webdav.js +1 -0
  239. package/dist/commands/health.js +20 -0
  240. package/dist/commands/host/api.js +186 -0
  241. package/dist/commands/host/keys.js +63 -0
  242. package/dist/commands/host/status.js +15 -0
  243. package/dist/commands/host/stop.js +19 -0
  244. package/dist/commands/logs/index.js +1 -1
  245. package/dist/commands/monitor/index.js +1 -1
  246. package/dist/commands/scripts/index.js +1 -1
  247. package/dist/commands/secrets/list.js +14 -0
  248. package/dist/commands/secrets/secrets-create.js +28 -0
  249. package/dist/commands/secrets/secrets-delete.js +9 -0
  250. package/dist/commands/secrets/secrets-list.js +1 -0
  251. package/dist/commands/secrets/secrets-rename.js +9 -0
  252. package/dist/commands/secrets/secrets-verify.js +16 -0
  253. package/dist/commands/share/create.js +34 -0
  254. package/dist/commands/sign/index.js +1 -1
  255. package/dist/commands/sites/client.js +20 -0
  256. package/dist/commands/sites/index.js +1 -1
  257. package/dist/commands/sites/list.js +18 -0
  258. package/dist/commands/sites/open.js +12 -0
  259. package/dist/commands/sites/unpublish.js +32 -0
  260. package/dist/commands/sites/visibility.js +16 -0
  261. package/dist/commands/storage/commands.js +114 -0
  262. package/dist/commands/storage/folders-create.js +15 -0
  263. package/dist/commands/storage/folders-helpers.js +8 -0
  264. package/dist/commands/storage/folders-list.js +14 -0
  265. package/dist/commands/storage/index.js +1 -1
  266. package/dist/commands/storage/storage-cp.js +1 -0
  267. package/dist/commands/storage/storage-download.js +1 -0
  268. package/dist/commands/storage/storage-info.js +1 -0
  269. package/dist/commands/storage/storage-ls.js +1 -0
  270. package/dist/commands/storage/storage-mkdir.js +15 -0
  271. package/dist/commands/storage/storage-mv.js +1 -0
  272. package/dist/commands/storage/storage-rm.js +1 -0
  273. package/dist/commands/storage/storage-search.js +1 -0
  274. package/dist/commands/storage/storage-upload.js +1 -0
  275. package/dist/commands/time/index.js +1 -1
  276. package/dist/commands/util/index.js +1 -1
  277. package/dist/commands/util/version.js +16 -0
  278. package/dist/completion-DY4JRFCG.js +2 -0
  279. package/dist/completion-DY4JRFCG.js.map +1 -0
  280. package/dist/config-GGD4POJI.js +2 -0
  281. package/dist/config-GGD4POJI.js.map +1 -0
  282. package/dist/config-delete-K42TE5KR.js +2 -0
  283. package/dist/config-delete-K42TE5KR.js.map +1 -0
  284. package/dist/config-get-7BFP6F4Q.js +2 -0
  285. package/dist/config-get-7BFP6F4Q.js.map +1 -0
  286. package/dist/config-reset-BIGP2K2H.js +2 -0
  287. package/dist/config-reset-BIGP2K2H.js.map +1 -0
  288. package/dist/config-set-C6PZ3J6Q.js +2 -0
  289. package/dist/config-set-C6PZ3J6Q.js.map +1 -0
  290. package/dist/create-G6YH4DLB.js +2 -0
  291. package/dist/create-G6YH4DLB.js.map +1 -0
  292. package/dist/create-GMSJQNJC.js +2 -0
  293. package/dist/create-GMSJQNJC.js.map +1 -0
  294. package/dist/credits-6PQPN6AJ.js +2 -0
  295. package/dist/credits-6PQPN6AJ.js.map +1 -0
  296. package/dist/doctor-WVBOVEGI.js +2 -0
  297. package/dist/doctor-WVBOVEGI.js.map +1 -0
  298. package/dist/download-C3JFSCQ4.js +2 -0
  299. package/dist/download-C3JFSCQ4.js.map +1 -0
  300. package/dist/feedback-A522XU46.js +2 -0
  301. package/dist/feedback-A522XU46.js.map +1 -0
  302. package/dist/forms-clear-OVSVO22O.js +2 -0
  303. package/dist/forms-clear-OVSVO22O.js.map +1 -0
  304. package/dist/forms-create-BLNCFEXX.js +2 -0
  305. package/dist/forms-create-BLNCFEXX.js.map +1 -0
  306. package/dist/forms-delete-DS2YSDUQ.js +2 -0
  307. package/dist/forms-delete-DS2YSDUQ.js.map +1 -0
  308. package/dist/forms-embed-WIFFAJZZ.js +2 -0
  309. package/dist/forms-embed-WIFFAJZZ.js.map +1 -0
  310. package/dist/forms-export-FQQI7SV2.js +2 -0
  311. package/dist/forms-export-FQQI7SV2.js.map +1 -0
  312. package/dist/forms-info-QXGLAQBN.js +2 -0
  313. package/dist/forms-info-QXGLAQBN.js.map +1 -0
  314. package/dist/forms-list-2CNVSPKA.js +2 -0
  315. package/dist/forms-list-2CNVSPKA.js.map +1 -0
  316. package/dist/forms-submissions-Q3FV3AC3.js +2 -0
  317. package/dist/forms-submissions-Q3FV3AC3.js.map +1 -0
  318. package/dist/health-Q5OYY2QY.js +2 -0
  319. package/dist/health-Q5OYY2QY.js.map +1 -0
  320. package/dist/lib/api/cert-pin.js +28 -0
  321. package/dist/lib/api/client.js +132 -0
  322. package/dist/lib/api/index.js +1 -2
  323. package/dist/lib/api/upload-res54.js +104 -0
  324. package/dist/lib/auth/constants.js +6 -0
  325. package/dist/lib/auth/fingerprint.js +39 -0
  326. package/dist/lib/auth/index.js +5 -2
  327. package/dist/lib/auth/index.js.map +1 -1
  328. package/dist/lib/auth/keychain.js +56 -0
  329. package/dist/lib/auth/oauth-session.js +89 -0
  330. package/dist/lib/auth/refresh.js +93 -0
  331. package/dist/lib/auth/session.js +34 -0
  332. package/dist/lib/auth/ssp-handshake.js +72 -0
  333. package/dist/lib/crypto/encrypt-file.js +64 -0
  334. package/dist/lib/crypto/index.js +2 -2
  335. package/dist/lib/crypto/sanitize.js +19 -0
  336. package/dist/lib/crypto/ssp.js +80 -0
  337. package/dist/lib/deploy/allowlist.js +16 -0
  338. package/dist/lib/deploy/detector.js +53 -0
  339. package/dist/lib/deploy/index.js +2 -2
  340. package/dist/lib/deploy/index.js.map +1 -1
  341. package/dist/lib/forms/index.js +1 -0
  342. package/dist/lib/host/microredis.js +191 -0
  343. package/dist/lib/host/security.js +142 -0
  344. package/dist/lib/host/server.js +240 -0
  345. package/dist/lib/output/banner.js +36 -0
  346. package/dist/lib/output/brand.js +37 -0
  347. package/dist/lib/output/index.js +11 -2
  348. package/dist/lib/output/logger.js +114 -0
  349. package/dist/lib/output/mascot.js +31 -0
  350. package/dist/lib/output/spinner.js +44 -0
  351. package/dist/lib/output/table.js +81 -0
  352. package/dist/lib/picker.js +71 -0
  353. package/dist/lib/refs-types.js +1 -0
  354. package/dist/lib/refs.js +81 -0
  355. package/dist/lib/transfer.js +168 -0
  356. package/dist/lib/upload/index.js +1 -2
  357. package/dist/lib/utils/ci-detect.js +28 -0
  358. package/dist/lib/utils/format.js +70 -0
  359. package/dist/lib/utils/index.js +2 -2
  360. package/dist/lib/utils/open.js +16 -0
  361. package/dist/list-3P3SIMDW.js +2 -0
  362. package/dist/list-3P3SIMDW.js.map +1 -0
  363. package/dist/list-BK2B4CQI.js +4 -0
  364. package/dist/list-BK2B4CQI.js.map +1 -0
  365. package/dist/list-PVSQ7A54.js +4 -0
  366. package/dist/list-PVSQ7A54.js.map +1 -0
  367. package/dist/login-device-ATMWTABG.js +2 -0
  368. package/dist/login-device-ATMWTABG.js.map +1 -0
  369. package/dist/login-oauth-CDU3A5QB.js +2 -0
  370. package/dist/login-oauth-CDU3A5QB.js.map +1 -0
  371. package/dist/logout-AV7RCXWJ.js +2 -0
  372. package/dist/logout-AV7RCXWJ.js.map +1 -0
  373. package/dist/logs-export-M2FQFCNI.js +2 -0
  374. package/dist/logs-export-M2FQFCNI.js.map +1 -0
  375. package/dist/logs-search-JSCT3K5O.js +2 -0
  376. package/dist/logs-search-JSCT3K5O.js.map +1 -0
  377. package/dist/logs-tail-W5YO2QRG.js +2 -0
  378. package/dist/logs-tail-W5YO2QRG.js.map +1 -0
  379. package/dist/monitor-5AKUYIKP.js +2 -0
  380. package/dist/monitor-5AKUYIKP.js.map +1 -0
  381. package/dist/monitor-automations-YAAS7N6L.js +2 -0
  382. package/dist/monitor-automations-YAAS7N6L.js.map +1 -0
  383. package/dist/monitor-pipelines-JO4DQ6T4.js +2 -0
  384. package/dist/monitor-pipelines-JO4DQ6T4.js.map +1 -0
  385. package/dist/monitor-sites-5IEY3Y2F.js +2 -0
  386. package/dist/monitor-sites-5IEY3Y2F.js.map +1 -0
  387. package/dist/monitor-storage-6HG6URCV.js +2 -0
  388. package/dist/monitor-storage-6HG6URCV.js.map +1 -0
  389. package/dist/oauth-session-KBMWAOVL.js +2 -0
  390. package/dist/oauth-session-KBMWAOVL.js.map +1 -0
  391. package/dist/registry/index.js +61 -2
  392. package/dist/scripts-cancel-2XO47DN7.js +2 -0
  393. package/dist/scripts-cancel-2XO47DN7.js.map +1 -0
  394. package/dist/scripts-delete-A6TXCHNO.js +2 -0
  395. package/dist/scripts-delete-A6TXCHNO.js.map +1 -0
  396. package/dist/scripts-disable-7GIY3YOK.js +2 -0
  397. package/dist/scripts-disable-7GIY3YOK.js.map +1 -0
  398. package/dist/scripts-enable-NGIS5VDP.js +2 -0
  399. package/dist/scripts-enable-NGIS5VDP.js.map +1 -0
  400. package/dist/scripts-init-J37ZGUDW.js +2 -0
  401. package/dist/scripts-init-J37ZGUDW.js.map +1 -0
  402. package/dist/scripts-list-ECFFKNOI.js +2 -0
  403. package/dist/scripts-list-ECFFKNOI.js.map +1 -0
  404. package/dist/scripts-logs-4DMITGNX.js +2 -0
  405. package/dist/scripts-logs-4DMITGNX.js.map +1 -0
  406. package/dist/scripts-run-CHHP53KW.js +2 -0
  407. package/dist/scripts-run-CHHP53KW.js.map +1 -0
  408. package/dist/scripts-status-YZTKCLMU.js +2 -0
  409. package/dist/scripts-status-YZTKCLMU.js.map +1 -0
  410. package/dist/scripts-validate-LGMQVRTC.js +2 -0
  411. package/dist/scripts-validate-LGMQVRTC.js.map +1 -0
  412. package/dist/scripts-watch-W2C4CBZZ.js +2 -0
  413. package/dist/scripts-watch-W2C4CBZZ.js.map +1 -0
  414. package/dist/secrets-audit-SZZ2RG77.js +2 -0
  415. package/dist/secrets-audit-SZZ2RG77.js.map +1 -0
  416. package/dist/secrets-create-QLUNM3JL.js +3 -0
  417. package/dist/secrets-create-QLUNM3JL.js.map +1 -0
  418. package/dist/secrets-delete-ISNVSZVL.js +2 -0
  419. package/dist/secrets-delete-ISNVSZVL.js.map +1 -0
  420. package/dist/secrets-export-R7VPKQCW.js +3 -0
  421. package/dist/secrets-export-R7VPKQCW.js.map +1 -0
  422. package/dist/secrets-init-TKIIJKCB.js +13 -0
  423. package/dist/secrets-init-TKIIJKCB.js.map +1 -0
  424. package/dist/secrets-list-YPMO7PWR.js +2 -0
  425. package/dist/secrets-list-YPMO7PWR.js.map +1 -0
  426. package/dist/secrets-rename-X7Q6PLPI.js +2 -0
  427. package/dist/secrets-rename-X7Q6PLPI.js.map +1 -0
  428. package/dist/secrets-verify-GZCFB6RI.js +2 -0
  429. package/dist/secrets-verify-GZCFB6RI.js.map +1 -0
  430. package/dist/sign-cancel-H34SAG56.js +2 -0
  431. package/dist/sign-cancel-H34SAG56.js.map +1 -0
  432. package/dist/sign-download-3MAWJ2XB.js +2 -0
  433. package/dist/sign-download-3MAWJ2XB.js.map +1 -0
  434. package/dist/sign-list-NW5WYD4V.js +2 -0
  435. package/dist/sign-list-NW5WYD4V.js.map +1 -0
  436. package/dist/sign-request-HFI3KJ2L.js +2 -0
  437. package/dist/sign-request-HFI3KJ2L.js.map +1 -0
  438. package/dist/sign-status-BD7S2FEA.js +2 -0
  439. package/dist/sign-status-BD7S2FEA.js.map +1 -0
  440. package/dist/sign-verify-OCYA4RI3.js +2 -0
  441. package/dist/sign-verify-OCYA4RI3.js.map +1 -0
  442. package/dist/sites-analytics-AJIFXZEM.js +2 -0
  443. package/dist/sites-analytics-AJIFXZEM.js.map +1 -0
  444. package/dist/sites-delete-SDBENOY6.js +2 -0
  445. package/dist/sites-delete-SDBENOY6.js.map +1 -0
  446. package/dist/sites-deploys-WHLZTAYW.js +2 -0
  447. package/dist/sites-deploys-WHLZTAYW.js.map +1 -0
  448. package/dist/sites-info-RZJNVFFP.js +2 -0
  449. package/dist/sites-info-RZJNVFFP.js.map +1 -0
  450. package/dist/sites-list-DKZWNHLM.js +2 -0
  451. package/dist/sites-list-DKZWNHLM.js.map +1 -0
  452. package/dist/sites-logs-O35RH2CT.js +2 -0
  453. package/dist/sites-logs-O35RH2CT.js.map +1 -0
  454. package/dist/sites-open-QE6RD5JB.js +2 -0
  455. package/dist/sites-open-QE6RD5JB.js.map +1 -0
  456. package/dist/sites-purge-KROBLAUK.js +2 -0
  457. package/dist/sites-purge-KROBLAUK.js.map +1 -0
  458. package/dist/sites-rename-YMZQ5C37.js +2 -0
  459. package/dist/sites-rename-YMZQ5C37.js.map +1 -0
  460. package/dist/sites-rollback-OQXR2V5A.js +2 -0
  461. package/dist/sites-rollback-OQXR2V5A.js.map +1 -0
  462. package/dist/sites-unpublish-VKEPVVOB.js +2 -0
  463. package/dist/sites-unpublish-VKEPVVOB.js.map +1 -0
  464. package/dist/sites-visibility-Q2WXPRFB.js +2 -0
  465. package/dist/sites-visibility-Q2WXPRFB.js.map +1 -0
  466. package/dist/storage-cat-Z42FIYKB.js +2 -0
  467. package/dist/storage-cat-Z42FIYKB.js.map +1 -0
  468. package/dist/storage-clean-E3ZU5JVL.js +2 -0
  469. package/dist/storage-clean-E3ZU5JVL.js.map +1 -0
  470. package/dist/storage-cp-IBCATT2F.js +2 -0
  471. package/dist/storage-cp-IBCATT2F.js.map +1 -0
  472. package/dist/storage-diff-FX4QVDH7.js +2 -0
  473. package/dist/storage-diff-FX4QVDH7.js.map +1 -0
  474. package/dist/storage-download-ULJS52LJ.js +2 -0
  475. package/dist/storage-download-ULJS52LJ.js.map +1 -0
  476. package/dist/storage-info-HRE7ORAJ.js +2 -0
  477. package/dist/storage-info-HRE7ORAJ.js.map +1 -0
  478. package/dist/storage-ls-Z555BXZI.js +2 -0
  479. package/dist/storage-ls-Z555BXZI.js.map +1 -0
  480. package/dist/storage-mkdir-PODYCT7K.js +2 -0
  481. package/dist/storage-mkdir-PODYCT7K.js.map +1 -0
  482. package/dist/storage-mv-KHOZW76V.js +2 -0
  483. package/dist/storage-mv-KHOZW76V.js.map +1 -0
  484. package/dist/storage-rm-XJME2PBW.js +2 -0
  485. package/dist/storage-rm-XJME2PBW.js.map +1 -0
  486. package/dist/storage-search-2M3QMF4E.js +2 -0
  487. package/dist/storage-search-2M3QMF4E.js.map +1 -0
  488. package/dist/storage-share-6DANEN4S.js +2 -0
  489. package/dist/storage-share-6DANEN4S.js.map +1 -0
  490. package/dist/storage-tag-QGPV7RX3.js +2 -0
  491. package/dist/storage-tag-QGPV7RX3.js.map +1 -0
  492. package/dist/storage-unshare-DJCEMHE3.js +2 -0
  493. package/dist/storage-unshare-DJCEMHE3.js.map +1 -0
  494. package/dist/storage-upload-UKQYASCU.js +2 -0
  495. package/dist/storage-upload-UKQYASCU.js.map +1 -0
  496. package/dist/time-list-32LQSLS3.js +2 -0
  497. package/dist/time-list-32LQSLS3.js.map +1 -0
  498. package/dist/time-lock-5RHHTCYW.js +2 -0
  499. package/dist/time-lock-5RHHTCYW.js.map +1 -0
  500. package/dist/time-proof-7F7MGTC7.js +2 -0
  501. package/dist/time-proof-7F7MGTC7.js.map +1 -0
  502. package/dist/time-status-OC5Y5DI5.js +2 -0
  503. package/dist/time-status-OC5Y5DI5.js.map +1 -0
  504. package/dist/time-unlock-23PW3U3H.js +2 -0
  505. package/dist/time-unlock-23PW3U3H.js.map +1 -0
  506. package/dist/update-VAIGKTAJ.js +2 -0
  507. package/dist/update-VAIGKTAJ.js.map +1 -0
  508. package/dist/upload-ME5JGLCS.js +2 -0
  509. package/dist/upload-ME5JGLCS.js.map +1 -0
  510. package/dist/usage-HWFCDFQQ.js +2 -0
  511. package/dist/usage-HWFCDFQQ.js.map +1 -0
  512. package/dist/version-TFYCABEC.js +2 -0
  513. package/dist/version-TFYCABEC.js.map +1 -0
  514. package/dist/whoami-A65QZCK3.js +2 -0
  515. package/dist/whoami-A65QZCK3.js.map +1 -0
  516. package/package.json +30 -46
  517. package/dist/auth-revoke-NEWOUC3A.js +0 -2
  518. package/dist/auth-revoke-NEWOUC3A.js.map +0 -1
  519. package/dist/auth-sessions-JOC7PEUT.js +0 -2
  520. package/dist/auth-sessions-JOC7PEUT.js.map +0 -1
  521. package/dist/auth-status-FUO72AA4.js +0 -2
  522. package/dist/auth-status-FUO72AA4.js.map +0 -1
  523. package/dist/chunk-23ZOP633.js +0 -2
  524. package/dist/chunk-23ZOP633.js.map +0 -1
  525. package/dist/chunk-2MWPBWUD.js +0 -3
  526. package/dist/chunk-2MWPBWUD.js.map +0 -1
  527. package/dist/chunk-3OYNZIJC.js +0 -2
  528. package/dist/chunk-3OYNZIJC.js.map +0 -1
  529. package/dist/chunk-3OZ4O4NE.js +0 -2
  530. package/dist/chunk-3OZ4O4NE.js.map +0 -1
  531. package/dist/chunk-3YAAQAPA.js +0 -2
  532. package/dist/chunk-3YAAQAPA.js.map +0 -1
  533. package/dist/chunk-4MW5J5VT.js +0 -2
  534. package/dist/chunk-4MW5J5VT.js.map +0 -1
  535. package/dist/chunk-4N7AHGIY.js +0 -2
  536. package/dist/chunk-4N7AHGIY.js.map +0 -1
  537. package/dist/chunk-4USNCNOY.js +0 -2
  538. package/dist/chunk-4USNCNOY.js.map +0 -1
  539. package/dist/chunk-4VJET5IM.js +0 -2
  540. package/dist/chunk-4VJET5IM.js.map +0 -1
  541. package/dist/chunk-52WHEL73.js +0 -2
  542. package/dist/chunk-52WHEL73.js.map +0 -1
  543. package/dist/chunk-54BNCBLD.js +0 -2
  544. package/dist/chunk-54BNCBLD.js.map +0 -1
  545. package/dist/chunk-54MZLE2R.js +0 -2
  546. package/dist/chunk-54MZLE2R.js.map +0 -1
  547. package/dist/chunk-57X5IOZ5.js +0 -2
  548. package/dist/chunk-57X5IOZ5.js.map +0 -1
  549. package/dist/chunk-5DXTXML2.js +0 -2
  550. package/dist/chunk-5DXTXML2.js.map +0 -1
  551. package/dist/chunk-5JPIAFB2.js +0 -2
  552. package/dist/chunk-5JPIAFB2.js.map +0 -1
  553. package/dist/chunk-5TMR6Y7L.js +0 -2
  554. package/dist/chunk-5TMR6Y7L.js.map +0 -1
  555. package/dist/chunk-5Z3A46OK.js +0 -2
  556. package/dist/chunk-5Z3A46OK.js.map +0 -1
  557. package/dist/chunk-6CK2UBNM.js +0 -2
  558. package/dist/chunk-6CK2UBNM.js.map +0 -1
  559. package/dist/chunk-6RI4Z6IY.js +0 -2
  560. package/dist/chunk-6RI4Z6IY.js.map +0 -1
  561. package/dist/chunk-6VDGYAGT.js +0 -2
  562. package/dist/chunk-6VDGYAGT.js.map +0 -1
  563. package/dist/chunk-74TMDLBA.js +0 -2
  564. package/dist/chunk-74TMDLBA.js.map +0 -1
  565. package/dist/chunk-7DPXZUZY.js +0 -2
  566. package/dist/chunk-7DPXZUZY.js.map +0 -1
  567. package/dist/chunk-7VVZS6US.js +0 -2
  568. package/dist/chunk-7VVZS6US.js.map +0 -1
  569. package/dist/chunk-A6WS3TOF.js +0 -2
  570. package/dist/chunk-A6WS3TOF.js.map +0 -1
  571. package/dist/chunk-ADOHZ74F.js +0 -2
  572. package/dist/chunk-ADOHZ74F.js.map +0 -1
  573. package/dist/chunk-BC3STHFS.js +0 -3
  574. package/dist/chunk-BC3STHFS.js.map +0 -1
  575. package/dist/chunk-BQGHHBGH.js +0 -2
  576. package/dist/chunk-BQGHHBGH.js.map +0 -1
  577. package/dist/chunk-CJYNYLZF.js +0 -2
  578. package/dist/chunk-CJYNYLZF.js.map +0 -1
  579. package/dist/chunk-CQAXMUFB.js +0 -3
  580. package/dist/chunk-CQAXMUFB.js.map +0 -1
  581. package/dist/chunk-DNCVZK7V.js +0 -44
  582. package/dist/chunk-DNCVZK7V.js.map +0 -1
  583. package/dist/chunk-E2QGSNDB.js +0 -2
  584. package/dist/chunk-E2QGSNDB.js.map +0 -1
  585. package/dist/chunk-EGVPYRIE.js +0 -2
  586. package/dist/chunk-EGVPYRIE.js.map +0 -1
  587. package/dist/chunk-EUJ26UNW.js +0 -2
  588. package/dist/chunk-EUJ26UNW.js.map +0 -1
  589. package/dist/chunk-EWFYKNK7.js +0 -2
  590. package/dist/chunk-EWFYKNK7.js.map +0 -1
  591. package/dist/chunk-F6IK5BFP.js +0 -2
  592. package/dist/chunk-F6IK5BFP.js.map +0 -1
  593. package/dist/chunk-F6Z2OAHW.js +0 -2
  594. package/dist/chunk-F6Z2OAHW.js.map +0 -1
  595. package/dist/chunk-FBSVAPQ6.js +0 -3
  596. package/dist/chunk-FBSVAPQ6.js.map +0 -1
  597. package/dist/chunk-FJZYWFE2.js +0 -2
  598. package/dist/chunk-FJZYWFE2.js.map +0 -1
  599. package/dist/chunk-FMJZFIA2.js +0 -3
  600. package/dist/chunk-FMJZFIA2.js.map +0 -1
  601. package/dist/chunk-GAP2HHZR.js +0 -2
  602. package/dist/chunk-GAP2HHZR.js.map +0 -1
  603. package/dist/chunk-GIADGCQF.js +0 -9
  604. package/dist/chunk-GIADGCQF.js.map +0 -1
  605. package/dist/chunk-H2WQ3ECX.js +0 -2
  606. package/dist/chunk-H2WQ3ECX.js.map +0 -1
  607. package/dist/chunk-HJWONDZI.js +0 -2
  608. package/dist/chunk-HJWONDZI.js.map +0 -1
  609. package/dist/chunk-HMBPN7ID.js +0 -2
  610. package/dist/chunk-HMBPN7ID.js.map +0 -1
  611. package/dist/chunk-HTDV42AD.js +0 -2
  612. package/dist/chunk-HTDV42AD.js.map +0 -1
  613. package/dist/chunk-IBYIEHIZ.js +0 -2
  614. package/dist/chunk-IBYIEHIZ.js.map +0 -1
  615. package/dist/chunk-IJ3JNWT6.js +0 -3
  616. package/dist/chunk-IJ3JNWT6.js.map +0 -1
  617. package/dist/chunk-JCZENRYY.js +0 -2
  618. package/dist/chunk-JCZENRYY.js.map +0 -1
  619. package/dist/chunk-JLC5WGYQ.js +0 -2
  620. package/dist/chunk-JLC5WGYQ.js.map +0 -1
  621. package/dist/chunk-JSYPWAKP.js +0 -2
  622. package/dist/chunk-JSYPWAKP.js.map +0 -1
  623. package/dist/chunk-JTIGFOL5.js +0 -2
  624. package/dist/chunk-JTIGFOL5.js.map +0 -1
  625. package/dist/chunk-JTMKKTKL.js +0 -2
  626. package/dist/chunk-JTMKKTKL.js.map +0 -1
  627. package/dist/chunk-KO2JCGEV.js +0 -2
  628. package/dist/chunk-KO2JCGEV.js.map +0 -1
  629. package/dist/chunk-KQMBXJUL.js +0 -2
  630. package/dist/chunk-KQMBXJUL.js.map +0 -1
  631. package/dist/chunk-LSYYM7EZ.js +0 -2
  632. package/dist/chunk-LSYYM7EZ.js.map +0 -1
  633. package/dist/chunk-LW4AQT2F.js +0 -2
  634. package/dist/chunk-LW4AQT2F.js.map +0 -1
  635. package/dist/chunk-MCJLSHUC.js +0 -2
  636. package/dist/chunk-MCJLSHUC.js.map +0 -1
  637. package/dist/chunk-MNSBJ6HR.js +0 -2
  638. package/dist/chunk-MNSBJ6HR.js.map +0 -1
  639. package/dist/chunk-N52M225G.js +0 -2
  640. package/dist/chunk-N52M225G.js.map +0 -1
  641. package/dist/chunk-NCD7PEEP.js +0 -2
  642. package/dist/chunk-NCD7PEEP.js.map +0 -1
  643. package/dist/chunk-NDB6KXYI.js +0 -3
  644. package/dist/chunk-NDB6KXYI.js.map +0 -1
  645. package/dist/chunk-NDG5MZ2E.js +0 -2
  646. package/dist/chunk-NDG5MZ2E.js.map +0 -1
  647. package/dist/chunk-NKEQVDH2.js +0 -2
  648. package/dist/chunk-NKEQVDH2.js.map +0 -1
  649. package/dist/chunk-NKPRDJXY.js +0 -2
  650. package/dist/chunk-NKPRDJXY.js.map +0 -1
  651. package/dist/chunk-NLUUDXEF.js +0 -3
  652. package/dist/chunk-NLUUDXEF.js.map +0 -1
  653. package/dist/chunk-NQAQKZPN.js +0 -14
  654. package/dist/chunk-NQAQKZPN.js.map +0 -1
  655. package/dist/chunk-O45EVN3E.js +0 -3
  656. package/dist/chunk-O45EVN3E.js.map +0 -1
  657. package/dist/chunk-OFJLZCDA.js +0 -2
  658. package/dist/chunk-OFJLZCDA.js.map +0 -1
  659. package/dist/chunk-OWUWBBTM.js +0 -2
  660. package/dist/chunk-OWUWBBTM.js.map +0 -1
  661. package/dist/chunk-P6UN7Y3F.js +0 -2
  662. package/dist/chunk-P6UN7Y3F.js.map +0 -1
  663. package/dist/chunk-PMRLA27Q.js +0 -2
  664. package/dist/chunk-PMRLA27Q.js.map +0 -1
  665. package/dist/chunk-Q25B7YZU.js +0 -2
  666. package/dist/chunk-Q25B7YZU.js.map +0 -1
  667. package/dist/chunk-RN4IKWVM.js +0 -2
  668. package/dist/chunk-RN4IKWVM.js.map +0 -1
  669. package/dist/chunk-RNCPG3CD.js +0 -2
  670. package/dist/chunk-RNCPG3CD.js.map +0 -1
  671. package/dist/chunk-SA36QQCL.js +0 -2
  672. package/dist/chunk-SA36QQCL.js.map +0 -1
  673. package/dist/chunk-SAE75K6H.js +0 -3
  674. package/dist/chunk-SAE75K6H.js.map +0 -1
  675. package/dist/chunk-SB7XE246.js +0 -2
  676. package/dist/chunk-SB7XE246.js.map +0 -1
  677. package/dist/chunk-T23UIAGN.js +0 -2
  678. package/dist/chunk-T23UIAGN.js.map +0 -1
  679. package/dist/chunk-TE7L3ICT.js +0 -2
  680. package/dist/chunk-TE7L3ICT.js.map +0 -1
  681. package/dist/chunk-UEZJYSCK.js +0 -2
  682. package/dist/chunk-UEZJYSCK.js.map +0 -1
  683. package/dist/chunk-UPZC233Y.js +0 -2
  684. package/dist/chunk-UPZC233Y.js.map +0 -1
  685. package/dist/chunk-VJNDCFHN.js +0 -2
  686. package/dist/chunk-VJNDCFHN.js.map +0 -1
  687. package/dist/chunk-W74CXS6L.js +0 -2
  688. package/dist/chunk-W74CXS6L.js.map +0 -1
  689. package/dist/chunk-WNB2L5T6.js +0 -2
  690. package/dist/chunk-WNB2L5T6.js.map +0 -1
  691. package/dist/chunk-WRKYGGYI.js +0 -2
  692. package/dist/chunk-WRKYGGYI.js.map +0 -1
  693. package/dist/chunk-XBUJYUM3.js +0 -2
  694. package/dist/chunk-XBUJYUM3.js.map +0 -1
  695. package/dist/chunk-XFLWSNBM.js +0 -2
  696. package/dist/chunk-XFLWSNBM.js.map +0 -1
  697. package/dist/chunk-XM4MU7IT.js +0 -2
  698. package/dist/chunk-XM4MU7IT.js.map +0 -1
  699. package/dist/chunk-XTV6ABCU.js +0 -2
  700. package/dist/chunk-XTV6ABCU.js.map +0 -1
  701. package/dist/chunk-XWVREJPG.js +0 -2
  702. package/dist/chunk-XWVREJPG.js.map +0 -1
  703. package/dist/chunk-Y4LKANAN.js +0 -2
  704. package/dist/chunk-Y4LKANAN.js.map +0 -1
  705. package/dist/chunk-YAN3ZX5N.js +0 -2
  706. package/dist/chunk-YAN3ZX5N.js.map +0 -1
  707. package/dist/chunk-YMVR2Y7T.js +0 -2
  708. package/dist/chunk-YMVR2Y7T.js.map +0 -1
  709. package/dist/chunk-YRA3NRLD.js +0 -2
  710. package/dist/chunk-YRA3NRLD.js.map +0 -1
  711. package/dist/chunk-YZWZNR6K.js +0 -6
  712. package/dist/chunk-YZWZNR6K.js.map +0 -1
  713. package/dist/chunk-Z6CJWDEP.js +0 -2
  714. package/dist/chunk-Z6CJWDEP.js.map +0 -1
  715. package/dist/chunk-ZBT5KBPZ.js +0 -2
  716. package/dist/chunk-ZBT5KBPZ.js.map +0 -1
  717. package/dist/chunk-ZJ7BKNXN.js +0 -3
  718. package/dist/chunk-ZJ7BKNXN.js.map +0 -1
  719. package/dist/chunk-ZP2A2JZ2.js +0 -2
  720. package/dist/chunk-ZP2A2JZ2.js.map +0 -1
  721. package/dist/chunk-ZX2YDSZP.js +0 -2
  722. package/dist/chunk-ZX2YDSZP.js.map +0 -1
  723. package/dist/client-LLUV4KQV.js +0 -2
  724. package/dist/client-LLUV4KQV.js.map +0 -1
  725. package/dist/collab-activity-HHMCCSM6.js +0 -2
  726. package/dist/collab-activity-HHMCCSM6.js.map +0 -1
  727. package/dist/collab-invite-CGTTTC5E.js +0 -2
  728. package/dist/collab-invite-CGTTTC5E.js.map +0 -1
  729. package/dist/collab-leave-XQ4TYSSV.js +0 -2
  730. package/dist/collab-leave-XQ4TYSSV.js.map +0 -1
  731. package/dist/collab-list-QHZLDEQY.js +0 -2
  732. package/dist/collab-list-QHZLDEQY.js.map +0 -1
  733. package/dist/collab-remove-WEOMPRY4.js +0 -2
  734. package/dist/collab-remove-WEOMPRY4.js.map +0 -1
  735. package/dist/collab-transfer-4UAT62Q6.js +0 -2
  736. package/dist/collab-transfer-4UAT62Q6.js.map +0 -1
  737. package/dist/completion-I2ARGA2U.js +0 -2
  738. package/dist/completion-I2ARGA2U.js.map +0 -1
  739. package/dist/config-B5FDVP6Q.js +0 -2
  740. package/dist/config-B5FDVP6Q.js.map +0 -1
  741. package/dist/config-delete-3GEWPGA3.js +0 -2
  742. package/dist/config-delete-3GEWPGA3.js.map +0 -1
  743. package/dist/config-get-4YKTVBHW.js +0 -2
  744. package/dist/config-get-4YKTVBHW.js.map +0 -1
  745. package/dist/config-reset-GCTQD5ZJ.js +0 -2
  746. package/dist/config-reset-GCTQD5ZJ.js.map +0 -1
  747. package/dist/config-set-VHEQM2RQ.js +0 -2
  748. package/dist/config-set-VHEQM2RQ.js.map +0 -1
  749. package/dist/doctor-ZYU3JBJF.js +0 -2
  750. package/dist/doctor-ZYU3JBJF.js.map +0 -1
  751. package/dist/feedback-N5EBJ566.js +0 -2
  752. package/dist/feedback-N5EBJ566.js.map +0 -1
  753. package/dist/forms-clear-RXJVD57O.js +0 -2
  754. package/dist/forms-clear-RXJVD57O.js.map +0 -1
  755. package/dist/forms-create-ADMTRYCJ.js +0 -2
  756. package/dist/forms-create-ADMTRYCJ.js.map +0 -1
  757. package/dist/forms-delete-RFXRQFH6.js +0 -2
  758. package/dist/forms-delete-RFXRQFH6.js.map +0 -1
  759. package/dist/forms-embed-CGKIBURZ.js +0 -2
  760. package/dist/forms-embed-CGKIBURZ.js.map +0 -1
  761. package/dist/forms-export-34JBMXAM.js +0 -2
  762. package/dist/forms-export-34JBMXAM.js.map +0 -1
  763. package/dist/forms-info-LQ5S4I24.js +0 -2
  764. package/dist/forms-info-LQ5S4I24.js.map +0 -1
  765. package/dist/forms-list-7JIQCCVQ.js +0 -2
  766. package/dist/forms-list-7JIQCCVQ.js.map +0 -1
  767. package/dist/forms-submissions-EMJNSTYT.js +0 -2
  768. package/dist/forms-submissions-EMJNSTYT.js.map +0 -1
  769. package/dist/login-I53VTO6L.js +0 -2
  770. package/dist/login-I53VTO6L.js.map +0 -1
  771. package/dist/logout-OJV7AZZO.js +0 -2
  772. package/dist/logout-OJV7AZZO.js.map +0 -1
  773. package/dist/logs-export-TX3TDMAL.js +0 -2
  774. package/dist/logs-export-TX3TDMAL.js.map +0 -1
  775. package/dist/logs-search-N6HWWLHZ.js +0 -2
  776. package/dist/logs-search-N6HWWLHZ.js.map +0 -1
  777. package/dist/logs-tail-SQ4XQW2A.js +0 -2
  778. package/dist/logs-tail-SQ4XQW2A.js.map +0 -1
  779. package/dist/monitor-D3LZU55W.js +0 -2
  780. package/dist/monitor-D3LZU55W.js.map +0 -1
  781. package/dist/monitor-automations-GFDMFRBU.js +0 -2
  782. package/dist/monitor-automations-GFDMFRBU.js.map +0 -1
  783. package/dist/monitor-pipelines-FRVVYKME.js +0 -2
  784. package/dist/monitor-pipelines-FRVVYKME.js.map +0 -1
  785. package/dist/monitor-sites-ATWU7HOA.js +0 -2
  786. package/dist/monitor-sites-ATWU7HOA.js.map +0 -1
  787. package/dist/monitor-storage-TGFNTOHB.js +0 -2
  788. package/dist/monitor-storage-TGFNTOHB.js.map +0 -1
  789. package/dist/scripts-cancel-R7NRYLVG.js +0 -2
  790. package/dist/scripts-cancel-R7NRYLVG.js.map +0 -1
  791. package/dist/scripts-delete-CFRV2B2G.js +0 -2
  792. package/dist/scripts-delete-CFRV2B2G.js.map +0 -1
  793. package/dist/scripts-disable-WQJAP6EW.js +0 -2
  794. package/dist/scripts-disable-WQJAP6EW.js.map +0 -1
  795. package/dist/scripts-enable-GJTRHEJG.js +0 -2
  796. package/dist/scripts-enable-GJTRHEJG.js.map +0 -1
  797. package/dist/scripts-init-XYDUEPHE.js +0 -2
  798. package/dist/scripts-init-XYDUEPHE.js.map +0 -1
  799. package/dist/scripts-list-I42J3TKN.js +0 -2
  800. package/dist/scripts-list-I42J3TKN.js.map +0 -1
  801. package/dist/scripts-logs-T2DBR47F.js +0 -2
  802. package/dist/scripts-logs-T2DBR47F.js.map +0 -1
  803. package/dist/scripts-run-A4V25Q5I.js +0 -2
  804. package/dist/scripts-run-A4V25Q5I.js.map +0 -1
  805. package/dist/scripts-status-5Q5Q76LC.js +0 -2
  806. package/dist/scripts-status-5Q5Q76LC.js.map +0 -1
  807. package/dist/scripts-validate-7525CAVN.js +0 -2
  808. package/dist/scripts-validate-7525CAVN.js.map +0 -1
  809. package/dist/scripts-watch-SB52KWBL.js +0 -2
  810. package/dist/scripts-watch-SB52KWBL.js.map +0 -1
  811. package/dist/sign-cancel-XKIUANS3.js +0 -2
  812. package/dist/sign-cancel-XKIUANS3.js.map +0 -1
  813. package/dist/sign-download-JLV45D2P.js +0 -2
  814. package/dist/sign-download-JLV45D2P.js.map +0 -1
  815. package/dist/sign-list-XW7YYI4K.js +0 -2
  816. package/dist/sign-list-XW7YYI4K.js.map +0 -1
  817. package/dist/sign-request-IDZFPWHL.js +0 -2
  818. package/dist/sign-request-IDZFPWHL.js.map +0 -1
  819. package/dist/sign-status-WMFCBO2Y.js +0 -2
  820. package/dist/sign-status-WMFCBO2Y.js.map +0 -1
  821. package/dist/sign-verify-MQDGGYPL.js +0 -2
  822. package/dist/sign-verify-MQDGGYPL.js.map +0 -1
  823. package/dist/sites-analytics-AU54PJC4.js +0 -2
  824. package/dist/sites-analytics-AU54PJC4.js.map +0 -1
  825. package/dist/sites-delete-ROETL6S7.js +0 -2
  826. package/dist/sites-delete-ROETL6S7.js.map +0 -1
  827. package/dist/sites-deploys-IKKCJFGI.js +0 -2
  828. package/dist/sites-deploys-IKKCJFGI.js.map +0 -1
  829. package/dist/sites-info-M7WDLFTW.js +0 -2
  830. package/dist/sites-info-M7WDLFTW.js.map +0 -1
  831. package/dist/sites-list-DQANT2J6.js +0 -2
  832. package/dist/sites-list-DQANT2J6.js.map +0 -1
  833. package/dist/sites-logs-NAOTBP7I.js +0 -2
  834. package/dist/sites-logs-NAOTBP7I.js.map +0 -1
  835. package/dist/sites-open-LYLLIXUE.js +0 -2
  836. package/dist/sites-open-LYLLIXUE.js.map +0 -1
  837. package/dist/sites-purge-TC26HZI3.js +0 -2
  838. package/dist/sites-purge-TC26HZI3.js.map +0 -1
  839. package/dist/sites-rename-UQNCLOFG.js +0 -2
  840. package/dist/sites-rename-UQNCLOFG.js.map +0 -1
  841. package/dist/sites-rollback-SQ5ITDAM.js +0 -2
  842. package/dist/sites-rollback-SQ5ITDAM.js.map +0 -1
  843. package/dist/sites-unpublish-UWBN253C.js +0 -2
  844. package/dist/sites-unpublish-UWBN253C.js.map +0 -1
  845. package/dist/sites-visibility-K4ECNWQ6.js +0 -2
  846. package/dist/sites-visibility-K4ECNWQ6.js.map +0 -1
  847. package/dist/storage-cat-FHO4FOCH.js +0 -2
  848. package/dist/storage-cat-FHO4FOCH.js.map +0 -1
  849. package/dist/storage-clean-PVEBOPCZ.js +0 -2
  850. package/dist/storage-clean-PVEBOPCZ.js.map +0 -1
  851. package/dist/storage-cp-432CZ24Q.js +0 -2
  852. package/dist/storage-cp-432CZ24Q.js.map +0 -1
  853. package/dist/storage-diff-3HUM7APQ.js +0 -2
  854. package/dist/storage-diff-3HUM7APQ.js.map +0 -1
  855. package/dist/storage-download-MEUZI6VE.js +0 -2
  856. package/dist/storage-download-MEUZI6VE.js.map +0 -1
  857. package/dist/storage-info-TXDUGMAZ.js +0 -2
  858. package/dist/storage-info-TXDUGMAZ.js.map +0 -1
  859. package/dist/storage-ls-UKF6RNFK.js +0 -2
  860. package/dist/storage-ls-UKF6RNFK.js.map +0 -1
  861. package/dist/storage-mkdir-DUCBLMFF.js +0 -2
  862. package/dist/storage-mkdir-DUCBLMFF.js.map +0 -1
  863. package/dist/storage-mv-TBFY3KYG.js +0 -2
  864. package/dist/storage-mv-TBFY3KYG.js.map +0 -1
  865. package/dist/storage-rm-5GL4JECX.js +0 -2
  866. package/dist/storage-rm-5GL4JECX.js.map +0 -1
  867. package/dist/storage-search-LOPWXFNT.js +0 -2
  868. package/dist/storage-search-LOPWXFNT.js.map +0 -1
  869. package/dist/storage-share-RAJJY3I5.js +0 -2
  870. package/dist/storage-share-RAJJY3I5.js.map +0 -1
  871. package/dist/storage-tag-WM33N7XA.js +0 -2
  872. package/dist/storage-tag-WM33N7XA.js.map +0 -1
  873. package/dist/storage-unshare-H5UBXLAT.js +0 -2
  874. package/dist/storage-unshare-H5UBXLAT.js.map +0 -1
  875. package/dist/storage-upload-XY2GN3VU.js +0 -2
  876. package/dist/storage-upload-XY2GN3VU.js.map +0 -1
  877. package/dist/time-list-WSRWMUGP.js +0 -2
  878. package/dist/time-list-WSRWMUGP.js.map +0 -1
  879. package/dist/time-lock-GOKLWQZ6.js +0 -2
  880. package/dist/time-lock-GOKLWQZ6.js.map +0 -1
  881. package/dist/time-proof-J7GT4M5G.js +0 -2
  882. package/dist/time-proof-J7GT4M5G.js.map +0 -1
  883. package/dist/time-status-SV3OA35J.js +0 -2
  884. package/dist/time-status-SV3OA35J.js.map +0 -1
  885. package/dist/time-unlock-6OF5VTV4.js +0 -2
  886. package/dist/time-unlock-6OF5VTV4.js.map +0 -1
  887. package/dist/update-M3RJEWWA.js +0 -2
  888. package/dist/update-M3RJEWWA.js.map +0 -1
  889. package/dist/version-QA4ZYKDW.js +0 -2
  890. package/dist/version-QA4ZYKDW.js.map +0 -1
  891. package/dist/whoami-BQMXFSCR.js +0 -2
  892. package/dist/whoami-BQMXFSCR.js.map +0 -1
package/README.md ADDED
@@ -0,0 +1,72 @@
1
+ # squidcloudctl
2
+
3
+ SquidCloud from your terminal — encrypted storage, shares, secrets, sites and a
4
+ FUSE/WebDAV filesystem. Zero-knowledge by default: keys stay on your machine.
5
+
6
+ ## Install
7
+
8
+ ```bash
9
+ npm install -g squidcloudctl
10
+ squidcloudctl # banner + help
11
+ squidcloudctl login # browser OAuth — one time
12
+ ```
13
+
14
+ Every authed command auto-opens the browser when no session exists. CI / scripts:
15
+ set `SQUIDCLOUD_API_KEY=cb_…` (create one in Settings → API Keys) or use
16
+ `login --code` for headless device flow.
17
+
18
+ ## Numbered files
19
+
20
+ Listings are cached locally, so every file gets a stable number:
21
+
22
+ ```bash
23
+ squidcloudctl files ls
24
+ # [ 1] q3-report.pdf 2.4MB 2026-08-23 9f3ac2e1-…
25
+ # [ 2] notes.md 12KB 2026-08-22 …
26
+
27
+ squidcloudctl files dl 1 # or: dl #1, an id prefix, or exact name
28
+ squidcloudctl storage rm 2
29
+ squidcloudctl share create 1 --burn --max-downloads 1 --expires 24h
30
+ ```
31
+
32
+ Ambiguous names open an arrow-key picker. Full ids always work.
33
+
34
+ ## File management
35
+
36
+ ```bash
37
+ files ls|up|dl upload mirrors the platform path: chunk → cluster PUTs → complete
38
+ storage ls/info/rm/mv/cp/search/mkdir
39
+ folders ls/mkdir
40
+ share create [--expires 7d] [--max-downloads n] [--view-only]
41
+ secrets list/create/delete/rename/verify # values may arrive on stdin
42
+ sites ls/open/unpublish/visibility
43
+ filereq ls/create/submissions/delete
44
+ health · whoami · auth status · logout
45
+ ```
46
+
47
+ Global: `--output json` on most commands.
48
+
49
+ ## SquidFS — mount storage as a disk
50
+
51
+ ```bash
52
+ squidcloudctl fs mount /mnt/squidfs # FUSE where available
53
+ squidcloudctl fs webdav # http://localhost:8099/ everywhere else
54
+ squidcloudctl fs status | fs stop
55
+ ```
56
+
57
+ The CLI provisions the official `squidfs` binary into `~/.squidcloud/bin/squidfs`
58
+ (builds from `~/squidfs` when present, else downloads the release), mints a
59
+ scoped API key, and hands it over securely. Files written through the mount use
60
+ the same res54 chunk envelopes as the web app — they decrypt in both places,
61
+ with correct MIME types so everything opens in your normal apps.
62
+
63
+ ## Environment
64
+
65
+ | Variable | Purpose |
66
+ |---|---|
67
+ | `SQUIDCLOUD_API_KEY` | Non-interactive auth (CI) |
68
+ | `SQUIDCLOUD_API_BASE` | Override API endpoint |
69
+ | `SQUIDFS_BIN` | Custom squidfs binary path |
70
+ | `SQUIDCLOUD_NONINTERACTIVE=1` | Disable browser auto-open |
71
+
72
+ Credentials live in `~/.squidcloud/credentials` (0600). MIT license.
@@ -0,0 +1,2 @@
1
+ export{a as default}from'./chunk-ADVALEDT.js';//# sourceMappingURL=auth-revoke-LTTGYMMO.js.map
2
+ //# sourceMappingURL=auth-revoke-LTTGYMMO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"auth-revoke-LTTGYMMO.js"}
@@ -0,0 +1,2 @@
1
+ export{a as default}from'./chunk-ZZSRCXWK.js';//# sourceMappingURL=auth-sessions-ZVZIABS6.js.map
2
+ //# sourceMappingURL=auth-sessions-ZVZIABS6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"auth-sessions-ZVZIABS6.js"}
@@ -0,0 +1,2 @@
1
+ export{a as default}from'./chunk-NJC4W2S6.js';//# sourceMappingURL=auth-status-X4HCOXHF.js.map
2
+ //# sourceMappingURL=auth-status-X4HCOXHF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"auth-status-X4HCOXHF.js"}
@@ -1,4 +1,190 @@
1
1
  #!/usr/bin/env node
2
- import {c}from'../chunk-3OYNZIJC.js';import'../chunk-YZWZNR6K.js';import'../chunk-52WHEL73.js';import {p as p$1,t,A}from'../chunk-BC3STHFS.js';import {a}from'../chunk-CFZZRV3Z.js';import {a as a$1}from'../chunk-IJ3JNWT6.js';import {f,j}from'../chunk-BQGHHBGH.js';import'../chunk-6VDGYAGT.js';import {readFileSync}from'fs';import {dirname,resolve}from'path';import {fileURLToPath}from'url';import {Command}from'commander';var M=dirname(fileURLToPath(import.meta.url)),C=JSON.parse(readFileSync(resolve(M,"../../package.json"),"utf-8")),p=new Command;p.name("squidcloud").description(C.description).version(C.version,"-v, --version","Display CLI version").option("--output <format>","Output format (json)","text").hook("preAction",async s=>{s.optsWithGlobals().output==="json"&&p$1(true),a()&&p$1(false);});async function x(s){if(!s.requiresAuth)return;let n=await f();n||(t("Not authenticated. Run `squidcloud login` first."),process.exit(1)),j(n)&&(await a$1()||(t("Session expired. Please run `squidcloud login` again."),process.exit(1)));}function T(s){let n=new Map;for(let e of s){let m=e.name.split(" ");if(m.length===1)n.set(e.name,new Map);else if(m.length===2){let[o,t]=m;n.has(o)||n.set(o,new Map),n.get(o).set(t,e);}}for(let[e,m]of n)if(m.size===0){let o=s.find(r=>r.name===e),t$1=p.command(e);t$1.description(o.description),t$1.arguments("[args...]"),o.aliases.length>0&&t$1.aliases(o.aliases),t$1.action(async(...r)=>{try{await x(o);let a=await o.handler();if(typeof a.default=="function"){let i=r.slice(0,-2);i.length===1&&Array.isArray(i[0])&&(i=i[0]),await a.default(...i);}A(o.name,process.argv.slice(2).join(" "),0);}catch(a){let i=a instanceof Error?a.message:String(a);t(i),A(o.name,process.argv.slice(2).join(" "),1),process.exit(1);}});}else {let o=p.command(e);o.description(`SquidCloud ${e} commands`);for(let[t$1,r]of m){let a=`${e} ${t$1}`,i=o.command(t$1);i.description(r.description),i.arguments("[args...]"),r.aliases.length>0&&i.aliases(r.aliases.map(u=>u.replace(`${e} `,""))),i.action(async(...u)=>{try{await x(r);let l=await r.handler();if(typeof l.default=="function"){let c=u.slice(0,-2);c.length===1&&Array.isArray(c[0])&&(c=c[0]),await l.default(...c);}A(a,process.argv.slice(2).join(" "),0);}catch(l){let c=l instanceof Error?l.message:String(l);t(c),A(a,process.argv.slice(2).join(" "),1),process.exit(1);}});}}}async function b(){let s=process.argv.slice(2);if(s.includes("--version")||s.includes("-v")){let{showVersion:e}=await import('../version-QA4ZYKDW.js');await e();return}if(s.length===0&&!s.includes("--help")&&!s.includes("-h")){let{showVersion:e}=await import('../version-QA4ZYKDW.js');await e(),console.log(""),p.outputHelp();return}let n=c();T(n),p.addHelpText("beforeAll",`
3
- `),await p.parseAsync(process.argv);}b().catch(s=>{t(s instanceof Error?s.message:String(s)),process.exit(1);});//# sourceMappingURL=squidcloud.js.map
4
- //# sourceMappingURL=squidcloud.js.map
2
+ import { readFileSync } from 'node:fs';
3
+ import { dirname, resolve } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { Command } from 'commander';
6
+ import chalk from 'chalk';
7
+ import { logError, writeAudit } from '../lib/output/index.js';
8
+ import { isCI } from '../lib/utils/ci-detect.js';
9
+ import { getAllCommands } from '../registry/index.js';
10
+ import { loadOAuthSession, clearOAuthSession, authToken } from '../lib/auth/oauth-session.js';
11
+ const __dirname = dirname(fileURLToPath(import.meta.url));
12
+ const pkg = JSON.parse(readFileSync(resolve(__dirname, '../../package.json'), 'utf-8'));
13
+ const BIN = 'squidcloudctl';
14
+ const program = new Command();
15
+ /** Auto-login: an authed command without a session launches OAuth inline.
16
+ CI / pipes fall back to SQUIDCLOUD_API_KEY. */
17
+ async function ensureAuth(cmd) {
18
+ await loadOAuthSession();
19
+ if (!cmd.requiresAuth)
20
+ return;
21
+ if (!authToken) {
22
+ if (process.stdin.isTTY && !isCI() && process.env.SQUIDCLOUD_NONINTERACTIVE !== '1') {
23
+ console.log(chalk.dim(`\n no session found — opening browser to authorize ${BIN}…\n`));
24
+ const { default: loginOAuth } = await import('../commands/auth/login-oauth.js');
25
+ await loginOAuth();
26
+ await loadOAuthSession();
27
+ if (!authToken)
28
+ throw new Error('Authorization did not complete.');
29
+ }
30
+ else {
31
+ throw new Error(`Not authenticated. Run \`${BIN} login\`, or set SQUIDCLOUD_API_KEY for non-interactive use.`);
32
+ }
33
+ }
34
+ const { tokenExpiresAt } = await import('../lib/auth/oauth-session.js');
35
+ if (tokenExpiresAt && Date.now() >= tokenExpiresAt) {
36
+ if (process.stdin.isTTY && !isCI() && process.env.SQUIDCLOUD_NONINTERACTIVE !== '1') {
37
+ console.log(chalk.dim('\n session expired — re-authorizing…\n'));
38
+ const { default: loginOAuth } = await import('../commands/auth/login-oauth.js');
39
+ try {
40
+ await loginOAuth();
41
+ await loadOAuthSession();
42
+ if (!authToken)
43
+ throw new Error('re-auth failed');
44
+ return;
45
+ }
46
+ catch { /* fall through */ }
47
+ }
48
+ await clearOAuthSession();
49
+ throw new Error(`Session expired. Run \`${BIN} login\` again.`);
50
+ }
51
+ }
52
+ async function dispatch(cmd, fullName, args) {
53
+ try {
54
+ await ensureAuth(cmd);
55
+ const mod = await cmd.handler();
56
+ if (typeof mod.default === 'function') {
57
+ // Commander signature: (...positionals, optionsObject, commandObject)
58
+ const opts = (args.length >= 2 && typeof args[args.length - 2] === 'object'
59
+ ? args[args.length - 2]
60
+ : {});
61
+ let positionals = args.slice(0, -2);
62
+ if (positionals.length === 1 && Array.isArray(positionals[0]))
63
+ positionals = positionals[0];
64
+ await mod.default(...positionals, opts);
65
+ }
66
+ writeAudit(fullName, process.argv.slice(2).join(' '), 0);
67
+ }
68
+ catch (err) {
69
+ let message = err instanceof Error ? err.message : String(err);
70
+ if (/credit/i.test(message)) {
71
+ message += '\n your plan\u2019s daily API allowance is exhausted \u2014 see squidcloud.vercel.app/pricing';
72
+ }
73
+ logError(message);
74
+ writeAudit(fullName, process.argv.slice(2).join(' '), 1);
75
+ process.exit(1);
76
+ }
77
+ }
78
+ /** Per-command flags — parsed by commander, handed to handlers as the
79
+ trailing options object. */
80
+ const OPTIONS = {
81
+ 'login': [['--code', 'Authenticate using device code flow']],
82
+ 'files ls': [['--refresh', 'Bypass the local listing cache']],
83
+ 'files up': [['--folder <ref>', 'Target folder id or name'], ['--quiet', 'Suppress progress output']],
84
+ 'files dl': [['-o, --out <path>', 'Output path']],
85
+ 'storage ls': [['--folder <ref>', 'List inside a folder'], ['--search <q>', 'Filter by name']],
86
+ 'share create': [
87
+ ['--expires <dur>', 'Expiry like 24h / 7d / 30d'],
88
+ ['--max-downloads <n>', 'Download limit'],
89
+ ['--view-only', 'Disable downloads'],
90
+ ],
91
+ 'filereq create': [
92
+ ['--max-files <n>', 'Maximum files per submission'],
93
+ ['--expires <dur>', 'Expiry like 24h / 7d'],
94
+ ['--description <text>', 'Shown to uploaders'],
95
+ ],
96
+ 'sites visibility': [['--public', 'Make public'], ['--private', 'Make private']],
97
+ 'host api': [
98
+ ['--port <n>', 'API port (default 8065)'],
99
+ ['--redis-port <n>', 'MicroRedis port (default port+1)'],
100
+ ['--profile <p>', 'standard | hardened | paranoid'],
101
+ ['--mode <m>', 'open (loopback, no key) | keyed'],
102
+ ['--key', 'Mint an extra local key at boot (repeatable)'],
103
+ ['--hmac-secret <s>', 'Require HMAC request signing'],
104
+ ['--rps <n>', 'Override per-key requests/second'],
105
+ ['--max-body <size>', 'Body cap like 512mb / 64mb'],
106
+ ['--allow-ips <ips>', 'Comma-separated allowlist'],
107
+ ],
108
+ 'fs mount': [
109
+ ['--mount <path>', 'FUSE mount point'],
110
+ ['--webdav', 'Force WebDAV mode'],
111
+ ['--port <n>', 'WebDAV port (default 8099)'],
112
+ ],
113
+ };
114
+ function register() {
115
+ const singles = new Map();
116
+ const groups = new Map();
117
+ for (const cmd of getAllCommands()) {
118
+ const parts = cmd.name.split(' ');
119
+ if (parts.length === 1) {
120
+ if (!singles.has(cmd.name))
121
+ singles.set(cmd.name, cmd);
122
+ }
123
+ else if (parts.length === 2) {
124
+ const [parent, child] = parts;
125
+ if (!groups.has(parent))
126
+ groups.set(parent, new Map());
127
+ groups.get(parent).set(child, cmd);
128
+ }
129
+ }
130
+ // Single-purpose top-level commands.
131
+ for (const [name, cmd] of singles) {
132
+ if (groups.has(name))
133
+ continue;
134
+ const c = program.command(name);
135
+ c.description(cmd.description);
136
+ c.arguments('[args...]');
137
+ for (const alias of cmd.aliases)
138
+ c.alias(alias.replace(`${name} `, ''));
139
+ for (const [flag, desc] of OPTIONS[name] ?? [])
140
+ c.option(flag, desc);
141
+ c.action(async (...args) => dispatch(cmd, name, args));
142
+ }
143
+ // Two-part commands: `files ls` etc.
144
+ for (const [parentName, children] of groups) {
145
+ const parent = program.command(parentName);
146
+ parent.description(`SquidCloud ${parentName} commands`);
147
+ for (const [childName, cmd] of children) {
148
+ const c = parent.command(childName);
149
+ c.description(cmd.description);
150
+ c.arguments('[args...]');
151
+ for (const alias of cmd.aliases.map((a) => a.replace(`${parentName} `, ''))) {
152
+ if (alias && alias !== childName && !alias.startsWith('-'))
153
+ c.alias(alias);
154
+ }
155
+ for (const [flag, desc] of OPTIONS[`${parentName} ${childName}`] ?? [])
156
+ c.option(flag, desc);
157
+ c.action(async (...args) => dispatch(cmd, `${parentName} ${childName}`, args));
158
+ }
159
+ // Bare parent invocation (e.g. `squidcloudctl login`) → default child.
160
+ const bare = singles.get(parentName);
161
+ if (bare) {
162
+ parent.action(async (...args) => {
163
+ const opts = (args[args.length - 1] ?? {});
164
+ const target = parentName === 'login' && opts.code ? children.get('device') : bare;
165
+ await dispatch(target, target.name, args);
166
+ });
167
+ }
168
+ }
169
+ }
170
+ async function main() {
171
+ const args = process.argv.slice(2);
172
+ if (args.includes('--version') || args.includes('-v')) {
173
+ const { showVersion } = await import('../commands/util/version.js');
174
+ await showVersion();
175
+ return;
176
+ }
177
+ if (args.length === 0) {
178
+ const { showVersion } = await import('../commands/util/version.js');
179
+ await showVersion();
180
+ register();
181
+ program.outputHelp();
182
+ return;
183
+ }
184
+ register();
185
+ await program.parseAsync(process.argv);
186
+ }
187
+ main().catch((err) => {
188
+ logError(err instanceof Error ? err.message : String(err));
189
+ process.exit(1);
190
+ });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bin/squidcloud.ts"],"names":["__dirname","dirname","fileURLToPath","pkg","readFileSync","resolve","program","Command","thisCommand","setJsonMode","isCI","ensureAuth","descriptor","session","loadSession","logError","shouldRefreshToken","refreshAccessToken","buildCommandTree","commands","tree","cmd","parts","parent","child","name","children","c","args","mod","actionArgs","writeAudit","err","message","parentCmd","childName","childCmd","fullName","a","main","showVersion","getAllCommands"],"mappings":"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","file":"squidcloud.js","sourcesContent":["#!/usr/bin/env node\nimport { readFileSync } from 'node:fs'\nimport { dirname, resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { Command } from 'commander'\nimport { setJsonMode, logError, writeAudit } from '../lib/output/index.js'\nimport { isCI } from '../lib/utils/ci-detect.js'\nimport { getAllCommands, CommandDescriptor } from '../registry/index.js'\nimport { loadSession, shouldRefreshToken } from '../lib/auth/session.js'\nimport { refreshAccessToken } from '../lib/auth/refresh.js'\n\nconst __dirname = dirname(fileURLToPath(import.meta.url))\nconst pkg = JSON.parse(readFileSync(resolve(__dirname, '../../package.json'), 'utf-8')) as { version: string; name: string; description: string }\n\nconst program = new Command()\n\nprogram\n .name('squidcloud')\n .description(pkg.description)\n .version(pkg.version, '-v, --version', 'Display CLI version')\n .option('--output <format>', 'Output format (json)', 'text')\n .hook('preAction', async (thisCommand) => {\n const opts = thisCommand.optsWithGlobals()\n if (opts.output === 'json') {\n setJsonMode(true)\n }\n if (isCI()) {\n setJsonMode(false)\n }\n })\n\nasync function ensureAuth(descriptor: CommandDescriptor): Promise<void> {\n if (!descriptor.requiresAuth) return\n const session = await loadSession()\n if (!session) {\n logError('Not authenticated. Run `squidcloud login` first.')\n process.exit(1)\n }\n if (shouldRefreshToken(session)) {\n const refreshed = await refreshAccessToken()\n if (!refreshed) {\n logError('Session expired. Please run `squidcloud login` again.')\n process.exit(1)\n }\n }\n}\n\nfunction buildCommandTree(commands: CommandDescriptor[]): void {\n const tree = new Map<string, Map<string, CommandDescriptor>>()\n\n for (const cmd of commands) {\n const parts = cmd.name.split(' ')\n if (parts.length === 1) {\n tree.set(cmd.name, new Map())\n } else if (parts.length === 2) {\n const [parent, child] = parts\n if (!tree.has(parent!)) {\n tree.set(parent!, new Map())\n }\n tree.get(parent!)!.set(child!, cmd)\n }\n }\n\n for (const [name, children] of tree) {\n if (children.size === 0) {\n const cmd = commands.find(c => c.name === name)!\n const c = program.command(name)\n c.description(cmd.description)\n c.arguments('[args...]')\n if (cmd.aliases.length > 0) {\n c.aliases(cmd.aliases)\n }\n c.action(async (...args: unknown[]) => {\n try {\n await ensureAuth(cmd)\n const mod = await cmd.handler()\n if (typeof mod.default === 'function') {\n let actionArgs = args.slice(0, -2)\n if (actionArgs.length === 1 && Array.isArray(actionArgs[0])) {\n actionArgs = actionArgs[0]\n }\n await mod.default(...actionArgs)\n }\n writeAudit(cmd.name, process.argv.slice(2).join(' '), 0)\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n logError(message)\n writeAudit(cmd.name, process.argv.slice(2).join(' '), 1)\n process.exit(1)\n }\n })\n } else {\n const parentCmd = program.command(name)\n parentCmd.description(`SquidCloud ${name} commands`)\n for (const [childName, childCmd] of children) {\n const fullName = `${name} ${childName}`\n const c = parentCmd.command(childName)\n c.description(childCmd.description)\n c.arguments('[args...]')\n if (childCmd.aliases.length > 0) {\n c.aliases(childCmd.aliases.map(a => a.replace(`${name} `, '')))\n }\n c.action(async (...args: unknown[]) => {\n try {\n await ensureAuth(childCmd)\n const mod = await childCmd.handler()\n if (typeof mod.default === 'function') {\n let actionArgs = args.slice(0, -2)\n if (actionArgs.length === 1 && Array.isArray(actionArgs[0])) {\n actionArgs = actionArgs[0]\n }\n await mod.default(...actionArgs)\n }\n writeAudit(fullName, process.argv.slice(2).join(' '), 0)\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n logError(message)\n writeAudit(fullName, process.argv.slice(2).join(' '), 1)\n process.exit(1)\n }\n })\n }\n }\n }\n}\n\nasync function main(): Promise<void> {\n const args = process.argv.slice(2)\n\n if (args.includes('--version') || args.includes('-v')) {\n const { showVersion } = await import('../commands/util/version.js')\n await showVersion()\n return\n }\n\n if (args.length === 0 && !args.includes('--help') && !args.includes('-h')) {\n const { showVersion } = await import('../commands/util/version.js')\n await showVersion()\n console.log('')\n program.outputHelp()\n return\n }\n\n const commands = getAllCommands()\n buildCommandTree(commands)\n\n program.addHelpText('beforeAll', '\\n')\n\n await program.parseAsync(process.argv)\n}\n\nmain().catch((err) => {\n logError(err instanceof Error ? err.message : String(err))\n process.exit(1)\n})\n"]}
1
+ {"version":3,"sources":["../../src/bin/squidcloud.ts"],"names":["__dirname","dirname","fileURLToPath","pkg","readFileSync","resolve","program","Command","thisCommand","setJsonMode","isCI","ensureAuth","descriptor","loadOAuthSession","authToken","logError","tokenExpiresAt","clearOAuthSession","buildCommandTree","commands","tree","cmd","parts","parent","child","name","children","c","args","mod","actionArgs","writeAudit","err","message","parentCmd","childName","childCmd","fullName","a","bareCmd","target","main","showVersion","getAllCommands"],"mappings":"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","file":"squidcloud.js","sourcesContent":["#!/usr/bin/env node\nimport { readFileSync } from 'node:fs'\nimport { dirname, resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { Command } from 'commander'\nimport { setJsonMode, logError, writeAudit } from '../lib/output/index.js'\nimport { isCI } from '../lib/utils/ci-detect.js'\nimport { getAllCommands, CommandDescriptor } from '../registry/index.js'\nimport { loadOAuthSession, clearOAuthSession, authToken } from '../lib/auth/oauth-session.js'\n\nconst __dirname = dirname(fileURLToPath(import.meta.url))\nconst pkg = JSON.parse(readFileSync(resolve(__dirname, '../../package.json'), 'utf-8')) as { version: string; name: string; description: string }\n\nconst program = new Command()\n\nprogram\n .name('squidcloud')\n .description(pkg.description)\n .version(pkg.version, '-v, --version', 'Display CLI version')\n .option('--output <format>', 'Output format (json)', 'text')\n .hook('preAction', async (thisCommand) => {\n const opts = thisCommand.optsWithGlobals()\n if (opts.output === 'json') {\n setJsonMode(true)\n }\n if (isCI()) {\n setJsonMode(false)\n }\n })\n\nasync function ensureAuth(descriptor: CommandDescriptor): Promise<void> {\n // Load OAuth session from credentials file first (auto-login)\n await loadOAuthSession()\n\n if (!descriptor.requiresAuth) return\n if (!authToken) {\n logError('Not authenticated. Run `squidcloud login` first.')\n process.exit(1)\n }\n\n const { tokenExpiresAt } = await import('../lib/auth/oauth-session.js')\n if (tokenExpiresAt && Date.now() >= tokenExpiresAt) {\n await clearOAuthSession()\n logError('Session expired. Please run `squidcloud login` again.')\n process.exit(1)\n }\n}\n\nfunction buildCommandTree(commands: CommandDescriptor[]): void {\n const tree = new Map<string, Map<string, CommandDescriptor>>()\n\n for (const cmd of commands) {\n const parts = cmd.name.split(' ')\n if (parts.length === 1) {\n tree.set(cmd.name, new Map())\n } else if (parts.length === 2) {\n const [parent, child] = parts\n if (!tree.has(parent!)) {\n tree.set(parent!, new Map())\n }\n tree.get(parent!)!.set(child!, cmd)\n }\n }\n\n for (const [name, children] of tree) {\n if (children.size === 0) {\n const cmd = commands.find(c => c.name === name)!\n const c = program.command(name)\n c.description(cmd.description)\n c.arguments('[args...]')\n if (cmd.aliases.length > 0) {\n c.aliases(cmd.aliases)\n }\n c.action(async (...args: unknown[]) => {\n try {\n await ensureAuth(cmd)\n const mod = await cmd.handler()\n if (typeof mod.default === 'function') {\n let actionArgs = args.slice(0, -2)\n if (actionArgs.length === 1 && Array.isArray(actionArgs[0])) {\n actionArgs = actionArgs[0]\n }\n await mod.default(...actionArgs)\n }\n writeAudit(cmd.name, process.argv.slice(2).join(' '), 0)\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n logError(message)\n writeAudit(cmd.name, process.argv.slice(2).join(' '), 1)\n process.exit(1)\n }\n })\n } else {\n const parentCmd = program.command(name)\n parentCmd.description(`SquidCloud ${name} commands`)\n if (name === 'login') {\n parentCmd.option('--code', 'Authenticate using device code flow')\n }\n for (const [childName, childCmd] of children) {\n const fullName = `${name} ${childName}`\n const c = parentCmd.command(childName)\n c.description(childCmd.description)\n c.arguments('[args...]')\n if (childCmd.aliases.length > 0) {\n c.aliases(childCmd.aliases.map(a => a.replace(`${name} `, '')))\n }\n c.action(async (...args: unknown[]) => {\n try {\n await ensureAuth(childCmd)\n const mod = await childCmd.handler()\n if (typeof mod.default === 'function') {\n let actionArgs = args.slice(0, -2)\n if (actionArgs.length === 1 && Array.isArray(actionArgs[0])) {\n actionArgs = actionArgs[0]\n }\n await mod.default(...actionArgs)\n }\n writeAudit(fullName, process.argv.slice(2).join(' '), 0)\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n logError(message)\n writeAudit(fullName, process.argv.slice(2).join(' '), 1)\n process.exit(1)\n }\n })\n }\n const bareCmd = commands.find(c => c.name === name)\n if (bareCmd) {\n parentCmd.action(async (...args: unknown[]) => {\n const opts = (args[args.length - 2] ?? {}) as Record<string, unknown>\n const target = opts.code ? children.get('device')! : bareCmd\n try {\n await ensureAuth(target)\n const mod = await target.handler()\n if (typeof mod.default === 'function') {\n let actionArgs = args.slice(0, -2)\n if (actionArgs.length === 1 && Array.isArray(actionArgs[0])) {\n actionArgs = actionArgs[0]\n }\n await mod.default(...actionArgs)\n }\n writeAudit(target.name, process.argv.slice(2).join(' '), 0)\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n logError(message)\n writeAudit(target.name, process.argv.slice(2).join(' '), 1)\n process.exit(1)\n }\n })\n }\n }\n }\n}\n\nasync function main(): Promise<void> {\n const args = process.argv.slice(2)\n\n if (args.includes('--version') || args.includes('-v')) {\n const { showVersion } = await import('../commands/util/version.js')\n await showVersion()\n return\n }\n\n if (args.length === 0 && !args.includes('--help') && !args.includes('-h')) {\n const { showVersion } = await import('../commands/util/version.js')\n await showVersion()\n console.log('')\n program.outputHelp()\n return\n }\n\n const commands = getAllCommands()\n buildCommandTree(commands)\n\n program.addHelpText('beforeAll', '\\n')\n\n await program.parseAsync(process.argv)\n}\n\nmain().catch((err) => {\n logError(err instanceof Error ? err.message : String(err))\n process.exit(1)\n})\n"]}
@@ -0,0 +1,6 @@
1
+ import {q,y}from'./chunk-UO2SSIIZ.js';import s from'chalk';import b from'ora';import I from'cli-table3';var R="#0A0E1A",f="#4FC3F7",d="#7C4DFF",g="#FFFFFF",A=[" \u2554\u2550\u2550\u2550\u2557 "," \u2554\u255D\u2588 \u2588\u255A\u2557 "," \u2551 \u25C9 \u2551 "," \u255A\u2557 \u2554\u255D "," \u2551 \u2566 \u2551 "," \u2554\u255D \u2551 \u255A\u2557 "," \u2551 \u2551 \u2551 "," \u255A\u2557 \u2551 \u2554\u255D "," \u255A\u2550\u2550\u2550\u255D "];function u(){return A.map((o,r)=>{let n=o.replace(/█/g,s.hex(d)("\u2588")).replace(/◉/g,s.hex(f)("\u25C9")).replace(/[╔╗╚╝═║╦]/g,t=>s.hex(g)(t));return s.bgHex(R)(n)}).join(`
2
+ `)}function S(){let e=u(),o=s.hex(f)("SQUID")+s.hex(d)("CLOUD"),r=s.hex(g).dim("static sites \xB7 storage \xB7 pipelines");return `${e}
3
+
4
+ ${o} ${r}
5
+ `}var C={dots:{spinner:"dots"},moon:{spinner:"moon"},arc:{spinner:"arc"},bounce:{spinner:"bounce"},shark:{spinner:{interval:120,frames:["\u25B8 ","\u25B8\u25B8 ","\u25B8\u25B8\u25B8 ","\u25B8\u25B8\u25B8\u25B8"," \u25B8\u25B8\u25B8\u25B8"," \u25B8\u25B8\u25B8"," \u25B8\u25B8"," \u25B8"]}}},$=h;function h(e,o="shark"){if(i()||q()){let r={...b({text:e,spinner:"dots"}),start:()=>(i()||console.log(e),r),stop:()=>(i()||console.log(),r),succeed:()=>(i()||console.log(`${s.green("\u2713")} ${e}`),r),fail:()=>(i()||console.log(`${s.red("\u2717")} ${e}`),r),warn:()=>(i()||console.log(`${s.hex("#FF9800")("\u26A0")} ${e}`),r),info:()=>(i()||console.log(`${s.hex("#4FC3F7")("\u2139")} ${e}`),r),stopAndPersist:()=>(i()||console.log(`${e}`),r),clear:()=>r,render:()=>r,frame:()=>" ",text:e,isSpinning:false,indent:0,color:"cyan",prefixText:"",spinner:{interval:100,frames:[""]}};return r}return b({text:e,...C[o]}).start()}function m(e,o={}){return new I({head:e.map(r=>s.bold(r)),colAligns:o.colAligns,style:{head:[],border:[],"padding-left":1,"padding-right":1,...o.style},chars:{top:"\u2500","top-mid":"\u252C","top-left":"\u250C","top-right":"\u2510",bottom:"\u2500","bottom-mid":"\u2534","bottom-left":"\u2514","bottom-right":"\u2518",left:"\u2502","left-mid":"\u251C",mid:"\u2500","mid-mid":"\u253C",right:"\u2502","right-mid":"\u2524",middle:"\u2502"},...o.compact?{chars:{top:"","top-mid":"","top-left":"","top-right":"",bottom:"","bottom-mid":"","bottom-left":"","bottom-right":"",left:"","left-mid":"",mid:"","mid-mid":"",right:"","right-mid":"",middle:""},style:{"padding-left":0,"padding-right":2}}:{}})}function F(e,o){if(q())return y(e),"";let r=m(o.map(n=>n.label),{colAligns:o.map(n=>n.align??"left")});for(let n of e)r.push(o.map(t=>{let l=n[t.key];return t.format?t.format(l):String(l??"")}));return r.toString()}function x(e,o){if(q())return y(e),"";let r=m(o.map(n=>n.label),{colAligns:o.map(n=>n.align??"left"),compact:true});for(let n of e)r.push(o.map(t=>{let l=n[t.key];return t.format?t.format(l):String(l??"")}));return r.toString()}function i(){return !!(process.env.CI||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI)}export{u as a,S as b,$ as c,h as d,m as e,F as f,x as g,i as h};//# sourceMappingURL=chunk-2RAH2YAY.js.map
6
+ //# sourceMappingURL=chunk-2RAH2YAY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/output/mascot.ts","../src/lib/output/spinner.ts","../src/lib/output/table.ts","../src/lib/output/index.ts"],"names":["NAVY","BLUE","VIOLET","WHITE","SQUID_ART","renderMascot","line","i","colored","chalk","m","renderBrandedMascot","mascot","brand","tagline","SPINNER_FRAMES","spinner","createSpinner","text","style","isCI","isJsonMode","silent","ora","createTable","headers","options","Table","h","renderTable","data","columns","logJSON","table","c","row","val","renderCompactTable"],"mappings":"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","file":"chunk-2RAH2YAY.js","sourcesContent":["import chalk from 'chalk'\n\nconst NAVY = '#0A0E1A'\nconst BLUE = '#4FC3F7'\nconst VIOLET = '#7C4DFF'\nconst WHITE = '#FFFFFF'\n\nconst SQUID_ART = [\n ' ╔═══╗ ',\n ' ╔╝█ █╚╗ ',\n ' ║ ◉ ║ ',\n ' ╚╗ ╔╝ ',\n ' ║ ╦ ║ ',\n ' ╔╝ ║ ╚╗ ',\n ' ║ ║ ║ ',\n ' ╚╗ ║ ╔╝ ',\n ' ╚═══╝ ',\n]\n\nexport function renderMascot(): string {\n const lines = SQUID_ART.map((line, i) => {\n const colored = line.replace(/█/g, chalk.hex(VIOLET)('█'))\n .replace(/◉/g, chalk.hex(BLUE)('◉'))\n .replace(/[╔╗╚╝═║╦]/g, (m) => chalk.hex(WHITE)(m))\n return chalk.bgHex(NAVY)(colored)\n })\n return lines.join('\\n')\n}\n\nexport function renderBrandedMascot(): string {\n const mascot = renderMascot()\n const brand = chalk.hex(BLUE)('SQUID') + chalk.hex(VIOLET)('CLOUD')\n const tagline = chalk.hex(WHITE).dim('static sites · storage · pipelines')\n return `${mascot}\\n\\n ${brand} ${tagline}\\n`\n}\n","import ora, { Ora } from 'ora'\nimport chalk from 'chalk'\nimport { isCI, isJsonMode } from './index.js'\n\nconst SPINNER_FRAMES: Record<string, ora.Options> = {\n dots: { spinner: 'dots' },\n moon: { spinner: 'moon' },\n arc: { spinner: 'arc' },\n bounce: { spinner: 'bounce' },\n shark: { spinner: { interval: 120, frames: ['▸ ', '▸▸ ', '▸▸▸ ', '▸▸▸▸', ' ▸▸▸▸', ' ▸▸▸', ' ▸▸', ' ▸'] } },\n}\n\nexport const spinner = createSpinner\n\nexport function createSpinner(text: string, style: keyof typeof SPINNER_FRAMES = 'shark'): Ora {\n if (isCI() || isJsonMode()) {\n const silent: Ora = {\n ...ora({ text, spinner: 'dots' }),\n start: () => { if (!isCI()) console.log(text); return silent },\n stop: () => { if (!isCI()) console.log(); return silent },\n succeed: () => { if (!isCI()) console.log(`${chalk.green('✓')} ${text}`); return silent },\n fail: () => { if (!isCI()) console.log(`${chalk.red('✗')} ${text}`); return silent },\n warn: () => { if (!isCI()) console.log(`${chalk.hex('#FF9800')('⚠')} ${text}`); return silent },\n info: () => { if (!isCI()) console.log(`${chalk.hex('#4FC3F7')('ℹ')} ${text}`); return silent },\n stopAndPersist: () => { if (!isCI()) console.log(`${text}`); return silent },\n clear: () => { return silent },\n render: () => { return silent },\n frame: () => ' ',\n text,\n isSpinning: false,\n indent: 0,\n color: 'cyan',\n prefixText: '',\n spinner: { interval: 100, frames: [''] },\n } as unknown as Ora\n return silent\n }\n return ora({ text, ...SPINNER_FRAMES[style] }).start()\n}\n","import Table from 'cli-table3'\nimport chalk from 'chalk'\nimport { isCI } from '../utils/ci-detect.js'\nimport { isJsonMode, logJSON } from './logger.js'\n\ninterface ColumnDef {\n key: string\n label: string\n align?: 'left' | 'center' | 'right'\n format?: (value: unknown) => string\n}\n\ninterface TableOptions {\n head?: string[]\n colAligns?: ('left' | 'center' | 'right')[]\n style?: Record<string, unknown>\n compact?: boolean\n}\n\nexport function createTable(headers: string[], options: TableOptions = {}): Table.Table {\n return new Table({\n head: headers.map(h => chalk.bold(h)),\n colAligns: options.colAligns,\n style: {\n head: [],\n border: [],\n 'padding-left': 1,\n 'padding-right': 1,\n ...options.style,\n },\n chars: {\n top: '─',\n 'top-mid': '┬',\n 'top-left': '┌',\n 'top-right': '┐',\n bottom: '─',\n 'bottom-mid': '┴',\n 'bottom-left': '└',\n 'bottom-right': '┘',\n left: '│',\n 'left-mid': '├',\n mid: '─',\n 'mid-mid': '┼',\n right: '│',\n 'right-mid': '┤',\n middle: '│',\n },\n ...options.compact ? {\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n middle: '',\n },\n style: { 'padding-left': 0, 'padding-right': 2 },\n } : {},\n })\n}\n\nexport function renderTable(data: Record<string, unknown>[], columns: ColumnDef[]): string {\n if (isJsonMode()) {\n logJSON(data)\n return ''\n }\n const table = createTable(\n columns.map(c => c.label),\n { colAligns: columns.map(c => c.align ?? 'left') }\n )\n for (const row of data) {\n table.push(\n columns.map(c => {\n const val = row[c.key]\n return c.format ? c.format(val) : String(val ?? '')\n })\n )\n }\n return table.toString()\n}\n\nexport function renderCompactTable(data: Record<string, unknown>[], columns: ColumnDef[]): string {\n if (isJsonMode()) {\n logJSON(data)\n return ''\n }\n const table = createTable(\n columns.map(c => c.label),\n { colAligns: columns.map(c => c.align ?? 'left'), compact: true }\n )\n for (const row of data) {\n table.push(\n columns.map(c => {\n const val = row[c.key]\n return c.format ? c.format(val) : String(val ?? '')\n })\n )\n }\n return table.toString()\n}\n","export { renderMascot, renderBrandedMascot } from './mascot.js'\nexport { brand, brandDim, brandLine, success, error, warn, info, muted, copied, BRAND_MARKER, SUCCESS_MARK, ERROR_MARK, WARN_MARK, INFO_MARK, PROGRESS_MARK } from './brand.js'\nexport { setJsonMode, isJsonMode, log, logSuccess, logError, logWarn, logInfo, logBrand, logRaw, logJSON, logErrorJSON, writeAudit } from './logger.js'\nexport { createSpinner } from './spinner.js'\nexport { createTable, renderTable, renderCompactTable } from './table.js'\n\nexport function isCI(): boolean {\n return !!(\n process.env.CI ||\n process.env.GITHUB_ACTIONS ||\n process.env.GITLAB_CI ||\n process.env.CIRCLECI\n )\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function o(...n){console.log("Command not yet implemented");}export{o as a};//# sourceMappingURL=chunk-3E23ZFCV.js.map
2
+ //# sourceMappingURL=chunk-3E23ZFCV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/monitor/monitor-storage.ts"],"names":["monitorStorage","args"],"mappings":"AAAA,eAAOA,KAAyCC,CAAAA,CAAgC,CAC9E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-3E23ZFCV.js","sourcesContent":["export default async function monitorStorage(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function n(...o){console.log("Command not yet implemented");}export{n as a};//# sourceMappingURL=chunk-3JD6INFN.js.map
2
+ //# sourceMappingURL=chunk-3JD6INFN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/scripts/scripts-disable.ts"],"names":["scriptsDisable","args"],"mappings":"AAAA,eAAOA,KAAyCC,CAAAA,CAAgC,CAC9E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-3JD6INFN.js","sourcesContent":["export default async function scriptsDisable(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function o(...n){console.log("Command not yet implemented");}export{o as a};//# sourceMappingURL=chunk-3XXAN3BP.js.map
2
+ //# sourceMappingURL=chunk-3XXAN3BP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/monitor/monitor.ts"],"names":["monitor","args"],"mappings":"AAAA,eAAOA,KAAkCC,CAAAA,CAAgC,CACvE,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-3XXAN3BP.js","sourcesContent":["export default async function monitor(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function o(...n){console.log("Command not yet implemented");}export{o as a};//# sourceMappingURL=chunk-43FK57CR.js.map
2
+ //# sourceMappingURL=chunk-43FK57CR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/auth/whoami.ts"],"names":["whoami","args"],"mappings":"AAAA,eAAOA,KAAiCC,CAAAA,CAAgC,CACtE,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-43FK57CR.js","sourcesContent":["export default async function whoami(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function o(...n){console.log("Command not yet implemented");}export{o as a};//# sourceMappingURL=chunk-4625KLCT.js.map
2
+ //# sourceMappingURL=chunk-4625KLCT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/storage/storage-download.ts"],"names":["storageDownload","args"],"mappings":"AAAA,eAAOA,KAA0CC,CAAAA,CAAgC,CAC/E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-4625KLCT.js","sourcesContent":["export default async function storageDownload(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function n(...o){console.log("Command not yet implemented");}export{n as a};//# sourceMappingURL=chunk-4EBJSKII.js.map
2
+ //# sourceMappingURL=chunk-4EBJSKII.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/util/config-get.ts"],"names":["configGet","args"],"mappings":"AAAA,eAAOA,KAAoCC,CAAAA,CAAgC,CACzE,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-4EBJSKII.js","sourcesContent":["export default async function configGet(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import {k,f}from'./chunk-OEURGJIH.js';import {createServer}from'http';import {randomUUID}from'crypto';var x="https://aouqcwbdoyrccjcrhzzi.supabase.co";async function b(...z){let o=createServer();await new Promise(r=>{o.listen(0,"127.0.0.1",()=>r());});let i=o.address().port,l=randomUUID().replace(/-/g,"").slice(0,16),k$1=`http://localhost:${i}/cli/callback`,w=`https://squidcloud.vercel.app/cli/authorize?redirect_uri=${encodeURIComponent(k$1)}&state=${l}`;console.log("Opening browser for SquidCloud CLI authorization..."),console.log(`If browser doesn't open automatically, visit: ${w}`),console.log(`Listening on http://localhost:${i} for callback...`),console.log("");let d=false,n=false,g=setTimeout(()=>{!d&&!n&&(console.error("Authorization timeout. No callback received."),n=true,o.close(),process.exit(1));},3e5);o.on("request",async(r,t)=>{if(n)return;let s=new URL(r.url||"/",`http://localhost:${i}`);if(s.pathname!=="/cli/callback"){t.writeHead(404).end("Not found");return}d=true,clearTimeout(g);let u=s.searchParams.get("code"),_=s.searchParams.get("state");(!u||_!==l)&&(console.error("Invalid authorization code or state mismatch."),t.writeHead(400).end("Invalid authorization code or state mismatch"),n=true,o.close(),process.exit(1));try{let c=randomUUID().replace(/-/g,""),e=await(await fetch(`${x}/functions/v1/cli-oauth/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:u,client_id:"squidcloud-cli",machine_id:c})})).json(),a=e.token||e.access_token;a||(console.error("Failed to exchange token:",e.error||"No token returned"),t.writeHead(400).end("Token exchange failed"),n=!0,o.close(),process.exit(1));let h=typeof e.expires_in=="number"?e.expires_in*1e3:7776e6,y={version:2,token:a,token_prefix:e.token_prefix||a.slice(0,8),email:e.user_email||"unknown",expires_at:Math.floor((Date.now()+h)/1e3),device_id:e.device_id||"",anon_key:e.anon_key||""};k(y),f(a,e.user_email||"unknown",Date.now()+h,e.anon_key||null),t.writeHead(200,{"Content-Type":"text/html"}),t.end("<html><body><h2>\u2713 Authorized</h2><p>You can close this window and return to the terminal.</p></body></html>"),console.log(`\u2713 Authorized as ${e.user_email||"user"}`),console.log("\u2713 Credentials saved to ~/.squidcloud/credentials"),console.log("You can now run any squidcloud command.");}catch(c){console.error("Token exchange error:",c.message),t.headersSent||t.writeHead(500).end("Token exchange error");}finally{n=true,o.close();}}),await new Promise(r=>{o.on("close",()=>r());});}
2
+ export{b as a};//# sourceMappingURL=chunk-4FZZ3I76.js.map
3
+ //# sourceMappingURL=chunk-4FZZ3I76.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/auth/login-oauth.ts"],"names":["SUPABASE_URL","loginOAuth","_args","server","createServer","resolveListen","actualPort","state","randomUUID","redirectUri","authorizeUrl","callbackReceived","settled","timeout","req","res","url","code","stateFromUrl","machineId","tokenData","token","expiresInMs","creds","writeCredentials","setAuthState","err","resolveEnd"],"mappings":"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","file":"chunk-4FZZ3I76.js","sourcesContent":["import { createServer } from 'node:http'\nimport { randomUUID } from 'node:crypto'\nimport { setAuthState, writeCredentials } from '../../lib/auth/oauth-session.js'\n\nconst SUPABASE_URL = 'https://aouqcwbdoyrccjcrhzzi.supabase.co'\n\nexport default async function loginOAuth(..._args: unknown[]): Promise<void> {\n // Start local HTTP server on random port\n const server = createServer()\n\n await new Promise<void>((resolveListen) => {\n server.listen(0, '127.0.0.1', () => resolveListen())\n })\n\n const address = server.address() as { port: number }\n const actualPort = address.port\n\n // Generate OAuth state and redirect URI\n const state = randomUUID().replace(/-/g, '').slice(0, 16)\n const redirectUri = `http://localhost:${actualPort}/cli/callback`\n\n // Open browser to the authorize page on squidcloud.vercel.app\n const authorizeUrl = `https://squidcloud.vercel.app/cli/authorize?redirect_uri=${encodeURIComponent(\n redirectUri\n )}&state=${state}`\n\n console.log('Opening browser for SquidCloud CLI authorization...')\n console.log(\n `If browser doesn't open automatically, visit: ${authorizeUrl}`\n )\n console.log(`Listening on http://localhost:${actualPort} for callback...`)\n console.log('')\n\n let callbackReceived = false\n let settled = false\n\n const timeout = setTimeout(() => {\n if (!callbackReceived && !settled) {\n console.error('Authorization timeout. No callback received.')\n settled = true\n server.close()\n process.exit(1)\n }\n }, 300_000) // 5 minutes timeout\n\n server.on('request', async (req, res) => {\n if (settled) return\n const url = new URL(req.url || '/', `http://localhost:${actualPort}`)\n\n if (url.pathname !== '/cli/callback') {\n res.writeHead(404).end('Not found')\n return\n }\n\n callbackReceived = true\n clearTimeout(timeout)\n\n const code = url.searchParams.get('code')\n const stateFromUrl = url.searchParams.get('state')\n\n if (!code || stateFromUrl !== state) {\n console.error('Invalid authorization code or state mismatch.')\n res.writeHead(400).end('Invalid authorization code or state mismatch')\n settled = true\n server.close()\n process.exit(1)\n }\n\n // Exchange code for token\n try {\n const machineId = randomUUID().replace(/-/g, '')\n const tokenResp = await fetch(\n `${SUPABASE_URL}/functions/v1/cli-oauth/token`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n grant_type: 'authorization_code',\n code,\n client_id: 'squidcloud-cli',\n machine_id: machineId,\n }),\n }\n )\n const tokenData = await tokenResp.json()\n\n const token = tokenData.token || tokenData.access_token\n if (!token) {\n console.error('Failed to exchange token:', tokenData.error || 'No token returned')\n res.writeHead(400).end('Token exchange failed')\n settled = true\n server.close()\n process.exit(1)\n }\n\n // Store credentials\n const expiresInMs =\n (typeof tokenData.expires_in === 'number' ? tokenData.expires_in * 1000 : 7776000000)\n const creds = {\n version: 2,\n token,\n token_prefix: tokenData.token_prefix || token.slice(0, 8),\n email: tokenData.user_email || 'unknown',\n expires_at: Math.floor((Date.now() + expiresInMs) / 1000),\n device_id: tokenData.device_id || '',\n anon_key: tokenData.anon_key || '',\n }\n\n writeCredentials(creds)\n setAuthState(token, tokenData.user_email || 'unknown', Date.now() + expiresInMs, tokenData.anon_key || null)\n\n res.writeHead(200, { 'Content-Type': 'text/html' })\n res.end(\n '<html><body><h2>✓ Authorized</h2><p>You can close this window and return to the terminal.</p></body></html>'\n )\n\n console.log(`✓ Authorized as ${tokenData.user_email || 'user'}`);\n console.log(`✓ Credentials saved to ~/.squidcloud/credentials`);\n console.log('You can now run any squidcloud command.');\n } catch (err: any) {\n console.error('Token exchange error:', err.message)\n if (!res.headersSent) {\n res.writeHead(500).end('Token exchange error')\n }\n } finally {\n settled = true\n server.close()\n }\n })\n\n // Keep process alive while server waits for callback\n await new Promise<void>((resolveEnd) => {\n server.on('close', () => resolveEnd())\n })\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {existsSync,readFileSync}from'fs';import {dirname,resolve}from'path';import {fileURLToPath}from'url';var a=dirname(fileURLToPath(import.meta.url));function u(){let o=a;for(let i=0;i<5;i++){let n=resolve(o,"package.json");if(existsSync(n)){let r=JSON.parse(readFileSync(n,"utf-8"));if(r.name==="squidcloud")return r}o=resolve(o,"..");}return {version:"0.0.0",name:"squidcloud",description:"SquidCloud CLI"}}var m=u();async function l(){console.log(`squidcloud v${m.version}`);}var v=l;export{l as a,v as b};//# sourceMappingURL=chunk-4GV6L47P.js.map
2
+ //# sourceMappingURL=chunk-4GV6L47P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/util/version.ts"],"names":["__dirname","dirname","fileURLToPath","findPkg","dir","candidate","resolve","existsSync","pkg","readFileSync","showVersion","version_default"],"mappings":"4GAIA,IAAMA,EAAYC,OAAAA,CAAQC,aAAAA,CAAc,YAAY,GAAG,CAAC,EAExD,SAASC,CAAAA,EAAkE,CACzE,IAAIC,CAAAA,CAAMJ,EACV,IAAA,IAAS,CAAA,CAAI,EAAG,CAAA,CAAI,CAAA,CAAG,IAAK,CAC1B,IAAMK,EAAYC,OAAAA,CAAQF,CAAAA,CAAK,cAAc,CAAA,CAC7C,GAAIG,UAAAA,CAAWF,CAAS,CAAA,CAAG,CACzB,IAAMG,CAAAA,CAAM,IAAA,CAAK,MAAMC,YAAAA,CAAaJ,CAAAA,CAAW,OAAO,CAAC,CAAA,CACvD,GAAIG,CAAAA,CAAI,IAAA,GAAS,aAAc,OAAOA,CACxC,CACAJ,CAAAA,CAAME,OAAAA,CAAQF,EAAK,IAAI,EACzB,CACA,OAAO,CAAE,OAAA,CAAS,QAAS,IAAA,CAAM,YAAA,CAAc,YAAa,gBAAiB,CAC/E,CAEA,IAAMI,CAAAA,CAAML,GAAQ,CAEpB,eAAsBO,GAA6B,CACjD,OAAA,CAAQ,IAAI,CAAA,YAAA,EAAeF,CAAAA,CAAI,OAAO,CAAA,CAAE,EAC1C,CAEA,IAAOG,CAAAA,CAAQD","file":"chunk-4GV6L47P.js","sourcesContent":["import { readFileSync, existsSync } from 'node:fs'\nimport { dirname, resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nconst __dirname = dirname(fileURLToPath(import.meta.url))\n\nfunction findPkg(): { version: string; name: string; description: string } {\n let dir = __dirname\n for (let i = 0; i < 5; i++) {\n const candidate = resolve(dir, 'package.json')\n if (existsSync(candidate)) {\n const pkg = JSON.parse(readFileSync(candidate, 'utf-8'))\n if (pkg.name === 'squidcloud') return pkg\n }\n dir = resolve(dir, '..')\n }\n return { version: '0.0.0', name: 'squidcloud', description: 'SquidCloud CLI' }\n}\n\nconst pkg = findPkg()\n\nexport async function showVersion(): Promise<void> {\n console.log(`squidcloud v${pkg.version}`)\n}\n\nexport default showVersion\n"]}
@@ -0,0 +1,2 @@
1
+ async function n(...o){console.log("Command not yet implemented");}export{n as a};//# sourceMappingURL=chunk-4VH6P4GC.js.map
2
+ //# sourceMappingURL=chunk-4VH6P4GC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/collab/collab-transfer.ts"],"names":["collabTransfer","args"],"mappings":"AAAA,eAAOA,KAAyCC,CAAAA,CAAgC,CAC9E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-4VH6P4GC.js","sourcesContent":["export default async function collabTransfer(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function o(...n){console.log("Command not yet implemented");}export{o as a};//# sourceMappingURL=chunk-4VMT6FXR.js.map
2
+ //# sourceMappingURL=chunk-4VMT6FXR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/storage/storage-upload.ts"],"names":["storageUpload","args"],"mappings":"AAAA,eAAOA,KAAwCC,CAAAA,CAAgC,CAC7E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-4VMT6FXR.js","sourcesContent":["export default async function storageUpload(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$1}from'./chunk-VDWSP3BD.js';import {f as f$1}from'./chunk-ZQ2OIVG3.js';import {a as a$2}from'./chunk-OEURGJIH.js';var x=3,O=1e3,g=1e3,P=a$1(),R=0;async function A(){let e=Date.now()-R;e<g&&await new Promise(n=>setTimeout(n,g-e)),R=Date.now();}async function a(t,e={}){let{method:n="GET",headers:o={},body:s,authenticated:l=false,retries:r=x}=e;await A();let c={"Content-Type":"application/json",...o};if(l)if(a$2)c.Authorization=`Bearer ${a$2}`;else {let i=await f$1();i?.api_key&&(c["x-squidcloud-key"]=i.api_key);}let m=`${P}${t}`,p={method:n,headers:c};s&&n!=="GET"&&(p.body=JSON.stringify(s));let y=null;for(let i=0;i<=r;i++)try{let d=await fetch(m,p);return q(d)}catch(d){if(y=d instanceof Error?d:new Error(String(d)),i<r){let E=O*Math.pow(2,i)*(.5+Math.random()*.5);await new Promise(k=>setTimeout(k,E));}}throw y||new Error(`Request failed: ${t}`)}async function q(t){if(t.status===204)return;if((t.headers.get("content-type")||"").includes("application/json")){let o=await t.json();if(!t.ok){let s=o?.error?.message||o?.message||`HTTP ${t.status}`;throw new f(s,t.status,o?.error)}return o}if(!t.ok){let o=await t.text();throw new f(o||`HTTP ${t.status}`,t.status)}return await t.text()}var f=class extends Error{constructor(n,o,s){super(n);this.status=o;this.details=s;this.name="ApiError";}status;details};async function b(t,e){return a(t,{...e,method:"GET"})}async function _(t,e,n){return a(t,{...n,method:"POST",body:e})}async function $(t,e,n){return a(t,{...n,method:"PUT",body:e})}async function D(t,e){return a(t,{...e,method:"DELETE"})}var u=((t,e,n,o)=>a(e,{...o,method:t.toUpperCase(),body:n}));u.get=b;u.post=_;u.put=$;u.delete=D;u.upload=S;u.request=a;async function S(t,e,n){let{method:o="POST",headers:s={},authenticated:l=false}=n||{},r={...s};if(l)if(a$2)r.Authorization=`Bearer ${a$2}`;else {let p=await f$1();p?.api_key&&(r["x-squidcloud-key"]=p.api_key);}let c=`${P}${t}`,m=await fetch(c,{method:o,headers:r,body:e});return q(m)}export{a,f as b,b as c,_ as d,$ as e,D as f,u as g,S as h};//# sourceMappingURL=chunk-5JWZKMAI.js.map
2
+ //# sourceMappingURL=chunk-5JWZKMAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/api/client.ts"],"names":["MAX_RETRIES","BASE_DELAY","RATE_LIMIT_WINDOW","API_BASE","getApiBase","lastRequestTime","rateLimit","elapsed","r","apiRequest","path","options","method","headers","body","authenticated","retries","reqHeaders","authToken","session","loadSession","url","fetchOptions","lastError","attempt","response","handleResponse","err","delay","data","message","ApiError","text","status","details","apiGet","apiPost","apiPut","apiDelete","apiClient","apiUpload","formData"],"mappings":"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","file":"chunk-5JWZKMAI.js","sourcesContent":["import { loadSession } from '../auth/session.js'\nimport { authToken as oauthToken } from '../auth/oauth-session.js'\nimport { getApiBase } from './cert-pin.js'\n\nconst MAX_RETRIES = 3\nconst BASE_DELAY = 1000\nconst RATE_LIMIT_WINDOW = 1000\nconst API_BASE = getApiBase()\n\ninterface RequestOptions {\n method?: string\n headers?: Record<string, string>\n body?: unknown\n authenticated?: boolean\n retries?: number\n}\n\nlet lastRequestTime = 0\n\nasync function rateLimit(): Promise<void> {\n const now = Date.now()\n const elapsed = now - lastRequestTime\n if (elapsed < RATE_LIMIT_WINDOW) {\n await new Promise(r => setTimeout(r, RATE_LIMIT_WINDOW - elapsed))\n }\n lastRequestTime = Date.now()\n}\n\nexport async function apiRequest<T>(path: string, options: RequestOptions = {}): Promise<T> {\n const { method = 'GET', headers = {}, body, authenticated = false, retries = MAX_RETRIES } = options\n\n await rateLimit()\n\n const reqHeaders: Record<string, string> = {\n 'Content-Type': 'application/json',\n ...headers,\n }\n\n if (authenticated) {\n if (oauthToken) {\n reqHeaders['Authorization'] = `Bearer ${oauthToken}`\n } else {\n const session = await loadSession()\n if (session?.api_key) {\n reqHeaders['x-squidcloud-key'] = session.api_key\n }\n }\n }\n\n const url = `${API_BASE}${path}`\n const fetchOptions: RequestInit = {\n method,\n headers: reqHeaders,\n }\n\n if (body && method !== 'GET') {\n fetchOptions.body = JSON.stringify(body)\n }\n\n let lastError: Error | null = null\n for (let attempt = 0; attempt <= retries; attempt++) {\n try {\n const response = await fetch(url, fetchOptions)\n return handleResponse<T>(response)\n } catch (err) {\n lastError = err instanceof Error ? err : new Error(String(err))\n if (attempt < retries) {\n const delay = BASE_DELAY * Math.pow(2, attempt) * (0.5 + Math.random() * 0.5)\n await new Promise(r => setTimeout(r, delay))\n }\n }\n }\n\n throw lastError || new Error(`Request failed: ${path}`)\n}\n\nasync function handleResponse<T>(response: Response): Promise<T> {\n if (response.status === 204) {\n return undefined as T\n }\n const contentType = response.headers.get('content-type') || ''\n if (contentType.includes('application/json')) {\n const data = await response.json()\n if (!response.ok) {\n const message = data?.error?.message || data?.message || `HTTP ${response.status}`\n throw new ApiError(message, response.status, data?.error)\n }\n return data as T\n }\n if (!response.ok) {\n const text = await response.text()\n throw new ApiError(text || `HTTP ${response.status}`, response.status)\n }\n const text = await response.text()\n return text as unknown as T\n}\n\nexport class ApiError extends Error {\n constructor(\n message: string,\n public status: number,\n public details?: unknown,\n ) {\n super(message)\n this.name = 'ApiError'\n }\n}\n\nexport async function apiGet<T>(path: string, options?: RequestOptions): Promise<T> {\n return apiRequest<T>(path, { ...options, method: 'GET' })\n}\n\nexport async function apiPost<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return apiRequest<T>(path, { ...options, method: 'POST', body })\n}\n\nexport async function apiPut<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return apiRequest<T>(path, { ...options, method: 'PUT', body })\n}\n\nexport async function apiDelete<T>(path: string, options?: RequestOptions): Promise<T> {\n return apiRequest<T>(path, { ...options, method: 'DELETE' })\n}\n\ninterface ApiClientFn {\n <T>(method: string, path: string, body?: unknown, options?: RequestOptions): Promise<T>\n get: typeof apiGet\n post: typeof apiPost\n put: typeof apiPut\n delete: typeof apiDelete\n upload: typeof apiUpload\n request: typeof apiRequest\n}\n\nexport const apiClient = ((method: string, path: string, body?: unknown, options?: RequestOptions) => {\n return apiRequest(path, { ...options, method: method.toUpperCase(), body })\n}) as ApiClientFn\n\napiClient.get = apiGet\napiClient.post = apiPost\napiClient.put = apiPut\napiClient.delete = apiDelete\napiClient.upload = apiUpload\napiClient.request = apiRequest\n\nexport async function apiUpload<T>(path: string, formData: FormData, options?: RequestOptions): Promise<T> {\n const { method = 'POST', headers = {}, authenticated = false } = options || {}\n\n const reqHeaders: Record<string, string> = {\n ...headers,\n }\n\n if (authenticated) {\n if (oauthToken) {\n reqHeaders['Authorization'] = `Bearer ${oauthToken}`\n } else {\n const session = await loadSession()\n if (session?.api_key) {\n reqHeaders['x-squidcloud-key'] = session.api_key\n }\n }\n }\n\n const url = `${API_BASE}${path}`\n const response = await fetch(url, {\n method,\n headers: reqHeaders,\n body: formData,\n })\n\n return handleResponse<T>(response)\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function o(...n){console.log("Command not yet implemented");}export{o as a};//# sourceMappingURL=chunk-5TYVWTHC.js.map
2
+ //# sourceMappingURL=chunk-5TYVWTHC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/logs/logs-search.ts"],"names":["logsSearch","args"],"mappings":"AAAA,eAAOA,KAAqCC,CAAAA,CAAgC,CAC1E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-5TYVWTHC.js","sourcesContent":["export default async function logsSearch(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function n(...o){console.log("Command not yet implemented");}export{n as a};//# sourceMappingURL=chunk-5XSOEZ7F.js.map
2
+ //# sourceMappingURL=chunk-5XSOEZ7F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/scripts/scripts-cancel.ts"],"names":["scriptsCancel","args"],"mappings":"AAAA,eAAOA,KAAwCC,CAAAA,CAAgC,CAC7E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-5XSOEZ7F.js","sourcesContent":["export default async function scriptsCancel(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function o(...n){console.log("Command not yet implemented");}export{o as a};//# sourceMappingURL=chunk-632C2FZM.js.map
2
+ //# sourceMappingURL=chunk-632C2FZM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/util/doctor.ts"],"names":["doctor","args"],"mappings":"AAAA,eAAOA,KAAiCC,CAAAA,CAAgC,CACtE,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-632C2FZM.js","sourcesContent":["export default async function doctor(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function n(...o){console.log("Command not yet implemented");}export{n as a};//# sourceMappingURL=chunk-6IXURJIU.js.map
2
+ //# sourceMappingURL=chunk-6IXURJIU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/sites/sites-unpublish.ts"],"names":["sitesUnpublish","args"],"mappings":"AAAA,eAAOA,KAAyCC,CAAAA,CAAgC,CAC9E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-6IXURJIU.js","sourcesContent":["export default async function sitesUnpublish(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function n(...o){console.log("Command not yet implemented");}export{n as a};//# sourceMappingURL=chunk-6LLJ6P3U.js.map
2
+ //# sourceMappingURL=chunk-6LLJ6P3U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/scripts/scripts-validate.ts"],"names":["scriptsValidate","args"],"mappings":"AAAA,eAAOA,KAA0CC,CAAAA,CAAgC,CAC/E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-6LLJ6P3U.js","sourcesContent":["export default async function scriptsValidate(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ async function o(...n){console.log("Command not yet implemented");}export{o as a};//# sourceMappingURL=chunk-7JVXW7C4.js.map
2
+ //# sourceMappingURL=chunk-7JVXW7C4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/storage/storage-diff.ts"],"names":["storageDiff","args"],"mappings":"AAAA,eAAOA,KAAsCC,CAAAA,CAAgC,CAC3E,OAAA,CAAQ,GAAA,CAAI,6BAA6B,EAC3C","file":"chunk-7JVXW7C4.js","sourcesContent":["export default async function storageDiff(...args: unknown[]): Promise<void> {\n console.log('Command not yet implemented')\n}\n"]}