autohand-cli 0.7.8 → 0.7.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/{AutomodeManager-YVCJXOMQ.js → AutomodeManager-NGRAO2MH.js} +35 -8
- package/dist/{AutomodeManager-HV6M7EAX.cjs → AutomodeManager-ZKQMBM4T.cjs} +35 -8
- package/dist/{CommunitySkillsCache-Q22FUAR5.js → CommunitySkillsCache-ILWHWE5P.js} +2 -2
- package/dist/CommunitySkillsCache-KHC6RUJW.cjs +7 -0
- package/dist/MemoryManager-6ZT7IDO5.cjs +7 -0
- package/dist/MemoryManager-AJGS5AKB.js +7 -0
- package/dist/PermissionManager-HG6W2DGU.cjs +10 -0
- package/dist/{PermissionManager-HATZKTRC.js → PermissionManager-U5OMGR3L.js} +3 -3
- package/dist/SessionManager-BJ2G6VV4.cjs +9 -0
- package/dist/{SessionManager-S5R6O3NU.js → SessionManager-ENPGYK5J.js} +2 -2
- package/dist/SkillsRegistry-6ZFOCT25.cjs +8 -0
- package/dist/{SkillsRegistry-R5WDM6T3.js → SkillsRegistry-C2SHOZ5D.js} +2 -2
- package/dist/{SyncApiClient-FAOMIZAP.js → SyncApiClient-AYXYSOJM.js} +1 -1
- package/dist/SyncApiClient-ID3KXEMA.cjs +10 -0
- package/dist/about-RGUM5QQ4.cjs +11 -0
- package/dist/about-VDR3SIHS.js +11 -0
- package/dist/add-dir-3BMVJ5H3.cjs +9 -0
- package/dist/{add-dir-PNU7AGKO.js → add-dir-RP2BL3JW.js} +2 -1
- package/dist/agents-JQ2PHCQB.js +10 -0
- package/dist/agents-RGSZ2BM3.cjs +10 -0
- package/dist/agents-new-LSJN2L2T.cjs +13 -0
- package/dist/agents-new-MZUEVKSK.js +13 -0
- package/dist/automode-DP3BMYJB.cjs +9 -0
- package/dist/{automode-QCRJSBRT.js → automode-XOF3U3OB.js} +2 -1
- package/dist/cc-2W6M7J45.cjs +8 -0
- package/dist/cc-UTTLESTY.js +8 -0
- package/dist/{chunk-B4ZPNXZE.cjs → chunk-34OGUMRO.cjs} +9 -5
- package/dist/chunk-3652ROFD.js +589 -0
- package/dist/{chunk-KNLBEUAV.cjs → chunk-3DQSBW4B.cjs} +10 -6
- package/dist/{chunk-XFPITUFJ.cjs → chunk-3S4DEIJP.cjs} +50 -8
- package/dist/{chunk-5MDDOGTD.cjs → chunk-3UNX56GC.cjs} +30 -37
- package/dist/chunk-46WX5IO2.cjs +499 -0
- package/dist/{chunk-OC5YDNFC.js → chunk-4ULBAYME.js} +42 -57
- package/dist/{chunk-VEDIYPWY.cjs → chunk-5BQ57AZC.cjs} +9 -9
- package/dist/{chunk-B5N5UAMO.cjs → chunk-5FZM7KLB.cjs} +13 -10
- package/dist/{chunk-JBKP2CLA.cjs → chunk-5NZA4UB4.cjs} +47 -47
- package/dist/{chunk-VPAN5H7Q.js → chunk-5Q3W4DEU.js} +43 -36
- package/dist/{chunk-VMMGT42E.cjs → chunk-65GTO4QM.cjs} +7 -3
- package/dist/{chunk-CXZEPTRI.js → chunk-6P3K4YUW.js} +6 -2
- package/dist/{chunk-MDWULS57.js → chunk-6UJMCWRY.js} +56 -33
- package/dist/chunk-73XIKTZL.js +124 -0
- package/dist/{chunk-23JQSCTO.js → chunk-7QNW24ZT.js} +8 -4
- package/dist/{chunk-XT4OSHSB.cjs → chunk-AEYOIPHD.cjs} +6 -2
- package/dist/chunk-ANUQFV43.cjs +589 -0
- package/dist/chunk-ATR3RORT.js +499 -0
- package/dist/{chunk-A6QBABQ7.js → chunk-B72CC4O6.js} +2 -2
- package/dist/{chunk-TAZJSKFD.js → chunk-BBIKQW66.js} +9 -5
- package/dist/{chunk-FFA4LDAO.cjs → chunk-BDIZGBDA.cjs} +8 -3
- package/dist/{chunk-3YEDXG6S.js → chunk-BG4OQUKP.js} +1 -1
- package/dist/{chunk-WIUGUR5T.js → chunk-BODVOW7B.js} +67 -16
- package/dist/{chunk-A552JHUJ.cjs → chunk-BZ73ZQTE.cjs} +34 -25
- package/dist/{chunk-YDOR2OCA.cjs → chunk-C22G4UE4.cjs} +27 -19
- package/dist/{chunk-GFJ6AETU.cjs → chunk-C2E3GJEE.cjs} +12 -9
- package/dist/{chunk-UL7YPRCU.js → chunk-C5SVIQG3.js} +10 -5
- package/dist/{chunk-6KMAJTU3.js → chunk-CUBYCLNL.js} +3 -2
- package/dist/{chunk-52MLYK5P.js → chunk-D2XFTCRP.js} +1 -1
- package/dist/{chunk-OBV3UUIL.js → chunk-DEAEO7RI.js} +1 -1
- package/dist/chunk-DMPVI3YK.cjs +400 -0
- package/dist/{chunk-C26EN22G.cjs → chunk-DUDDZRCS.cjs} +9 -5
- package/dist/{chunk-4RWTUT2Z.js → chunk-E7YL3AHT.js} +32 -23
- package/dist/{chunk-54GVL2SE.cjs → chunk-EAOEAQGF.cjs} +3 -2
- package/dist/{chunk-PU534KPO.cjs → chunk-EV53SLSB.cjs} +4 -4
- package/dist/{chunk-EDGV5BNH.js → chunk-F3EIOVSQ.js} +26 -33
- package/dist/{chunk-SFGJQPGC.cjs → chunk-FPHU2ES6.cjs} +56 -33
- package/dist/{chunk-G77ZY4QG.js → chunk-GD4AFYJ3.js} +1 -1
- package/dist/{chunk-PMMSDR44.cjs → chunk-GIZL57FE.cjs} +5 -1
- package/dist/{chunk-I4HVBWYF.js → chunk-GLAE5K5W.js} +7 -2
- package/dist/{chunk-4AMTDSQ3.cjs → chunk-HDSEJMWI.cjs} +6 -3
- package/dist/chunk-HLFZPN65.js +94 -0
- package/dist/{chunk-ZWS3KSMK.js → chunk-HQQ4NKER.js} +5 -2
- package/dist/{chunk-WBDPILKI.cjs → chunk-HVOBMOZ2.cjs} +6 -2
- package/dist/{chunk-MJFBVQHB.js → chunk-IPI3JXKP.js} +10 -7
- package/dist/chunk-IXFOH4OC.cjs +222 -0
- package/dist/chunk-JS7IPR7P.js +249 -0
- package/dist/{chunk-7TOHYAUF.cjs → chunk-KC5FPUOF.cjs} +2 -2
- package/dist/{chunk-7VW3A7DO.cjs → chunk-L42HTMMR.cjs} +2 -2
- package/dist/chunk-LGGZQTLM.cjs +209 -0
- package/dist/chunk-LOXOD4IS.cjs +8630 -0
- package/dist/chunk-MNCWB5F7.cjs +63 -0
- package/dist/{chunk-AVL4DKQO.js → chunk-MYNHJHDZ.js} +1 -1
- package/dist/{chunk-GDTZQSJ6.cjs → chunk-N4ZSG6JJ.cjs} +2 -2
- package/dist/chunk-NCC6ETZS.js +362 -0
- package/dist/chunk-NF7RIHJK.js +45 -0
- package/dist/{chunk-SYJLMBLP.cjs → chunk-NGBN2NGH.cjs} +77 -26
- package/dist/{chunk-SLISYSP4.cjs → chunk-NRORJRD4.cjs} +4 -4
- package/dist/{chunk-OTS4YFSZ.cjs → chunk-OKABWSWA.cjs} +7 -3
- package/dist/{chunk-KH7BCZJN.js → chunk-OLG7LZBD.js} +1 -1
- package/dist/{chunk-KZ7VMQTC.js → chunk-OMEH2EVE.js} +5 -1
- package/dist/{chunk-U5WIP4HS.js → chunk-P5VDZ6PV.js} +47 -5
- package/dist/{chunk-V5MTBGM4.cjs → chunk-PA2H2263.cjs} +6 -2
- package/dist/chunk-PGRH5Q77.cjs +249 -0
- package/dist/{chunk-DPJ3IIBB.js → chunk-PM62ZYXA.js} +18 -10
- package/dist/chunk-PNSRJT46.js +380 -0
- package/dist/{chunk-C3IFF3EH.cjs → chunk-PSED4Z4X.cjs} +43 -58
- package/dist/{chunk-EKY5PKQI.js → chunk-PWLLLJHU.js} +5 -1
- package/dist/{chunk-DOTAX65F.js → chunk-PYLR4J2D.js} +8 -4
- package/dist/{chunk-YWKZF2SA.js → chunk-QC6IUDDJ.js} +46 -46
- package/dist/{chunk-4M2GX7RH.cjs → chunk-QM7HZCQW.cjs} +11 -6
- package/dist/chunk-QRQ5EX7I.cjs +380 -0
- package/dist/{chunk-YDH2BMEN.js → chunk-QU64XI5X.js} +9 -6
- package/dist/{chunk-3L76MLO5.cjs → chunk-R7SDL3DJ.cjs} +27 -31
- package/dist/{chunk-WQSWU2QA.cjs → chunk-RJP3SZ7Q.cjs} +46 -255
- package/dist/{chunk-BAFJQUWR.js → chunk-RJXNNIFW.js} +18 -22
- package/dist/{chunk-YAGD43KA.cjs → chunk-S5G7OEN2.cjs} +47 -40
- package/dist/{chunk-2JPUEN44.cjs → chunk-SA4JOV4F.cjs} +61 -86
- package/dist/chunk-SAG6IY5Z.cjs +94 -0
- package/dist/chunk-TSV4LVHK.js +35 -0
- package/dist/{chunk-JHFH3N4U.cjs → chunk-TSY7JHIV.cjs} +2 -2
- package/dist/chunk-U23U52ZN.cjs +124 -0
- package/dist/chunk-UET7BDX2.js +8630 -0
- package/dist/chunk-ULQ6MDSJ.cjs +362 -0
- package/dist/{chunk-WH3D42BQ.js → chunk-UM4QEO36.js} +59 -84
- package/dist/chunk-VXCMGBXY.cjs +35 -0
- package/dist/chunk-WD5ZF6HE.js +63 -0
- package/dist/chunk-WH5RW7DV.cjs +85 -0
- package/dist/{chunk-GSOEIEOU.js → chunk-WJ276BIP.js} +5 -1
- package/dist/{chunk-P2Z6GDEN.js → chunk-WLTVF77A.js} +1 -1
- package/dist/{chunk-53BR4MUW.cjs → chunk-WOGJXDBU.cjs} +3 -3
- package/dist/{chunk-QJ53OSGF.js → chunk-WRJLBHWB.js} +6 -2
- package/dist/chunk-WYLFLZ42.js +222 -0
- package/dist/{chunk-B7EUETGY.cjs → chunk-XL77XYI2.cjs} +4 -4
- package/dist/{chunk-NI3BQXKU.js → chunk-XLI7SHCH.js} +2 -2
- package/dist/chunk-Y27LG4BQ.cjs +45 -0
- package/dist/chunk-Y6OWFIUF.js +209 -0
- package/dist/chunk-YKSSNFDZ.js +400 -0
- package/dist/{chunk-VRI7EXV6.js → chunk-YMDLUTF2.js} +5 -1
- package/dist/chunk-YVY27BJT.js +85 -0
- package/dist/{chunk-GWIAMKKF.js → chunk-ZBIBLOZL.js} +40 -249
- package/dist/completion-HVSWU5GR.cjs +13 -0
- package/dist/completion-WJ2MVNDH.js +13 -0
- package/dist/constants-RBQTR32A.cjs +20 -0
- package/dist/{constants-ZLG6M5SI.js → constants-V6J54N3X.js} +1 -1
- package/dist/export-NN7F5ANA.js +11 -0
- package/dist/export-UPS3AK2P.cjs +11 -0
- package/dist/feedback-ARI7CLVQ.js +14 -0
- package/dist/feedback-OZTPYHKJ.cjs +14 -0
- package/dist/help-4674IV4D.cjs +58 -0
- package/dist/help-ENG5KV2M.js +58 -0
- package/dist/history-2KUM6GN4.cjs +13 -0
- package/dist/history-RZFT34Q7.js +13 -0
- package/dist/hooks-7QSUBHBM.cjs +12 -0
- package/dist/hooks-S4MD4QSR.js +12 -0
- package/dist/i18n-6NKENUIV.js +32 -0
- package/dist/i18n-MXQXQOVE.cjs +32 -0
- package/dist/ide-5STDV43A.cjs +11 -0
- package/dist/ide-W2NYXOWQ.js +11 -0
- package/dist/index.cjs +18002 -13864
- package/dist/index.js +18252 -14114
- package/dist/init-FG5KEJCZ.cjs +9 -0
- package/dist/init-TV4MJDYK.js +9 -0
- package/dist/language-52Q7CSAY.cjs +16 -0
- package/dist/language-FXFDGOBF.js +16 -0
- package/dist/localProjectPermissions-2EATUDZM.cjs +17 -0
- package/dist/{localProjectPermissions-YFFAKLUZ.js → localProjectPermissions-WQYMGI42.js} +2 -2
- package/dist/login-AN42IOBK.js +18 -0
- package/dist/login-I65V4TGU.cjs +18 -0
- package/dist/logout-KK5UWGNG.js +16 -0
- package/dist/logout-VYYNWBHZ.cjs +16 -0
- package/dist/mcp-4SKTDECJ.js +15 -0
- package/dist/mcp-AGWPTMAX.cjs +15 -0
- package/dist/mcp-install-3NN2HAYR.cjs +473 -0
- package/dist/mcp-install-KTV52DQK.js +473 -0
- package/dist/memory-LG4K6XV6.cjs +9 -0
- package/dist/{memory-4GSP7NKV.js → memory-LRDK2SYC.js} +2 -1
- package/dist/model-P5D7ATE7.cjs +9 -0
- package/dist/{model-HKEFSH5E.js → model-WBFJIGUN.js} +2 -1
- package/dist/{new-EEZC4XXV.js → new-5A7RQEKI.js} +2 -1
- package/dist/new-EAATWI2G.cjs +9 -0
- package/dist/permissions-5URK6C44.js +12 -0
- package/dist/permissions-CJUDVG63.cjs +12 -0
- package/dist/plan-B3CW5DXJ.cjs +10 -0
- package/dist/plan-JFGNRL2S.js +10 -0
- package/dist/quit-A33JHDG7.cjs +9 -0
- package/dist/quit-IYBLN3DB.js +9 -0
- package/dist/resume-OPSJTCH7.cjs +12 -0
- package/dist/resume-TOWEEN5D.js +12 -0
- package/dist/search-GOLIE5BA.js +14 -0
- package/dist/search-H42HGUK5.cjs +14 -0
- package/dist/{sessions-4KXIT76T.js → sessions-B5NENDKY.js} +2 -1
- package/dist/sessions-YHAVEMWY.cjs +9 -0
- package/dist/share-2JD2AKKX.cjs +13 -0
- package/dist/share-MYGDOTQE.js +13 -0
- package/dist/{skills-3YEEODHK.js → skills-ICEQ2TNC.js} +2 -1
- package/dist/skills-LFVNZOMF.cjs +13 -0
- package/dist/{skills-install-KAXAQSN6.js → skills-install-6RN7FVCP.js} +9 -7
- package/dist/{skills-install-FTGOHOZ4.cjs → skills-install-LU6GA2WF.cjs} +14 -12
- package/dist/skills-new-5BM5PDFX.cjs +14 -0
- package/dist/skills-new-KWBWOX74.js +14 -0
- package/dist/status-M3XHJELG.cjs +10 -0
- package/dist/status-ZQDUYMKQ.js +10 -0
- package/dist/sync-6M3WRKMH.cjs +39 -0
- package/dist/sync-73D2MP65.cjs +16 -0
- package/dist/{sync-H4UHHLKU.js → sync-EXYX7HXW.js} +3 -3
- package/dist/sync-LL6M67CN.js +16 -0
- package/dist/theme-IFEI2IBJ.cjs +16 -0
- package/dist/theme-U3SKEULY.js +16 -0
- package/dist/ui/questionModal.cjs +28 -0
- package/dist/ui/questionModal.d.cts +11 -0
- package/dist/ui/questionModal.d.ts +11 -0
- package/dist/ui/questionModal.js +28 -0
- package/dist/undo-4DS67OAW.cjs +9 -0
- package/dist/undo-YMALVAPN.js +9 -0
- package/package.json +3 -2
- package/dist/CommunitySkillsCache-2BITCEAA.cjs +0 -7
- package/dist/MemoryManager-2ATHG7BH.js +0 -7
- package/dist/MemoryManager-AENCGCEW.cjs +0 -7
- package/dist/PermissionManager-6HZGTK2N.cjs +0 -10
- package/dist/SessionManager-AG4WT3DP.cjs +0 -9
- package/dist/SkillsRegistry-ZXU6YDRP.cjs +0 -8
- package/dist/SyncApiClient-UOA4VLLD.cjs +0 -10
- package/dist/add-dir-OMK3Y4DM.cjs +0 -8
- package/dist/agents-ICAC3KD3.js +0 -9
- package/dist/agents-YONWPKFS.cjs +0 -9
- package/dist/agents-new-NV557UVG.cjs +0 -10
- package/dist/agents-new-QHM3CO4B.js +0 -10
- package/dist/automode-BRHUHGXU.cjs +0 -8
- package/dist/chunk-3HPUOQJN.cjs +0 -23
- package/dist/chunk-5DN5KNXU.js +0 -81
- package/dist/chunk-7BYSXAKS.js +0 -23
- package/dist/chunk-ARVFUZOB.js +0 -736
- package/dist/chunk-BEIG7V7Q.cjs +0 -51
- package/dist/chunk-GWXXFQ3F.cjs +0 -81
- package/dist/chunk-XFQS2VGT.cjs +0 -736
- package/dist/chunk-Z3Q2AFDS.js +0 -51
- package/dist/completion-WVFWX7XQ.cjs +0 -10
- package/dist/completion-Y42FKDT3.js +0 -10
- package/dist/constants-G2PLP5HH.cjs +0 -20
- package/dist/export-BKBJ7PB2.cjs +0 -8
- package/dist/export-WJ5P6E5Z.js +0 -8
- package/dist/feedback-HZBCTSFG.js +0 -10
- package/dist/feedback-JBQ3UPGZ.cjs +0 -10
- package/dist/help-PKC6QCNG.js +0 -10
- package/dist/help-UEELQRHP.cjs +0 -10
- package/dist/hooks-G4VLYMLX.cjs +0 -9
- package/dist/hooks-LN4A6NQL.js +0 -9
- package/dist/init-DML7AOII.js +0 -8
- package/dist/init-SLLSDDJN.cjs +0 -8
- package/dist/language-KODBDE5R.js +0 -12
- package/dist/language-SJT475NW.cjs +0 -12
- package/dist/localProjectPermissions-AYQYGTOE.cjs +0 -17
- package/dist/login-TC2KROQI.js +0 -14
- package/dist/login-TYMR2ZD3.cjs +0 -14
- package/dist/logout-2ECV365P.js +0 -12
- package/dist/logout-CO3CPYZJ.cjs +0 -12
- package/dist/memory-CFNC7RJH.cjs +0 -8
- package/dist/model-TKVEJ5BC.cjs +0 -8
- package/dist/new-EB2MBQXA.cjs +0 -8
- package/dist/permissions-5MTH22EF.js +0 -9
- package/dist/permissions-IP5SITPI.cjs +0 -9
- package/dist/quit-2RYFGIJP.cjs +0 -8
- package/dist/quit-RSYIERO5.js +0 -8
- package/dist/resume-EPOEF3WV.cjs +0 -9
- package/dist/resume-LOYD5MMP.js +0 -9
- package/dist/sessions-7RTCPVNE.cjs +0 -8
- package/dist/share-APR5S2CS.cjs +0 -10
- package/dist/share-VLJFDZKR.js +0 -10
- package/dist/skills-CRM55MKM.cjs +0 -12
- package/dist/skills-new-JF4FKNUT.cjs +0 -11
- package/dist/skills-new-JYX2GBKM.js +0 -11
- package/dist/status-DAEFE7ZC.cjs +0 -9
- package/dist/status-PBFFUC4Q.js +0 -9
- package/dist/sync-3B7SNBYC.js +0 -14
- package/dist/sync-4RARBQIH.cjs +0 -39
- package/dist/sync-YZ6YZ42H.cjs +0 -14
- package/dist/theme-3XV5BWUB.js +0 -12
- package/dist/theme-Z2WS5XWZ.cjs +0 -12
- package/dist/undo-2WR2ZIEC.cjs +0 -8
- package/dist/undo-7QJBXARS.js +0 -8
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
package_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CUBYCLNL.js";
|
|
4
|
+
import {
|
|
5
|
+
showConfirm,
|
|
6
|
+
showModal
|
|
7
|
+
} from "./chunk-PNSRJT46.js";
|
|
4
8
|
import {
|
|
5
9
|
AUTOHAND_PATHS
|
|
6
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PWLLLJHU.js";
|
|
11
|
+
import {
|
|
12
|
+
t
|
|
13
|
+
} from "./chunk-UET7BDX2.js";
|
|
7
14
|
|
|
8
15
|
// src/commands/share.ts
|
|
9
16
|
import chalk from "chalk";
|
|
10
|
-
import enquirer from "enquirer";
|
|
11
17
|
import ora from "ora";
|
|
12
18
|
|
|
13
19
|
// src/share/costEstimator.ts
|
|
@@ -448,7 +454,7 @@ function terminalLink(url, text) {
|
|
|
448
454
|
}
|
|
449
455
|
var metadata = {
|
|
450
456
|
command: "/share",
|
|
451
|
-
description: "
|
|
457
|
+
description: t("commands.share.description"),
|
|
452
458
|
implemented: true
|
|
453
459
|
};
|
|
454
460
|
async function execute(_args, context) {
|
|
@@ -488,40 +494,29 @@ async function execute(_args, context) {
|
|
|
488
494
|
);
|
|
489
495
|
console.log(` Duration: ${chalk.cyan(formatDuration(duration))}`);
|
|
490
496
|
console.log();
|
|
491
|
-
const
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
]
|
|
497
|
+
const visibilityOptions = [
|
|
498
|
+
{ label: "Public - Anyone with the link can view", value: "public" },
|
|
499
|
+
{ label: "Private - Requires one-time passcode", value: "private" }
|
|
500
|
+
];
|
|
501
|
+
const visibilityResult = await showModal({
|
|
502
|
+
title: "Share visibility:",
|
|
503
|
+
options: visibilityOptions
|
|
499
504
|
});
|
|
500
|
-
|
|
501
|
-
try {
|
|
502
|
-
visibility = await visibilityPrompt.run();
|
|
503
|
-
} catch {
|
|
505
|
+
if (!visibilityResult) {
|
|
504
506
|
console.log(chalk.gray("Cancelled."));
|
|
505
507
|
return;
|
|
506
508
|
}
|
|
507
|
-
const
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
509
|
+
const visibility = visibilityResult.value;
|
|
510
|
+
const confirmed = await showConfirm({
|
|
511
|
+
title: `Share this session as ${visibility}?`,
|
|
512
|
+
defaultValue: true
|
|
511
513
|
});
|
|
512
|
-
let confirmed;
|
|
513
|
-
try {
|
|
514
|
-
confirmed = await confirmPrompt.run();
|
|
515
|
-
} catch {
|
|
516
|
-
console.log(chalk.gray("Cancelled."));
|
|
517
|
-
return;
|
|
518
|
-
}
|
|
519
514
|
if (!confirmed) {
|
|
520
515
|
console.log(chalk.gray("Cancelled."));
|
|
521
516
|
return;
|
|
522
517
|
}
|
|
523
518
|
console.log();
|
|
524
|
-
const spinner = ora("
|
|
519
|
+
const spinner = ora(t("commands.share.generating")).start();
|
|
525
520
|
try {
|
|
526
521
|
const payload = serializeSession(session, {
|
|
527
522
|
model: context.model,
|
|
@@ -534,9 +529,7 @@ async function execute(_args, context) {
|
|
|
534
529
|
spinner.stop();
|
|
535
530
|
if (response.success && response.url) {
|
|
536
531
|
console.log();
|
|
537
|
-
console.log(chalk.green.bold("
|
|
538
|
-
console.log();
|
|
539
|
-
console.log(`${chalk.bold("URL:")} ${terminalLink(response.url)}`);
|
|
532
|
+
console.log(chalk.green.bold(t("commands.share.success", { url: terminalLink(response.url) })));
|
|
540
533
|
if (visibility === "private" && response.passcode) {
|
|
541
534
|
console.log();
|
|
542
535
|
console.log(`${chalk.bold("Passcode:")} ${chalk.yellow.bold(response.passcode)}`);
|
|
@@ -550,14 +543,14 @@ async function execute(_args, context) {
|
|
|
550
543
|
} else {
|
|
551
544
|
console.log();
|
|
552
545
|
console.log(
|
|
553
|
-
chalk.red(
|
|
546
|
+
chalk.red(t("commands.share.failed", { error: response.error || "Unknown error" }))
|
|
554
547
|
);
|
|
555
548
|
console.log();
|
|
556
549
|
}
|
|
557
550
|
} catch (error) {
|
|
558
551
|
spinner.stop();
|
|
559
552
|
console.log();
|
|
560
|
-
console.log(chalk.red(
|
|
553
|
+
console.log(chalk.red(t("commands.share.failed", { error: error.message })));
|
|
561
554
|
console.log();
|
|
562
555
|
}
|
|
563
556
|
}
|
|
@@ -5,6 +5,7 @@ var DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
|
5
5
|
var DEFAULT_MAX_TOTAL_SIZE = 100 * 1024 * 1024;
|
|
6
6
|
var DEFAULT_MAX_RETRIES = 3;
|
|
7
7
|
var DEFAULT_RETRY_DELAY = 1e3;
|
|
8
|
+
var MAX_FILES_PER_REQUEST = 100;
|
|
8
9
|
var SyncApiClient = class {
|
|
9
10
|
constructor(config) {
|
|
10
11
|
this.baseUrl = _optionalChain([config, 'optionalAccess', _ => _.baseUrl]) || DEFAULT_BASE_URL;
|
|
@@ -89,29 +90,41 @@ var SyncApiClient = class {
|
|
|
89
90
|
}
|
|
90
91
|
/**
|
|
91
92
|
* Upload sync manifest and request pre-signed URLs for file uploads
|
|
93
|
+
* Batches requests to stay within API limits (max 100 files per request)
|
|
92
94
|
*/
|
|
93
95
|
async initiateUpload(token, manifest, filePaths) {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
96
|
+
const batches = [];
|
|
97
|
+
for (let i = 0; i < filePaths.length; i += MAX_FILES_PER_REQUEST) {
|
|
98
|
+
batches.push(filePaths.slice(i, i + MAX_FILES_PER_REQUEST));
|
|
99
|
+
}
|
|
100
|
+
const allUploadUrls = {};
|
|
101
|
+
for (let batchIndex = 0; batchIndex < batches.length; batchIndex++) {
|
|
102
|
+
const batch = batches[batchIndex];
|
|
103
|
+
const response = await this.fetchWithRetry(
|
|
104
|
+
`${this.baseUrl}/v1/sync/upload`,
|
|
105
|
+
{
|
|
106
|
+
method: "POST",
|
|
107
|
+
headers: {
|
|
108
|
+
Authorization: `Bearer ${token}`,
|
|
109
|
+
"Content-Type": "application/json"
|
|
110
|
+
},
|
|
111
|
+
body: JSON.stringify({
|
|
112
|
+
// Only include manifest on first batch
|
|
113
|
+
...batchIndex === 0 ? { manifest } : {},
|
|
114
|
+
files: batch
|
|
115
|
+
})
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
if (!response.ok) {
|
|
119
|
+
const error = await response.text().catch(() => "Unknown error");
|
|
120
|
+
throw new Error(`API error: ${response.status} ${error}`);
|
|
106
121
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
throw new Error(`API error: ${response.status} ${error}`);
|
|
122
|
+
const data = await response.json();
|
|
123
|
+
const batchUrls = data.uploadUrls || {};
|
|
124
|
+
Object.assign(allUploadUrls, batchUrls);
|
|
111
125
|
}
|
|
112
|
-
const data = await response.json();
|
|
113
126
|
return {
|
|
114
|
-
uploadUrls:
|
|
127
|
+
uploadUrls: allUploadUrls
|
|
115
128
|
};
|
|
116
129
|
}
|
|
117
130
|
/**
|
|
@@ -180,26 +193,36 @@ var SyncApiClient = class {
|
|
|
180
193
|
}
|
|
181
194
|
/**
|
|
182
195
|
* Request pre-signed URLs for file downloads
|
|
196
|
+
* Batches requests to stay within API limits (max 100 files per request)
|
|
183
197
|
*/
|
|
184
198
|
async initiateDownload(token, filePaths) {
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
|
|
199
|
+
const batches = [];
|
|
200
|
+
for (let i = 0; i < filePaths.length; i += MAX_FILES_PER_REQUEST) {
|
|
201
|
+
batches.push(filePaths.slice(i, i + MAX_FILES_PER_REQUEST));
|
|
202
|
+
}
|
|
203
|
+
const allDownloadUrls = {};
|
|
204
|
+
for (const batch of batches) {
|
|
205
|
+
const response = await this.fetchWithRetry(
|
|
206
|
+
`${this.baseUrl}/v1/sync/download`,
|
|
207
|
+
{
|
|
208
|
+
method: "POST",
|
|
209
|
+
headers: {
|
|
210
|
+
Authorization: `Bearer ${token}`,
|
|
211
|
+
"Content-Type": "application/json"
|
|
212
|
+
},
|
|
213
|
+
body: JSON.stringify({ files: batch })
|
|
214
|
+
}
|
|
215
|
+
);
|
|
216
|
+
if (!response.ok) {
|
|
217
|
+
const error = await response.text().catch(() => "Unknown error");
|
|
218
|
+
throw new Error(`API error: ${response.status} ${error}`);
|
|
194
219
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
throw new Error(`API error: ${response.status} ${error}`);
|
|
220
|
+
const data = await response.json();
|
|
221
|
+
const batchUrls = data.downloadUrls || {};
|
|
222
|
+
Object.assign(allDownloadUrls, batchUrls);
|
|
199
223
|
}
|
|
200
|
-
const data = await response.json();
|
|
201
224
|
return {
|
|
202
|
-
downloadUrls:
|
|
225
|
+
downloadUrls: allDownloadUrls
|
|
203
226
|
};
|
|
204
227
|
}
|
|
205
228
|
/**
|
|
@@ -22,7 +22,11 @@ var AUTOHAND_PATHS = {
|
|
|
22
22
|
/** Custom tools */
|
|
23
23
|
tools: _path2.default.join(AUTOHAND_HOME, "tools"),
|
|
24
24
|
/** Skills (instruction packages) */
|
|
25
|
-
skills: _path2.default.join(AUTOHAND_HOME, "skills")
|
|
25
|
+
skills: _path2.default.join(AUTOHAND_HOME, "skills"),
|
|
26
|
+
/** Plan files for plan mode */
|
|
27
|
+
plans: _path2.default.join(AUTOHAND_HOME, "plans"),
|
|
28
|
+
/** MCP community registry cache */
|
|
29
|
+
mcpCache: _path2.default.join(AUTOHAND_HOME, "community-mcp", "cache")
|
|
26
30
|
};
|
|
27
31
|
var AUTOHAND_FILES = {
|
|
28
32
|
/** Main config file */
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
t
|
|
3
|
+
} from "./chunk-UET7BDX2.js";
|
|
4
|
+
|
|
1
5
|
// src/commands/undo.ts
|
|
2
6
|
import chalk from "chalk";
|
|
3
7
|
import { spawnSync } from "child_process";
|
|
@@ -25,12 +29,13 @@ async function undo(ctx) {
|
|
|
25
29
|
console.log(chalk.green(" Removed untracked files"));
|
|
26
30
|
}
|
|
27
31
|
} else {
|
|
28
|
-
console.log(chalk.gray("
|
|
32
|
+
console.log(chalk.gray(" " + t("commands.undo.noChanges")));
|
|
29
33
|
}
|
|
30
34
|
try {
|
|
31
35
|
await ctx.undoFileMutation();
|
|
32
|
-
console.log(chalk.green("
|
|
36
|
+
console.log(chalk.green(" " + t("commands.undo.success", { file: "last mutation" })));
|
|
33
37
|
} catch {
|
|
38
|
+
console.log(chalk.gray(" " + t("commands.undo.noChanges")));
|
|
34
39
|
}
|
|
35
40
|
ctx.removeLastTurn();
|
|
36
41
|
console.log(chalk.green(" Removed last conversation turn"));
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
|
|
4
|
+
|
|
5
|
+
// src/commands/new.ts
|
|
2
6
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
3
7
|
async function newConversation(ctx) {
|
|
4
8
|
const currentSession = ctx.sessionManager.getCurrentSession();
|
|
@@ -8,8 +12,7 @@ async function newConversation(ctx) {
|
|
|
8
12
|
await ctx.resetConversation();
|
|
9
13
|
await ctx.sessionManager.createSession(ctx.workspaceRoot, ctx.model);
|
|
10
14
|
console.log();
|
|
11
|
-
console.log(_chalk2.default.cyan(
|
|
12
|
-
console.log(_chalk2.default.gray("Previous session saved. Ready for new instructions."));
|
|
15
|
+
console.log(_chalk2.default.cyan(_chunkLOXOD4IScjs.t.call(void 0, "commands.new.cleared")));
|
|
13
16
|
console.log();
|
|
14
17
|
return null;
|
|
15
18
|
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import {
|
|
2
|
+
package_default
|
|
3
|
+
} from "./chunk-CUBYCLNL.js";
|
|
4
|
+
import {
|
|
5
|
+
getTheme,
|
|
6
|
+
isThemeInitialized
|
|
7
|
+
} from "./chunk-JS7IPR7P.js";
|
|
8
|
+
import {
|
|
9
|
+
t
|
|
10
|
+
} from "./chunk-UET7BDX2.js";
|
|
11
|
+
|
|
12
|
+
// src/commands/about.ts
|
|
13
|
+
import { execSync } from "child_process";
|
|
14
|
+
import chalk from "chalk";
|
|
15
|
+
import terminalLink from "terminal-link";
|
|
16
|
+
function getGitCommit() {
|
|
17
|
+
if (true) {
|
|
18
|
+
return "ec6118d";
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
return execSync("git rev-parse --short HEAD", { encoding: "utf8", stdio: ["pipe", "pipe", "ignore"] }).trim();
|
|
22
|
+
} catch {
|
|
23
|
+
return "unknown";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function getVersionString() {
|
|
27
|
+
const commit = getGitCommit();
|
|
28
|
+
return commit !== "unknown" ? `${package_default.version} (${commit})` : package_default.version;
|
|
29
|
+
}
|
|
30
|
+
var ASCII_FRIEND = [
|
|
31
|
+
"\u2880\u2874\u281B\u281B\u283B\u28F7\u2844\u2800\u28E0\u2876\u281F\u281B\u283B\u28F6\u2844\u2880\u28F4\u287E\u281B\u281B\u28BF\u28E6\u2800\u2880\u28F4\u281E\u281B\u281B\u2836\u2840",
|
|
32
|
+
"\u284E\u2800\u28B0\u28F6\u2846\u2808\u28FF\u28F4\u28FF\u2801\u28F4\u28F6\u2844\u2818\u28FF\u28FE\u284F\u2880\u28F6\u28E6\u2800\u28BB\u2847\u28FF\u2803\u28A0\u28F6\u2846\u2800\u28B9",
|
|
33
|
+
"\u28A7\u2800\u2818\u281B\u2803\u28A0\u287F\u2819\u28FF\u2840\u2819\u281B\u2803\u28F0\u287F\u28BB\u28E7\u2808\u281B\u281B\u2880\u28FE\u2807\u28BB\u28C6\u2808\u281B\u280B\u2800\u287C",
|
|
34
|
+
"\u2808\u283B\u28B6\u28F6\u287E\u281F\u2801\u2800\u2818\u283F\u28B6\u28F6\u287E\u281F\u2801\u2800\u2819\u2837\u28F6\u28F6\u283F\u280B\u2800\u2808\u283B\u2837\u28F6\u2876\u281A\u2801",
|
|
35
|
+
"\u2880\u28F4\u283F\u283F\u2837\u28E6\u2840\u2800\u28E0\u28F6\u283F\u283B\u28B7\u28E6\u2840\u2800\u28E0\u287E\u281F\u283F\u28F6\u28C4\u2800\u2880\u28F4\u287E\u283F\u283F\u28F6\u28C4",
|
|
36
|
+
"\u287E\u2803\u28A0\u28E4\u2844\u2818\u28FF\u28E0\u28FF\u2801\u28E0\u28E4\u2844\u2839\u28F7\u28FC\u284F\u2880\u28E4\u28E4\u2808\u28BF\u2846\u28FE\u280F\u2880\u28E4\u28C4\u2808\u28BF",
|
|
37
|
+
"\u28A7\u2840\u2838\u283F\u2807\u2880\u28FF\u283A\u28FF\u2840\u283B\u283F\u2803\u28B0\u28FF\u28BF\u28C7\u2808\u283F\u283F\u2800\u28FC\u2847\u28BF\u28C7\u2818\u283F\u2807\u2800\u28F8",
|
|
38
|
+
"\u2808\u28BF\u28E6\u28E4\u28F4\u287F\u2803\u2800\u2819\u28B7\u28E6\u28E4\u28F6\u287F\u2801\u2808\u283B\u28F7\u28E4\u28E4\u287E\u281B\u2800\u2808\u28BF\u28E6\u28E4\u28E4\u2834\u2801"
|
|
39
|
+
].join("\n");
|
|
40
|
+
async function about() {
|
|
41
|
+
let accent;
|
|
42
|
+
let muted;
|
|
43
|
+
let text;
|
|
44
|
+
if (isThemeInitialized()) {
|
|
45
|
+
const theme = getTheme();
|
|
46
|
+
accent = (text2) => chalk.hex(theme.colors.accent)(text2);
|
|
47
|
+
muted = (text2) => chalk.hex(theme.colors.muted)(text2);
|
|
48
|
+
text = (str) => chalk.hex(theme.colors.text)(str);
|
|
49
|
+
} else {
|
|
50
|
+
accent = (text2) => chalk.cyan(text2);
|
|
51
|
+
muted = (text2) => chalk.gray(text2);
|
|
52
|
+
text = (text2) => chalk.white(text2);
|
|
53
|
+
}
|
|
54
|
+
console.log(chalk.gray(ASCII_FRIEND));
|
|
55
|
+
console.log();
|
|
56
|
+
console.log(accent(`${t("commands.about.title")} v${getVersionString()}`));
|
|
57
|
+
console.log(muted(t("commands.about.subtitle")));
|
|
58
|
+
console.log();
|
|
59
|
+
const websiteUrl = "https://autohand.ai";
|
|
60
|
+
const githubUrl = "https://github.com/autohandai/";
|
|
61
|
+
const docsUrl = "https://docs.autohand.ai";
|
|
62
|
+
const websiteLink = terminalLink(chalk.cyan.underline("autohand.ai"), websiteUrl);
|
|
63
|
+
const githubLink = terminalLink(chalk.cyan.underline("github.com/autohandai/"), githubUrl);
|
|
64
|
+
const docsLink = terminalLink(chalk.cyan.underline("docs.autohand.ai"), docsUrl);
|
|
65
|
+
console.log(`${text("\u{1F310}")} ${text(t("commands.about.website") + ":")} ${websiteLink}`);
|
|
66
|
+
console.log(`${text("\u{1F4E6}")} ${text(t("commands.about.github") + ":")} ${githubLink}`);
|
|
67
|
+
console.log(`${text("\u{1F4DA}")} ${text(t("commands.about.docs") + ":")} ${docsLink}`);
|
|
68
|
+
console.log();
|
|
69
|
+
console.log(text(`\u{1F4A1} ${t("commands.about.contribute")}`));
|
|
70
|
+
console.log(text(` \u2022 ${t("commands.about.feedback")}: ${accent("/feedback")}`));
|
|
71
|
+
console.log(text(` \u2022 ${t("commands.about.submitPR")}: ${accent("gh pr create")}`));
|
|
72
|
+
const issuesUrl = "https://github.com/autohandai/code-cli/issues";
|
|
73
|
+
const issuesLink = terminalLink(chalk.cyan.underline("github.com/autohandai/code-cli/issues"), issuesUrl);
|
|
74
|
+
console.log(text(` \u2022 ${t("commands.about.reportIssues")}: ${issuesLink}`));
|
|
75
|
+
console.log();
|
|
76
|
+
console.log(muted(t("commands.about.pressKey")));
|
|
77
|
+
console.log();
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
var metadata = {
|
|
81
|
+
command: "/about",
|
|
82
|
+
description: "show information about Autohand",
|
|
83
|
+
implemented: true
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export {
|
|
87
|
+
about,
|
|
88
|
+
metadata
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* @license
|
|
92
|
+
* Copyright 2025 Autohand AI LLC
|
|
93
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
94
|
+
*/
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
t
|
|
3
|
+
} from "./chunk-UET7BDX2.js";
|
|
4
|
+
|
|
1
5
|
// src/commands/new.ts
|
|
2
6
|
import chalk from "chalk";
|
|
3
7
|
async function newConversation(ctx) {
|
|
@@ -8,8 +12,7 @@ async function newConversation(ctx) {
|
|
|
8
12
|
await ctx.resetConversation();
|
|
9
13
|
await ctx.sessionManager.createSession(ctx.workspaceRoot, ctx.model);
|
|
10
14
|
console.log();
|
|
11
|
-
console.log(chalk.cyan("
|
|
12
|
-
console.log(chalk.gray("Previous session saved. Ready for new instructions."));
|
|
15
|
+
console.log(chalk.cyan(t("commands.new.cleared")));
|
|
13
16
|
console.log();
|
|
14
17
|
return null;
|
|
15
18
|
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true})
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
|
|
4
|
+
|
|
5
|
+
// src/commands/quit.ts
|
|
2
6
|
async function quit() {
|
|
3
7
|
return "/quit";
|
|
4
8
|
}
|
|
5
9
|
var metadata = {
|
|
6
10
|
command: "/quit",
|
|
7
|
-
description:
|
|
11
|
+
description: _chunkLOXOD4IScjs.t.call(void 0, "commands.quit.description"),
|
|
8
12
|
implemented: true
|
|
9
13
|
};
|
|
10
14
|
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getAuthClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-D2XFTCRP.js";
|
|
4
|
+
import {
|
|
5
|
+
safePrompt
|
|
6
|
+
} from "./chunk-WD5ZF6HE.js";
|
|
4
7
|
import {
|
|
5
8
|
saveConfig
|
|
6
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZBIBLOZL.js";
|
|
7
10
|
import {
|
|
8
|
-
|
|
9
|
-
} from "./chunk-
|
|
11
|
+
t
|
|
12
|
+
} from "./chunk-UET7BDX2.js";
|
|
10
13
|
|
|
11
14
|
// src/commands/logout.ts
|
|
12
15
|
import chalk from "chalk";
|
|
13
16
|
var metadata = {
|
|
14
17
|
command: "/logout",
|
|
15
|
-
description: "
|
|
18
|
+
description: t("commands.logout.description"),
|
|
16
19
|
implemented: true
|
|
17
20
|
};
|
|
18
21
|
async function logout(ctx) {
|
|
@@ -30,7 +33,7 @@ async function logout(ctx) {
|
|
|
30
33
|
initial: true
|
|
31
34
|
});
|
|
32
35
|
if (!result || !result.confirm) {
|
|
33
|
-
console.log(chalk.gray("
|
|
36
|
+
console.log(chalk.gray(t("commands.logout.cancelled")));
|
|
34
37
|
return null;
|
|
35
38
|
}
|
|
36
39
|
const authClient = getAuthClient();
|
|
@@ -44,7 +47,7 @@ async function logout(ctx) {
|
|
|
44
47
|
};
|
|
45
48
|
await saveConfig(updatedConfig);
|
|
46
49
|
console.log();
|
|
47
|
-
console.log(chalk.green("
|
|
50
|
+
console.log(chalk.green(t("commands.logout.success")));
|
|
48
51
|
console.log(chalk.gray("Your local session has been cleared."));
|
|
49
52
|
console.log();
|
|
50
53
|
return null;
|