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
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
var _chunkRJP3SZ7Qcjs = require('./chunk-RJP3SZ7Q.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkQRQ5EX7Icjs = require('./chunk-QRQ5EX7I.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
|
|
14
|
+
|
|
15
|
+
// src/commands/language.ts
|
|
16
|
+
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
17
|
+
async function language(ctx) {
|
|
18
|
+
const currentLocale = _chunkLOXOD4IScjs.getCurrentLocale.call(void 0, );
|
|
19
|
+
const currentDisplayName = _chunkLOXOD4IScjs.LANGUAGE_DISPLAY_NAMES[currentLocale];
|
|
20
|
+
console.log(_chalk2.default.cyan(`
|
|
21
|
+
\u{1F310} ${_chunkLOXOD4IScjs.t.call(void 0, "commands.language.title")}
|
|
22
|
+
`));
|
|
23
|
+
console.log(_chalk2.default.gray(`${_chunkLOXOD4IScjs.t.call(void 0, "commands.language.currentLanguage", { language: currentDisplayName })}`));
|
|
24
|
+
console.log();
|
|
25
|
+
const options = _chunkLOXOD4IScjs.SUPPORTED_LOCALES.map((locale) => ({
|
|
26
|
+
label: locale === currentLocale ? `${_chunkLOXOD4IScjs.LANGUAGE_DISPLAY_NAMES[locale]} (${_chunkLOXOD4IScjs.t.call(void 0, "common.current")})` : _chunkLOXOD4IScjs.LANGUAGE_DISPLAY_NAMES[locale],
|
|
27
|
+
value: locale
|
|
28
|
+
}));
|
|
29
|
+
const result = await _chunkQRQ5EX7Icjs.showModal.call(void 0, {
|
|
30
|
+
title: _chunkLOXOD4IScjs.t.call(void 0, "commands.language.selectPrompt"),
|
|
31
|
+
options,
|
|
32
|
+
initialIndex: _chunkLOXOD4IScjs.SUPPORTED_LOCALES.indexOf(currentLocale)
|
|
33
|
+
});
|
|
34
|
+
if (!result) {
|
|
35
|
+
console.log(_chalk2.default.gray("\nLanguage selection cancelled."));
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const selected = result.value;
|
|
39
|
+
if (selected === currentLocale) {
|
|
40
|
+
console.log(_chalk2.default.gray(`
|
|
41
|
+
${_chunkLOXOD4IScjs.t.call(void 0, "commands.language.noChange")}`));
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
await _chunkLOXOD4IScjs.changeLanguage.call(void 0, selected);
|
|
45
|
+
ctx.config.ui = { ...ctx.config.ui, locale: selected };
|
|
46
|
+
await _chunkRJP3SZ7Qcjs.saveConfig.call(void 0, ctx.config);
|
|
47
|
+
const newDisplayName = _chunkLOXOD4IScjs.LANGUAGE_DISPLAY_NAMES[selected];
|
|
48
|
+
console.log(_chalk2.default.green(`
|
|
49
|
+
\u2713 ${_chunkLOXOD4IScjs.t.call(void 0, "commands.language.changed", { language: newDisplayName })}`));
|
|
50
|
+
console.log();
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
async function languageInfo() {
|
|
54
|
+
const currentLocale = _chunkLOXOD4IScjs.getCurrentLocale.call(void 0, );
|
|
55
|
+
const currentDisplayName = _chunkLOXOD4IScjs.LANGUAGE_DISPLAY_NAMES[currentLocale];
|
|
56
|
+
console.log(_chalk2.default.cyan(`
|
|
57
|
+
\u{1F310} ${_chunkLOXOD4IScjs.t.call(void 0, "commands.language.title")}
|
|
58
|
+
`));
|
|
59
|
+
console.log(_chalk2.default.gray(`${_chunkLOXOD4IScjs.t.call(void 0, "commands.language.currentLanguage", { language: currentDisplayName })}`));
|
|
60
|
+
console.log(_chalk2.default.gray(`Locale code: ${_chalk2.default.white(currentLocale)}`));
|
|
61
|
+
console.log();
|
|
62
|
+
console.log(_chalk2.default.gray("Supported languages:"));
|
|
63
|
+
for (const locale of _chunkLOXOD4IScjs.SUPPORTED_LOCALES) {
|
|
64
|
+
const marker = locale === currentLocale ? _chalk2.default.green("\u25CF") : _chalk2.default.gray("\u25CB");
|
|
65
|
+
console.log(` ${marker} ${_chunkLOXOD4IScjs.LANGUAGE_DISPLAY_NAMES[locale]}`);
|
|
66
|
+
}
|
|
67
|
+
console.log();
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
var metadata = {
|
|
71
|
+
command: "/language",
|
|
72
|
+
description: "change display language",
|
|
73
|
+
implemented: true
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
exports.language = language; exports.languageInfo = languageInfo; exports.metadata = metadata;
|
|
81
|
+
/**
|
|
82
|
+
* @license
|
|
83
|
+
* Copyright 2025 Autohand AI LLC
|
|
84
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
85
|
+
*/
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
t
|
|
3
|
+
} from "./chunk-UET7BDX2.js";
|
|
4
|
+
|
|
1
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: t("commands.quit.description"),
|
|
8
12
|
implemented: true
|
|
9
13
|
};
|
|
10
14
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _chunkJHGIWNHLcjs = require('./chunk-JHGIWNHL.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
|
|
7
7
|
|
|
8
8
|
// src/skills/SkillsRegistry.ts
|
|
9
9
|
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
@@ -232,7 +232,7 @@ var SkillsRegistry = class {
|
|
|
232
232
|
this.workspaceRoot = workspaceRoot;
|
|
233
233
|
const claudeProjectSkillsDir = _path2.default.join(workspaceRoot, ".claude", "skills");
|
|
234
234
|
await this.loadFromDirectory(claudeProjectSkillsDir, "claude-project", false);
|
|
235
|
-
const autohandProjectSkillsDir = _path2.default.join(workspaceRoot,
|
|
235
|
+
const autohandProjectSkillsDir = _path2.default.join(workspaceRoot, _chunkGIZL57FEcjs.PROJECT_DIR_NAME, "skills");
|
|
236
236
|
await this.loadFromDirectory(autohandProjectSkillsDir, "autohand-project", true);
|
|
237
237
|
}
|
|
238
238
|
/**
|
|
@@ -291,7 +291,7 @@ var SkillsRegistry = class {
|
|
|
291
291
|
async setWorkspaceWithAutoCopy(workspaceRoot) {
|
|
292
292
|
this.workspaceRoot = workspaceRoot;
|
|
293
293
|
const claudeProjectSkillsDir = _path2.default.join(workspaceRoot, ".claude", "skills");
|
|
294
|
-
const autohandProjectSkillsDir = _path2.default.join(workspaceRoot,
|
|
294
|
+
const autohandProjectSkillsDir = _path2.default.join(workspaceRoot, _chunkGIZL57FEcjs.PROJECT_DIR_NAME, "skills");
|
|
295
295
|
await this.addLocationWithAutoCopy(
|
|
296
296
|
claudeProjectSkillsDir,
|
|
297
297
|
"claude-project",
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
t
|
|
3
|
+
} from "./chunk-UET7BDX2.js";
|
|
4
|
+
|
|
1
5
|
// src/commands/sessions.ts
|
|
2
6
|
import chalk from "chalk";
|
|
3
7
|
var metadata = {
|
|
4
8
|
command: "/sessions",
|
|
5
|
-
description: "
|
|
9
|
+
description: t("commands.sessions.description"),
|
|
6
10
|
implemented: true
|
|
7
11
|
};
|
|
8
12
|
async function sessions(ctx) {
|
|
@@ -12,7 +16,7 @@ async function sessions(ctx) {
|
|
|
12
16
|
projectFilter ? { project: projectFilter } : void 0
|
|
13
17
|
);
|
|
14
18
|
if (allSessions.length === 0) {
|
|
15
|
-
console.log(chalk.gray("
|
|
19
|
+
console.log(chalk.gray(t("commands.sessions.noSessions")));
|
|
16
20
|
return null;
|
|
17
21
|
}
|
|
18
22
|
console.log(chalk.cyan(`
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import {
|
|
2
|
+
package_default
|
|
3
|
+
} from "./chunk-CUBYCLNL.js";
|
|
4
|
+
import {
|
|
5
|
+
safePrompt
|
|
6
|
+
} from "./chunk-WD5ZF6HE.js";
|
|
7
|
+
import {
|
|
8
|
+
AUTOHAND_FILES,
|
|
9
|
+
AUTOHAND_PATHS
|
|
10
|
+
} from "./chunk-PWLLLJHU.js";
|
|
11
|
+
import {
|
|
12
|
+
t
|
|
13
|
+
} from "./chunk-UET7BDX2.js";
|
|
14
|
+
|
|
15
|
+
// src/commands/feedback.ts
|
|
16
|
+
import fs from "fs-extra";
|
|
17
|
+
import os from "os";
|
|
18
|
+
import chalk from "chalk";
|
|
19
|
+
var metadata = {
|
|
20
|
+
command: "/feedback",
|
|
21
|
+
description: t("commands.feedback.description"),
|
|
22
|
+
implemented: true
|
|
23
|
+
};
|
|
24
|
+
var API_BASE_URL = "https://api.autohand.ai";
|
|
25
|
+
var API_TIMEOUT = 1e4;
|
|
26
|
+
var COOLDOWN_MAX_SUBMISSIONS = 5;
|
|
27
|
+
var COOLDOWN_WINDOW_MS = 60 * 60 * 1e3;
|
|
28
|
+
var COOLDOWN_STATE_PATH = `${AUTOHAND_PATHS.feedback}/cooldown.json`;
|
|
29
|
+
async function checkCooldown() {
|
|
30
|
+
try {
|
|
31
|
+
if (!await fs.pathExists(COOLDOWN_STATE_PATH)) {
|
|
32
|
+
return { allowed: true, remaining: COOLDOWN_MAX_SUBMISSIONS };
|
|
33
|
+
}
|
|
34
|
+
const state = await fs.readJson(COOLDOWN_STATE_PATH);
|
|
35
|
+
const now = Date.now();
|
|
36
|
+
const windowStart = now - COOLDOWN_WINDOW_MS;
|
|
37
|
+
const recentSubmissions = state.submissions.filter((ts) => ts > windowStart);
|
|
38
|
+
if (recentSubmissions.length >= COOLDOWN_MAX_SUBMISSIONS) {
|
|
39
|
+
const oldestRecent = Math.min(...recentSubmissions);
|
|
40
|
+
const waitMs = oldestRecent + COOLDOWN_WINDOW_MS - now;
|
|
41
|
+
const waitMinutes = Math.ceil(waitMs / 6e4);
|
|
42
|
+
return { allowed: false, remaining: 0, waitMinutes };
|
|
43
|
+
}
|
|
44
|
+
return { allowed: true, remaining: COOLDOWN_MAX_SUBMISSIONS - recentSubmissions.length };
|
|
45
|
+
} catch {
|
|
46
|
+
return { allowed: true, remaining: COOLDOWN_MAX_SUBMISSIONS };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async function recordSubmission() {
|
|
50
|
+
try {
|
|
51
|
+
let state = { submissions: [] };
|
|
52
|
+
if (await fs.pathExists(COOLDOWN_STATE_PATH)) {
|
|
53
|
+
state = await fs.readJson(COOLDOWN_STATE_PATH);
|
|
54
|
+
}
|
|
55
|
+
const now = Date.now();
|
|
56
|
+
const windowStart = now - COOLDOWN_WINDOW_MS;
|
|
57
|
+
state.submissions = state.submissions.filter((ts) => ts > windowStart);
|
|
58
|
+
state.submissions.push(now);
|
|
59
|
+
await fs.ensureDir(AUTOHAND_PATHS.feedback);
|
|
60
|
+
await fs.writeJson(COOLDOWN_STATE_PATH, state, { spaces: 2 });
|
|
61
|
+
} catch {
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async function feedback(_ctx) {
|
|
65
|
+
const cooldown = await checkCooldown();
|
|
66
|
+
if (!cooldown.allowed) {
|
|
67
|
+
console.log(chalk.yellow(`Feedback limit reached (${COOLDOWN_MAX_SUBMISSIONS} per hour).`));
|
|
68
|
+
console.log(chalk.gray(`Please wait ${cooldown.waitMinutes} minute${cooldown.waitMinutes === 1 ? "" : "s"} before submitting again.`));
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
const ratingAnswer = await safePrompt([
|
|
72
|
+
{
|
|
73
|
+
type: "select",
|
|
74
|
+
name: "rating",
|
|
75
|
+
message: "How would you rate your experience?",
|
|
76
|
+
choices: [
|
|
77
|
+
{ name: "5", message: "5 - Excellent" },
|
|
78
|
+
{ name: "4", message: "4 - Good" },
|
|
79
|
+
{ name: "3", message: "3 - Okay" },
|
|
80
|
+
{ name: "2", message: "2 - Poor" },
|
|
81
|
+
{ name: "1", message: "1 - Very Poor" },
|
|
82
|
+
{ name: "skip", message: "s - Skip rating" }
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
]);
|
|
86
|
+
if (!ratingAnswer) {
|
|
87
|
+
console.log(chalk.gray("Feedback discarded."));
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
const textAnswer = await safePrompt([
|
|
91
|
+
{
|
|
92
|
+
type: "input",
|
|
93
|
+
name: "feedback",
|
|
94
|
+
message: "What worked? What broke? (optional)"
|
|
95
|
+
}
|
|
96
|
+
]);
|
|
97
|
+
if (!textAnswer) {
|
|
98
|
+
console.log(chalk.gray("Feedback discarded."));
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
const npsScore = ratingAnswer.rating === "skip" ? 0 : parseInt(ratingAnswer.rating, 10);
|
|
102
|
+
const freeformFeedback = textAnswer.feedback?.trim() || void 0;
|
|
103
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
104
|
+
const runtimeError = getLastRuntimeError();
|
|
105
|
+
const deviceId = await getDeviceId();
|
|
106
|
+
const payload = {
|
|
107
|
+
npsScore,
|
|
108
|
+
triggerType: "manual",
|
|
109
|
+
timestamp: now,
|
|
110
|
+
deviceId,
|
|
111
|
+
cliVersion: package_default.version,
|
|
112
|
+
platform: process.platform,
|
|
113
|
+
osVersion: os.release(),
|
|
114
|
+
nodeVersion: process.version,
|
|
115
|
+
freeformFeedback,
|
|
116
|
+
env: {
|
|
117
|
+
platform: `${process.platform}-${process.arch}`,
|
|
118
|
+
node: process.version,
|
|
119
|
+
bun: process.versions?.bun,
|
|
120
|
+
cwd: process.cwd(),
|
|
121
|
+
shell: process.env.SHELL
|
|
122
|
+
},
|
|
123
|
+
runtimeError: runtimeError ? formatError(runtimeError) : null
|
|
124
|
+
};
|
|
125
|
+
try {
|
|
126
|
+
const feedbackPath = AUTOHAND_FILES.feedbackLog;
|
|
127
|
+
await fs.ensureFile(feedbackPath);
|
|
128
|
+
await fs.appendFile(feedbackPath, JSON.stringify(payload) + "\n", "utf8");
|
|
129
|
+
} catch {
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
const response = await sendFeedbackToApi(payload);
|
|
133
|
+
if (response.success) {
|
|
134
|
+
console.log(chalk.green(t("commands.feedback.success")));
|
|
135
|
+
} else {
|
|
136
|
+
if (response.error?.includes("Rate limit")) {
|
|
137
|
+
console.log(chalk.yellow("Feedback saved locally (rate limited, will retry later)."));
|
|
138
|
+
} else {
|
|
139
|
+
console.log(chalk.yellow(`Feedback saved locally. ${response.error ? `(${response.error})` : ""}`));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
} catch (error) {
|
|
143
|
+
console.log(chalk.yellow(`Feedback saved locally (${error.message}).`));
|
|
144
|
+
}
|
|
145
|
+
await recordSubmission();
|
|
146
|
+
if (runtimeError) {
|
|
147
|
+
console.log(chalk.gray("Included recent runtime error in feedback."));
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
async function sendFeedbackToApi(payload) {
|
|
152
|
+
const controller = new AbortController();
|
|
153
|
+
const timeoutId = setTimeout(() => controller.abort(), API_TIMEOUT);
|
|
154
|
+
try {
|
|
155
|
+
const response = await fetch(`${API_BASE_URL}/v1/feedback`, {
|
|
156
|
+
method: "POST",
|
|
157
|
+
headers: {
|
|
158
|
+
"Content-Type": "application/json",
|
|
159
|
+
"X-CLI-Version": package_default.version,
|
|
160
|
+
"X-Device-ID": payload.deviceId
|
|
161
|
+
},
|
|
162
|
+
body: JSON.stringify(payload),
|
|
163
|
+
signal: controller.signal
|
|
164
|
+
});
|
|
165
|
+
clearTimeout(timeoutId);
|
|
166
|
+
if (!response.ok) {
|
|
167
|
+
const errorText = await response.text().catch(() => "Unknown error");
|
|
168
|
+
return { success: false, error: `API error: ${response.status} ${errorText}` };
|
|
169
|
+
}
|
|
170
|
+
const data = await response.json();
|
|
171
|
+
return data;
|
|
172
|
+
} catch (error) {
|
|
173
|
+
clearTimeout(timeoutId);
|
|
174
|
+
if (error.name === "AbortError") {
|
|
175
|
+
return { success: false, error: "Request timeout" };
|
|
176
|
+
}
|
|
177
|
+
return { success: false, error: error.message };
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
async function getDeviceId() {
|
|
181
|
+
const deviceIdPath = `${AUTOHAND_PATHS.feedback}/.device-id`;
|
|
182
|
+
try {
|
|
183
|
+
if (await fs.pathExists(deviceIdPath)) {
|
|
184
|
+
return (await fs.readFile(deviceIdPath, "utf8")).trim();
|
|
185
|
+
}
|
|
186
|
+
} catch {
|
|
187
|
+
}
|
|
188
|
+
const deviceId = `anon_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
|
|
189
|
+
try {
|
|
190
|
+
await fs.ensureDir(AUTOHAND_PATHS.feedback);
|
|
191
|
+
await fs.writeFile(deviceIdPath, deviceId);
|
|
192
|
+
} catch {
|
|
193
|
+
}
|
|
194
|
+
return deviceId;
|
|
195
|
+
}
|
|
196
|
+
function getLastRuntimeError() {
|
|
197
|
+
const globalAny = globalThis;
|
|
198
|
+
return globalAny.__autohandLastError ?? null;
|
|
199
|
+
}
|
|
200
|
+
function formatError(err) {
|
|
201
|
+
if (!err) return {};
|
|
202
|
+
if (err instanceof Error) {
|
|
203
|
+
return { message: err.message, stack: err.stack };
|
|
204
|
+
}
|
|
205
|
+
if (typeof err === "object" && err !== null) {
|
|
206
|
+
const errObj = err;
|
|
207
|
+
const message = "message" in errObj ? String(errObj.message) : void 0;
|
|
208
|
+
const stack = "stack" in errObj ? String(errObj.stack) : void 0;
|
|
209
|
+
return { message, stack };
|
|
210
|
+
}
|
|
211
|
+
return { message: String(err) };
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
export {
|
|
215
|
+
metadata,
|
|
216
|
+
feedback
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* @license
|
|
220
|
+
* Copyright 2025 Autohand AI LLC
|
|
221
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
222
|
+
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkKC5FPUOFcjs = require('./chunk-KC5FPUOF.cjs');
|
|
6
6
|
|
|
7
7
|
// src/permissions/PermissionManager.ts
|
|
8
8
|
var DEFAULT_SECURITY_BLACKLIST = [
|
|
@@ -121,7 +121,7 @@ var PermissionManager = class {
|
|
|
121
121
|
async initLocalSettings() {
|
|
122
122
|
if (!this.workspaceRoot || this.localSettingsLoaded) return;
|
|
123
123
|
try {
|
|
124
|
-
const localSettings = await
|
|
124
|
+
const localSettings = await _chunkKC5FPUOFcjs.loadLocalProjectSettings.call(void 0, this.workspaceRoot);
|
|
125
125
|
if (_optionalChain([localSettings, 'optionalAccess', _ => _.permissions])) {
|
|
126
126
|
this.localSettings = localSettings.permissions;
|
|
127
127
|
}
|
|
@@ -133,7 +133,7 @@ var PermissionManager = class {
|
|
|
133
133
|
* Get merged settings (global + local)
|
|
134
134
|
*/
|
|
135
135
|
getMergedSettings() {
|
|
136
|
-
return
|
|
136
|
+
return _chunkKC5FPUOFcjs.mergePermissions.call(void 0, this.settings, this.localSettings);
|
|
137
137
|
}
|
|
138
138
|
/**
|
|
139
139
|
* Set permission mode (can be overridden by CLI flags)
|
|
@@ -193,7 +193,7 @@ var PermissionManager = class {
|
|
|
193
193
|
const pattern = this.contextToPattern(context);
|
|
194
194
|
if (allowed && this.workspaceRoot) {
|
|
195
195
|
try {
|
|
196
|
-
await
|
|
196
|
+
await _chunkKC5FPUOFcjs.addToLocalWhitelist.call(void 0, this.workspaceRoot, pattern);
|
|
197
197
|
if (!this.localSettings) {
|
|
198
198
|
this.localSettings = { whitelist: [] };
|
|
199
199
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
|
|
6
|
+
|
|
7
|
+
// src/ui/i18n/I18nContext.tsx
|
|
8
|
+
var _react = require('react');
|
|
9
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
10
|
+
var defaultContextValue = {
|
|
11
|
+
t: _chunkLOXOD4IScjs.t,
|
|
12
|
+
locale: "en"
|
|
13
|
+
};
|
|
14
|
+
var I18nContext = _react.createContext.call(void 0, defaultContextValue);
|
|
15
|
+
var I18nProvider = ({ children }) => {
|
|
16
|
+
const [locale, setLocale] = _react.useState.call(void 0, _chunkLOXOD4IScjs.getCurrentLocale.call(void 0, ));
|
|
17
|
+
_react.useEffect.call(void 0, () => {
|
|
18
|
+
const unsubscribe = _chunkLOXOD4IScjs.onLanguageChange.call(void 0, (newLocale) => {
|
|
19
|
+
setLocale(newLocale);
|
|
20
|
+
});
|
|
21
|
+
return unsubscribe;
|
|
22
|
+
}, []);
|
|
23
|
+
const value = _react.useMemo.call(void 0,
|
|
24
|
+
() => ({
|
|
25
|
+
t: _chunkLOXOD4IScjs.t,
|
|
26
|
+
locale
|
|
27
|
+
}),
|
|
28
|
+
[locale]
|
|
29
|
+
);
|
|
30
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, I18nContext.Provider, { value, children });
|
|
31
|
+
};
|
|
32
|
+
function useTranslation() {
|
|
33
|
+
const context = _react.useContext.call(void 0, I18nContext);
|
|
34
|
+
return context;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
exports.I18nProvider = I18nProvider; exports.useTranslation = useTranslation;
|
|
41
|
+
/**
|
|
42
|
+
* @license
|
|
43
|
+
* Copyright 2025 Autohand AI LLC
|
|
44
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
45
|
+
*/
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import {
|
|
2
|
+
metadata as metadata31
|
|
3
|
+
} from "./chunk-PYLR4J2D.js";
|
|
4
|
+
import {
|
|
5
|
+
metadata as metadata32
|
|
6
|
+
} from "./chunk-YVY27BJT.js";
|
|
7
|
+
import {
|
|
8
|
+
metadata as metadata33
|
|
9
|
+
} from "./chunk-HLFZPN65.js";
|
|
10
|
+
import {
|
|
11
|
+
metadata as metadata34
|
|
12
|
+
} from "./chunk-ATR3RORT.js";
|
|
13
|
+
import {
|
|
14
|
+
metadata as metadata35
|
|
15
|
+
} from "./chunk-73XIKTZL.js";
|
|
16
|
+
import {
|
|
17
|
+
installMetadata as installMetadata2,
|
|
18
|
+
metadata as metadata36
|
|
19
|
+
} from "./chunk-YKSSNFDZ.js";
|
|
20
|
+
import {
|
|
21
|
+
installMetadata,
|
|
22
|
+
metadata as metadata25,
|
|
23
|
+
useMetadata
|
|
24
|
+
} from "./chunk-7QNW24ZT.js";
|
|
25
|
+
import {
|
|
26
|
+
metadata as metadata26
|
|
27
|
+
} from "./chunk-B72CC4O6.js";
|
|
28
|
+
import {
|
|
29
|
+
metadata as metadata27
|
|
30
|
+
} from "./chunk-5Q3W4DEU.js";
|
|
31
|
+
import {
|
|
32
|
+
metadata as metadata28
|
|
33
|
+
} from "./chunk-6P3K4YUW.js";
|
|
34
|
+
import {
|
|
35
|
+
metadata as metadata29
|
|
36
|
+
} from "./chunk-F3EIOVSQ.js";
|
|
37
|
+
import {
|
|
38
|
+
metadata as metadata30
|
|
39
|
+
} from "./chunk-UM4QEO36.js";
|
|
40
|
+
import {
|
|
41
|
+
metadata as metadata20
|
|
42
|
+
} from "./chunk-PM62ZYXA.js";
|
|
43
|
+
import {
|
|
44
|
+
metadata as metadata21
|
|
45
|
+
} from "./chunk-BODVOW7B.js";
|
|
46
|
+
import {
|
|
47
|
+
metadata as metadata22
|
|
48
|
+
} from "./chunk-IPI3JXKP.js";
|
|
49
|
+
import {
|
|
50
|
+
metadata as metadata23
|
|
51
|
+
} from "./chunk-QU64XI5X.js";
|
|
52
|
+
import {
|
|
53
|
+
metadata as metadata24
|
|
54
|
+
} from "./chunk-RJXNNIFW.js";
|
|
55
|
+
import {
|
|
56
|
+
metadata as metadata12
|
|
57
|
+
} from "./chunk-XLI7SHCH.js";
|
|
58
|
+
import {
|
|
59
|
+
metadata as metadata13
|
|
60
|
+
} from "./chunk-GLAE5K5W.js";
|
|
61
|
+
import {
|
|
62
|
+
metadata as metadata14
|
|
63
|
+
} from "./chunk-HQQ4NKER.js";
|
|
64
|
+
import {
|
|
65
|
+
metadata as metadata15
|
|
66
|
+
} from "./chunk-BBIKQW66.js";
|
|
67
|
+
import {
|
|
68
|
+
metadata as metadata16
|
|
69
|
+
} from "./chunk-XDVG3NM4.js";
|
|
70
|
+
import {
|
|
71
|
+
metadata as metadata17
|
|
72
|
+
} from "./chunk-2NUX2RAI.js";
|
|
73
|
+
import {
|
|
74
|
+
metadata as metadata18
|
|
75
|
+
} from "./chunk-QC6IUDDJ.js";
|
|
76
|
+
import {
|
|
77
|
+
metadata as metadata19
|
|
78
|
+
} from "./chunk-4ULBAYME.js";
|
|
79
|
+
import {
|
|
80
|
+
metadata as metadata5
|
|
81
|
+
} from "./chunk-YMDLUTF2.js";
|
|
82
|
+
import {
|
|
83
|
+
metadata as metadata6
|
|
84
|
+
} from "./chunk-WJ276BIP.js";
|
|
85
|
+
import {
|
|
86
|
+
metadata as metadata7
|
|
87
|
+
} from "./chunk-E7YL3AHT.js";
|
|
88
|
+
import {
|
|
89
|
+
metadata as metadata8
|
|
90
|
+
} from "./chunk-WRJLBHWB.js";
|
|
91
|
+
import {
|
|
92
|
+
metadata as metadata9
|
|
93
|
+
} from "./chunk-SVLBJMYO.js";
|
|
94
|
+
import {
|
|
95
|
+
metadata as metadata10
|
|
96
|
+
} from "./chunk-C5SVIQG3.js";
|
|
97
|
+
import {
|
|
98
|
+
metadata as metadata11
|
|
99
|
+
} from "./chunk-WYLFLZ42.js";
|
|
100
|
+
import {
|
|
101
|
+
metadata
|
|
102
|
+
} from "./chunk-NCC6ETZS.js";
|
|
103
|
+
import {
|
|
104
|
+
metadata as metadata2
|
|
105
|
+
} from "./chunk-OMEH2EVE.js";
|
|
106
|
+
import {
|
|
107
|
+
metadata as metadata3
|
|
108
|
+
} from "./chunk-TSV4LVHK.js";
|
|
109
|
+
import {
|
|
110
|
+
metadata as metadata4
|
|
111
|
+
} from "./chunk-3652ROFD.js";
|
|
112
|
+
import {
|
|
113
|
+
t
|
|
114
|
+
} from "./chunk-UET7BDX2.js";
|
|
115
|
+
|
|
116
|
+
// src/commands/help.ts
|
|
117
|
+
import chalk from "chalk";
|
|
118
|
+
import terminalLink from "terminal-link";
|
|
119
|
+
|
|
120
|
+
// src/core/slashCommands.ts
|
|
121
|
+
var SLASH_COMMANDS = [
|
|
122
|
+
metadata6,
|
|
123
|
+
metadata2,
|
|
124
|
+
metadata3,
|
|
125
|
+
metadata4,
|
|
126
|
+
metadata5,
|
|
127
|
+
metadata37,
|
|
128
|
+
aliasMetadata,
|
|
129
|
+
metadata7,
|
|
130
|
+
metadata8,
|
|
131
|
+
metadata9,
|
|
132
|
+
metadata10,
|
|
133
|
+
metadata12,
|
|
134
|
+
metadata11,
|
|
135
|
+
metadata13,
|
|
136
|
+
metadata14,
|
|
137
|
+
metadata15,
|
|
138
|
+
metadata16,
|
|
139
|
+
metadata17,
|
|
140
|
+
metadata18,
|
|
141
|
+
metadata19,
|
|
142
|
+
metadata20,
|
|
143
|
+
metadata21,
|
|
144
|
+
metadata22,
|
|
145
|
+
metadata23,
|
|
146
|
+
metadata24,
|
|
147
|
+
metadata25,
|
|
148
|
+
useMetadata,
|
|
149
|
+
installMetadata,
|
|
150
|
+
metadata26,
|
|
151
|
+
metadata27,
|
|
152
|
+
metadata28,
|
|
153
|
+
metadata29,
|
|
154
|
+
metadata30,
|
|
155
|
+
metadata31,
|
|
156
|
+
metadata32,
|
|
157
|
+
metadata,
|
|
158
|
+
metadata33,
|
|
159
|
+
metadata34,
|
|
160
|
+
metadata35,
|
|
161
|
+
metadata36,
|
|
162
|
+
installMetadata2
|
|
163
|
+
].filter((cmd) => cmd != null && typeof cmd.command === "string");
|
|
164
|
+
|
|
165
|
+
// src/commands/help.ts
|
|
166
|
+
async function help() {
|
|
167
|
+
console.log(chalk.cyan(`
|
|
168
|
+
${t("commands.help.title")}
|
|
169
|
+
`));
|
|
170
|
+
const commands = SLASH_COMMANDS.filter((cmd) => cmd.implemented && cmd.command !== "/?").sort((a, b) => a.command.localeCompare(b.command));
|
|
171
|
+
const maxLen = Math.max(...commands.map((c) => c.command.length)) + 2;
|
|
172
|
+
for (const { command, description } of commands) {
|
|
173
|
+
console.log(` ${chalk.yellow(command.padEnd(maxLen))} ${chalk.gray(description)}`);
|
|
174
|
+
}
|
|
175
|
+
console.log(chalk.cyan(`
|
|
176
|
+
${t("commands.help.tips.title")}
|
|
177
|
+
`));
|
|
178
|
+
console.log(chalk.gray(` \u2022 ${t("commands.help.tips.mention")}`));
|
|
179
|
+
console.log(chalk.gray(` \u2022 ${t("commands.help.tips.arrows")}`));
|
|
180
|
+
console.log(chalk.gray(` \u2022 ${t("commands.help.tips.tab")}`));
|
|
181
|
+
console.log(chalk.gray(` \u2022 ${t("commands.help.tips.escape")}
|
|
182
|
+
`));
|
|
183
|
+
const docLink = terminalLink("docs.autohand.ai", "https://docs.autohand.ai");
|
|
184
|
+
console.log(chalk.gray(` ${t("commands.help.docsLink", { link: docLink })}
|
|
185
|
+
`));
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
var metadata37 = {
|
|
189
|
+
command: "/help",
|
|
190
|
+
description: "describe available slash commands and tips",
|
|
191
|
+
implemented: true
|
|
192
|
+
};
|
|
193
|
+
var aliasMetadata = {
|
|
194
|
+
command: "/?",
|
|
195
|
+
description: "alias for /help",
|
|
196
|
+
implemented: true
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
export {
|
|
200
|
+
help,
|
|
201
|
+
metadata37 as metadata,
|
|
202
|
+
aliasMetadata,
|
|
203
|
+
SLASH_COMMANDS
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* @license
|
|
207
|
+
* Copyright 2025 Autohand AI LLC
|
|
208
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
209
|
+
*/
|