kaze-cli 2.0.0
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/LICENSE +21 -0
- package/README.md +224 -0
- package/dist/api/client.d.ts +15 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +129 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/universal-client.d.ts +36 -0
- package/dist/api/universal-client.d.ts.map +1 -0
- package/dist/api/universal-client.js +184 -0
- package/dist/api/universal-client.js.map +1 -0
- package/dist/cli/config-command.d.ts +29 -0
- package/dist/cli/config-command.d.ts.map +1 -0
- package/dist/cli/config-command.js +458 -0
- package/dist/cli/config-command.js.map +1 -0
- package/dist/cli/repl.d.ts +98 -0
- package/dist/cli/repl.d.ts.map +1 -0
- package/dist/cli/repl.js +1782 -0
- package/dist/cli/repl.js.map +1 -0
- package/dist/config/interactive-setup.d.ts +26 -0
- package/dist/config/interactive-setup.d.ts.map +1 -0
- package/dist/config/interactive-setup.js +308 -0
- package/dist/config/interactive-setup.js.map +1 -0
- package/dist/config/manager.d.ts +125 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +240 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/config/setup.d.ts +29 -0
- package/dist/config/setup.d.ts.map +1 -0
- package/dist/config/setup.js +442 -0
- package/dist/config/setup.js.map +1 -0
- package/dist/context/memory.d.ts +65 -0
- package/dist/context/memory.d.ts.map +1 -0
- package/dist/context/memory.js +215 -0
- package/dist/context/memory.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +207 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/client.d.ts +38 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +288 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/manager.d.ts +43 -0
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +230 -0
- package/dist/mcp/manager.js.map +1 -0
- package/dist/mcp/types.d.ts +106 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +3 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/personality/manager.d.ts +24 -0
- package/dist/personality/manager.d.ts.map +1 -0
- package/dist/personality/manager.js +217 -0
- package/dist/personality/manager.js.map +1 -0
- package/dist/tools/codebase.d.ts +34 -0
- package/dist/tools/codebase.d.ts.map +1 -0
- package/dist/tools/codebase.js +291 -0
- package/dist/tools/codebase.js.map +1 -0
- package/dist/tools/filesystem.d.ts +41 -0
- package/dist/tools/filesystem.d.ts.map +1 -0
- package/dist/tools/filesystem.js +263 -0
- package/dist/tools/filesystem.js.map +1 -0
- package/dist/tools/terminal.d.ts +30 -0
- package/dist/tools/terminal.d.ts.map +1 -0
- package/dist/tools/terminal.js +217 -0
- package/dist/tools/terminal.js.map +1 -0
- package/dist/tools/todo.d.ts +58 -0
- package/dist/tools/todo.d.ts.map +1 -0
- package/dist/tools/todo.js +233 -0
- package/dist/tools/todo.js.map +1 -0
- package/dist/types/index.d.ts +104 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/personality.d.ts +21 -0
- package/dist/types/personality.d.ts.map +1 -0
- package/dist/types/personality.js +3 -0
- package/dist/types/personality.js.map +1 -0
- package/dist/ui/logger.d.ts +76 -0
- package/dist/ui/logger.d.ts.map +1 -0
- package/dist/ui/logger.js +488 -0
- package/dist/ui/logger.js.map +1 -0
- package/dist/ui/renderer.d.ts +52 -0
- package/dist/ui/renderer.d.ts.map +1 -0
- package/dist/ui/renderer.js +294 -0
- package/dist/ui/renderer.js.map +1 -0
- package/dist/ui/tui.d.ts +53 -0
- package/dist/ui/tui.d.ts.map +1 -0
- package/dist/ui/tui.js +131 -0
- package/dist/ui/tui.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.ConfigCommand = void 0;
|
|
40
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
41
|
+
const fs = __importStar(require("fs/promises"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const logger_1 = require("../ui/logger");
|
|
44
|
+
class ConfigCommand {
|
|
45
|
+
configManager;
|
|
46
|
+
logger;
|
|
47
|
+
configDir;
|
|
48
|
+
constructor(configManager, configDir) {
|
|
49
|
+
this.configManager = configManager;
|
|
50
|
+
this.logger = new logger_1.Logger({ level: 0 });
|
|
51
|
+
this.configDir = configDir;
|
|
52
|
+
}
|
|
53
|
+
async handle(args) {
|
|
54
|
+
const action = args[0];
|
|
55
|
+
switch (action) {
|
|
56
|
+
case 'list':
|
|
57
|
+
await this.listConfigs();
|
|
58
|
+
break;
|
|
59
|
+
case 'show':
|
|
60
|
+
await this.showConfig(args[1]);
|
|
61
|
+
break;
|
|
62
|
+
case 'set':
|
|
63
|
+
await this.setConfig(args.slice(1));
|
|
64
|
+
break;
|
|
65
|
+
case 'get':
|
|
66
|
+
await this.getConfig(args.slice(1));
|
|
67
|
+
break;
|
|
68
|
+
case 'reset':
|
|
69
|
+
await this.resetConfig(args[1]);
|
|
70
|
+
break;
|
|
71
|
+
case 'edit':
|
|
72
|
+
await this.editConfig(args[1]);
|
|
73
|
+
break;
|
|
74
|
+
case 'provider':
|
|
75
|
+
await this.handleProvider(args.slice(1));
|
|
76
|
+
break;
|
|
77
|
+
case 'model':
|
|
78
|
+
await this.handleModel(args.slice(1));
|
|
79
|
+
break;
|
|
80
|
+
case 'export':
|
|
81
|
+
await this.exportConfig(args[1]);
|
|
82
|
+
break;
|
|
83
|
+
case 'import':
|
|
84
|
+
await this.importConfig(args[1]);
|
|
85
|
+
break;
|
|
86
|
+
case 'path':
|
|
87
|
+
this.showConfigPath();
|
|
88
|
+
break;
|
|
89
|
+
case 'init':
|
|
90
|
+
await this.reinitialize();
|
|
91
|
+
break;
|
|
92
|
+
default:
|
|
93
|
+
this.showHelp();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async listConfigs() {
|
|
97
|
+
const configs = await this.configManager.listConfigs();
|
|
98
|
+
this.logger.section('Available Config Files');
|
|
99
|
+
const configDescriptions = {
|
|
100
|
+
'api.json': 'API configuration (provider, model, tokens, temperature)',
|
|
101
|
+
'models.json': 'Model definitions and presets',
|
|
102
|
+
'providers.json': 'API provider configurations',
|
|
103
|
+
'interface.json': 'UI settings (theme, display options)',
|
|
104
|
+
'conversation.json': 'Conversation settings (history, memory)',
|
|
105
|
+
'tools.json': 'Tool configuration and permissions',
|
|
106
|
+
'memory.json': 'Memory management settings',
|
|
107
|
+
'logging.json': 'Logging configuration',
|
|
108
|
+
'experimental.json': 'Experimental features'
|
|
109
|
+
};
|
|
110
|
+
for (const config of configs.sort()) {
|
|
111
|
+
const desc = configDescriptions[config] || '';
|
|
112
|
+
console.log(chalk_1.default.cyan(` ${config}`));
|
|
113
|
+
if (desc) {
|
|
114
|
+
console.log(chalk_1.default.gray(` ${desc}`));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async showConfig(configName) {
|
|
119
|
+
if (!configName) {
|
|
120
|
+
console.log(chalk_1.default.red('Usage: /config show <config_file>'));
|
|
121
|
+
console.log(chalk_1.default.gray('Example: /config show api.json'));
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
if (!configName.endsWith('.json')) {
|
|
125
|
+
configName += '.json';
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
const config = await this.configManager.getConfig(configName);
|
|
129
|
+
if (!config) {
|
|
130
|
+
console.log(chalk_1.default.red(`Config not found: ${configName}`));
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
this.logger.section(configName);
|
|
134
|
+
console.log(JSON.stringify(config, null, 2));
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
console.log(chalk_1.default.red(`Error reading config: ${error}`));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
async setConfig(args) {
|
|
141
|
+
if (args.length < 3) {
|
|
142
|
+
console.log(chalk_1.default.red('Usage: /config set <config_file> <key_path> <value>'));
|
|
143
|
+
console.log(chalk_1.default.gray('Example: /config set api.model gpt-4'));
|
|
144
|
+
console.log(chalk_1.default.gray('Example: /config set api.maxTokens 16384'));
|
|
145
|
+
console.log(chalk_1.default.gray('Example: /config set interface.theme dark'));
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
const [configFile, keyPath, ...valueParts] = args;
|
|
149
|
+
const value = valueParts.join(' ');
|
|
150
|
+
const filename = configFile.endsWith('.json') ? configFile : `${configFile}.json`;
|
|
151
|
+
try {
|
|
152
|
+
let parsedValue = value;
|
|
153
|
+
if (!isNaN(Number(value))) {
|
|
154
|
+
parsedValue = Number(value);
|
|
155
|
+
}
|
|
156
|
+
else if (value.toLowerCase() === 'true') {
|
|
157
|
+
parsedValue = true;
|
|
158
|
+
}
|
|
159
|
+
else if (value.toLowerCase() === 'false') {
|
|
160
|
+
parsedValue = false;
|
|
161
|
+
}
|
|
162
|
+
else if ((value.startsWith('{') && value.endsWith('}')) || (value.startsWith('[') && value.endsWith(']'))) {
|
|
163
|
+
parsedValue = JSON.parse(value);
|
|
164
|
+
}
|
|
165
|
+
await this.configManager.setConfigValue(filename, keyPath, parsedValue);
|
|
166
|
+
this.logger.success(`Set ${filename}.${keyPath} = ${parsedValue}`);
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
console.log(chalk_1.default.red(`Error setting config: ${error}`));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
async getConfig(args) {
|
|
173
|
+
if (args.length < 2) {
|
|
174
|
+
console.log(chalk_1.default.red('Usage: /config get <config_file> <key_path>'));
|
|
175
|
+
console.log(chalk_1.default.gray('Example: /config get api.model'));
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
const [configFile, keyPath] = args;
|
|
179
|
+
const filename = configFile.endsWith('.json') ? configFile : `${configFile}.json`;
|
|
180
|
+
try {
|
|
181
|
+
const value = await this.configManager.getConfigValue(filename, keyPath);
|
|
182
|
+
if (value === undefined) {
|
|
183
|
+
console.log(chalk_1.default.yellow(`Config not found: ${filename}.${keyPath}`));
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
console.log(chalk_1.default.cyan(`${filename}.${keyPath}:`));
|
|
187
|
+
console.log(JSON.stringify(value, null, 2));
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
console.log(chalk_1.default.red(`Error getting config: ${error}`));
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
async resetConfig(configName) {
|
|
195
|
+
if (!configName) {
|
|
196
|
+
console.log(chalk_1.default.red('Usage: /config reset <config_file>'));
|
|
197
|
+
console.log(chalk_1.default.yellow('This will reset the config to defaults!'));
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
if (!configName.endsWith('.json')) {
|
|
201
|
+
configName += '.json';
|
|
202
|
+
}
|
|
203
|
+
console.log(chalk_1.default.yellow(`This will reset ${configName} to defaults. Continue? (y/n)`));
|
|
204
|
+
try {
|
|
205
|
+
const defaults = this.getDefaultsForConfig(configName);
|
|
206
|
+
await this.configManager.resetConfig(configName, defaults);
|
|
207
|
+
this.logger.success(`Reset ${configName} to defaults`);
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
console.log(chalk_1.default.red(`Error resetting config: ${error}`));
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
async editConfig(configName) {
|
|
214
|
+
if (!configName) {
|
|
215
|
+
console.log(chalk_1.default.red('Usage: /config edit <config_file>'));
|
|
216
|
+
console.log(chalk_1.default.gray('Opens the config file in your default editor'));
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
if (!configName.endsWith('.json')) {
|
|
220
|
+
configName += '.json';
|
|
221
|
+
}
|
|
222
|
+
const configPath = path.join(this.configDir, configName);
|
|
223
|
+
try {
|
|
224
|
+
await fs.access(configPath);
|
|
225
|
+
const editor = process.env.EDITOR || process.env.VISUAL || 'vim';
|
|
226
|
+
console.log(chalk_1.default.cyan(`Opening ${configName} in ${editor}...`));
|
|
227
|
+
const { spawn } = require('child_process');
|
|
228
|
+
spawn(editor, [configPath], { stdio: 'inherit' });
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
console.log(chalk_1.default.red(`Error opening config: ${error}`));
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
async handleProvider(args) {
|
|
235
|
+
const action = args[0];
|
|
236
|
+
switch (action) {
|
|
237
|
+
case 'list':
|
|
238
|
+
await this.listProviders();
|
|
239
|
+
break;
|
|
240
|
+
case 'set':
|
|
241
|
+
await this.setProvider(args[1]);
|
|
242
|
+
break;
|
|
243
|
+
case 'show':
|
|
244
|
+
await this.showProvider();
|
|
245
|
+
break;
|
|
246
|
+
default:
|
|
247
|
+
console.log(chalk_1.default.red('Usage: /config provider <list|set|show> [provider_name]'));
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
async listProviders() {
|
|
251
|
+
const providers = await this.configManager.getConfig('providers.json');
|
|
252
|
+
this.logger.section('Available API Providers');
|
|
253
|
+
for (const [key, provider] of Object.entries(providers?.providers || {})) {
|
|
254
|
+
const p = provider;
|
|
255
|
+
const status = p.supportsTools ? chalk_1.default.green('✓ Tools') : chalk_1.default.yellow('✗ Tools');
|
|
256
|
+
const streaming = p.supportsStreaming ? chalk_1.default.green('✓ Streaming') : chalk_1.default.yellow('✗ Streaming');
|
|
257
|
+
console.log(chalk_1.default.cyan(` ${key}`));
|
|
258
|
+
console.log(chalk_1.default.gray(` Name: ${p.name}`));
|
|
259
|
+
console.log(chalk_1.default.gray(` Base URL: ${p.baseUrl}`));
|
|
260
|
+
console.log(chalk_1.default.gray(` ${status} | ${streaming}`));
|
|
261
|
+
if (p.models && p.models.length > 0) {
|
|
262
|
+
console.log(chalk_1.default.gray(` Models: ${p.models.slice(0, 3).join(', ')}${p.models.length > 3 ? '...' : ''}`));
|
|
263
|
+
}
|
|
264
|
+
console.log();
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
async setProvider(providerName) {
|
|
268
|
+
if (!providerName) {
|
|
269
|
+
console.log(chalk_1.default.red('Usage: /config provider set <provider_name>'));
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
const providers = await this.configManager.getConfig('providers.json');
|
|
273
|
+
if (!providers?.providers?.[providerName]) {
|
|
274
|
+
console.log(chalk_1.default.red(`Unknown provider: ${providerName}`));
|
|
275
|
+
console.log(chalk_1.default.gray('Use "/config provider list" to see available providers'));
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
const provider = providers.providers[providerName];
|
|
279
|
+
await this.configManager.setConfigValue('api.json', 'provider', providerName);
|
|
280
|
+
await this.configManager.setConfigValue('api.json', 'baseUrl', provider.baseUrl);
|
|
281
|
+
if (provider.models && provider.models.length > 0) {
|
|
282
|
+
await this.configManager.setConfigValue('api.json', 'model', provider.models[0]);
|
|
283
|
+
}
|
|
284
|
+
this.logger.success(`Provider set to ${providerName}`);
|
|
285
|
+
console.log(chalk_1.default.gray(` Model: ${provider.models?.[0] || 'Select one manually'}`));
|
|
286
|
+
console.log(chalk_1.default.gray(` Set your API key in .env file`));
|
|
287
|
+
}
|
|
288
|
+
async showProvider() {
|
|
289
|
+
const apiConfig = await this.configManager.getConfig('api.json');
|
|
290
|
+
const providers = await this.configManager.getConfig('providers.json');
|
|
291
|
+
this.logger.section('Current Provider');
|
|
292
|
+
console.log(chalk_1.default.cyan(` Provider: ${apiConfig?.provider || 'Not set'}`));
|
|
293
|
+
console.log(chalk_1.default.gray(` Model: ${apiConfig?.model || 'Not set'}`));
|
|
294
|
+
console.log(chalk_1.default.gray(` Base URL: ${apiConfig?.baseUrl || 'Not set'}`));
|
|
295
|
+
console.log(chalk_1.default.gray(` Max Tokens: ${apiConfig?.maxTokens || 'Not set'}`));
|
|
296
|
+
console.log(chalk_1.default.gray(` Temperature: ${apiConfig?.temperature || 'Not set'}`));
|
|
297
|
+
}
|
|
298
|
+
async handleModel(args) {
|
|
299
|
+
const action = args[0];
|
|
300
|
+
switch (action) {
|
|
301
|
+
case 'list':
|
|
302
|
+
await this.listModels();
|
|
303
|
+
break;
|
|
304
|
+
case 'set':
|
|
305
|
+
await this.setModel(args[1]);
|
|
306
|
+
break;
|
|
307
|
+
case 'show':
|
|
308
|
+
await this.showModel();
|
|
309
|
+
break;
|
|
310
|
+
default:
|
|
311
|
+
console.log(chalk_1.default.red('Usage: /config model <list|set|show> [model_name]'));
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
async listModels() {
|
|
315
|
+
const apiConfig = await this.configManager.getConfig('api.json');
|
|
316
|
+
const modelsConfig = await this.configManager.getConfig('models.json');
|
|
317
|
+
const provider = apiConfig?.provider || 'zai';
|
|
318
|
+
const models = modelsConfig?.available?.[provider] || [];
|
|
319
|
+
this.logger.section(`Available Models for ${provider}`);
|
|
320
|
+
for (const model of models) {
|
|
321
|
+
const recommended = model.recommended ? chalk_1.default.green(' ★') : '';
|
|
322
|
+
console.log(chalk_1.default.cyan(` ${model.name}${recommended}`));
|
|
323
|
+
console.log(chalk_1.default.gray(` ${model.description}`));
|
|
324
|
+
console.log(chalk_1.default.gray(` Max Tokens: ${model.maxTokens}`));
|
|
325
|
+
console.log();
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
async setModel(modelName) {
|
|
329
|
+
if (!modelName) {
|
|
330
|
+
console.log(chalk_1.default.red('Usage: /config model set <model_name>'));
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
await this.configManager.setConfigValue('api.json', 'model', modelName);
|
|
334
|
+
this.logger.success(`Model set to ${modelName}`);
|
|
335
|
+
}
|
|
336
|
+
async showModel() {
|
|
337
|
+
const apiConfig = await this.configManager.getConfig('api.json');
|
|
338
|
+
const modelsConfig = await this.configManager.getConfig('models.json');
|
|
339
|
+
const provider = apiConfig?.provider || 'zai';
|
|
340
|
+
const modelName = apiConfig?.model;
|
|
341
|
+
const models = modelsConfig?.available?.[provider] || [];
|
|
342
|
+
const modelInfo = models.find((m) => m.name === modelName);
|
|
343
|
+
this.logger.section('Current Model');
|
|
344
|
+
console.log(chalk_1.default.cyan(` Model: ${modelName || 'Not set'}`));
|
|
345
|
+
if (modelInfo) {
|
|
346
|
+
console.log(chalk_1.default.gray(` Description: ${modelInfo.description}`));
|
|
347
|
+
console.log(chalk_1.default.gray(` Max Tokens: ${modelInfo.maxTokens}`));
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
async exportConfig(outputPath) {
|
|
351
|
+
if (!outputPath) {
|
|
352
|
+
console.log(chalk_1.default.red('Usage: /config export <output_path>'));
|
|
353
|
+
console.log(chalk_1.default.gray('Example: /config export ./my-config.json'));
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
try {
|
|
357
|
+
const allConfigs = await this.configManager.getAllConfigs();
|
|
358
|
+
await fs.writeFile(outputPath, JSON.stringify(allConfigs, null, 2), 'utf-8');
|
|
359
|
+
this.logger.success(`Exported all configs to ${outputPath}`);
|
|
360
|
+
}
|
|
361
|
+
catch (error) {
|
|
362
|
+
console.log(chalk_1.default.red(`Error exporting config: ${error}`));
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
async importConfig(inputPath) {
|
|
366
|
+
if (!inputPath) {
|
|
367
|
+
console.log(chalk_1.default.red('Usage: /config import <input_path>'));
|
|
368
|
+
console.log(chalk_1.default.gray('Example: /config import ./my-config.json'));
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
try {
|
|
372
|
+
const content = await fs.readFile(inputPath, 'utf-8');
|
|
373
|
+
const configs = JSON.parse(content);
|
|
374
|
+
for (const [key, value] of Object.entries(configs)) {
|
|
375
|
+
const filename = `${key}.json`;
|
|
376
|
+
await this.configManager.saveConfig(filename, value);
|
|
377
|
+
}
|
|
378
|
+
this.logger.success(`Imported configs from ${inputPath}`);
|
|
379
|
+
}
|
|
380
|
+
catch (error) {
|
|
381
|
+
console.log(chalk_1.default.red(`Error importing config: ${error}`));
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
showConfigPath() {
|
|
385
|
+
this.logger.section('Configuration Directory');
|
|
386
|
+
console.log(chalk_1.default.cyan(` ${this.configDir}`));
|
|
387
|
+
console.log(chalk_1.default.gray(` .env file: ${path.join(this.configDir, '.env')}`));
|
|
388
|
+
}
|
|
389
|
+
async reinitialize() {
|
|
390
|
+
console.log(chalk_1.default.yellow('This will recreate all config files with defaults. Continue? (y/n)'));
|
|
391
|
+
const { ConfigSetup } = require('../config/setup');
|
|
392
|
+
const setup = new ConfigSetup();
|
|
393
|
+
await setup.initialize();
|
|
394
|
+
this.logger.success('Configuration reinitialized');
|
|
395
|
+
}
|
|
396
|
+
showHelp() {
|
|
397
|
+
console.log(chalk_1.default.gray('─'.repeat(60)));
|
|
398
|
+
console.log(chalk_1.default.cyan('Config Commands:\n'));
|
|
399
|
+
console.log(chalk_1.default.white(' /config list '));
|
|
400
|
+
console.log(chalk_1.default.gray(' List all configuration files\n'));
|
|
401
|
+
console.log(chalk_1.default.white(' /config show <file> '));
|
|
402
|
+
console.log(chalk_1.default.gray(' Show a configuration file\n'));
|
|
403
|
+
console.log(chalk_1.default.white(' /config set <file> <key> <value> '));
|
|
404
|
+
console.log(chalk_1.default.gray(' Set a configuration value\n'));
|
|
405
|
+
console.log(chalk_1.default.white(' /config get <file> <key> '));
|
|
406
|
+
console.log(chalk_1.default.gray(' Get a configuration value\n'));
|
|
407
|
+
console.log(chalk_1.default.white(' /config reset <file> '));
|
|
408
|
+
console.log(chalk_1.default.gray(' Reset a config to defaults\n'));
|
|
409
|
+
console.log(chalk_1.default.white(' /config edit <file> '));
|
|
410
|
+
console.log(chalk_1.default.gray(' Open config in editor\n'));
|
|
411
|
+
console.log(chalk_1.default.white(' /config provider <list|set|show> '));
|
|
412
|
+
console.log(chalk_1.default.gray(' Manage API providers\n'));
|
|
413
|
+
console.log(chalk_1.default.white(' /config model <list|set|show> '));
|
|
414
|
+
console.log(chalk_1.default.gray(' Manage models\n'));
|
|
415
|
+
console.log(chalk_1.default.white(' /config export <path> '));
|
|
416
|
+
console.log(chalk_1.default.gray(' Export all configs to file\n'));
|
|
417
|
+
console.log(chalk_1.default.white(' /config import <path> '));
|
|
418
|
+
console.log(chalk_1.default.gray(' Import configs from file\n'));
|
|
419
|
+
console.log(chalk_1.default.white(' /config path '));
|
|
420
|
+
console.log(chalk_1.default.gray(' Show config directory path\n'));
|
|
421
|
+
console.log(chalk_1.default.white(' /config init '));
|
|
422
|
+
console.log(chalk_1.default.gray(' Reinitialize all configs\n'));
|
|
423
|
+
console.log();
|
|
424
|
+
console.log(chalk_1.default.gray('Examples:'));
|
|
425
|
+
console.log(chalk_1.default.gray(' /config provider set openai'));
|
|
426
|
+
console.log(chalk_1.default.gray(' /config model set gpt-4-turbo-preview'));
|
|
427
|
+
console.log(chalk_1.default.gray(' /config set api.maxTokens 16384'));
|
|
428
|
+
console.log(chalk_1.default.gray(' /config set api.temperature 0.7'));
|
|
429
|
+
console.log(chalk_1.default.gray(' /config show api.json'));
|
|
430
|
+
}
|
|
431
|
+
getDefaultsForConfig(configName) {
|
|
432
|
+
const defaults = {
|
|
433
|
+
'api.json': {
|
|
434
|
+
provider: 'zai',
|
|
435
|
+
apiKey: '',
|
|
436
|
+
baseUrl: '',
|
|
437
|
+
model: 'GLM-4.7',
|
|
438
|
+
maxTokens: 8192,
|
|
439
|
+
temperature: 1.0,
|
|
440
|
+
topP: 1.0,
|
|
441
|
+
timeout: 60000
|
|
442
|
+
},
|
|
443
|
+
'interface.json': {
|
|
444
|
+
theme: 'default',
|
|
445
|
+
showTimestamps: false,
|
|
446
|
+
showThinking: true,
|
|
447
|
+
showProgress: true,
|
|
448
|
+
lineWrap: 80,
|
|
449
|
+
markdownEnabled: true,
|
|
450
|
+
emojiEnabled: true,
|
|
451
|
+
compactMode: false
|
|
452
|
+
}
|
|
453
|
+
};
|
|
454
|
+
return defaults[configName] || {};
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
exports.ConfigCommand = ConfigCommand;
|
|
458
|
+
//# sourceMappingURL=config-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-command.js","sourceRoot":"","sources":["../../src/cli/config-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ConfigManager } from '../config/manager';
|
|
2
|
+
export interface REPLConfig {
|
|
3
|
+
apiKey: string;
|
|
4
|
+
baseUrl: string;
|
|
5
|
+
model: string;
|
|
6
|
+
provider: string;
|
|
7
|
+
configManager: ConfigManager;
|
|
8
|
+
configDir: string;
|
|
9
|
+
workingDirectory?: string;
|
|
10
|
+
maxHistory?: number;
|
|
11
|
+
enableTools?: boolean;
|
|
12
|
+
maxTokens?: number;
|
|
13
|
+
temperature?: number;
|
|
14
|
+
interfaceConfig?: any;
|
|
15
|
+
experimentalFeatures?: {
|
|
16
|
+
systemPromptToolCalling: boolean;
|
|
17
|
+
};
|
|
18
|
+
enableMCP?: boolean;
|
|
19
|
+
enablePersonalities?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare class REPL {
|
|
22
|
+
private client;
|
|
23
|
+
private renderer;
|
|
24
|
+
private logger;
|
|
25
|
+
private tui;
|
|
26
|
+
private fileTool;
|
|
27
|
+
private terminalTool;
|
|
28
|
+
private codeSearchTool;
|
|
29
|
+
private memoryManager;
|
|
30
|
+
private conversationManager;
|
|
31
|
+
private todoManager;
|
|
32
|
+
private mcpManager?;
|
|
33
|
+
private personalityManager?;
|
|
34
|
+
private rl;
|
|
35
|
+
private configManager;
|
|
36
|
+
private configCommand;
|
|
37
|
+
private config;
|
|
38
|
+
private running;
|
|
39
|
+
private processes;
|
|
40
|
+
private providerConfig;
|
|
41
|
+
private mcpToolsCache;
|
|
42
|
+
private tokensUsed;
|
|
43
|
+
private activePersonality?;
|
|
44
|
+
constructor(config: REPLConfig);
|
|
45
|
+
start(): Promise<void>;
|
|
46
|
+
stop(): void;
|
|
47
|
+
private updateMCPToolsCache;
|
|
48
|
+
private setupEventHandlers;
|
|
49
|
+
private readLine;
|
|
50
|
+
private readMultiline;
|
|
51
|
+
private handleInput;
|
|
52
|
+
private handleCommand;
|
|
53
|
+
private handleSetupCommand;
|
|
54
|
+
private handleReadCommand;
|
|
55
|
+
private handleWriteCommand;
|
|
56
|
+
private handleEditCommand;
|
|
57
|
+
private handleSearchCommand;
|
|
58
|
+
private handleRunCommand;
|
|
59
|
+
private handleStopCommand;
|
|
60
|
+
private handleCodeSearchCommand;
|
|
61
|
+
private handleListCommand;
|
|
62
|
+
private handleTodoCommand;
|
|
63
|
+
private handleTodoAdd;
|
|
64
|
+
private handleTodoList;
|
|
65
|
+
private handleTodoDone;
|
|
66
|
+
private handleTodoDelete;
|
|
67
|
+
private showTodoSummary;
|
|
68
|
+
private handleMemoryCommand;
|
|
69
|
+
private handleMemoryAdd;
|
|
70
|
+
private handleMemoryList;
|
|
71
|
+
private handleMemoryDelete;
|
|
72
|
+
private handleMcpCommand;
|
|
73
|
+
private handleMcpList;
|
|
74
|
+
private handleMcpAdd;
|
|
75
|
+
private handleMcpRemove;
|
|
76
|
+
private handleMcpConnect;
|
|
77
|
+
private handleMcpDisconnect;
|
|
78
|
+
private handleMcpTools;
|
|
79
|
+
private handleMcpEnable;
|
|
80
|
+
private handleMcpDisable;
|
|
81
|
+
private handlePersonalityCommand;
|
|
82
|
+
private handlePersonalityList;
|
|
83
|
+
private handlePersonalityUse;
|
|
84
|
+
private handlePersonalityAdd;
|
|
85
|
+
private handlePersonalityRemove;
|
|
86
|
+
private handlePersonalityImport;
|
|
87
|
+
private handlePersonalityExport;
|
|
88
|
+
private handlePersonalitySearch;
|
|
89
|
+
private handlePersonalityClear;
|
|
90
|
+
private showContext;
|
|
91
|
+
private showHelp;
|
|
92
|
+
private sendMessage;
|
|
93
|
+
private buildContext;
|
|
94
|
+
private getTools;
|
|
95
|
+
private executeToolCall;
|
|
96
|
+
private handleToolCall;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=repl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/cli/repl.ts"],"names":[],"mappings":"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"}
|