@defai.digital/ax-cli 2.6.4 → 2.6.6
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/commands/models.d.ts +5 -0
- package/dist/commands/models.js +172 -0
- package/dist/commands/models.js.map +1 -0
- package/dist/commands/setup.js +24 -0
- package/dist/commands/setup.js.map +1 -1
- package/dist/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/dist/llm/client.d.ts +2 -0
- package/dist/llm/client.js +39 -15
- package/dist/llm/client.js.map +1 -1
- package/dist/utils/error-translator.d.ts +25 -0
- package/dist/utils/error-translator.js +168 -0
- package/dist/utils/error-translator.js.map +1 -0
- package/dist/utils/setup-validator.d.ts +32 -0
- package/dist/utils/setup-validator.js +249 -0
- package/dist/utils/setup-validator.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Models command - List available AI models
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from "commander";
|
|
5
|
+
import chalk from "chalk";
|
|
6
|
+
import { GLM_MODELS } from "../constants.js";
|
|
7
|
+
import { getSettingsManager } from "../utils/settings-manager.js";
|
|
8
|
+
export function createModelsCommand() {
|
|
9
|
+
const modelsCmd = new Command("models")
|
|
10
|
+
.alias("model")
|
|
11
|
+
.description("List available AI models and provider information");
|
|
12
|
+
modelsCmd
|
|
13
|
+
.command("list")
|
|
14
|
+
.description("List all available models")
|
|
15
|
+
.option("--provider <name>", "Filter by provider (glm, grok, ollama, openai)")
|
|
16
|
+
.option("--json", "Output in JSON format")
|
|
17
|
+
.action(async (options) => {
|
|
18
|
+
try {
|
|
19
|
+
const manager = getSettingsManager();
|
|
20
|
+
const currentModel = manager.getCurrentModel();
|
|
21
|
+
const baseURL = manager.getBaseURL();
|
|
22
|
+
// Predefined models from configuration
|
|
23
|
+
const predefinedModels = Object.entries(GLM_MODELS).map(([id, config]) => ({
|
|
24
|
+
id,
|
|
25
|
+
name: config.name,
|
|
26
|
+
provider: id.startsWith("glm") ? "Z.AI (GLM)" : "xAI (Grok)",
|
|
27
|
+
contextWindow: config.contextWindow,
|
|
28
|
+
maxOutputTokens: config.maxOutputTokens,
|
|
29
|
+
supportsThinking: config.supportsThinking,
|
|
30
|
+
current: id === currentModel,
|
|
31
|
+
}));
|
|
32
|
+
// Add Ollama models if configured
|
|
33
|
+
const customModels = [];
|
|
34
|
+
if (baseURL?.includes("localhost:11434") || baseURL?.includes("ollama")) {
|
|
35
|
+
customModels.push({
|
|
36
|
+
id: "llama3.1:8b",
|
|
37
|
+
name: "Llama 3.1 8B",
|
|
38
|
+
provider: "Ollama (Local)",
|
|
39
|
+
contextWindow: 128000,
|
|
40
|
+
maxOutputTokens: 128000,
|
|
41
|
+
supportsThinking: false,
|
|
42
|
+
current: currentModel === "llama3.1:8b",
|
|
43
|
+
note: "Example - run 'ollama list' to see your installed models",
|
|
44
|
+
});
|
|
45
|
+
customModels.push({
|
|
46
|
+
id: "codellama",
|
|
47
|
+
name: "Code Llama",
|
|
48
|
+
provider: "Ollama (Local)",
|
|
49
|
+
contextWindow: 16000,
|
|
50
|
+
maxOutputTokens: 16000,
|
|
51
|
+
supportsThinking: false,
|
|
52
|
+
current: currentModel === "codellama",
|
|
53
|
+
note: "Example - run 'ollama list' to see your installed models",
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
// Add OpenAI models if configured
|
|
57
|
+
if (baseURL?.includes("api.openai.com")) {
|
|
58
|
+
customModels.push({
|
|
59
|
+
id: "gpt-4-turbo",
|
|
60
|
+
name: "GPT-4 Turbo",
|
|
61
|
+
provider: "OpenAI",
|
|
62
|
+
contextWindow: 128000,
|
|
63
|
+
maxOutputTokens: 4096,
|
|
64
|
+
supportsThinking: false,
|
|
65
|
+
current: currentModel === "gpt-4-turbo",
|
|
66
|
+
});
|
|
67
|
+
customModels.push({
|
|
68
|
+
id: "gpt-4o",
|
|
69
|
+
name: "GPT-4o",
|
|
70
|
+
provider: "OpenAI",
|
|
71
|
+
contextWindow: 128000,
|
|
72
|
+
maxOutputTokens: 4096,
|
|
73
|
+
supportsThinking: false,
|
|
74
|
+
current: currentModel === "gpt-4o",
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const allModels = [...predefinedModels, ...customModels];
|
|
78
|
+
// Filter by provider if specified
|
|
79
|
+
let filteredModels = allModels;
|
|
80
|
+
if (options.provider) {
|
|
81
|
+
const providerLower = options.provider.toLowerCase();
|
|
82
|
+
filteredModels = allModels.filter(m => m.provider.toLowerCase().includes(providerLower));
|
|
83
|
+
}
|
|
84
|
+
if (options.json) {
|
|
85
|
+
console.log(JSON.stringify(filteredModels, null, 2));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
// Display models in a formatted table
|
|
89
|
+
console.log(chalk.bold("\n📋 Available AI Models\n"));
|
|
90
|
+
console.log(chalk.dim("Current configuration:"));
|
|
91
|
+
console.log(chalk.dim(` Base URL: ${baseURL || "not configured"}`));
|
|
92
|
+
console.log(chalk.dim(` Model: ${currentModel || "not configured"}`));
|
|
93
|
+
console.log();
|
|
94
|
+
if (filteredModels.length === 0) {
|
|
95
|
+
console.log(chalk.yellow("No models found matching the criteria."));
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// Group by provider
|
|
99
|
+
const grouped = filteredModels.reduce((acc, model) => {
|
|
100
|
+
if (!acc[model.provider]) {
|
|
101
|
+
acc[model.provider] = [];
|
|
102
|
+
}
|
|
103
|
+
acc[model.provider].push(model);
|
|
104
|
+
return acc;
|
|
105
|
+
}, {});
|
|
106
|
+
for (const [provider, models] of Object.entries(grouped)) {
|
|
107
|
+
console.log(chalk.bold.cyan(`\n${provider}:`));
|
|
108
|
+
for (const model of models) {
|
|
109
|
+
const marker = model.current ? chalk.green("➤ ") : " ";
|
|
110
|
+
const nameDisplay = model.current
|
|
111
|
+
? chalk.green.bold(model.id)
|
|
112
|
+
: chalk.white(model.id);
|
|
113
|
+
console.log(`${marker}${nameDisplay}`);
|
|
114
|
+
console.log(chalk.dim(` Context: ${formatTokens(model.contextWindow)} | Max Output: ${formatTokens(model.maxOutputTokens)}`));
|
|
115
|
+
if (model.supportsThinking) {
|
|
116
|
+
console.log(chalk.dim(" Features: ") + chalk.yellow("✨ Thinking Mode"));
|
|
117
|
+
}
|
|
118
|
+
if (model.note) {
|
|
119
|
+
console.log(chalk.dim(` Note: ${model.note}`));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
console.log();
|
|
124
|
+
console.log(chalk.dim("\nTips:"));
|
|
125
|
+
console.log(chalk.dim(" • Use --provider to filter by provider (e.g., --provider glm)"));
|
|
126
|
+
console.log(chalk.dim(" • For Ollama models, run 'ollama list' to see installed models"));
|
|
127
|
+
console.log(chalk.dim(" • Switch models with: ax-cli -m <model-name>"));
|
|
128
|
+
console.log(chalk.dim(" • Configure default with: ax-cli setup"));
|
|
129
|
+
console.log();
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
console.error(chalk.red("Error listing models:"), error.message);
|
|
133
|
+
process.exit(1);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
modelsCmd
|
|
137
|
+
.command("info <model-id>")
|
|
138
|
+
.description("Show detailed information about a specific model")
|
|
139
|
+
.action(async (modelId) => {
|
|
140
|
+
try {
|
|
141
|
+
const model = GLM_MODELS[modelId];
|
|
142
|
+
if (!model) {
|
|
143
|
+
console.log(chalk.yellow(`\nModel "${modelId}" is not a predefined model.`));
|
|
144
|
+
console.log(chalk.dim("This may be a custom model (e.g., from Ollama or another provider)."));
|
|
145
|
+
console.log(chalk.dim("\nFor custom models, refer to your provider's documentation."));
|
|
146
|
+
process.exit(0);
|
|
147
|
+
}
|
|
148
|
+
console.log(chalk.bold(`\n📄 Model Information: ${modelId}\n`));
|
|
149
|
+
console.log(chalk.cyan("Name:"), model.name);
|
|
150
|
+
console.log(chalk.cyan("Context Window:"), formatTokens(model.contextWindow));
|
|
151
|
+
console.log(chalk.cyan("Max Output Tokens:"), formatTokens(model.maxOutputTokens));
|
|
152
|
+
console.log(chalk.cyan("Default Max Tokens:"), formatTokens(model.defaultMaxTokens));
|
|
153
|
+
console.log(chalk.cyan("Default Temperature:"), model.defaultTemperature);
|
|
154
|
+
console.log(chalk.cyan("Temperature Range:"), `${model.temperatureRange.min} - ${model.temperatureRange.max}`);
|
|
155
|
+
console.log(chalk.cyan("Thinking Mode:"), model.supportsThinking ? chalk.green("✓ Supported") : chalk.dim("Not supported"));
|
|
156
|
+
console.log(chalk.cyan("Token Efficiency:"), `${model.tokenEfficiency}x`);
|
|
157
|
+
console.log();
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
console.error(chalk.red("Error fetching model info:"), error.message);
|
|
161
|
+
process.exit(1);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
return modelsCmd;
|
|
165
|
+
}
|
|
166
|
+
function formatTokens(tokens) {
|
|
167
|
+
if (tokens >= 1000) {
|
|
168
|
+
return `${(tokens / 1000).toFixed(0)}K tokens`;
|
|
169
|
+
}
|
|
170
|
+
return `${tokens} tokens`;
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -4,6 +4,7 @@ import { dirname, join } from 'path';
|
|
|
4
4
|
import { homedir } from 'os';
|
|
5
5
|
import enquirer from 'enquirer';
|
|
6
6
|
import chalk from 'chalk';
|
|
7
|
+
import { validateProviderSetup } from '../utils/setup-validator.js';
|
|
7
8
|
const PROVIDERS = {
|
|
8
9
|
'z.ai': {
|
|
9
10
|
name: 'z.ai',
|
|
@@ -59,6 +60,7 @@ export function createSetupCommand() {
|
|
|
59
60
|
setupCommand
|
|
60
61
|
.description('Initialize AX CLI configuration with AI provider selection')
|
|
61
62
|
.option('--force', 'Overwrite existing configuration')
|
|
63
|
+
.option('--no-validate', 'Skip validation of API endpoint and credentials')
|
|
62
64
|
.action(async (options) => {
|
|
63
65
|
try {
|
|
64
66
|
console.log(chalk.cyan('\n🚀 AX CLI Setup\n'));
|
|
@@ -118,6 +120,28 @@ export function createSetupCommand() {
|
|
|
118
120
|
else {
|
|
119
121
|
console.log(chalk.green(`\n✓ ${selectedProvider.displayName} doesn't require an API key`));
|
|
120
122
|
}
|
|
123
|
+
// Validate configuration before saving
|
|
124
|
+
const validationResult = await validateProviderSetup({
|
|
125
|
+
baseURL: selectedProvider.baseURL,
|
|
126
|
+
apiKey: apiKey,
|
|
127
|
+
model: selectedProvider.defaultModel,
|
|
128
|
+
providerName: selectedProvider.name,
|
|
129
|
+
}, !options.validate // Skip if --no-validate flag is used
|
|
130
|
+
);
|
|
131
|
+
// If validation failed, ask user if they want to save anyway
|
|
132
|
+
if (!validationResult.success && options.validate !== false) {
|
|
133
|
+
console.log(chalk.yellow('\n⚠️ Validation failed, but you can still save the configuration.\n'));
|
|
134
|
+
const proceedAnyway = await enquirer.prompt({
|
|
135
|
+
type: 'confirm',
|
|
136
|
+
name: 'proceed',
|
|
137
|
+
message: 'Save configuration anyway?',
|
|
138
|
+
initial: false
|
|
139
|
+
});
|
|
140
|
+
if (!proceedAnyway.proceed) {
|
|
141
|
+
console.log(chalk.blue('\n✨ Setup cancelled. Please check your settings and try again.\n'));
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
121
145
|
// Create configuration object with comments
|
|
122
146
|
// Use provider-specific max tokens (32k for GLM 4.6, others use reasonable defaults)
|
|
123
147
|
const maxTokens = selectedProvider.name === 'z.ai' ? 32768 : 8192;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,7 @@ import { createUsageCommand } from "./commands/usage.js";
|
|
|
16
16
|
import { createTemplatesCommand } from "./commands/templates.js";
|
|
17
17
|
import { createMemoryCommand } from "./commands/memory.js";
|
|
18
18
|
import { createCacheCommand } from "./commands/cache.js";
|
|
19
|
+
import { createModelsCommand } from "./commands/models.js";
|
|
19
20
|
import { getVersion } from "./utils/version.js";
|
|
20
21
|
// Load environment variables
|
|
21
22
|
dotenv.config();
|
|
@@ -44,10 +45,30 @@ process.on("SIGTERM", () => {
|
|
|
44
45
|
// Handle uncaught exceptions to prevent hanging
|
|
45
46
|
process.on("uncaughtException", (error) => {
|
|
46
47
|
console.error("Uncaught exception:", error);
|
|
48
|
+
// Clean up active agent before exit
|
|
49
|
+
if (activeAgent) {
|
|
50
|
+
try {
|
|
51
|
+
activeAgent.dispose();
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
// Ignore cleanup errors during emergency shutdown
|
|
55
|
+
}
|
|
56
|
+
activeAgent = null;
|
|
57
|
+
}
|
|
47
58
|
process.exit(1);
|
|
48
59
|
});
|
|
49
60
|
process.on("unhandledRejection", (reason, promise) => {
|
|
50
61
|
console.error("Unhandled rejection at:", promise, "reason:", reason);
|
|
62
|
+
// Clean up active agent before exit
|
|
63
|
+
if (activeAgent) {
|
|
64
|
+
try {
|
|
65
|
+
activeAgent.dispose();
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// Ignore cleanup errors during emergency shutdown
|
|
69
|
+
}
|
|
70
|
+
activeAgent = null;
|
|
71
|
+
}
|
|
51
72
|
process.exit(1);
|
|
52
73
|
});
|
|
53
74
|
// Ensure user settings are initialized
|
|
@@ -275,7 +296,11 @@ async function buildContextFromFlags(options) {
|
|
|
275
296
|
if (options.gitDiff) {
|
|
276
297
|
try {
|
|
277
298
|
const { execSync } = await import("child_process");
|
|
278
|
-
const gitDiff = execSync("git diff", {
|
|
299
|
+
const gitDiff = execSync("git diff", {
|
|
300
|
+
encoding: "utf-8",
|
|
301
|
+
timeout: 10000, // 10 second timeout to prevent hanging
|
|
302
|
+
maxBuffer: 10 * 1024 * 1024 // 10MB max buffer for large diffs
|
|
303
|
+
});
|
|
279
304
|
if (gitDiff.trim()) {
|
|
280
305
|
contextParts.push(`Git diff:\n\`\`\`diff\n${gitDiff}\n\`\`\``);
|
|
281
306
|
}
|
|
@@ -395,7 +420,7 @@ program
|
|
|
395
420
|
.option("-d, --directory <dir>", "set working directory", process.cwd())
|
|
396
421
|
.option("-k, --api-key <key>", "AI API key (or set YOUR_API_KEY env var)")
|
|
397
422
|
.option("-u, --base-url <url>", "AI API base URL (or set AI_BASE_URL env var)")
|
|
398
|
-
.option("-m, --model <model>", "AI model to use (e.g., grok-code-fast-1,
|
|
423
|
+
.option("-m, --model <model>", "AI model to use (e.g., glm-4.6, grok-code-fast-1, llama3.1:8b, gpt-4) (or set AI_MODEL env var)")
|
|
399
424
|
.option("-p, --prompt <prompt>", "process a single prompt and exit (headless mode)")
|
|
400
425
|
.option("--max-tool-rounds <rounds>", "maximum number of tool execution rounds (default: 400)", "400")
|
|
401
426
|
// VSCode Integration Flags (Phase 1)
|
|
@@ -492,7 +517,7 @@ gitCommand
|
|
|
492
517
|
.option("-d, --directory <dir>", "set working directory", process.cwd())
|
|
493
518
|
.option("-k, --api-key <key>", "AI API key (or set YOUR_API_KEY env var)")
|
|
494
519
|
.option("-u, --base-url <url>", "AI API base URL (or set AI_BASE_URL env var)")
|
|
495
|
-
.option("-m, --model <model>", "AI model to use (e.g., grok-code-fast-1,
|
|
520
|
+
.option("-m, --model <model>", "AI model to use (e.g., glm-4.6, grok-code-fast-1, llama3.1:8b, gpt-4) (or set AI_MODEL env var)")
|
|
496
521
|
.option("--max-tool-rounds <rounds>", "maximum number of tool execution rounds (default: 400)", "400")
|
|
497
522
|
.action(async (options) => {
|
|
498
523
|
if (options.directory) {
|
|
@@ -542,5 +567,7 @@ program.addCommand(createSetupCommand());
|
|
|
542
567
|
program.addCommand(createUsageCommand());
|
|
543
568
|
// Cache command
|
|
544
569
|
program.addCommand(createCacheCommand());
|
|
570
|
+
// Models command
|
|
571
|
+
program.addCommand(createModelsCommand());
|
|
545
572
|
program.parse();
|
|
546
573
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/client.d.ts
CHANGED
|
@@ -61,6 +61,8 @@ export declare class LLMClient {
|
|
|
61
61
|
constructor(apiKey: string, model?: string, baseURL?: string);
|
|
62
62
|
/**
|
|
63
63
|
* Validate and normalize model name
|
|
64
|
+
* For known models, validate against GLM_MODELS
|
|
65
|
+
* For unknown models (e.g., Ollama), pass through without validation
|
|
64
66
|
*/
|
|
65
67
|
private validateModel;
|
|
66
68
|
/**
|
package/dist/llm/client.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import OpenAI from "openai";
|
|
2
2
|
import { safeValidateGrokResponse } from "../schemas/api-schemas.js";
|
|
3
|
-
import { ErrorCategory, createErrorMessage
|
|
4
|
-
import {
|
|
3
|
+
import { ErrorCategory, createErrorMessage } from "../utils/error-handler.js";
|
|
4
|
+
import { extractAndTranslateError } from "../utils/error-translator.js";
|
|
5
|
+
import { GLM_MODELS } from "../constants.js";
|
|
5
6
|
import { getUsageTracker } from "../utils/usage-tracker.js";
|
|
6
7
|
/**
|
|
7
8
|
* LLMClient - Enhanced client for GLM-4.6 API
|
|
@@ -14,7 +15,7 @@ import { getUsageTracker } from "../utils/usage-tracker.js";
|
|
|
14
15
|
*/
|
|
15
16
|
export class LLMClient {
|
|
16
17
|
client;
|
|
17
|
-
currentModel;
|
|
18
|
+
currentModel; // Can be SupportedModel or custom model name (e.g., Ollama)
|
|
18
19
|
defaultMaxTokens;
|
|
19
20
|
defaultTemperature;
|
|
20
21
|
constructor(apiKey, model, baseURL) {
|
|
@@ -32,8 +33,13 @@ export class LLMClient {
|
|
|
32
33
|
});
|
|
33
34
|
// Set model with validation
|
|
34
35
|
this.currentModel = this.validateModel(model);
|
|
35
|
-
// Get model configuration
|
|
36
|
-
const modelConfig = GLM_MODELS[this.currentModel]
|
|
36
|
+
// Get model configuration (with fallback for custom models)
|
|
37
|
+
const modelConfig = GLM_MODELS[this.currentModel] || {
|
|
38
|
+
maxOutputTokens: 128000, // Generous default for custom models
|
|
39
|
+
defaultMaxTokens: 4096,
|
|
40
|
+
temperatureRange: { min: 0.0, max: 2.0 },
|
|
41
|
+
defaultTemperature: 0.7,
|
|
42
|
+
};
|
|
37
43
|
// Set defaults from environment or model config
|
|
38
44
|
const envMax = Number(process.env.AI_MAX_TOKENS);
|
|
39
45
|
this.defaultMaxTokens = Number.isFinite(envMax) && envMax > 0
|
|
@@ -48,19 +54,30 @@ export class LLMClient {
|
|
|
48
54
|
}
|
|
49
55
|
/**
|
|
50
56
|
* Validate and normalize model name
|
|
57
|
+
* For known models, validate against GLM_MODELS
|
|
58
|
+
* For unknown models (e.g., Ollama), pass through without validation
|
|
51
59
|
*/
|
|
52
60
|
validateModel(model) {
|
|
53
61
|
if (model in GLM_MODELS) {
|
|
54
62
|
return model;
|
|
55
63
|
}
|
|
56
|
-
|
|
57
|
-
|
|
64
|
+
// Allow arbitrary model names for providers like Ollama
|
|
65
|
+
// Don't fall back to DEFAULT_MODEL - respect user's choice
|
|
66
|
+
console.warn(`Using custom model "${model}" (not in predefined list)`);
|
|
67
|
+
return model;
|
|
58
68
|
}
|
|
59
69
|
/**
|
|
60
70
|
* Validate temperature for current model
|
|
61
71
|
*/
|
|
62
72
|
validateTemperature(temperature, model) {
|
|
63
73
|
const config = GLM_MODELS[model];
|
|
74
|
+
if (!config) {
|
|
75
|
+
// Custom model - allow any temperature between 0 and 2
|
|
76
|
+
if (temperature < 0 || temperature > 2) {
|
|
77
|
+
throw new Error(`Temperature ${temperature} is out of range. Valid range: 0.0 - 2.0`);
|
|
78
|
+
}
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
64
81
|
const { min, max } = config.temperatureRange;
|
|
65
82
|
if (temperature < min || temperature > max) {
|
|
66
83
|
throw new Error(`Temperature ${temperature} is out of range for model ${model}. ` +
|
|
@@ -72,13 +89,20 @@ export class LLMClient {
|
|
|
72
89
|
*/
|
|
73
90
|
validateMaxTokens(maxTokens, model) {
|
|
74
91
|
const config = GLM_MODELS[model];
|
|
92
|
+
if (maxTokens < 1) {
|
|
93
|
+
throw new Error(`Max tokens must be at least 1, got ${maxTokens}`);
|
|
94
|
+
}
|
|
95
|
+
if (!config) {
|
|
96
|
+
// Custom model - allow up to 128K tokens
|
|
97
|
+
if (maxTokens > 128000) {
|
|
98
|
+
throw new Error(`Max tokens ${maxTokens} exceeds reasonable limit. Maximum: 128000`);
|
|
99
|
+
}
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
75
102
|
if (maxTokens > config.maxOutputTokens) {
|
|
76
103
|
throw new Error(`Max tokens ${maxTokens} exceeds limit for model ${model}. ` +
|
|
77
104
|
`Maximum: ${config.maxOutputTokens}`);
|
|
78
105
|
}
|
|
79
|
-
if (maxTokens < 1) {
|
|
80
|
-
throw new Error(`Max tokens must be at least 1, got ${maxTokens}`);
|
|
81
|
-
}
|
|
82
106
|
}
|
|
83
107
|
/**
|
|
84
108
|
* Validate thinking configuration for current model
|
|
@@ -86,7 +110,7 @@ export class LLMClient {
|
|
|
86
110
|
validateThinking(thinking, model) {
|
|
87
111
|
if (thinking && thinking.type === "enabled") {
|
|
88
112
|
const config = GLM_MODELS[model];
|
|
89
|
-
if (!config.supportsThinking) {
|
|
113
|
+
if (config && !config.supportsThinking) {
|
|
90
114
|
throw new Error(`Thinking mode is not supported by model ${model}. ` +
|
|
91
115
|
`Use glm-4.6 for thinking capabilities.`);
|
|
92
116
|
}
|
|
@@ -125,7 +149,7 @@ export class LLMClient {
|
|
|
125
149
|
return this.currentModel;
|
|
126
150
|
}
|
|
127
151
|
getModelConfig() {
|
|
128
|
-
return GLM_MODELS[this.currentModel];
|
|
152
|
+
return GLM_MODELS[this.currentModel] || null;
|
|
129
153
|
}
|
|
130
154
|
/**
|
|
131
155
|
* Chat completion with GLM-4.6 support
|
|
@@ -176,9 +200,9 @@ export class LLMClient {
|
|
|
176
200
|
return llmResponse;
|
|
177
201
|
}
|
|
178
202
|
catch (error) {
|
|
179
|
-
// Enhance error message with context
|
|
203
|
+
// Enhance error message with context and translate if needed
|
|
180
204
|
const modelInfo = options?.model || this.currentModel;
|
|
181
|
-
throw new Error(`LLM API error (model: ${modelInfo}): ${
|
|
205
|
+
throw new Error(`LLM API error (model: ${modelInfo}): ${extractAndTranslateError(error)}`);
|
|
182
206
|
}
|
|
183
207
|
}
|
|
184
208
|
/**
|
|
@@ -229,7 +253,7 @@ export class LLMClient {
|
|
|
229
253
|
}
|
|
230
254
|
catch (error) {
|
|
231
255
|
const modelInfo = options?.model || this.currentModel;
|
|
232
|
-
throw new Error(`LLM API streaming error (model: ${modelInfo}): ${
|
|
256
|
+
throw new Error(`LLM API streaming error (model: ${modelInfo}): ${extractAndTranslateError(error)}`);
|
|
233
257
|
}
|
|
234
258
|
}
|
|
235
259
|
/**
|
package/dist/llm/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/llm/client.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/llm/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error message translation utilities
|
|
3
|
+
* Translates non-English error messages from providers to English
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Translates provider error messages to English
|
|
7
|
+
* If message contains Chinese, attempts translation and adds context
|
|
8
|
+
*
|
|
9
|
+
* @param errorMessage - The error message from API
|
|
10
|
+
* @param statusCode - HTTP status code (optional)
|
|
11
|
+
* @returns Translated error message with helpful context
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* translateErrorMessage('401 令牌已过期或验证不正确')
|
|
15
|
+
* // Returns: '401 Token expired or verification incorrect'
|
|
16
|
+
*
|
|
17
|
+
* translateErrorMessage('429 请求过于频繁', 429)
|
|
18
|
+
* // Returns: '429 Request rate limit exceeded - please wait before retrying'
|
|
19
|
+
*/
|
|
20
|
+
export declare function translateErrorMessage(errorMessage: string, statusCode?: number): string;
|
|
21
|
+
/**
|
|
22
|
+
* Enhanced error message extractor that handles translation
|
|
23
|
+
* Used as a drop-in replacement for the basic extractErrorMessage
|
|
24
|
+
*/
|
|
25
|
+
export declare function extractAndTranslateError(error: unknown): string;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error message translation utilities
|
|
3
|
+
* Translates non-English error messages from providers to English
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Z.AI (GLM) Chinese error message translations
|
|
7
|
+
* Based on common API errors from zhipuai.cn
|
|
8
|
+
*/
|
|
9
|
+
const ZAI_ERROR_TRANSLATIONS = {
|
|
10
|
+
// Authentication errors
|
|
11
|
+
'令牌已过期或验证不正确': 'Token expired or verification incorrect',
|
|
12
|
+
'认证失败': 'Authentication failed',
|
|
13
|
+
'无效的API密钥': 'Invalid API key',
|
|
14
|
+
'API密钥不存在': 'API key does not exist',
|
|
15
|
+
// Rate limiting
|
|
16
|
+
'请求过于频繁': 'Request rate limit exceeded',
|
|
17
|
+
'超出速率限制': 'Rate limit exceeded',
|
|
18
|
+
'请稍后重试': 'Please retry later',
|
|
19
|
+
// Quota errors
|
|
20
|
+
'余额不足': 'Insufficient balance',
|
|
21
|
+
'配额已用尽': 'Quota exhausted',
|
|
22
|
+
'账户已欠费': 'Account is overdue',
|
|
23
|
+
// Model errors
|
|
24
|
+
'模型不存在': 'Model does not exist',
|
|
25
|
+
'模型不可用': 'Model not available',
|
|
26
|
+
'不支持该模型': 'Model not supported',
|
|
27
|
+
// Request errors
|
|
28
|
+
'参数错误': 'Invalid parameters',
|
|
29
|
+
'请求体过大': 'Request body too large',
|
|
30
|
+
'无效的请求': 'Invalid request',
|
|
31
|
+
'缺少必需参数': 'Missing required parameters',
|
|
32
|
+
// Server errors
|
|
33
|
+
'服务器错误': 'Server error',
|
|
34
|
+
'内部错误': 'Internal error',
|
|
35
|
+
'服务暂时不可用': 'Service temporarily unavailable',
|
|
36
|
+
'网关超时': 'Gateway timeout',
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Detects if text contains Chinese characters
|
|
40
|
+
*/
|
|
41
|
+
function containsChinese(text) {
|
|
42
|
+
return /[\u4e00-\u9fa5]/.test(text);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Attempts to translate Chinese error message to English
|
|
46
|
+
* Returns original message if no translation found
|
|
47
|
+
*/
|
|
48
|
+
function translateChineseError(message) {
|
|
49
|
+
// Try exact match first
|
|
50
|
+
if (ZAI_ERROR_TRANSLATIONS[message]) {
|
|
51
|
+
return ZAI_ERROR_TRANSLATIONS[message];
|
|
52
|
+
}
|
|
53
|
+
// Try partial match (in case message contains additional context)
|
|
54
|
+
for (const [chinese, english] of Object.entries(ZAI_ERROR_TRANSLATIONS)) {
|
|
55
|
+
if (message.includes(chinese)) {
|
|
56
|
+
// Replace the Chinese part with English
|
|
57
|
+
return message.replace(chinese, english);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// No translation found, return original
|
|
61
|
+
return message;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Translates provider error messages to English
|
|
65
|
+
* If message contains Chinese, attempts translation and adds context
|
|
66
|
+
*
|
|
67
|
+
* @param errorMessage - The error message from API
|
|
68
|
+
* @param statusCode - HTTP status code (optional)
|
|
69
|
+
* @returns Translated error message with helpful context
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* translateErrorMessage('401 令牌已过期或验证不正确')
|
|
73
|
+
* // Returns: '401 Token expired or verification incorrect'
|
|
74
|
+
*
|
|
75
|
+
* translateErrorMessage('429 请求过于频繁', 429)
|
|
76
|
+
* // Returns: '429 Request rate limit exceeded - please wait before retrying'
|
|
77
|
+
*/
|
|
78
|
+
export function translateErrorMessage(errorMessage, statusCode) {
|
|
79
|
+
// If no Chinese characters, return as-is
|
|
80
|
+
if (!containsChinese(errorMessage)) {
|
|
81
|
+
return errorMessage;
|
|
82
|
+
}
|
|
83
|
+
// Attempt translation
|
|
84
|
+
const translated = translateChineseError(errorMessage);
|
|
85
|
+
// If translation found, use it
|
|
86
|
+
if (translated !== errorMessage) {
|
|
87
|
+
// Add helpful context based on status code
|
|
88
|
+
const context = getErrorContext(statusCode);
|
|
89
|
+
return context ? `${translated} - ${context}` : translated;
|
|
90
|
+
}
|
|
91
|
+
// If no translation found, provide both languages with warning
|
|
92
|
+
return `${errorMessage} (Chinese error message - ${getGenericHint(statusCode)})`;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get helpful context based on HTTP status code
|
|
96
|
+
*/
|
|
97
|
+
function getErrorContext(statusCode) {
|
|
98
|
+
switch (statusCode) {
|
|
99
|
+
case 401:
|
|
100
|
+
return 'please check your API key';
|
|
101
|
+
case 403:
|
|
102
|
+
return 'access denied, verify your permissions';
|
|
103
|
+
case 429:
|
|
104
|
+
return 'please wait before retrying';
|
|
105
|
+
case 500:
|
|
106
|
+
case 502:
|
|
107
|
+
case 503:
|
|
108
|
+
case 504:
|
|
109
|
+
return 'provider experiencing issues, try again later';
|
|
110
|
+
default:
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Get generic hint for untranslated errors
|
|
116
|
+
*/
|
|
117
|
+
function getGenericHint(statusCode) {
|
|
118
|
+
switch (statusCode) {
|
|
119
|
+
case 401:
|
|
120
|
+
case 403:
|
|
121
|
+
return 'authentication issue, check API key';
|
|
122
|
+
case 429:
|
|
123
|
+
return 'rate limit, wait before retry';
|
|
124
|
+
case 500:
|
|
125
|
+
case 502:
|
|
126
|
+
case 503:
|
|
127
|
+
case 504:
|
|
128
|
+
return 'server error, try later';
|
|
129
|
+
default:
|
|
130
|
+
return 'check provider documentation';
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Enhanced error message extractor that handles translation
|
|
135
|
+
* Used as a drop-in replacement for the basic extractErrorMessage
|
|
136
|
+
*/
|
|
137
|
+
export function extractAndTranslateError(error) {
|
|
138
|
+
let message;
|
|
139
|
+
// Extract base message
|
|
140
|
+
if (error instanceof Error) {
|
|
141
|
+
message = error.message;
|
|
142
|
+
}
|
|
143
|
+
else if (typeof error === 'object' && error !== null) {
|
|
144
|
+
// Handle OpenAI-style error objects
|
|
145
|
+
const err = error;
|
|
146
|
+
if (err.error?.message) {
|
|
147
|
+
message = err.error.message;
|
|
148
|
+
}
|
|
149
|
+
else if (err.message) {
|
|
150
|
+
message = err.message;
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
message = JSON.stringify(error);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
message = String(error);
|
|
158
|
+
}
|
|
159
|
+
// Extract status code if available
|
|
160
|
+
let statusCode;
|
|
161
|
+
if (typeof error === 'object' && error !== null) {
|
|
162
|
+
const err = error;
|
|
163
|
+
statusCode = err.status || err.statusCode || err.error?.status;
|
|
164
|
+
}
|
|
165
|
+
// Translate if needed
|
|
166
|
+
return translateErrorMessage(message, statusCode);
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=error-translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-translator.js","sourceRoot":"","sources":["../../src/utils/error-translator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Setup validation utilities
|
|
3
|
+
* Validates provider connectivity, API keys, and model accessibility
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Configuration to validate
|
|
7
|
+
*/
|
|
8
|
+
export interface ValidationConfig {
|
|
9
|
+
baseURL: string;
|
|
10
|
+
apiKey: string;
|
|
11
|
+
model: string;
|
|
12
|
+
providerName: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Validation result
|
|
16
|
+
*/
|
|
17
|
+
export interface ValidationResult {
|
|
18
|
+
success: boolean;
|
|
19
|
+
endpoint?: boolean;
|
|
20
|
+
authentication?: boolean;
|
|
21
|
+
model?: boolean;
|
|
22
|
+
error?: string;
|
|
23
|
+
availableModels?: string[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Validate provider setup (endpoint, API key, model)
|
|
27
|
+
*
|
|
28
|
+
* @param config - Configuration to validate
|
|
29
|
+
* @param skipValidation - If true, skips validation
|
|
30
|
+
* @returns Validation result
|
|
31
|
+
*/
|
|
32
|
+
export declare function validateProviderSetup(config: ValidationConfig, skipValidation?: boolean): Promise<ValidationResult>;
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Setup validation utilities
|
|
3
|
+
* Validates provider connectivity, API keys, and model accessibility
|
|
4
|
+
*/
|
|
5
|
+
import OpenAI from 'openai';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
/**
|
|
8
|
+
* Validate provider setup (endpoint, API key, model)
|
|
9
|
+
*
|
|
10
|
+
* @param config - Configuration to validate
|
|
11
|
+
* @param skipValidation - If true, skips validation
|
|
12
|
+
* @returns Validation result
|
|
13
|
+
*/
|
|
14
|
+
export async function validateProviderSetup(config, skipValidation = false) {
|
|
15
|
+
if (skipValidation) {
|
|
16
|
+
return { success: true };
|
|
17
|
+
}
|
|
18
|
+
console.log(chalk.cyan('\n🔍 Validating configuration...\n'));
|
|
19
|
+
const result = {
|
|
20
|
+
success: false,
|
|
21
|
+
endpoint: false,
|
|
22
|
+
authentication: false,
|
|
23
|
+
model: false,
|
|
24
|
+
};
|
|
25
|
+
try {
|
|
26
|
+
// Step 1: Test endpoint reachability
|
|
27
|
+
console.log(chalk.dim(' Testing endpoint connectivity...'));
|
|
28
|
+
const endpointTest = await testEndpoint(config.baseURL);
|
|
29
|
+
if (!endpointTest.success) {
|
|
30
|
+
result.error = endpointTest.error;
|
|
31
|
+
console.log(chalk.red(' ✗ Endpoint unreachable'));
|
|
32
|
+
console.log(chalk.yellow(` ${endpointTest.error}`));
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
result.endpoint = true;
|
|
36
|
+
console.log(chalk.green(' ✓ Endpoint reachable'));
|
|
37
|
+
// Step 2: Test API key (if provided)
|
|
38
|
+
if (config.apiKey) {
|
|
39
|
+
console.log(chalk.dim(' Validating API key...'));
|
|
40
|
+
const authTest = await testAuthentication(config.baseURL, config.apiKey, config.model);
|
|
41
|
+
if (!authTest.success) {
|
|
42
|
+
result.error = authTest.error;
|
|
43
|
+
console.log(chalk.red(' ✗ Authentication failed'));
|
|
44
|
+
console.log(chalk.yellow(` ${authTest.error}`));
|
|
45
|
+
// Provide helpful guidance
|
|
46
|
+
console.log(chalk.dim('\n 💡 Troubleshooting:'));
|
|
47
|
+
console.log(chalk.dim(' • Verify your API key is correct'));
|
|
48
|
+
console.log(chalk.dim(' • Check if the key has expired'));
|
|
49
|
+
console.log(chalk.dim(` • Get a new key from: ${getProviderWebsite(config.providerName)}`));
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
result.authentication = true;
|
|
53
|
+
console.log(chalk.green(' ✓ API key valid'));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// No API key required (Ollama)
|
|
57
|
+
console.log(chalk.green(' ✓ No API key required'));
|
|
58
|
+
result.authentication = true;
|
|
59
|
+
}
|
|
60
|
+
// Step 3: Test model accessibility
|
|
61
|
+
console.log(chalk.dim(' Checking model accessibility...'));
|
|
62
|
+
const modelTest = await testModel(config.baseURL, config.apiKey, config.model);
|
|
63
|
+
if (!modelTest.success) {
|
|
64
|
+
result.error = modelTest.error;
|
|
65
|
+
console.log(chalk.red(` ✗ Model "${config.model}" not accessible`));
|
|
66
|
+
console.log(chalk.yellow(` ${modelTest.error}`));
|
|
67
|
+
if (modelTest.availableModels && modelTest.availableModels.length > 0) {
|
|
68
|
+
console.log(chalk.dim('\n Available models:'));
|
|
69
|
+
modelTest.availableModels.forEach(model => {
|
|
70
|
+
console.log(chalk.dim(` • ${model}`));
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
result.model = true;
|
|
76
|
+
result.success = true;
|
|
77
|
+
console.log(chalk.green(' ✓ Model accessible'));
|
|
78
|
+
// Success message
|
|
79
|
+
console.log(chalk.green('\n✅ Configuration validated successfully!\n'));
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
result.error = error.message || 'Unknown validation error';
|
|
84
|
+
console.log(chalk.red('\n✗ Validation failed'));
|
|
85
|
+
console.log(chalk.yellow(` ${result.error}\n`));
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Test if endpoint is reachable
|
|
91
|
+
*/
|
|
92
|
+
async function testEndpoint(baseURL) {
|
|
93
|
+
try {
|
|
94
|
+
// For Ollama, check if service is running
|
|
95
|
+
if (baseURL.includes('localhost') || baseURL.includes('127.0.0.1')) {
|
|
96
|
+
const response = await fetch(baseURL.replace('/v1', '') + '/api/version', {
|
|
97
|
+
method: 'GET',
|
|
98
|
+
signal: AbortSignal.timeout(5000), // 5 second timeout
|
|
99
|
+
});
|
|
100
|
+
if (response.ok) {
|
|
101
|
+
return { success: true };
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
success: false,
|
|
105
|
+
error: 'Local service not responding. Make sure Ollama is running: ollama serve',
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
// For remote endpoints, try a simple request
|
|
109
|
+
const response = await fetch(baseURL + '/models', {
|
|
110
|
+
method: 'GET',
|
|
111
|
+
signal: AbortSignal.timeout(10000), // 10 second timeout
|
|
112
|
+
});
|
|
113
|
+
// Any response (even 401) means endpoint is reachable
|
|
114
|
+
if (response.status === 401 || response.status === 403 || response.ok) {
|
|
115
|
+
return { success: true };
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
success: false,
|
|
119
|
+
error: `Server returned ${response.status} ${response.statusText}`,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
if (error.name === 'AbortError' || error.name === 'TimeoutError') {
|
|
124
|
+
return {
|
|
125
|
+
success: false,
|
|
126
|
+
error: 'Connection timeout - check your internet connection or firewall settings',
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
if (error.code === 'ECONNREFUSED') {
|
|
130
|
+
return {
|
|
131
|
+
success: false,
|
|
132
|
+
error: 'Connection refused - server may be down or URL incorrect',
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
success: false,
|
|
137
|
+
error: error.message || 'Network error',
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Test API key authentication
|
|
143
|
+
*/
|
|
144
|
+
async function testAuthentication(baseURL, apiKey, model) {
|
|
145
|
+
try {
|
|
146
|
+
const client = new OpenAI({
|
|
147
|
+
baseURL,
|
|
148
|
+
apiKey,
|
|
149
|
+
});
|
|
150
|
+
// Try a minimal chat completion request
|
|
151
|
+
await client.chat.completions.create({
|
|
152
|
+
model,
|
|
153
|
+
messages: [{ role: 'user', content: 'test' }],
|
|
154
|
+
max_tokens: 1,
|
|
155
|
+
});
|
|
156
|
+
return { success: true };
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
// Extract error message
|
|
160
|
+
let errorMessage = error.message || 'Authentication failed';
|
|
161
|
+
// Handle OpenAI-style error responses
|
|
162
|
+
if (error.status === 401) {
|
|
163
|
+
errorMessage = 'Invalid or expired API key';
|
|
164
|
+
}
|
|
165
|
+
else if (error.status === 403) {
|
|
166
|
+
errorMessage = 'API key does not have required permissions';
|
|
167
|
+
}
|
|
168
|
+
else if (error.error?.message) {
|
|
169
|
+
errorMessage = error.error.message;
|
|
170
|
+
}
|
|
171
|
+
// Translate Chinese errors if present
|
|
172
|
+
if (/[\u4e00-\u9fa5]/.test(errorMessage)) {
|
|
173
|
+
if (errorMessage.includes('令牌已过期') || errorMessage.includes('验证不正确')) {
|
|
174
|
+
errorMessage = 'Token expired or verification incorrect (API key invalid)';
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
success: false,
|
|
179
|
+
error: errorMessage,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Test model accessibility
|
|
185
|
+
*/
|
|
186
|
+
async function testModel(baseURL, apiKey, model) {
|
|
187
|
+
try {
|
|
188
|
+
const client = new OpenAI({
|
|
189
|
+
baseURL,
|
|
190
|
+
apiKey: apiKey || 'dummy', // Ollama doesn't need API key
|
|
191
|
+
});
|
|
192
|
+
// Try a minimal request with the specific model
|
|
193
|
+
await client.chat.completions.create({
|
|
194
|
+
model,
|
|
195
|
+
messages: [{ role: 'user', content: 'test' }],
|
|
196
|
+
max_tokens: 1,
|
|
197
|
+
});
|
|
198
|
+
return { success: true };
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
let errorMessage = error.message || 'Model not accessible';
|
|
202
|
+
let availableModels;
|
|
203
|
+
// Model not found
|
|
204
|
+
if (error.status === 404 || errorMessage.toLowerCase().includes('model') && errorMessage.toLowerCase().includes('not found')) {
|
|
205
|
+
errorMessage = `Model "${model}" not found`;
|
|
206
|
+
// For Ollama, try to get list of installed models
|
|
207
|
+
if (baseURL.includes('localhost') || baseURL.includes('127.0.0.1')) {
|
|
208
|
+
try {
|
|
209
|
+
const response = await fetch(baseURL.replace('/v1', '') + '/api/tags');
|
|
210
|
+
if (response.ok) {
|
|
211
|
+
const data = await response.json();
|
|
212
|
+
availableModels = data.models?.map((m) => m.name) || [];
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
catch {
|
|
216
|
+
// Ignore errors getting model list
|
|
217
|
+
}
|
|
218
|
+
if (!availableModels || availableModels.length === 0) {
|
|
219
|
+
errorMessage += '. No models installed. Run: ollama pull llama3.1';
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
// Translate Chinese errors
|
|
224
|
+
if (/[\u4e00-\u9fa5]/.test(errorMessage)) {
|
|
225
|
+
if (errorMessage.includes('模型不存在')) {
|
|
226
|
+
errorMessage = 'Model does not exist';
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return {
|
|
230
|
+
success: false,
|
|
231
|
+
error: errorMessage,
|
|
232
|
+
availableModels,
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Get provider website for help
|
|
238
|
+
*/
|
|
239
|
+
function getProviderWebsite(providerName) {
|
|
240
|
+
const websites = {
|
|
241
|
+
'z.ai': 'https://z.ai',
|
|
242
|
+
'xai': 'https://x.ai',
|
|
243
|
+
'openai': 'https://platform.openai.com',
|
|
244
|
+
'anthropic': 'https://console.anthropic.com',
|
|
245
|
+
'ollama': 'https://ollama.ai',
|
|
246
|
+
};
|
|
247
|
+
return websites[providerName.toLowerCase()] || 'provider website';
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=setup-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-validator.js","sourceRoot":"","sources":["../../src/utils/setup-validator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defai.digital/ax-cli",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.6",
|
|
4
4
|
"description": "Enterprise-Class AI Command Line Interface - Primary support for GLM (General Language Model) with multi-provider AI orchestration powered by AutomatosX.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"workspaces": [
|