autohand-cli 0.7.9 → 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-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-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/{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-DRXFJR7F.cjs → chunk-3UNX56GC.cjs} +17 -16
- package/dist/chunk-46WX5IO2.cjs +499 -0
- package/dist/{chunk-IYZBLUEJ.js → chunk-4ULBAYME.js} +8 -6
- 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-3DVEGFBZ.js → chunk-BODVOW7B.js} +64 -13
- package/dist/{chunk-HUA44A35.cjs → chunk-BZ73ZQTE.cjs} +17 -11
- package/dist/{chunk-6DSJ7XST.cjs → chunk-C22G4UE4.cjs} +13 -10
- package/dist/{chunk-T7HQBZZB.cjs → chunk-C2E3GJEE.cjs} +12 -9
- package/dist/{chunk-UP6YRP44.js → chunk-C5SVIQG3.js} +10 -5
- package/dist/{chunk-7GJR65DQ.js → chunk-CUBYCLNL.js} +2 -1
- 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-C26EN22G.cjs → chunk-DUDDZRCS.cjs} +9 -5
- package/dist/{chunk-WT367RVU.js → chunk-E7YL3AHT.js} +15 -9
- package/dist/{chunk-5UC3VAJ2.cjs → chunk-EAOEAQGF.cjs} +2 -1
- package/dist/{chunk-CHVXUA3O.cjs → chunk-EV53SLSB.cjs} +4 -4
- package/dist/{chunk-PVSYZXS7.js → chunk-F3EIOVSQ.js} +11 -10
- 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-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-RDGYHJ52.js → chunk-IPI3JXKP.js} +9 -6
- package/dist/{chunk-OO7EKEJH.cjs → chunk-IXFOH4OC.cjs} +17 -14
- 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-LGGZQTLM.cjs +209 -0
- package/dist/chunk-LOXOD4IS.cjs +8630 -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-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-CMNQAF6C.js → chunk-PM62ZYXA.js} +12 -9
- 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-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-SAG6IY5Z.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-LKIKNRUP.js → chunk-WYLFLZ42.js} +8 -5
- 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-Y6OWFIUF.js +209 -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-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 +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-2JD2AKKX.cjs +13 -0
- package/dist/share-MYGDOTQE.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-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-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 +2 -1
- 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,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
4
|
import {
|
|
5
5
|
safePrompt
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WD5ZF6HE.js";
|
|
7
7
|
import {
|
|
8
8
|
saveConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZBIBLOZL.js";
|
|
10
|
+
import {
|
|
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;
|
|
@@ -1,13 +1,16 @@
|
|
|
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
|
|
3
|
+
var _chunkEAOEAQGFcjs = require('./chunk-EAOEAQGF.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkMNCWB5F7cjs = require('./chunk-MNCWB5F7.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
|
|
11
14
|
|
|
12
15
|
// src/commands/feedback.ts
|
|
13
16
|
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
@@ -15,14 +18,14 @@ var _os = require('os'); var _os2 = _interopRequireDefault(_os);
|
|
|
15
18
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
16
19
|
var metadata = {
|
|
17
20
|
command: "/feedback",
|
|
18
|
-
description:
|
|
21
|
+
description: _chunkLOXOD4IScjs.t.call(void 0, "commands.feedback.description"),
|
|
19
22
|
implemented: true
|
|
20
23
|
};
|
|
21
24
|
var API_BASE_URL = "https://api.autohand.ai";
|
|
22
25
|
var API_TIMEOUT = 1e4;
|
|
23
26
|
var COOLDOWN_MAX_SUBMISSIONS = 5;
|
|
24
27
|
var COOLDOWN_WINDOW_MS = 60 * 60 * 1e3;
|
|
25
|
-
var COOLDOWN_STATE_PATH = `${
|
|
28
|
+
var COOLDOWN_STATE_PATH = `${_chunkGIZL57FEcjs.AUTOHAND_PATHS.feedback}/cooldown.json`;
|
|
26
29
|
async function checkCooldown() {
|
|
27
30
|
try {
|
|
28
31
|
if (!await _fsextra2.default.pathExists(COOLDOWN_STATE_PATH)) {
|
|
@@ -53,7 +56,7 @@ async function recordSubmission() {
|
|
|
53
56
|
const windowStart = now - COOLDOWN_WINDOW_MS;
|
|
54
57
|
state.submissions = state.submissions.filter((ts) => ts > windowStart);
|
|
55
58
|
state.submissions.push(now);
|
|
56
|
-
await _fsextra2.default.ensureDir(
|
|
59
|
+
await _fsextra2.default.ensureDir(_chunkGIZL57FEcjs.AUTOHAND_PATHS.feedback);
|
|
57
60
|
await _fsextra2.default.writeJson(COOLDOWN_STATE_PATH, state, { spaces: 2 });
|
|
58
61
|
} catch (e2) {
|
|
59
62
|
}
|
|
@@ -65,7 +68,7 @@ async function feedback(_ctx) {
|
|
|
65
68
|
console.log(_chalk2.default.gray(`Please wait ${cooldown.waitMinutes} minute${cooldown.waitMinutes === 1 ? "" : "s"} before submitting again.`));
|
|
66
69
|
return null;
|
|
67
70
|
}
|
|
68
|
-
const ratingAnswer = await
|
|
71
|
+
const ratingAnswer = await _chunkMNCWB5F7cjs.safePrompt.call(void 0, [
|
|
69
72
|
{
|
|
70
73
|
type: "select",
|
|
71
74
|
name: "rating",
|
|
@@ -84,7 +87,7 @@ async function feedback(_ctx) {
|
|
|
84
87
|
console.log(_chalk2.default.gray("Feedback discarded."));
|
|
85
88
|
return null;
|
|
86
89
|
}
|
|
87
|
-
const textAnswer = await
|
|
90
|
+
const textAnswer = await _chunkMNCWB5F7cjs.safePrompt.call(void 0, [
|
|
88
91
|
{
|
|
89
92
|
type: "input",
|
|
90
93
|
name: "feedback",
|
|
@@ -105,7 +108,7 @@ async function feedback(_ctx) {
|
|
|
105
108
|
triggerType: "manual",
|
|
106
109
|
timestamp: now,
|
|
107
110
|
deviceId,
|
|
108
|
-
cliVersion:
|
|
111
|
+
cliVersion: _chunkEAOEAQGFcjs.package_default.version,
|
|
109
112
|
platform: process.platform,
|
|
110
113
|
osVersion: _os2.default.release(),
|
|
111
114
|
nodeVersion: process.version,
|
|
@@ -120,7 +123,7 @@ async function feedback(_ctx) {
|
|
|
120
123
|
runtimeError: runtimeError ? formatError(runtimeError) : null
|
|
121
124
|
};
|
|
122
125
|
try {
|
|
123
|
-
const feedbackPath =
|
|
126
|
+
const feedbackPath = _chunkGIZL57FEcjs.AUTOHAND_FILES.feedbackLog;
|
|
124
127
|
await _fsextra2.default.ensureFile(feedbackPath);
|
|
125
128
|
await _fsextra2.default.appendFile(feedbackPath, JSON.stringify(payload) + "\n", "utf8");
|
|
126
129
|
} catch (e3) {
|
|
@@ -128,7 +131,7 @@ async function feedback(_ctx) {
|
|
|
128
131
|
try {
|
|
129
132
|
const response = await sendFeedbackToApi(payload);
|
|
130
133
|
if (response.success) {
|
|
131
|
-
console.log(_chalk2.default.green(
|
|
134
|
+
console.log(_chalk2.default.green(_chunkLOXOD4IScjs.t.call(void 0, "commands.feedback.success")));
|
|
132
135
|
} else {
|
|
133
136
|
if (_optionalChain([response, 'access', _6 => _6.error, 'optionalAccess', _7 => _7.includes, 'call', _8 => _8("Rate limit")])) {
|
|
134
137
|
console.log(_chalk2.default.yellow("Feedback saved locally (rate limited, will retry later)."));
|
|
@@ -153,7 +156,7 @@ async function sendFeedbackToApi(payload) {
|
|
|
153
156
|
method: "POST",
|
|
154
157
|
headers: {
|
|
155
158
|
"Content-Type": "application/json",
|
|
156
|
-
"X-CLI-Version":
|
|
159
|
+
"X-CLI-Version": _chunkEAOEAQGFcjs.package_default.version,
|
|
157
160
|
"X-Device-ID": payload.deviceId
|
|
158
161
|
},
|
|
159
162
|
body: JSON.stringify(payload),
|
|
@@ -175,7 +178,7 @@ async function sendFeedbackToApi(payload) {
|
|
|
175
178
|
}
|
|
176
179
|
}
|
|
177
180
|
async function getDeviceId() {
|
|
178
|
-
const deviceIdPath = `${
|
|
181
|
+
const deviceIdPath = `${_chunkGIZL57FEcjs.AUTOHAND_PATHS.feedback}/.device-id`;
|
|
179
182
|
try {
|
|
180
183
|
if (await _fsextra2.default.pathExists(deviceIdPath)) {
|
|
181
184
|
return (await _fsextra2.default.readFile(deviceIdPath, "utf8")).trim();
|
|
@@ -184,7 +187,7 @@ async function getDeviceId() {
|
|
|
184
187
|
}
|
|
185
188
|
const deviceId = `anon_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
|
|
186
189
|
try {
|
|
187
|
-
await _fsextra2.default.ensureDir(
|
|
190
|
+
await _fsextra2.default.ensureDir(_chunkGIZL57FEcjs.AUTOHAND_PATHS.feedback);
|
|
188
191
|
await _fsextra2.default.writeFile(deviceIdPath, deviceId);
|
|
189
192
|
} catch (e5) {
|
|
190
193
|
}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
// src/ui/theme/Theme.ts
|
|
2
|
+
var Theme = class {
|
|
3
|
+
constructor(name, colors, colorMode) {
|
|
4
|
+
this.ansiCache = /* @__PURE__ */ new Map();
|
|
5
|
+
this.name = name;
|
|
6
|
+
this.colors = colors;
|
|
7
|
+
this.colorMode = colorMode ?? detectColorMode();
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Apply foreground color to text.
|
|
11
|
+
*/
|
|
12
|
+
fg(token, text) {
|
|
13
|
+
if (this.colorMode === "none") return text;
|
|
14
|
+
const color = this.colors[token];
|
|
15
|
+
if (!color) return text;
|
|
16
|
+
const ansi = this.getAnsiCode(color, "fg");
|
|
17
|
+
return `${ansi}${text}\x1B[39m`;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Apply background color to text.
|
|
21
|
+
*/
|
|
22
|
+
bg(token, text) {
|
|
23
|
+
if (this.colorMode === "none") return text;
|
|
24
|
+
const color = this.colors[token];
|
|
25
|
+
if (!color) return text;
|
|
26
|
+
const ansi = this.getAnsiCode(color, "bg");
|
|
27
|
+
return `${ansi}${text}\x1B[49m`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Apply both foreground and background colors.
|
|
31
|
+
*/
|
|
32
|
+
fgBg(fgToken, bgToken, text) {
|
|
33
|
+
if (this.colorMode === "none") return text;
|
|
34
|
+
const fgColor = this.colors[fgToken];
|
|
35
|
+
const bgColor = this.colors[bgToken];
|
|
36
|
+
const fgAnsi = fgColor ? this.getAnsiCode(fgColor, "fg") : "";
|
|
37
|
+
const bgAnsi = bgColor ? this.getAnsiCode(bgColor, "bg") : "";
|
|
38
|
+
return `${fgAnsi}${bgAnsi}${text}\x1B[0m`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Apply bold style.
|
|
42
|
+
*/
|
|
43
|
+
bold(text) {
|
|
44
|
+
return `\x1B[1m${text}\x1B[22m`;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Apply italic style.
|
|
48
|
+
*/
|
|
49
|
+
italic(text) {
|
|
50
|
+
return `\x1B[3m${text}\x1B[23m`;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Apply underline style.
|
|
54
|
+
*/
|
|
55
|
+
underline(text) {
|
|
56
|
+
return `\x1B[4m${text}\x1B[24m`;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Apply dim style.
|
|
60
|
+
*/
|
|
61
|
+
dimStyle(text) {
|
|
62
|
+
return `\x1B[2m${text}\x1B[22m`;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Apply strikethrough style.
|
|
66
|
+
*/
|
|
67
|
+
strikethrough(text) {
|
|
68
|
+
return `\x1B[9m${text}\x1B[29m`;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Reset all styles.
|
|
72
|
+
*/
|
|
73
|
+
reset(text) {
|
|
74
|
+
return `\x1B[0m${text}\x1B[0m`;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get raw color value for a token.
|
|
78
|
+
*/
|
|
79
|
+
getColor(token) {
|
|
80
|
+
return this.colors[token] || "";
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get current color mode.
|
|
84
|
+
*/
|
|
85
|
+
getColorMode() {
|
|
86
|
+
return this.colorMode;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Convert color value to ANSI escape code.
|
|
90
|
+
*/
|
|
91
|
+
getAnsiCode(color, type) {
|
|
92
|
+
const cacheKey = `${color}:${type}`;
|
|
93
|
+
const cached = this.ansiCache.get(cacheKey);
|
|
94
|
+
if (cached) return cached;
|
|
95
|
+
const code = this.colorToAnsi(color, type);
|
|
96
|
+
this.ansiCache.set(cacheKey, code);
|
|
97
|
+
return code;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Convert a color value to ANSI code based on color mode.
|
|
101
|
+
*/
|
|
102
|
+
colorToAnsi(color, type) {
|
|
103
|
+
if (!color) return "";
|
|
104
|
+
if (color.startsWith("#")) {
|
|
105
|
+
return this.hexToAnsi(color, type);
|
|
106
|
+
}
|
|
107
|
+
const numValue = parseInt(color, 10);
|
|
108
|
+
if (!isNaN(numValue) && numValue >= 0 && numValue <= 255) {
|
|
109
|
+
return this.index256ToAnsi(numValue, type);
|
|
110
|
+
}
|
|
111
|
+
return "";
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Convert hex color to ANSI code.
|
|
115
|
+
*/
|
|
116
|
+
hexToAnsi(hex, type) {
|
|
117
|
+
const rgb = hexToRgb(hex);
|
|
118
|
+
if (!rgb) return "";
|
|
119
|
+
const base = type === "fg" ? 38 : 48;
|
|
120
|
+
if (this.colorMode === "truecolor") {
|
|
121
|
+
return `\x1B[${base};2;${rgb.r};${rgb.g};${rgb.b}m`;
|
|
122
|
+
} else if (this.colorMode === "256") {
|
|
123
|
+
const index = rgbTo256(rgb.r, rgb.g, rgb.b);
|
|
124
|
+
return `\x1B[${base};5;${index}m`;
|
|
125
|
+
} else if (this.colorMode === "16") {
|
|
126
|
+
const index = rgbTo16(rgb.r, rgb.g, rgb.b);
|
|
127
|
+
const code = type === "fg" ? index < 8 ? 30 + index : 90 + index - 8 : index < 8 ? 40 + index : 100 + index - 8;
|
|
128
|
+
return `\x1B[${code}m`;
|
|
129
|
+
}
|
|
130
|
+
return "";
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Convert 256-color index to ANSI code.
|
|
134
|
+
*/
|
|
135
|
+
index256ToAnsi(index, type) {
|
|
136
|
+
const base = type === "fg" ? 38 : 48;
|
|
137
|
+
if (this.colorMode === "truecolor" || this.colorMode === "256") {
|
|
138
|
+
return `\x1B[${base};5;${index}m`;
|
|
139
|
+
} else if (this.colorMode === "16") {
|
|
140
|
+
const basicIndex = index < 16 ? index : index256To16(index);
|
|
141
|
+
const code = type === "fg" ? basicIndex < 8 ? 30 + basicIndex : 90 + basicIndex - 8 : basicIndex < 8 ? 40 + basicIndex : 100 + basicIndex - 8;
|
|
142
|
+
return `\x1B[${code}m`;
|
|
143
|
+
}
|
|
144
|
+
return "";
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
function detectColorMode() {
|
|
148
|
+
if (process.env.NO_COLOR !== void 0) {
|
|
149
|
+
return "none";
|
|
150
|
+
}
|
|
151
|
+
if (process.env.FORCE_COLOR !== void 0) {
|
|
152
|
+
const level = parseInt(process.env.FORCE_COLOR, 10);
|
|
153
|
+
if (level === 0) return "none";
|
|
154
|
+
if (level === 1) return "16";
|
|
155
|
+
if (level === 2) return "256";
|
|
156
|
+
if (level >= 3) return "truecolor";
|
|
157
|
+
}
|
|
158
|
+
const colorterm = process.env.COLORTERM;
|
|
159
|
+
if (colorterm === "truecolor" || colorterm === "24bit") {
|
|
160
|
+
return "truecolor";
|
|
161
|
+
}
|
|
162
|
+
const term = process.env.TERM || "";
|
|
163
|
+
if (term.includes("256color") || term.includes("256-color")) {
|
|
164
|
+
return "256";
|
|
165
|
+
}
|
|
166
|
+
if (term.includes("color") || term.includes("ansi") || term === "xterm") {
|
|
167
|
+
return "16";
|
|
168
|
+
}
|
|
169
|
+
if (process.stdout.isTTY) {
|
|
170
|
+
return "256";
|
|
171
|
+
}
|
|
172
|
+
return "none";
|
|
173
|
+
}
|
|
174
|
+
function hexToRgb(hex) {
|
|
175
|
+
const match = hex.match(/^#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/);
|
|
176
|
+
if (match) {
|
|
177
|
+
return {
|
|
178
|
+
r: parseInt(match[1], 16),
|
|
179
|
+
g: parseInt(match[2], 16),
|
|
180
|
+
b: parseInt(match[3], 16)
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
const shortMatch = hex.match(/^#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/);
|
|
184
|
+
if (shortMatch) {
|
|
185
|
+
return {
|
|
186
|
+
r: parseInt(shortMatch[1] + shortMatch[1], 16),
|
|
187
|
+
g: parseInt(shortMatch[2] + shortMatch[2], 16),
|
|
188
|
+
b: parseInt(shortMatch[3] + shortMatch[3], 16)
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
function rgbTo256(r, g, b) {
|
|
194
|
+
if (r === g && g === b) {
|
|
195
|
+
if (r < 8) return 16;
|
|
196
|
+
if (r > 248) return 231;
|
|
197
|
+
return Math.round((r - 8) / 10) + 232;
|
|
198
|
+
}
|
|
199
|
+
const ri = Math.round(r / 51);
|
|
200
|
+
const gi = Math.round(g / 51);
|
|
201
|
+
const bi = Math.round(b / 51);
|
|
202
|
+
return 16 + 36 * ri + 6 * gi + bi;
|
|
203
|
+
}
|
|
204
|
+
function rgbTo16(r, g, b) {
|
|
205
|
+
const bright = (r + g + b) / 3 > 128 ? 8 : 0;
|
|
206
|
+
const ri = r > 128 ? 1 : 0;
|
|
207
|
+
const gi = g > 128 ? 2 : 0;
|
|
208
|
+
const bi = b > 128 ? 4 : 0;
|
|
209
|
+
return bright + ri + gi + bi;
|
|
210
|
+
}
|
|
211
|
+
function index256To16(index) {
|
|
212
|
+
if (index < 16) return index;
|
|
213
|
+
if (index >= 232) {
|
|
214
|
+
const gray = (index - 232) * 10 + 8;
|
|
215
|
+
return gray > 128 ? 15 : 0;
|
|
216
|
+
}
|
|
217
|
+
const adjusted = index - 16;
|
|
218
|
+
const r = Math.floor(adjusted / 36) * 51;
|
|
219
|
+
const g = Math.floor(adjusted % 36 / 6) * 51;
|
|
220
|
+
const b = adjusted % 6 * 51;
|
|
221
|
+
return rgbTo16(r, g, b);
|
|
222
|
+
}
|
|
223
|
+
var globalTheme = null;
|
|
224
|
+
function getTheme() {
|
|
225
|
+
if (!globalTheme) {
|
|
226
|
+
throw new Error("Theme not initialized. Call initTheme() first.");
|
|
227
|
+
}
|
|
228
|
+
return globalTheme;
|
|
229
|
+
}
|
|
230
|
+
function setTheme(theme) {
|
|
231
|
+
globalTheme = theme;
|
|
232
|
+
}
|
|
233
|
+
function isThemeInitialized() {
|
|
234
|
+
return globalTheme !== null;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export {
|
|
238
|
+
Theme,
|
|
239
|
+
detectColorMode,
|
|
240
|
+
hexToRgb,
|
|
241
|
+
getTheme,
|
|
242
|
+
setTheme,
|
|
243
|
+
isThemeInitialized
|
|
244
|
+
};
|
|
245
|
+
/**
|
|
246
|
+
* @license
|
|
247
|
+
* Copyright 2025 Autohand AI LLC
|
|
248
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
249
|
+
*/
|
|
@@ -1,13 +1,13 @@
|
|
|
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(); } }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
|
|
4
4
|
|
|
5
5
|
// src/permissions/localProjectPermissions.ts
|
|
6
6
|
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
7
7
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
8
8
|
var LOCAL_SETTINGS_FILE = "settings.local.json";
|
|
9
9
|
function getLocalSettingsPath(workspaceRoot) {
|
|
10
|
-
return _path2.default.join(workspaceRoot,
|
|
10
|
+
return _path2.default.join(workspaceRoot, _chunkGIZL57FEcjs.PROJECT_DIR_NAME, LOCAL_SETTINGS_FILE);
|
|
11
11
|
}
|
|
12
12
|
async function loadLocalProjectSettings(workspaceRoot) {
|
|
13
13
|
const settingsPath = getLocalSettingsPath(workspaceRoot);
|
|
@@ -1,6 +1,6 @@
|
|
|
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
|
|
3
|
+
var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
|
|
4
4
|
|
|
5
5
|
// src/session/SessionManager.ts
|
|
6
6
|
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
@@ -10,7 +10,7 @@ var SessionManager = class {
|
|
|
10
10
|
constructor(baseDir) {
|
|
11
11
|
this.currentSession = null;
|
|
12
12
|
this.index = null;
|
|
13
|
-
this.sessionsDir = _nullishCoalesce(baseDir, () => (
|
|
13
|
+
this.sessionsDir = _nullishCoalesce(baseDir, () => ( _chunkGIZL57FEcjs.AUTOHAND_PATHS.sessions));
|
|
14
14
|
}
|
|
15
15
|
async initialize() {
|
|
16
16
|
await _fsextra2.default.ensureDir(this.sessionsDir);
|