autohand-cli 0.7.2 → 0.7.4
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/dist/{AutomodeManager-PUNJS7IZ.cjs → AutomodeManager-TJSW2SQY.cjs} +1 -3
- package/dist/{AutomodeManager-FQQPBHAD.js → AutomodeManager-WIMHLG4W.js} +0 -2
- package/dist/{CommunitySkillsCache-KO4DSKMA.cjs → CommunitySkillsCache-X3X237QQ.cjs} +0 -1
- package/dist/{CommunitySkillsCache-AY3ZYDTN.js → CommunitySkillsCache-XPDVYU3K.js} +0 -1
- package/dist/{GitHubRegistryFetcher-S4JREWUQ.cjs → GitHubRegistryFetcher-K744NNAJ.cjs} +0 -1
- package/dist/{GitHubRegistryFetcher-V23KTTLM.js → GitHubRegistryFetcher-US2JJID4.js} +0 -1
- package/dist/HookManager-EOMUXKJ4.cjs +6 -0
- package/dist/HookManager-VIX56KFU.js +6 -0
- package/dist/{MemoryManager-AFS5EZJ2.js → MemoryManager-UVHILGV5.js} +0 -1
- package/dist/{MemoryManager-KE6EKW7Y.cjs → MemoryManager-WO3KUZVA.cjs} +0 -1
- package/dist/{PermissionManager-MAPKIJMD.cjs → PermissionManager-PMTQN263.cjs} +0 -1
- package/dist/{PermissionManager-V2Q2OAS2.js → PermissionManager-YFZI4ZZ6.js} +0 -1
- package/dist/{SessionManager-V25OJDDY.js → SessionManager-IMW2HGR3.js} +0 -1
- package/dist/{SessionManager-MKLGLZWC.cjs → SessionManager-VZNWGX4O.cjs} +0 -1
- package/dist/{SkillsRegistry-FTLVJZMA.js → SkillsRegistry-7NICF6FY.js} +0 -1
- package/dist/{SkillsRegistry-4RU2OAEQ.cjs → SkillsRegistry-OINIPILA.cjs} +0 -1
- package/dist/{agents-E4NEH2PN.js → agents-B33IAATH.js} +0 -1
- package/dist/{agents-CHNQ7LQ4.cjs → agents-GRAFXZY3.cjs} +0 -1
- package/dist/{agents-new-GHVWXW7T.cjs → agents-new-67NJJSDA.cjs} +0 -1
- package/dist/{agents-new-W6HMQ7V5.js → agents-new-KTXJFC5E.js} +0 -1
- package/dist/{automode-BJYGRMEQ.cjs → automode-BRHUHGXU.cjs} +0 -1
- package/dist/{automode-XCNP6HP4.js → automode-QCRJSBRT.js} +0 -1
- package/dist/{chunk-FEI2GPAW.cjs → chunk-2E2COWKB.cjs} +2 -2
- package/dist/{chunk-6XITU2RU.js → chunk-2FSQPRPJ.js} +1 -1
- package/dist/{chunk-U43RFUBR.cjs → chunk-536VWSZK.cjs} +2 -2
- package/dist/{chunk-LCCJ26QR.js → chunk-546JQ3ND.js} +1 -1
- package/dist/{chunk-52HPEJ4P.js → chunk-6LP2GO5C.js} +1 -1
- package/dist/{chunk-ZYHQ652D.js → chunk-C2NFLFHH.js} +1 -1
- package/dist/{chunk-E6U4UE3B.cjs → chunk-CT2VTDPQ.cjs} +1 -1
- package/dist/{chunk-HXAAED4W.cjs → chunk-HYTYXN2G.cjs} +10 -10
- package/dist/{chunk-UOLJZFPJ.js → chunk-JXOXZTMA.js} +3 -3
- package/dist/{chunk-HUE3GT5M.js → chunk-MFLRXVKU.js} +1 -1
- package/dist/{chunk-B2BPL6IL.js → chunk-PVM5I5WI.js} +6 -2
- package/dist/{chunk-SXUZ3CX3.cjs → chunk-QMVTT55Y.cjs} +6 -2
- package/dist/{chunk-SXYYH3VD.cjs → chunk-SKT2CRNY.cjs} +3 -3
- package/dist/{chunk-EBM5QDJ4.cjs → chunk-XJZYEURA.cjs} +1 -1
- package/dist/{completion-BTDPVWVB.cjs → completion-WVFWX7XQ.cjs} +0 -1
- package/dist/{completion-2XTEWNMC.js → completion-Y42FKDT3.js} +0 -1
- package/dist/{constants-V4V43DZQ.cjs → constants-PE5DLI7Q.cjs} +0 -1
- package/dist/{constants-RVCOJL3L.js → constants-QYBEF3DB.js} +0 -1
- package/dist/{defaultHooks-3GRSZNKA.js → defaultHooks-3G3DVF6I.js} +0 -2
- package/dist/{defaultHooks-7EAUU6MN.cjs → defaultHooks-Z4KA6U5C.cjs} +1 -3
- package/dist/{export-CB34FSEH.cjs → export-BKBJ7PB2.cjs} +0 -1
- package/dist/{export-LNPP3XXH.js → export-WJ5P6E5Z.js} +0 -1
- package/dist/{feedback-IZKDNGHP.js → feedback-PZ2PINDU.js} +0 -1
- package/dist/{feedback-OKGBXZZ4.cjs → feedback-R66B3B3C.cjs} +0 -1
- package/dist/{formatters-OIGPANHJ.cjs → formatters-N5IJKYZY.cjs} +0 -1
- package/dist/{formatters-JJK6RS55.js → formatters-UG6VZJJ5.js} +0 -1
- package/dist/{help-MU553D6W.js → help-PKC6QCNG.js} +0 -1
- package/dist/{help-QAAUDLFS.cjs → help-UEELQRHP.cjs} +0 -1
- package/dist/{hooks-7DZGBMXP.cjs → hooks-G4VLYMLX.cjs} +0 -1
- package/dist/{hooks-4N5VRVOF.js → hooks-LN4A6NQL.js} +0 -1
- package/dist/index.cjs +656 -463
- package/dist/index.js +676 -483
- package/dist/{init-WW4RITLV.js → init-DML7AOII.js} +0 -1
- package/dist/{init-2QEB7GL5.cjs → init-SLLSDDJN.cjs} +0 -1
- package/dist/{lint-ZLRBEAFF.cjs → lint-44UQJ673.cjs} +0 -1
- package/dist/{lint-L2TD6NY6.js → lint-TA2ZHVLM.js} +0 -1
- package/dist/{localProjectPermissions-2DP6X55S.cjs → localProjectPermissions-75X3ZGKH.cjs} +0 -1
- package/dist/{localProjectPermissions-5CXHD4DO.js → localProjectPermissions-DURCNDZG.js} +0 -1
- package/dist/{login-LH62FYMH.js → login-NYWZRZO5.js} +2 -3
- package/dist/login-QNJ5C42G.cjs +12 -0
- package/dist/{logout-KPHUXO23.js → logout-MBS7L3ZW.js} +2 -3
- package/dist/logout-MVUP7GPU.cjs +12 -0
- package/dist/{memory-2SGSO4MW.js → memory-4GSP7NKV.js} +0 -1
- package/dist/{memory-ALXCFFQY.cjs → memory-CFNC7RJH.cjs} +0 -1
- package/dist/{model-U3BWIWVH.js → model-HKEFSH5E.js} +0 -1
- package/dist/{model-JC43B3KM.cjs → model-TKVEJ5BC.cjs} +0 -1
- package/dist/{new-24YT5KVI.cjs → new-EB2MBQXA.cjs} +0 -1
- package/dist/{new-PCOF6OLV.js → new-EEZC4XXV.js} +0 -1
- package/dist/{patch-RPK3BZQR.js → patch-BAAQIYSW.js} +0 -2
- package/dist/{patch-ETANEGRW.cjs → patch-J32X2QQP.cjs} +1 -3
- package/dist/{permissions-5W5JOVM7.js → permissions-5MTH22EF.js} +0 -1
- package/dist/{permissions-NHPJPHDV.cjs → permissions-IP5SITPI.cjs} +0 -1
- package/dist/{quit-TMKMX2YF.cjs → quit-2RYFGIJP.cjs} +0 -1
- package/dist/{quit-NIDVPHNL.js → quit-RSYIERO5.js} +0 -1
- package/dist/{resume-ZZ2D2NMB.js → resume-2NERFSTD.js} +0 -1
- package/dist/{resume-5C44HAAH.cjs → resume-OYZMJRNO.cjs} +0 -1
- package/dist/{session-76F55XKA.js → session-H5QWKE5E.js} +0 -1
- package/dist/{session-6TMBGN7N.cjs → session-T3TAZ5ZU.cjs} +0 -1
- package/dist/{sessions-ERKBJ7MC.js → sessions-4KXIT76T.js} +0 -1
- package/dist/{sessions-NUPCJVCF.cjs → sessions-7RTCPVNE.cjs} +0 -1
- package/dist/skills-6PIGHOWS.cjs +12 -0
- package/dist/{skills-R25OBHE5.js → skills-CRFOVWEQ.js} +1 -2
- package/dist/{skills-install-GNTBBL46.js → skills-install-RMPXN6RK.js} +0 -1
- package/dist/{skills-install-VUSVGSON.cjs → skills-install-Z27KPEGF.cjs} +0 -1
- package/dist/{skills-new-AGXQNBRA.cjs → skills-new-3QJUST7P.cjs} +0 -1
- package/dist/{skills-new-L36LQXIE.js → skills-new-S2YPO635.js} +0 -1
- package/dist/status-U5NH6SYY.cjs +8 -0
- package/dist/{status-VJ6FOSRI.js → status-UT4UQN3H.js} +1 -2
- package/dist/theme-CVY6MVEK.cjs +12 -0
- package/dist/{theme-ZXGSJBZI.js → theme-CY7WF4M6.js} +2 -3
- package/dist/{undo-W4VN2Y37.cjs → undo-2WR2ZIEC.cjs} +0 -1
- package/dist/{undo-3UU5LWQS.js → undo-7QJBXARS.js} +0 -1
- package/package.json +1 -1
- package/dist/HookManager-OGINWAJN.cjs +0 -7
- package/dist/HookManager-VG46FXSZ.js +0 -7
- package/dist/chunk-3RG5ZIWI.js +0 -10
- package/dist/chunk-OBGZSXTJ.cjs +0 -10
- package/dist/login-TWWYJKX6.cjs +0 -13
- package/dist/logout-35XNU6Q2.cjs +0 -13
- package/dist/skills-UCWKIHHG.cjs +0 -13
- package/dist/status-2QV7C3JJ.cjs +0 -9
- package/dist/theme-MI3BM56M.cjs +0 -13
|
@@ -1,6 +1,4 @@
|
|
|
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
|
-
|
|
3
|
-
// src/core/AutomodeManager.ts
|
|
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; }// src/core/AutomodeManager.ts
|
|
4
2
|
var _events = require('events');
|
|
5
3
|
var _child_process = require('child_process');
|
|
6
4
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _chunkREPKBECDcjs = require('./chunk-REPKBECD.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkQMVTT55Ycjs = require('./chunk-QMVTT55Y.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _chunk3HPUOQJNcjs = require('./chunk-3HPUOQJN.cjs');
|
|
@@ -106,7 +106,7 @@ async function login(ctx) {
|
|
|
106
106
|
expiresAt
|
|
107
107
|
}
|
|
108
108
|
};
|
|
109
|
-
await
|
|
109
|
+
await _chunkQMVTT55Ycjs.saveConfig.call(void 0, updatedConfig);
|
|
110
110
|
console.log();
|
|
111
111
|
console.log(_chalk2.default.green("Login successful!"));
|
|
112
112
|
console.log(_chalk2.default.cyan(`Welcome, ${pollResult.user.name || pollResult.user.email}!`));
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _chunkREPKBECDcjs = require('./chunk-REPKBECD.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkQMVTT55Ycjs = require('./chunk-QMVTT55Y.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _chunk3HPUOQJNcjs = require('./chunk-3HPUOQJN.cjs');
|
|
@@ -42,7 +42,7 @@ async function logout(ctx) {
|
|
|
42
42
|
...config,
|
|
43
43
|
auth: void 0
|
|
44
44
|
};
|
|
45
|
-
await
|
|
45
|
+
await _chunkQMVTT55Ycjs.saveConfig.call(void 0, updatedConfig);
|
|
46
46
|
console.log();
|
|
47
47
|
console.log(_chalk2.default.green("Successfully logged out."));
|
|
48
48
|
console.log(_chalk2.default.gray("Your local session has been cleared."));
|
|
@@ -5,7 +5,7 @@ import readline from "readline";
|
|
|
5
5
|
// package.json
|
|
6
6
|
var package_default = {
|
|
7
7
|
name: "autohand-cli",
|
|
8
|
-
version: "0.7.
|
|
8
|
+
version: "0.7.4",
|
|
9
9
|
licenses: "SEE LICENSE IN LICENSE",
|
|
10
10
|
description: "Autohand interactive coding agent CLI powered by LLMs.",
|
|
11
11
|
repository: {
|
|
@@ -226,7 +226,7 @@ async function handleSkillsInstall(ctx, skillName) {
|
|
|
226
226
|
if (!workspaceRoot) {
|
|
227
227
|
return "Workspace root not available.";
|
|
228
228
|
}
|
|
229
|
-
const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-
|
|
229
|
+
const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-Z27KPEGF.cjs")));
|
|
230
230
|
const result = await skillsInstall(
|
|
231
231
|
{
|
|
232
232
|
skillsRegistry,
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkQMVTT55Ycjs = require('./chunk-QMVTT55Y.cjs');
|
|
9
9
|
|
|
10
10
|
// src/commands/theme.ts
|
|
11
11
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
12
12
|
var _enquirer = require('enquirer'); var _enquirer2 = _interopRequireDefault(_enquirer);
|
|
13
13
|
async function theme(ctx) {
|
|
14
14
|
const { Select } = _enquirer2.default;
|
|
15
|
-
const themes =
|
|
16
|
-
const currentTheme =
|
|
15
|
+
const themes = _chunkQMVTT55Ycjs.listAvailableThemes.call(void 0, );
|
|
16
|
+
const currentTheme = _chunkQMVTT55Ycjs.isThemeInitialized.call(void 0, ) ? _chunkQMVTT55Ycjs.getTheme.call(void 0, ).name : _optionalChain([ctx, 'access', _ => _.config, 'access', _2 => _2.ui, 'optionalAccess', _3 => _3.theme]) || "dark";
|
|
17
17
|
console.log(_chalk2.default.cyan("\n\u{1F3A8} Theme Selection\n"));
|
|
18
18
|
console.log(_chalk2.default.gray(`Current theme: ${_chalk2.default.white(currentTheme)}`));
|
|
19
|
-
console.log(_chalk2.default.gray(`Custom themes location: ${
|
|
19
|
+
console.log(_chalk2.default.gray(`Custom themes location: ${_chunkQMVTT55Ycjs.CUSTOM_THEMES_DIR}
|
|
20
20
|
`));
|
|
21
21
|
const choices = themes.map((name) => ({
|
|
22
22
|
name,
|
|
@@ -35,12 +35,12 @@ async function theme(ctx) {
|
|
|
35
35
|
console.log(_chalk2.default.gray("\nNo change made."));
|
|
36
36
|
return null;
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
_chunkQMVTT55Ycjs.initTheme.call(void 0, selected);
|
|
39
39
|
ctx.config.ui = { ...ctx.config.ui, theme: selected };
|
|
40
|
-
await
|
|
40
|
+
await _chunkQMVTT55Ycjs.saveConfig.call(void 0, ctx.config);
|
|
41
41
|
console.log(_chalk2.default.green(`
|
|
42
42
|
\u2713 Theme changed to '${selected}'`));
|
|
43
|
-
const newTheme =
|
|
43
|
+
const newTheme = _chunkQMVTT55Ycjs.getTheme.call(void 0, );
|
|
44
44
|
console.log("\nTheme preview:");
|
|
45
45
|
console.log(` ${newTheme.fg("accent", "\u25CF accent")} ${newTheme.fg("success", "\u25CF success")} ${newTheme.fg("error", "\u25CF error")} ${newTheme.fg("warning", "\u25CF warning")}`);
|
|
46
46
|
console.log(` ${newTheme.fg("muted", "\u25CF muted")} ${newTheme.fg("dim", "\u25CF dim")} ${newTheme.fg("text", "\u25CF text")}`);
|
|
@@ -52,15 +52,15 @@ async function theme(ctx) {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
async function themeInfo() {
|
|
55
|
-
if (!
|
|
55
|
+
if (!_chunkQMVTT55Ycjs.isThemeInitialized.call(void 0, )) {
|
|
56
56
|
console.log(_chalk2.default.yellow("Theme not initialized."));
|
|
57
57
|
return null;
|
|
58
58
|
}
|
|
59
|
-
const currentTheme =
|
|
59
|
+
const currentTheme = _chunkQMVTT55Ycjs.getTheme.call(void 0, );
|
|
60
60
|
console.log(_chalk2.default.cyan("\n\u{1F3A8} Current Theme Info\n"));
|
|
61
61
|
console.log(_chalk2.default.gray(`Name: ${_chalk2.default.white(currentTheme.name)}`));
|
|
62
62
|
console.log(_chalk2.default.gray(`Color mode: ${_chalk2.default.white(currentTheme.getColorMode())}`));
|
|
63
|
-
console.log(_chalk2.default.gray(`Custom themes dir: ${
|
|
63
|
+
console.log(_chalk2.default.gray(`Custom themes dir: ${_chunkQMVTT55Ycjs.CUSTOM_THEMES_DIR}`));
|
|
64
64
|
console.log();
|
|
65
65
|
console.log("Color preview:");
|
|
66
66
|
console.log(` ${currentTheme.fg("accent", "\u25CF accent")} ${currentTheme.fg("success", "\u25CF success")} ${currentTheme.fg("error", "\u25CF error")} ${currentTheme.fg("warning", "\u25CF warning")}`);
|
|
@@ -28,7 +28,7 @@ var HookManager = class {
|
|
|
28
28
|
*/
|
|
29
29
|
async installDefaultHooks() {
|
|
30
30
|
try {
|
|
31
|
-
const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await import("./defaultHooks-
|
|
31
|
+
const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await import("./defaultHooks-3G3DVF6I.js");
|
|
32
32
|
this.settings.hooks = [...DEFAULT_HOOKS, SMART_COMMIT_HOOK];
|
|
33
33
|
if (this.onPersist) {
|
|
34
34
|
await this.onPersist();
|
|
@@ -56,7 +56,7 @@ var HookManager = class {
|
|
|
56
56
|
*/
|
|
57
57
|
async mergeDefaultHooks() {
|
|
58
58
|
try {
|
|
59
|
-
const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await import("./defaultHooks-
|
|
59
|
+
const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await import("./defaultHooks-3G3DVF6I.js");
|
|
60
60
|
const allDefaults = [...DEFAULT_HOOKS, SMART_COMMIT_HOOK];
|
|
61
61
|
const existingHooks = this.settings.hooks ?? [];
|
|
62
62
|
const existingIds = new Set(existingHooks.map((h) => this.getHookIdentifier(h)));
|
|
@@ -82,7 +82,7 @@ var HookManager = class {
|
|
|
82
82
|
const os = await import("os");
|
|
83
83
|
const hooksDir = path.join(os.homedir(), ".autohand", "hooks");
|
|
84
84
|
await fs.ensureDir(hooksDir);
|
|
85
|
-
const { HOOK_SCRIPTS } = await import("./defaultHooks-
|
|
85
|
+
const { HOOK_SCRIPTS } = await import("./defaultHooks-3G3DVF6I.js");
|
|
86
86
|
for (const [scriptName, scriptContent] of Object.entries(HOOK_SCRIPTS)) {
|
|
87
87
|
const scriptPath = path.join(hooksDir, scriptName);
|
|
88
88
|
if (!await fs.pathExists(scriptPath)) {
|
|
@@ -226,7 +226,7 @@ async function handleSkillsInstall(ctx, skillName) {
|
|
|
226
226
|
if (!workspaceRoot) {
|
|
227
227
|
return "Workspace root not available.";
|
|
228
228
|
}
|
|
229
|
-
const { skillsInstall } = await import("./skills-install-
|
|
229
|
+
const { skillsInstall } = await import("./skills-install-RMPXN6RK.js");
|
|
230
230
|
const result = await skillsInstall(
|
|
231
231
|
{
|
|
232
232
|
skillsRegistry,
|
|
@@ -888,6 +888,7 @@ var DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
|
|
|
888
888
|
var DEFAULT_OLLAMA_URL = "http://localhost:11434";
|
|
889
889
|
var DEFAULT_LLAMACPP_URL = "http://localhost:8080";
|
|
890
890
|
var DEFAULT_OPENAI_URL = "https://api.openai.com/v1";
|
|
891
|
+
var DEFAULT_MLX_URL = "http://localhost:8080";
|
|
891
892
|
async function detectConfigPath(customPath) {
|
|
892
893
|
if (customPath) {
|
|
893
894
|
return path.resolve(customPath);
|
|
@@ -990,7 +991,7 @@ function normalizeConfig(config) {
|
|
|
990
991
|
return config;
|
|
991
992
|
}
|
|
992
993
|
function isModernConfig(config) {
|
|
993
|
-
return typeof config.openrouter === "object" || typeof config.ollama === "object" || typeof config.llamacpp === "object" || typeof config.openai === "object";
|
|
994
|
+
return typeof config.openrouter === "object" || typeof config.ollama === "object" || typeof config.llamacpp === "object" || typeof config.openai === "object" || typeof config.mlx === "object";
|
|
994
995
|
}
|
|
995
996
|
function isLegacyConfig(config) {
|
|
996
997
|
return typeof config.api_key === "string";
|
|
@@ -1043,7 +1044,8 @@ function getProviderConfig(config, provider) {
|
|
|
1043
1044
|
openrouter: config.openrouter,
|
|
1044
1045
|
ollama: config.ollama,
|
|
1045
1046
|
llamacpp: config.llamacpp,
|
|
1046
|
-
openai: config.openai
|
|
1047
|
+
openai: config.openai,
|
|
1048
|
+
mlx: config.mlx
|
|
1047
1049
|
};
|
|
1048
1050
|
const entry = configByProvider[chosen];
|
|
1049
1051
|
if (!entry) {
|
|
@@ -1074,6 +1076,8 @@ function defaultBaseUrlFor(provider, port) {
|
|
|
1074
1076
|
return p ? `http://localhost:${p}` : DEFAULT_LLAMACPP_URL;
|
|
1075
1077
|
case "openai":
|
|
1076
1078
|
return DEFAULT_OPENAI_URL;
|
|
1079
|
+
case "mlx":
|
|
1080
|
+
return p ? `http://localhost:${p}` : DEFAULT_MLX_URL;
|
|
1077
1081
|
default:
|
|
1078
1082
|
return void 0;
|
|
1079
1083
|
}
|
|
@@ -888,6 +888,7 @@ var DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
|
|
|
888
888
|
var DEFAULT_OLLAMA_URL = "http://localhost:11434";
|
|
889
889
|
var DEFAULT_LLAMACPP_URL = "http://localhost:8080";
|
|
890
890
|
var DEFAULT_OPENAI_URL = "https://api.openai.com/v1";
|
|
891
|
+
var DEFAULT_MLX_URL = "http://localhost:8080";
|
|
891
892
|
async function detectConfigPath(customPath) {
|
|
892
893
|
if (customPath) {
|
|
893
894
|
return _path2.default.resolve(customPath);
|
|
@@ -990,7 +991,7 @@ function normalizeConfig(config) {
|
|
|
990
991
|
return config;
|
|
991
992
|
}
|
|
992
993
|
function isModernConfig(config) {
|
|
993
|
-
return typeof config.openrouter === "object" || typeof config.ollama === "object" || typeof config.llamacpp === "object" || typeof config.openai === "object";
|
|
994
|
+
return typeof config.openrouter === "object" || typeof config.ollama === "object" || typeof config.llamacpp === "object" || typeof config.openai === "object" || typeof config.mlx === "object";
|
|
994
995
|
}
|
|
995
996
|
function isLegacyConfig(config) {
|
|
996
997
|
return typeof config.api_key === "string";
|
|
@@ -1043,7 +1044,8 @@ function getProviderConfig(config, provider) {
|
|
|
1043
1044
|
openrouter: config.openrouter,
|
|
1044
1045
|
ollama: config.ollama,
|
|
1045
1046
|
llamacpp: config.llamacpp,
|
|
1046
|
-
openai: config.openai
|
|
1047
|
+
openai: config.openai,
|
|
1048
|
+
mlx: config.mlx
|
|
1047
1049
|
};
|
|
1048
1050
|
const entry = configByProvider[chosen];
|
|
1049
1051
|
if (!entry) {
|
|
@@ -1074,6 +1076,8 @@ function defaultBaseUrlFor(provider, port) {
|
|
|
1074
1076
|
return p ? `http://localhost:${p}` : DEFAULT_LLAMACPP_URL;
|
|
1075
1077
|
case "openai":
|
|
1076
1078
|
return DEFAULT_OPENAI_URL;
|
|
1079
|
+
case "mlx":
|
|
1080
|
+
return p ? `http://localhost:${p}` : DEFAULT_MLX_URL;
|
|
1077
1081
|
default:
|
|
1078
1082
|
return void 0;
|
|
1079
1083
|
}
|
|
@@ -28,7 +28,7 @@ var HookManager = class {
|
|
|
28
28
|
*/
|
|
29
29
|
async installDefaultHooks() {
|
|
30
30
|
try {
|
|
31
|
-
const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-
|
|
31
|
+
const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-Z4KA6U5C.cjs")));
|
|
32
32
|
this.settings.hooks = [...DEFAULT_HOOKS, SMART_COMMIT_HOOK];
|
|
33
33
|
if (this.onPersist) {
|
|
34
34
|
await this.onPersist();
|
|
@@ -56,7 +56,7 @@ var HookManager = class {
|
|
|
56
56
|
*/
|
|
57
57
|
async mergeDefaultHooks() {
|
|
58
58
|
try {
|
|
59
|
-
const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-
|
|
59
|
+
const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-Z4KA6U5C.cjs")));
|
|
60
60
|
const allDefaults = [...DEFAULT_HOOKS, SMART_COMMIT_HOOK];
|
|
61
61
|
const existingHooks = _nullishCoalesce(this.settings.hooks, () => ( []));
|
|
62
62
|
const existingIds = new Set(existingHooks.map((h) => this.getHookIdentifier(h)));
|
|
@@ -82,7 +82,7 @@ var HookManager = class {
|
|
|
82
82
|
const os = await Promise.resolve().then(() => _interopRequireWildcard(require("os")));
|
|
83
83
|
const hooksDir = path.join(os.homedir(), ".autohand", "hooks");
|
|
84
84
|
await fs.ensureDir(hooksDir);
|
|
85
|
-
const { HOOK_SCRIPTS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-
|
|
85
|
+
const { HOOK_SCRIPTS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-Z4KA6U5C.cjs")));
|
|
86
86
|
for (const [scriptName, scriptContent] of Object.entries(HOOK_SCRIPTS)) {
|
|
87
87
|
const scriptPath = path.join(hooksDir, scriptName);
|
|
88
88
|
if (!await fs.pathExists(scriptPath)) {
|
|
@@ -5,7 +5,7 @@ var _readline = require('readline'); var _readline2 = _interopRequireDefault(_re
|
|
|
5
5
|
// package.json
|
|
6
6
|
var package_default = {
|
|
7
7
|
name: "autohand-cli",
|
|
8
|
-
version: "0.7.
|
|
8
|
+
version: "0.7.4",
|
|
9
9
|
licenses: "SEE LICENSE IN LICENSE",
|
|
10
10
|
description: "Autohand interactive coding agent CLI powered by LLMs.",
|
|
11
11
|
repository: {
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true})
|
|
2
|
-
|
|
3
|
-
// src/core/defaultHooks.ts
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/core/defaultHooks.ts
|
|
4
2
|
var DEFAULT_HOOKS = [
|
|
5
3
|
// === Logging Hooks ===
|
|
6
4
|
{
|