autohand-cli 0.7.9 → 0.7.11
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-YWDFZBKP.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-WYP5JPCQ.js → PermissionManager-U5OMGR3L.js} +3 -3
- package/dist/SessionManager-BJ2G6VV4.cjs +9 -0
- package/dist/{SessionManager-SFBDIBGA.js → SessionManager-ENPGYK5J.js} +2 -2
- package/dist/SkillsRegistry-6ZFOCT25.cjs +8 -0
- package/dist/{SkillsRegistry-E437FFJV.js → SkillsRegistry-C2SHOZ5D.js} +2 -2
- package/dist/about-225R5LMN.cjs +11 -0
- package/dist/about-BCPUOQVH.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/{chunk-A5KU3JZW.cjs → chunk-34OGUMRO.cjs} +9 -5
- package/dist/{chunk-NTFNUTY2.js → chunk-3652ROFD.js} +2 -2
- package/dist/{chunk-KNLBEUAV.cjs → chunk-3DQSBW4B.cjs} +10 -6
- package/dist/{chunk-32R47CAQ.cjs → chunk-3S4DEIJP.cjs} +2 -2
- package/dist/chunk-46WX5IO2.cjs +499 -0
- package/dist/{chunk-IYZBLUEJ.js → chunk-4ULBAYME.js} +8 -6
- package/dist/{chunk-5UC3VAJ2.cjs → chunk-4XHHW7QX.cjs} +9 -8
- package/dist/{chunk-JRV4SOJU.cjs → chunk-5BQ57AZC.cjs} +9 -9
- package/dist/{chunk-7WKEDH3E.cjs → chunk-5FZM7KLB.cjs} +13 -10
- package/dist/{chunk-FN5S5OE7.cjs → chunk-5NZA4UB4.cjs} +3 -3
- package/dist/{chunk-PFS5ZOCO.js → chunk-5Q3W4DEU.js} +18 -10
- package/dist/{chunk-VMMGT42E.cjs → chunk-65GTO4QM.cjs} +7 -3
- package/dist/{chunk-CXZEPTRI.js → chunk-6P3K4YUW.js} +6 -2
- package/dist/chunk-73XIKTZL.js +124 -0
- package/dist/{chunk-P6EGMTK4.js → chunk-7QNW24ZT.js} +8 -4
- package/dist/{chunk-XT4OSHSB.cjs → chunk-AEYOIPHD.cjs} +6 -2
- package/dist/{chunk-KXNAGJE6.cjs → chunk-ANUQFV43.cjs} +6 -6
- package/dist/chunk-ATR3RORT.js +499 -0
- package/dist/{chunk-XOSFZHSS.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-YDJA5ETO.js → chunk-BG4OQUKP.js} +1 -1
- package/dist/chunk-BKGPWAEE.js +94 -0
- package/dist/{chunk-3DVEGFBZ.js → chunk-BODVOW7B.js} +64 -13
- package/dist/{chunk-7GJR65DQ.js → chunk-BXV5O6VU.js} +9 -8
- package/dist/{chunk-HUA44A35.cjs → chunk-BZ73ZQTE.cjs} +17 -11
- package/dist/{chunk-T7HQBZZB.cjs → chunk-C2E3GJEE.cjs} +12 -9
- package/dist/{chunk-UP6YRP44.js → chunk-C5SVIQG3.js} +10 -5
- package/dist/{chunk-4YQ2OJAL.js → chunk-D2XFTCRP.js} +1 -1
- package/dist/{chunk-R5PZPF55.js → chunk-DEAEO7RI.js} +1 -1
- package/dist/chunk-DMPVI3YK.cjs +400 -0
- package/dist/{chunk-DRXFJR7F.cjs → chunk-DMXN5LJB.cjs} +17 -16
- package/dist/{chunk-PVSYZXS7.js → chunk-DTXY7JDL.js} +11 -10
- package/dist/{chunk-C26EN22G.cjs → chunk-DUDDZRCS.cjs} +9 -5
- package/dist/{chunk-WT367RVU.js → chunk-E7YL3AHT.js} +15 -9
- package/dist/{chunk-CHVXUA3O.cjs → chunk-EV53SLSB.cjs} +4 -4
- package/dist/{chunk-VQDWNDP5.js → chunk-GD4AFYJ3.js} +1 -1
- package/dist/{chunk-AQNY2M6Q.cjs → chunk-GIZL57FE.cjs} +3 -1
- package/dist/{chunk-I4HVBWYF.js → chunk-GLAE5K5W.js} +7 -2
- package/dist/{chunk-4AMTDSQ3.cjs → chunk-HDSEJMWI.cjs} +6 -3
- package/dist/{chunk-ZWS3KSMK.js → chunk-HQQ4NKER.js} +5 -2
- package/dist/{chunk-WBDPILKI.cjs → chunk-HVOBMOZ2.cjs} +6 -2
- package/dist/{chunk-CMNQAF6C.js → chunk-IJFTBVSD.js} +12 -9
- package/dist/{chunk-RDGYHJ52.js → chunk-IPI3JXKP.js} +9 -6
- package/dist/chunk-JS7IPR7P.js +249 -0
- package/dist/{chunk-CPO5KEQS.cjs → chunk-KC5FPUOF.cjs} +2 -2
- package/dist/{chunk-TUO5SZRD.cjs → chunk-L42HTMMR.cjs} +2 -2
- package/dist/chunk-LOXOD4IS.cjs +8630 -0
- package/dist/{chunk-6DSJ7XST.cjs → chunk-LQ5V5YC7.cjs} +13 -10
- package/dist/chunk-M6N5HSY3.js +209 -0
- package/dist/{chunk-LJCSSR5V.cjs → chunk-MNCWB5F7.cjs} +5 -5
- package/dist/{chunk-BTVNRLSE.js → chunk-MYNHJHDZ.js} +1 -1
- package/dist/{chunk-O3EX3SAD.cjs → chunk-N4ZSG6JJ.cjs} +2 -2
- package/dist/{chunk-OO7EKEJH.cjs → chunk-NBD4PL2E.cjs} +17 -14
- package/dist/chunk-NF7RIHJK.js +45 -0
- package/dist/{chunk-KJAZ4YAR.cjs → chunk-NGBN2NGH.cjs} +76 -25
- package/dist/{chunk-MRDZHNCF.cjs → chunk-NRORJRD4.cjs} +4 -4
- package/dist/{chunk-OTS4YFSZ.cjs → chunk-OKABWSWA.cjs} +7 -3
- package/dist/{chunk-4BZ65NIH.js → chunk-OLG7LZBD.js} +1 -1
- package/dist/{chunk-KZ7VMQTC.js → chunk-OMEH2EVE.js} +5 -1
- package/dist/{chunk-LCBOOA7S.js → chunk-P5VDZ6PV.js} +1 -1
- package/dist/{chunk-V5MTBGM4.cjs → chunk-PA2H2263.cjs} +6 -2
- package/dist/chunk-PGRH5Q77.cjs +249 -0
- package/dist/chunk-PNSRJT46.js +380 -0
- package/dist/{chunk-UL5T2XIY.cjs → chunk-PSED4Z4X.cjs} +13 -11
- package/dist/{chunk-PGH3MHPP.js → chunk-PWLLLJHU.js} +3 -1
- package/dist/{chunk-DOTAX65F.js → chunk-PYLR4J2D.js} +8 -4
- package/dist/{chunk-3SDEZTZD.js → chunk-QC6IUDDJ.js} +1 -1
- package/dist/{chunk-WJICM4SK.cjs → chunk-QM7HZCQW.cjs} +11 -6
- package/dist/chunk-QRQ5EX7I.cjs +380 -0
- package/dist/{chunk-RX4KPL6H.js → chunk-QU64XI5X.js} +9 -6
- package/dist/{chunk-LKIKNRUP.js → chunk-R4OLUJV7.js} +8 -5
- package/dist/{chunk-FSTLJIR5.cjs → chunk-R7SDL3DJ.cjs} +16 -13
- package/dist/{chunk-LY5VN3B3.cjs → chunk-RJP3SZ7Q.cjs} +41 -253
- package/dist/{chunk-KS45GREN.js → chunk-RJXNNIFW.js} +7 -4
- package/dist/{chunk-LYMZDJX5.cjs → chunk-S5G7OEN2.cjs} +26 -18
- package/dist/{chunk-3DGR4GNN.cjs → chunk-SA4JOV4F.cjs} +10 -8
- package/dist/chunk-SAGM3TE3.cjs +94 -0
- package/dist/{chunk-WCN5WDOI.cjs → chunk-TSY7JHIV.cjs} +2 -2
- package/dist/chunk-U23U52ZN.cjs +124 -0
- package/dist/chunk-UET7BDX2.js +8630 -0
- package/dist/{chunk-J7VV7JAB.js → chunk-UM4QEO36.js} +6 -4
- package/dist/{chunk-NCLCL7JK.js → chunk-WD5ZF6HE.js} +1 -1
- package/dist/{chunk-HF65HHDU.cjs → chunk-WH5RW7DV.cjs} +24 -22
- package/dist/{chunk-GSOEIEOU.js → chunk-WJ276BIP.js} +5 -1
- package/dist/{chunk-OXJCLU3X.js → chunk-WLTVF77A.js} +1 -1
- package/dist/{chunk-WGO4ACS7.cjs → chunk-WOGJXDBU.cjs} +3 -3
- package/dist/{chunk-QJ53OSGF.js → chunk-WRJLBHWB.js} +6 -2
- package/dist/chunk-X4OLP5C5.cjs +209 -0
- package/dist/{chunk-HWDP4HQO.cjs → chunk-XL77XYI2.cjs} +4 -4
- package/dist/{chunk-QAJM6VG5.js → chunk-XLI7SHCH.js} +2 -2
- package/dist/chunk-Y27LG4BQ.cjs +45 -0
- package/dist/chunk-YKSSNFDZ.js +400 -0
- package/dist/{chunk-VRI7EXV6.js → chunk-YMDLUTF2.js} +5 -1
- package/dist/{chunk-J2RUI7GJ.js → chunk-YVY27BJT.js} +5 -3
- package/dist/{chunk-K6CZ2AGI.js → chunk-ZBIBLOZL.js} +35 -247
- package/dist/completion-HVSWU5GR.cjs +13 -0
- package/dist/completion-WJ2MVNDH.js +13 -0
- package/dist/constants-RBQTR32A.cjs +20 -0
- package/dist/{constants-OFIAR4E5.js → constants-V6J54N3X.js} +1 -1
- package/dist/export-NN7F5ANA.js +11 -0
- package/dist/export-UPS3AK2P.cjs +11 -0
- package/dist/feedback-KPNRMSP4.js +14 -0
- package/dist/feedback-OTXZVKE7.cjs +14 -0
- package/dist/help-M7NFPCM4.js +58 -0
- package/dist/help-UBHIUDQR.cjs +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 +15320 -12906
- package/dist/index.js +15465 -13051
- 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-FD5AK5FB.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/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-3YWFZGNM.cjs +13 -0
- package/dist/share-T6I2LRGS.js +13 -0
- package/dist/{skills-PB4HXV4R.js → skills-ICEQ2TNC.js} +2 -1
- package/dist/skills-LFVNZOMF.cjs +13 -0
- package/dist/{skills-install-UBBNXWD5.js → skills-install-6RN7FVCP.js} +9 -8
- package/dist/{skills-install-7SFS24HY.cjs → skills-install-LU6GA2WF.cjs} +14 -13
- package/dist/skills-new-5BM5PDFX.cjs +14 -0
- package/dist/skills-new-KWBWOX74.js +14 -0
- package/dist/status-BAGXGSKE.js +10 -0
- package/dist/status-BMD2UFHC.cjs +10 -0
- package/dist/sync-6M3WRKMH.cjs +39 -0
- package/dist/sync-73D2MP65.cjs +16 -0
- package/dist/{sync-LYKDHRFM.js → sync-EXYX7HXW.js} +2 -2
- 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 +9 -8
- package/dist/CommunitySkillsCache-N2RWBCY2.cjs +0 -7
- package/dist/MemoryManager-J7APSLZ7.js +0 -7
- package/dist/MemoryManager-RLLYVIDY.cjs +0 -7
- package/dist/PermissionManager-ISI5OAJK.cjs +0 -10
- package/dist/SessionManager-7MF76Q3Q.cjs +0 -9
- package/dist/SkillsRegistry-UTK2YT4M.cjs +0 -8
- package/dist/add-dir-OMK3Y4DM.cjs +0 -8
- package/dist/agents-N2ZB4O2A.cjs +0 -9
- package/dist/agents-ZMT7HBRT.js +0 -9
- package/dist/agents-new-3EWS2NR3.cjs +0 -11
- package/dist/agents-new-TCGUYK5I.js +0 -11
- package/dist/automode-BRHUHGXU.cjs +0 -8
- package/dist/chunk-6SM6N7DJ.js +0 -2828
- package/dist/chunk-BEIG7V7Q.cjs +0 -51
- package/dist/chunk-L5QWMGLV.cjs +0 -2828
- package/dist/chunk-Z3Q2AFDS.js +0 -51
- package/dist/completion-NCSTSKTL.cjs +0 -11
- package/dist/completion-NTZERPAZ.js +0 -11
- package/dist/constants-B2X7KDIH.cjs +0 -20
- package/dist/export-5AJNVX4O.cjs +0 -9
- package/dist/export-ZQHTLV4W.js +0 -9
- package/dist/feedback-F7BMGSV6.cjs +0 -12
- package/dist/feedback-NL7CWTRY.js +0 -12
- package/dist/help-PKC6QCNG.js +0 -10
- package/dist/help-UEELQRHP.cjs +0 -10
- package/dist/hooks-AX5VPCZ3.cjs +0 -10
- package/dist/hooks-V22HVLQT.js +0 -10
- package/dist/init-DML7AOII.js +0 -8
- package/dist/init-SLLSDDJN.cjs +0 -8
- package/dist/language-IEKARNQH.js +0 -13
- package/dist/language-ULQCKXAD.cjs +0 -13
- package/dist/localProjectPermissions-7FI3XF4K.cjs +0 -17
- package/dist/login-PD3DFJLM.js +0 -15
- package/dist/login-VHGT4YKT.cjs +0 -15
- package/dist/logout-2QXNFGDT.js +0 -13
- package/dist/logout-A4SMKEFO.cjs +0 -13
- package/dist/memory-CFNC7RJH.cjs +0 -8
- package/dist/model-TKVEJ5BC.cjs +0 -8
- package/dist/new-EB2MBQXA.cjs +0 -8
- package/dist/permissions-S7433NQJ.js +0 -10
- package/dist/permissions-YZ6WCDBL.cjs +0 -10
- package/dist/quit-2RYFGIJP.cjs +0 -8
- package/dist/quit-RSYIERO5.js +0 -8
- package/dist/resume-54ERVSFM.cjs +0 -10
- package/dist/resume-YJ5CVKAP.js +0 -10
- package/dist/search-4TEQMUPU.js +0 -11
- package/dist/search-QGLS4SV7.cjs +0 -11
- package/dist/sessions-7RTCPVNE.cjs +0 -8
- package/dist/share-2B2T3AUU.cjs +0 -11
- package/dist/share-SZMXZIA3.js +0 -11
- package/dist/skills-HVQNCTGK.cjs +0 -12
- package/dist/skills-new-5FSDAJWE.js +0 -12
- package/dist/skills-new-IOTZYE6F.cjs +0 -12
- package/dist/status-AGPSKXSW.js +0 -9
- package/dist/status-WOINF556.cjs +0 -9
- package/dist/sync-64MZDWGG.js +0 -14
- package/dist/sync-F5ECJW25.cjs +0 -39
- package/dist/sync-W5UR7BEP.cjs +0 -14
- package/dist/theme-CWG3ZLHB.cjs +0 -13
- package/dist/theme-HQKV7YAP.js +0 -13
- package/dist/undo-2WR2ZIEC.cjs +0 -8
- package/dist/undo-7QJBXARS.js +0 -8
|
@@ -1,242 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var _chunkAQNY2M6Qcjs = require('./chunk-AQNY2M6Q.cjs');
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this.colors = colors;
|
|
11
|
-
this.colorMode = _nullishCoalesce(colorMode, () => ( detectColorMode()));
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Apply foreground color to text.
|
|
15
|
-
*/
|
|
16
|
-
fg(token, text) {
|
|
17
|
-
if (this.colorMode === "none") return text;
|
|
18
|
-
const color = this.colors[token];
|
|
19
|
-
if (!color) return text;
|
|
20
|
-
const ansi = this.getAnsiCode(color, "fg");
|
|
21
|
-
return `${ansi}${text}\x1B[39m`;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Apply background color to text.
|
|
25
|
-
*/
|
|
26
|
-
bg(token, text) {
|
|
27
|
-
if (this.colorMode === "none") return text;
|
|
28
|
-
const color = this.colors[token];
|
|
29
|
-
if (!color) return text;
|
|
30
|
-
const ansi = this.getAnsiCode(color, "bg");
|
|
31
|
-
return `${ansi}${text}\x1B[49m`;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Apply both foreground and background colors.
|
|
35
|
-
*/
|
|
36
|
-
fgBg(fgToken, bgToken, text) {
|
|
37
|
-
if (this.colorMode === "none") return text;
|
|
38
|
-
const fgColor = this.colors[fgToken];
|
|
39
|
-
const bgColor = this.colors[bgToken];
|
|
40
|
-
const fgAnsi = fgColor ? this.getAnsiCode(fgColor, "fg") : "";
|
|
41
|
-
const bgAnsi = bgColor ? this.getAnsiCode(bgColor, "bg") : "";
|
|
42
|
-
return `${fgAnsi}${bgAnsi}${text}\x1B[0m`;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Apply bold style.
|
|
46
|
-
*/
|
|
47
|
-
bold(text) {
|
|
48
|
-
return `\x1B[1m${text}\x1B[22m`;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Apply italic style.
|
|
52
|
-
*/
|
|
53
|
-
italic(text) {
|
|
54
|
-
return `\x1B[3m${text}\x1B[23m`;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Apply underline style.
|
|
58
|
-
*/
|
|
59
|
-
underline(text) {
|
|
60
|
-
return `\x1B[4m${text}\x1B[24m`;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Apply dim style.
|
|
64
|
-
*/
|
|
65
|
-
dimStyle(text) {
|
|
66
|
-
return `\x1B[2m${text}\x1B[22m`;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Apply strikethrough style.
|
|
70
|
-
*/
|
|
71
|
-
strikethrough(text) {
|
|
72
|
-
return `\x1B[9m${text}\x1B[29m`;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Reset all styles.
|
|
76
|
-
*/
|
|
77
|
-
reset(text) {
|
|
78
|
-
return `\x1B[0m${text}\x1B[0m`;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Get raw color value for a token.
|
|
82
|
-
*/
|
|
83
|
-
getColor(token) {
|
|
84
|
-
return this.colors[token] || "";
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Get current color mode.
|
|
88
|
-
*/
|
|
89
|
-
getColorMode() {
|
|
90
|
-
return this.colorMode;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Convert color value to ANSI escape code.
|
|
94
|
-
*/
|
|
95
|
-
getAnsiCode(color, type) {
|
|
96
|
-
const cacheKey = `${color}:${type}`;
|
|
97
|
-
const cached = this.ansiCache.get(cacheKey);
|
|
98
|
-
if (cached) return cached;
|
|
99
|
-
const code = this.colorToAnsi(color, type);
|
|
100
|
-
this.ansiCache.set(cacheKey, code);
|
|
101
|
-
return code;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Convert a color value to ANSI code based on color mode.
|
|
105
|
-
*/
|
|
106
|
-
colorToAnsi(color, type) {
|
|
107
|
-
if (!color) return "";
|
|
108
|
-
if (color.startsWith("#")) {
|
|
109
|
-
return this.hexToAnsi(color, type);
|
|
110
|
-
}
|
|
111
|
-
const numValue = parseInt(color, 10);
|
|
112
|
-
if (!isNaN(numValue) && numValue >= 0 && numValue <= 255) {
|
|
113
|
-
return this.index256ToAnsi(numValue, type);
|
|
114
|
-
}
|
|
115
|
-
return "";
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Convert hex color to ANSI code.
|
|
119
|
-
*/
|
|
120
|
-
hexToAnsi(hex, type) {
|
|
121
|
-
const rgb = hexToRgb(hex);
|
|
122
|
-
if (!rgb) return "";
|
|
123
|
-
const base = type === "fg" ? 38 : 48;
|
|
124
|
-
if (this.colorMode === "truecolor") {
|
|
125
|
-
return `\x1B[${base};2;${rgb.r};${rgb.g};${rgb.b}m`;
|
|
126
|
-
} else if (this.colorMode === "256") {
|
|
127
|
-
const index = rgbTo256(rgb.r, rgb.g, rgb.b);
|
|
128
|
-
return `\x1B[${base};5;${index}m`;
|
|
129
|
-
} else if (this.colorMode === "16") {
|
|
130
|
-
const index = rgbTo16(rgb.r, rgb.g, rgb.b);
|
|
131
|
-
const code = type === "fg" ? index < 8 ? 30 + index : 90 + index - 8 : index < 8 ? 40 + index : 100 + index - 8;
|
|
132
|
-
return `\x1B[${code}m`;
|
|
133
|
-
}
|
|
134
|
-
return "";
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Convert 256-color index to ANSI code.
|
|
138
|
-
*/
|
|
139
|
-
index256ToAnsi(index, type) {
|
|
140
|
-
const base = type === "fg" ? 38 : 48;
|
|
141
|
-
if (this.colorMode === "truecolor" || this.colorMode === "256") {
|
|
142
|
-
return `\x1B[${base};5;${index}m`;
|
|
143
|
-
} else if (this.colorMode === "16") {
|
|
144
|
-
const basicIndex = index < 16 ? index : index256To16(index);
|
|
145
|
-
const code = type === "fg" ? basicIndex < 8 ? 30 + basicIndex : 90 + basicIndex - 8 : basicIndex < 8 ? 40 + basicIndex : 100 + basicIndex - 8;
|
|
146
|
-
return `\x1B[${code}m`;
|
|
147
|
-
}
|
|
148
|
-
return "";
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
function detectColorMode() {
|
|
152
|
-
if (process.env.NO_COLOR !== void 0) {
|
|
153
|
-
return "none";
|
|
154
|
-
}
|
|
155
|
-
if (process.env.FORCE_COLOR !== void 0) {
|
|
156
|
-
const level = parseInt(process.env.FORCE_COLOR, 10);
|
|
157
|
-
if (level === 0) return "none";
|
|
158
|
-
if (level === 1) return "16";
|
|
159
|
-
if (level === 2) return "256";
|
|
160
|
-
if (level >= 3) return "truecolor";
|
|
161
|
-
}
|
|
162
|
-
const colorterm = process.env.COLORTERM;
|
|
163
|
-
if (colorterm === "truecolor" || colorterm === "24bit") {
|
|
164
|
-
return "truecolor";
|
|
165
|
-
}
|
|
166
|
-
const term = process.env.TERM || "";
|
|
167
|
-
if (term.includes("256color") || term.includes("256-color")) {
|
|
168
|
-
return "256";
|
|
169
|
-
}
|
|
170
|
-
if (term.includes("color") || term.includes("ansi") || term === "xterm") {
|
|
171
|
-
return "16";
|
|
172
|
-
}
|
|
173
|
-
if (process.stdout.isTTY) {
|
|
174
|
-
return "256";
|
|
175
|
-
}
|
|
176
|
-
return "none";
|
|
177
|
-
}
|
|
178
|
-
function hexToRgb(hex) {
|
|
179
|
-
const match = hex.match(/^#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/);
|
|
180
|
-
if (match) {
|
|
181
|
-
return {
|
|
182
|
-
r: parseInt(match[1], 16),
|
|
183
|
-
g: parseInt(match[2], 16),
|
|
184
|
-
b: parseInt(match[3], 16)
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
const shortMatch = hex.match(/^#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/);
|
|
188
|
-
if (shortMatch) {
|
|
189
|
-
return {
|
|
190
|
-
r: parseInt(shortMatch[1] + shortMatch[1], 16),
|
|
191
|
-
g: parseInt(shortMatch[2] + shortMatch[2], 16),
|
|
192
|
-
b: parseInt(shortMatch[3] + shortMatch[3], 16)
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
return null;
|
|
196
|
-
}
|
|
197
|
-
function rgbTo256(r, g, b) {
|
|
198
|
-
if (r === g && g === b) {
|
|
199
|
-
if (r < 8) return 16;
|
|
200
|
-
if (r > 248) return 231;
|
|
201
|
-
return Math.round((r - 8) / 10) + 232;
|
|
202
|
-
}
|
|
203
|
-
const ri = Math.round(r / 51);
|
|
204
|
-
const gi = Math.round(g / 51);
|
|
205
|
-
const bi = Math.round(b / 51);
|
|
206
|
-
return 16 + 36 * ri + 6 * gi + bi;
|
|
207
|
-
}
|
|
208
|
-
function rgbTo16(r, g, b) {
|
|
209
|
-
const bright = (r + g + b) / 3 > 128 ? 8 : 0;
|
|
210
|
-
const ri = r > 128 ? 1 : 0;
|
|
211
|
-
const gi = g > 128 ? 2 : 0;
|
|
212
|
-
const bi = b > 128 ? 4 : 0;
|
|
213
|
-
return bright + ri + gi + bi;
|
|
214
|
-
}
|
|
215
|
-
function index256To16(index) {
|
|
216
|
-
if (index < 16) return index;
|
|
217
|
-
if (index >= 232) {
|
|
218
|
-
const gray = (index - 232) * 10 + 8;
|
|
219
|
-
return gray > 128 ? 15 : 0;
|
|
220
|
-
}
|
|
221
|
-
const adjusted = index - 16;
|
|
222
|
-
const r = Math.floor(adjusted / 36) * 51;
|
|
223
|
-
const g = Math.floor(adjusted % 36 / 6) * 51;
|
|
224
|
-
const b = adjusted % 6 * 51;
|
|
225
|
-
return rgbTo16(r, g, b);
|
|
226
|
-
}
|
|
227
|
-
var globalTheme = null;
|
|
228
|
-
function getTheme() {
|
|
229
|
-
if (!globalTheme) {
|
|
230
|
-
throw new Error("Theme not initialized. Call initTheme() first.");
|
|
231
|
-
}
|
|
232
|
-
return globalTheme;
|
|
233
|
-
}
|
|
234
|
-
function setTheme(theme) {
|
|
235
|
-
globalTheme = theme;
|
|
236
|
-
}
|
|
237
|
-
function isThemeInitialized() {
|
|
238
|
-
return globalTheme !== null;
|
|
239
|
-
}
|
|
4
|
+
|
|
5
|
+
var _chunkPGRH5Q77cjs = require('./chunk-PGRH5Q77.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
|
|
240
9
|
|
|
241
10
|
// src/ui/theme/loader.ts
|
|
242
11
|
var _fs = require('fs');
|
|
@@ -335,7 +104,7 @@ var darkTheme = {
|
|
|
335
104
|
error: "red",
|
|
336
105
|
warning: "yellow",
|
|
337
106
|
muted: "gray500",
|
|
338
|
-
dim: "
|
|
107
|
+
dim: "gray200",
|
|
339
108
|
text: "gray200",
|
|
340
109
|
// Backgrounds & Content
|
|
341
110
|
userMessageBg: "bgMedium",
|
|
@@ -408,7 +177,7 @@ var draculaTheme = {
|
|
|
408
177
|
error: "red",
|
|
409
178
|
warning: "orange",
|
|
410
179
|
muted: "comment",
|
|
411
|
-
dim: "
|
|
180
|
+
dim: "foreground",
|
|
412
181
|
text: "foreground",
|
|
413
182
|
// Backgrounds & Content
|
|
414
183
|
userMessageBg: "currentLine",
|
|
@@ -481,7 +250,7 @@ var sandyTheme = {
|
|
|
481
250
|
error: "rust",
|
|
482
251
|
warning: "dune",
|
|
483
252
|
muted: "stone",
|
|
484
|
-
dim: "
|
|
253
|
+
dim: "gray100",
|
|
485
254
|
text: "gray100",
|
|
486
255
|
// Backgrounds & Content
|
|
487
256
|
userMessageBg: "gray700",
|
|
@@ -565,7 +334,7 @@ var tuiTheme = {
|
|
|
565
334
|
error: "pohutukawa",
|
|
566
335
|
warning: "kowhai",
|
|
567
336
|
muted: "gray400",
|
|
568
|
-
dim: "
|
|
337
|
+
dim: "snow",
|
|
569
338
|
text: "snow",
|
|
570
339
|
// Backgrounds & Content
|
|
571
340
|
userMessageBg: "gray700",
|
|
@@ -638,7 +407,7 @@ var lightTheme = {
|
|
|
638
407
|
error: "red",
|
|
639
408
|
warning: "yellow",
|
|
640
409
|
muted: "gray400",
|
|
641
|
-
dim: "
|
|
410
|
+
dim: "gray100",
|
|
642
411
|
text: "gray100",
|
|
643
412
|
// Backgrounds & Content
|
|
644
413
|
userMessageBg: "bgMedium",
|
|
@@ -699,18 +468,18 @@ var ThemeLoadError = class extends Error {
|
|
|
699
468
|
function loadTheme(themeName) {
|
|
700
469
|
const definition = getThemeDefinition(themeName);
|
|
701
470
|
const resolvedColors = resolveThemeColors(definition);
|
|
702
|
-
return new Theme(definition.name, resolvedColors, detectColorMode());
|
|
471
|
+
return new (0, _chunkPGRH5Q77cjs.Theme)(definition.name, resolvedColors, _chunkPGRH5Q77cjs.detectColorMode.call(void 0, ));
|
|
703
472
|
}
|
|
704
473
|
function initTheme(themeName) {
|
|
705
474
|
const name = themeName || getDefaultThemeName();
|
|
706
475
|
try {
|
|
707
476
|
const theme = loadTheme(name);
|
|
708
|
-
setTheme(theme);
|
|
477
|
+
_chunkPGRH5Q77cjs.setTheme.call(void 0, theme);
|
|
709
478
|
return theme;
|
|
710
479
|
} catch (error) {
|
|
711
480
|
console.warn(`Failed to load theme "${name}", falling back to dark theme:`, error instanceof Error ? error.message : error);
|
|
712
481
|
const theme = loadTheme("dark");
|
|
713
|
-
setTheme(theme);
|
|
482
|
+
_chunkPGRH5Q77cjs.setTheme.call(void 0, theme);
|
|
714
483
|
return theme;
|
|
715
484
|
}
|
|
716
485
|
}
|
|
@@ -881,9 +650,9 @@ var ThemeContext = _react.createContext.call(void 0, defaultContextValue);
|
|
|
881
650
|
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
882
651
|
|
|
883
652
|
var _yaml = require('yaml'); var _yaml2 = _interopRequireDefault(_yaml);
|
|
884
|
-
var DEFAULT_CONFIG_PATH =
|
|
885
|
-
var YAML_CONFIG_PATH =
|
|
886
|
-
var YML_CONFIG_PATH =
|
|
653
|
+
var DEFAULT_CONFIG_PATH = _chunkGIZL57FEcjs.AUTOHAND_FILES.configJson;
|
|
654
|
+
var YAML_CONFIG_PATH = _chunkGIZL57FEcjs.AUTOHAND_FILES.configYaml;
|
|
655
|
+
var YML_CONFIG_PATH = _chunkGIZL57FEcjs.AUTOHAND_FILES.configYml;
|
|
887
656
|
var DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
|
|
888
657
|
var DEFAULT_OLLAMA_URL = "http://localhost:11434";
|
|
889
658
|
var DEFAULT_LLAMACPP_URL = "http://localhost:8080";
|
|
@@ -998,8 +767,6 @@ function isLegacyConfig(config) {
|
|
|
998
767
|
return typeof config.api_key === "string";
|
|
999
768
|
}
|
|
1000
769
|
function validateConfig(config, configPath) {
|
|
1001
|
-
const provider = _nullishCoalesce(config.provider, () => ( "openrouter"));
|
|
1002
|
-
const providerConfig = getProviderConfig(config, provider);
|
|
1003
770
|
if (config.workspace) {
|
|
1004
771
|
if (config.workspace.defaultRoot && typeof config.workspace.defaultRoot !== "string") {
|
|
1005
772
|
throw new Error(`workspace.defaultRoot must be a string in ${configPath}`);
|
|
@@ -1019,6 +786,30 @@ function validateConfig(config, configPath) {
|
|
|
1019
786
|
throw new Error(`ui.autoConfirm must be boolean in ${configPath}`);
|
|
1020
787
|
}
|
|
1021
788
|
}
|
|
789
|
+
if (config.mcp) {
|
|
790
|
+
if (config.mcp.enabled !== void 0 && typeof config.mcp.enabled !== "boolean") {
|
|
791
|
+
throw new Error(`mcp.enabled must be boolean in ${configPath}`);
|
|
792
|
+
}
|
|
793
|
+
if (config.mcp.servers !== void 0) {
|
|
794
|
+
if (!Array.isArray(config.mcp.servers)) {
|
|
795
|
+
throw new Error(`mcp.servers must be an array in ${configPath}`);
|
|
796
|
+
}
|
|
797
|
+
for (const server of config.mcp.servers) {
|
|
798
|
+
if (!server.name || typeof server.name !== "string") {
|
|
799
|
+
throw new Error(`mcp.servers[].name must be a non-empty string in ${configPath}`);
|
|
800
|
+
}
|
|
801
|
+
if (!["stdio", "sse", "http"].includes(server.transport)) {
|
|
802
|
+
throw new Error(`mcp.servers[].transport must be 'stdio', 'sse', or 'http' in ${configPath}`);
|
|
803
|
+
}
|
|
804
|
+
if (server.transport === "stdio" && (!server.command || typeof server.command !== "string")) {
|
|
805
|
+
throw new Error(`mcp.servers[].command is required for stdio transport in ${configPath}`);
|
|
806
|
+
}
|
|
807
|
+
if ((server.transport === "sse" || server.transport === "http") && (!server.url || typeof server.url !== "string")) {
|
|
808
|
+
throw new Error(`mcp.servers[].url is required for ${server.transport} transport in ${configPath}`);
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
}
|
|
1022
813
|
if (config.externalAgents) {
|
|
1023
814
|
if (config.externalAgents.enabled !== void 0 && typeof config.externalAgents.enabled !== "boolean") {
|
|
1024
815
|
throw new Error(`externalAgents.enabled must be boolean in ${configPath}`);
|
|
@@ -1103,10 +894,7 @@ async function saveConfig(config) {
|
|
|
1103
894
|
|
|
1104
895
|
|
|
1105
896
|
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
exports.hexToRgb = hexToRgb; exports.getTheme = getTheme; exports.isThemeInitialized = isThemeInitialized; exports.CUSTOM_THEMES_DIR = CUSTOM_THEMES_DIR; exports.initTheme = initTheme; exports.listAvailableThemes = listAvailableThemes; exports.loadConfig = loadConfig; exports.resolveWorkspaceRoot = resolveWorkspaceRoot; exports.getProviderConfig = getProviderConfig; exports.saveConfig = saveConfig;
|
|
897
|
+
exports.CUSTOM_THEMES_DIR = CUSTOM_THEMES_DIR; exports.initTheme = initTheme; exports.listAvailableThemes = listAvailableThemes; exports.loadConfig = loadConfig; exports.resolveWorkspaceRoot = resolveWorkspaceRoot; exports.getProviderConfig = getProviderConfig; exports.saveConfig = saveConfig;
|
|
1110
898
|
/**
|
|
1111
899
|
* @license
|
|
1112
900
|
* Copyright 2025 Autohand AI LLC
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
safePrompt
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WD5ZF6HE.js";
|
|
4
|
+
import {
|
|
5
|
+
t
|
|
6
|
+
} from "./chunk-UET7BDX2.js";
|
|
4
7
|
|
|
5
8
|
// src/commands/hooks.ts
|
|
6
9
|
import chalk from "chalk";
|
|
@@ -116,11 +119,11 @@ function getShortCommand(command) {
|
|
|
116
119
|
}
|
|
117
120
|
function displayHooksList(allHooks) {
|
|
118
121
|
console.log();
|
|
119
|
-
console.log(chalk.bold.cyan("
|
|
122
|
+
console.log(chalk.bold.cyan(t("commands.hooks.title")));
|
|
120
123
|
console.log(chalk.gray(" Lifecycle hooks run shell commands on events"));
|
|
121
124
|
console.log();
|
|
122
125
|
if (allHooks.length === 0) {
|
|
123
|
-
console.log(chalk.gray("
|
|
126
|
+
console.log(chalk.gray(` ${t("commands.hooks.noHooks")}`));
|
|
124
127
|
console.log();
|
|
125
128
|
return;
|
|
126
129
|
}
|
|
@@ -366,7 +369,7 @@ async function testHook(manager, allHooks) {
|
|
|
366
369
|
}
|
|
367
370
|
var metadata = {
|
|
368
371
|
command: "/hooks",
|
|
369
|
-
description: "
|
|
372
|
+
description: t("commands.hooks.description"),
|
|
370
373
|
implemented: true
|
|
371
374
|
};
|
|
372
375
|
|
|
@@ -3,29 +3,36 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
var _chunkRJP3SZ7Qcjs = require('./chunk-RJP3SZ7Q.cjs');
|
|
6
7
|
|
|
7
8
|
|
|
8
|
-
var _chunkLY5VN3B3cjs = require('./chunk-LY5VN3B3.cjs');
|
|
9
9
|
|
|
10
|
+
var _chunkPGRH5Q77cjs = require('./chunk-PGRH5Q77.cjs');
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
|
|
13
|
+
var _chunkQRQ5EX7Icjs = require('./chunk-QRQ5EX7I.cjs');
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
|
|
12
17
|
|
|
13
18
|
// src/commands/theme.ts
|
|
14
19
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
15
20
|
async function theme(ctx) {
|
|
16
|
-
const themes =
|
|
17
|
-
const currentTheme =
|
|
18
|
-
console.log(_chalk2.default.cyan(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
const themes = _chunkRJP3SZ7Qcjs.listAvailableThemes.call(void 0, );
|
|
22
|
+
const currentTheme = _chunkPGRH5Q77cjs.isThemeInitialized.call(void 0, ) ? _chunkPGRH5Q77cjs.getTheme.call(void 0, ).name : _optionalChain([ctx, 'access', _ => _.config, 'access', _2 => _2.ui, 'optionalAccess', _3 => _3.theme]) || "dark";
|
|
23
|
+
console.log(_chalk2.default.cyan(`
|
|
24
|
+
\u{1F3A8} ${_chunkLOXOD4IScjs.t.call(void 0, "commands.theme.title")}
|
|
25
|
+
`));
|
|
26
|
+
console.log(_chalk2.default.gray(_chunkLOXOD4IScjs.t.call(void 0, "commands.theme.currentTheme", { theme: _chalk2.default.white(currentTheme) })));
|
|
27
|
+
console.log(_chalk2.default.gray(`Custom themes location: ${_chunkRJP3SZ7Qcjs.CUSTOM_THEMES_DIR}
|
|
21
28
|
`));
|
|
22
29
|
const options = themes.map((name) => ({
|
|
23
30
|
label: name === currentTheme ? `${name} (current)` : name,
|
|
24
31
|
value: name,
|
|
25
32
|
description: name === "dark" ? "Default dark theme" : name === "light" ? "Light theme" : "Custom theme"
|
|
26
33
|
}));
|
|
27
|
-
const result = await
|
|
28
|
-
title:
|
|
34
|
+
const result = await _chunkQRQ5EX7Icjs.showModal.call(void 0, {
|
|
35
|
+
title: _chunkLOXOD4IScjs.t.call(void 0, "commands.theme.selectPrompt"),
|
|
29
36
|
options,
|
|
30
37
|
initialIndex: themes.indexOf(currentTheme)
|
|
31
38
|
});
|
|
@@ -35,15 +42,16 @@ async function theme(ctx) {
|
|
|
35
42
|
}
|
|
36
43
|
const selected = result.value;
|
|
37
44
|
if (selected === currentTheme) {
|
|
38
|
-
console.log(_chalk2.default.gray(
|
|
45
|
+
console.log(_chalk2.default.gray(`
|
|
46
|
+
${_chunkLOXOD4IScjs.t.call(void 0, "commands.theme.noChange")}`));
|
|
39
47
|
return null;
|
|
40
48
|
}
|
|
41
|
-
|
|
49
|
+
_chunkRJP3SZ7Qcjs.initTheme.call(void 0, selected);
|
|
42
50
|
ctx.config.ui = { ...ctx.config.ui, theme: selected };
|
|
43
|
-
await
|
|
51
|
+
await _chunkRJP3SZ7Qcjs.saveConfig.call(void 0, ctx.config);
|
|
44
52
|
console.log(_chalk2.default.green(`
|
|
45
|
-
\u2713
|
|
46
|
-
const newTheme =
|
|
53
|
+
\u2713 ${_chunkLOXOD4IScjs.t.call(void 0, "commands.theme.changed", { theme: selected })}`));
|
|
54
|
+
const newTheme = _chunkPGRH5Q77cjs.getTheme.call(void 0, );
|
|
47
55
|
console.log("\nTheme preview:");
|
|
48
56
|
console.log(` ${newTheme.fg("accent", "\u25CF accent")} ${newTheme.fg("success", "\u25CF success")} ${newTheme.fg("error", "\u25CF error")} ${newTheme.fg("warning", "\u25CF warning")}`);
|
|
49
57
|
console.log(` ${newTheme.fg("muted", "\u25CF muted")} ${newTheme.fg("dim", "\u25CF dim")} ${newTheme.fg("text", "\u25CF text")}`);
|
|
@@ -51,15 +59,15 @@ async function theme(ctx) {
|
|
|
51
59
|
return null;
|
|
52
60
|
}
|
|
53
61
|
async function themeInfo() {
|
|
54
|
-
if (!
|
|
62
|
+
if (!_chunkPGRH5Q77cjs.isThemeInitialized.call(void 0, )) {
|
|
55
63
|
console.log(_chalk2.default.yellow("Theme not initialized."));
|
|
56
64
|
return null;
|
|
57
65
|
}
|
|
58
|
-
const currentTheme =
|
|
66
|
+
const currentTheme = _chunkPGRH5Q77cjs.getTheme.call(void 0, );
|
|
59
67
|
console.log(_chalk2.default.cyan("\n\u{1F3A8} Current Theme Info\n"));
|
|
60
68
|
console.log(_chalk2.default.gray(`Name: ${_chalk2.default.white(currentTheme.name)}`));
|
|
61
69
|
console.log(_chalk2.default.gray(`Color mode: ${_chalk2.default.white(currentTheme.getColorMode())}`));
|
|
62
|
-
console.log(_chalk2.default.gray(`Custom themes dir: ${
|
|
70
|
+
console.log(_chalk2.default.gray(`Custom themes dir: ${_chunkRJP3SZ7Qcjs.CUSTOM_THEMES_DIR}`));
|
|
63
71
|
console.log();
|
|
64
72
|
console.log("Color preview:");
|
|
65
73
|
console.log(` ${currentTheme.fg("accent", "\u25CF accent")} ${currentTheme.fg("success", "\u25CF success")} ${currentTheme.fg("error", "\u25CF error")} ${currentTheme.fg("warning", "\u25CF warning")}`);
|
|
@@ -76,7 +84,7 @@ async function themeInfo() {
|
|
|
76
84
|
}
|
|
77
85
|
var metadata = {
|
|
78
86
|
command: "/theme",
|
|
79
|
-
description:
|
|
87
|
+
description: _chunkLOXOD4IScjs.t.call(void 0, "commands.theme.description"),
|
|
80
88
|
implemented: true
|
|
81
89
|
};
|
|
82
90
|
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkRJP3SZ7Qcjs = require('./chunk-RJP3SZ7Q.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
|
|
5
8
|
|
|
6
9
|
// src/commands/sync.ts
|
|
7
10
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
8
11
|
var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);
|
|
9
12
|
var metadata = {
|
|
10
13
|
command: "/sync",
|
|
11
|
-
description:
|
|
14
|
+
description: _chunkLOXOD4IScjs.t.call(void 0, "commands.sync.description"),
|
|
12
15
|
implemented: true
|
|
13
16
|
};
|
|
14
17
|
var globalSyncService = null;
|
|
@@ -19,7 +22,7 @@ function getSyncService() {
|
|
|
19
22
|
return globalSyncService;
|
|
20
23
|
}
|
|
21
24
|
async function sync(ctx) {
|
|
22
|
-
const config = await
|
|
25
|
+
const config = await _chunkRJP3SZ7Qcjs.loadConfig.call(void 0, );
|
|
23
26
|
const isLoggedIn = Boolean(_optionalChain([config, 'access', _ => _.auth, 'optionalAccess', _2 => _2.token]) && _optionalChain([config, 'access', _3 => _3.auth, 'optionalAccess', _4 => _4.user]));
|
|
24
27
|
if (!isLoggedIn) {
|
|
25
28
|
console.log(_chalk2.default.yellow("\nSettings sync requires authentication."));
|
|
@@ -62,7 +65,6 @@ function renderSyncUI(data, ctx) {
|
|
|
62
65
|
return new Promise((resolve) => {
|
|
63
66
|
const tabs = ["Status", "Settings", "Activity"];
|
|
64
67
|
let currentTab = 0;
|
|
65
|
-
let needsRefresh = false;
|
|
66
68
|
const input = process.stdin;
|
|
67
69
|
const isTTY = input.isTTY;
|
|
68
70
|
const wasRaw = input.isRaw;
|
|
@@ -117,7 +119,7 @@ function renderSyncUI(data, ctx) {
|
|
|
117
119
|
} else {
|
|
118
120
|
console.log(_chalk2.default.red(`Sync failed: ${result.error}`));
|
|
119
121
|
}
|
|
120
|
-
const config = await
|
|
122
|
+
const config = await _chunkRJP3SZ7Qcjs.loadConfig.call(void 0, );
|
|
121
123
|
Object.assign(data, await gatherSyncData(ctx, config));
|
|
122
124
|
} catch (err) {
|
|
123
125
|
console.log(_chalk2.default.red(`Sync error: ${err}`));
|
|
@@ -129,13 +131,13 @@ function renderSyncUI(data, ctx) {
|
|
|
129
131
|
}
|
|
130
132
|
if (char === "e") {
|
|
131
133
|
try {
|
|
132
|
-
const config = await
|
|
134
|
+
const config = await _chunkRJP3SZ7Qcjs.loadConfig.call(void 0, );
|
|
133
135
|
const newEnabled = _optionalChain([config, 'access', _16 => _16.sync, 'optionalAccess', _17 => _17.enabled]) === false;
|
|
134
136
|
config.sync = { ...config.sync, enabled: newEnabled };
|
|
135
|
-
await
|
|
137
|
+
await _chunkRJP3SZ7Qcjs.saveConfig.call(void 0, config);
|
|
136
138
|
data.enabled = newEnabled;
|
|
137
139
|
console.log(_chalk2.default.cyan(`
|
|
138
|
-
|
|
140
|
+
${newEnabled ? _chunkLOXOD4IScjs.t.call(void 0, "commands.sync.enabled") : _chunkLOXOD4IScjs.t.call(void 0, "commands.sync.disabled")}`));
|
|
139
141
|
await sleep(1e3);
|
|
140
142
|
render();
|
|
141
143
|
} catch (err) {
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
var _chunk4XHHW7QXcjs = require('./chunk-4XHHW7QX.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkPGRH5Q77cjs = require('./chunk-PGRH5Q77.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
|
|
11
|
+
|
|
12
|
+
// src/commands/about.ts
|
|
13
|
+
var _child_process = require('child_process');
|
|
14
|
+
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
15
|
+
var _terminallink = require('terminal-link'); var _terminallink2 = _interopRequireDefault(_terminallink);
|
|
16
|
+
function getGitCommit() {
|
|
17
|
+
if (true) {
|
|
18
|
+
return "054b704";
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
return _child_process.execSync.call(void 0, "git rev-parse --short HEAD", { encoding: "utf8", stdio: ["pipe", "pipe", "ignore"] }).trim();
|
|
22
|
+
} catch (e) {
|
|
23
|
+
return "unknown";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function getVersionString() {
|
|
27
|
+
const commit = getGitCommit();
|
|
28
|
+
return commit !== "unknown" ? `${_chunk4XHHW7QXcjs.package_default.version} (${commit})` : _chunk4XHHW7QXcjs.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 (_chunkPGRH5Q77cjs.isThemeInitialized.call(void 0, )) {
|
|
45
|
+
const theme = _chunkPGRH5Q77cjs.getTheme.call(void 0, );
|
|
46
|
+
accent = (text2) => _chalk2.default.hex(theme.colors.accent)(text2);
|
|
47
|
+
muted = (text2) => _chalk2.default.hex(theme.colors.muted)(text2);
|
|
48
|
+
text = (str) => _chalk2.default.hex(theme.colors.text)(str);
|
|
49
|
+
} else {
|
|
50
|
+
accent = (text2) => _chalk2.default.cyan(text2);
|
|
51
|
+
muted = (text2) => _chalk2.default.gray(text2);
|
|
52
|
+
text = (text2) => _chalk2.default.white(text2);
|
|
53
|
+
}
|
|
54
|
+
console.log(_chalk2.default.gray(ASCII_FRIEND));
|
|
55
|
+
console.log();
|
|
56
|
+
console.log(accent(`${_chunkLOXOD4IScjs.t.call(void 0, "commands.about.title")} v${getVersionString()}`));
|
|
57
|
+
console.log(muted(_chunkLOXOD4IScjs.t.call(void 0, "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 = _terminallink2.default.call(void 0, _chalk2.default.cyan.underline("autohand.ai"), websiteUrl);
|
|
63
|
+
const githubLink = _terminallink2.default.call(void 0, _chalk2.default.cyan.underline("github.com/autohandai/"), githubUrl);
|
|
64
|
+
const docsLink = _terminallink2.default.call(void 0, _chalk2.default.cyan.underline("docs.autohand.ai"), docsUrl);
|
|
65
|
+
console.log(`${text("\u{1F310}")} ${text(_chunkLOXOD4IScjs.t.call(void 0, "commands.about.website") + ":")} ${websiteLink}`);
|
|
66
|
+
console.log(`${text("\u{1F4E6}")} ${text(_chunkLOXOD4IScjs.t.call(void 0, "commands.about.github") + ":")} ${githubLink}`);
|
|
67
|
+
console.log(`${text("\u{1F4DA}")} ${text(_chunkLOXOD4IScjs.t.call(void 0, "commands.about.docs") + ":")} ${docsLink}`);
|
|
68
|
+
console.log();
|
|
69
|
+
console.log(text(`\u{1F4A1} ${_chunkLOXOD4IScjs.t.call(void 0, "commands.about.contribute")}`));
|
|
70
|
+
console.log(text(` \u2022 ${_chunkLOXOD4IScjs.t.call(void 0, "commands.about.feedback")}: ${accent("/feedback")}`));
|
|
71
|
+
console.log(text(` \u2022 ${_chunkLOXOD4IScjs.t.call(void 0, "commands.about.submitPR")}: ${accent("gh pr create")}`));
|
|
72
|
+
const issuesUrl = "https://github.com/autohandai/code-cli/issues";
|
|
73
|
+
const issuesLink = _terminallink2.default.call(void 0, _chalk2.default.cyan.underline("github.com/autohandai/code-cli/issues"), issuesUrl);
|
|
74
|
+
console.log(text(` \u2022 ${_chunkLOXOD4IScjs.t.call(void 0, "commands.about.reportIssues")}: ${issuesLink}`));
|
|
75
|
+
console.log();
|
|
76
|
+
console.log(muted(_chunkLOXOD4IScjs.t.call(void 0, "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
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
exports.about = about; exports.metadata = metadata;
|
|
90
|
+
/**
|
|
91
|
+
* @license
|
|
92
|
+
* Copyright 2025 Autohand AI LLC
|
|
93
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
94
|
+
*/
|