@trenchwork/erosolar 1.1.40 → 1.1.42
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 +12 -17
- package/README.md +23 -12
- package/dist/bin/deepseek.js +18 -198
- package/dist/bin/deepseek.js.map +1 -1
- package/dist/contracts/agent-profiles.schema.json +5 -23
- package/dist/contracts/agent-schemas.json +31 -343
- package/dist/contracts/schemas/agent-schemas.schema.json +3 -3
- package/dist/contracts/unified-schema.json +8 -628
- package/dist/core/hitl.d.ts.map +1 -1
- package/dist/core/hitl.js +17 -16
- package/dist/core/hitl.js.map +1 -1
- package/dist/core/modelDiscovery.d.ts +0 -3
- package/dist/core/modelDiscovery.d.ts.map +1 -1
- package/dist/core/modelDiscovery.js +3 -355
- package/dist/core/modelDiscovery.js.map +1 -1
- package/dist/core/permissionMode.d.ts +40 -0
- package/dist/core/permissionMode.d.ts.map +1 -0
- package/dist/core/permissionMode.js +86 -0
- package/dist/core/permissionMode.js.map +1 -0
- package/dist/core/quotaErrors.d.ts +42 -0
- package/dist/core/quotaErrors.d.ts.map +1 -0
- package/dist/core/quotaErrors.js +88 -0
- package/dist/core/quotaErrors.js.map +1 -0
- package/dist/core/secretStore.d.ts.map +1 -1
- package/dist/core/secretStore.js +0 -13
- package/dist/core/secretStore.js.map +1 -1
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +21 -2
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/headless/interactiveShell.d.ts +7 -5
- package/dist/headless/interactiveShell.d.ts.map +1 -1
- package/dist/headless/interactiveShell.js +99 -217
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/plugins/providers/deepseek/index.d.ts +1 -0
- package/dist/plugins/providers/deepseek/index.d.ts.map +1 -1
- package/dist/plugins/providers/deepseek/index.js +65 -4
- package/dist/plugins/providers/deepseek/index.js.map +1 -1
- package/dist/plugins/providers/index.d.ts.map +1 -1
- package/dist/plugins/providers/index.js +0 -7
- package/dist/plugins/providers/index.js.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.js +7 -30
- package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
- package/dist/providers/resilientProvider.d.ts.map +1 -1
- package/dist/providers/resilientProvider.js +0 -31
- package/dist/providers/resilientProvider.js.map +1 -1
- package/dist/shell/commandRegistry.js +6 -6
- package/dist/shell/commandRegistry.js.map +1 -1
- package/dist/shell/toolPresentation.d.ts +47 -0
- package/dist/shell/toolPresentation.d.ts.map +1 -0
- package/dist/shell/toolPresentation.js +260 -0
- package/dist/shell/toolPresentation.js.map +1 -0
- package/dist/tools/bashTools.js +2 -2
- package/dist/tools/bashTools.js.map +1 -1
- package/dist/tools/webTools.d.ts.map +1 -1
- package/dist/tools/webTools.js +85 -3
- package/dist/tools/webTools.js.map +1 -1
- package/dist/ui/ink/App.d.ts +2 -0
- package/dist/ui/ink/App.d.ts.map +1 -1
- package/dist/ui/ink/App.js +2 -2
- package/dist/ui/ink/App.js.map +1 -1
- package/dist/ui/ink/ChatStatic.d.ts +6 -5
- package/dist/ui/ink/ChatStatic.d.ts.map +1 -1
- package/dist/ui/ink/ChatStatic.js +35 -10
- package/dist/ui/ink/ChatStatic.js.map +1 -1
- package/dist/ui/ink/InkPromptController.d.ts +11 -0
- package/dist/ui/ink/InkPromptController.d.ts.map +1 -1
- package/dist/ui/ink/InkPromptController.js +50 -11
- package/dist/ui/ink/InkPromptController.js.map +1 -1
- package/dist/ui/ink/Prompt.d.ts +2 -0
- package/dist/ui/ink/Prompt.d.ts.map +1 -1
- package/dist/ui/ink/Prompt.js +8 -2
- package/dist/ui/ink/Prompt.js.map +1 -1
- package/dist/ui/ink/StatusLine.d.ts +16 -8
- package/dist/ui/ink/StatusLine.d.ts.map +1 -1
- package/dist/ui/ink/StatusLine.js +45 -4
- package/dist/ui/ink/StatusLine.js.map +1 -1
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +4 -6
- package/dist/ui/theme.js.map +1 -1
- package/package.json +2 -9
- package/scripts/postinstall.cjs +1 -2
- package/dist/bin/cliMode.d.ts +0 -8
- package/dist/bin/cliMode.d.ts.map +0 -1
- package/dist/bin/cliMode.js +0 -20
- package/dist/bin/cliMode.js.map +0 -1
- package/dist/bin/selfTest.d.ts +0 -14
- package/dist/bin/selfTest.d.ts.map +0 -1
- package/dist/bin/selfTest.js +0 -298
- package/dist/bin/selfTest.js.map +0 -1
- package/dist/headless/printMode.d.ts +0 -17
- package/dist/headless/printMode.d.ts.map +0 -1
- package/dist/headless/printMode.js +0 -40
- package/dist/headless/printMode.js.map +0 -1
- package/dist/plugins/providers/anthropic/index.d.ts +0 -9
- package/dist/plugins/providers/anthropic/index.d.ts.map +0 -1
- package/dist/plugins/providers/anthropic/index.js +0 -48
- package/dist/plugins/providers/anthropic/index.js.map +0 -1
- package/dist/plugins/providers/openai/index.d.ts +0 -10
- package/dist/plugins/providers/openai/index.d.ts.map +0 -1
- package/dist/plugins/providers/openai/index.js +0 -47
- package/dist/plugins/providers/openai/index.js.map +0 -1
- package/dist/plugins/providers/xai/index.d.ts +0 -10
- package/dist/plugins/providers/xai/index.d.ts.map +0 -1
- package/dist/plugins/providers/xai/index.js +0 -47
- package/dist/plugins/providers/xai/index.js.map +0 -1
package/dist/bin/selfTest.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Self-Test Runner for Erosolar CLI
|
|
4
|
-
*
|
|
5
|
-
* Launches the CLI in a separate process and runs extensive tests
|
|
6
|
-
* to verify functionality works correctly in a real runtime environment.
|
|
7
|
-
*
|
|
8
|
-
* @license MIT
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Run all self-tests
|
|
12
|
-
*/
|
|
13
|
-
export declare function runSelfTest(): Promise<boolean>;
|
|
14
|
-
//# sourceMappingURL=selfTest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selfTest.d.ts","sourceRoot":"","sources":["../../src/bin/selfTest.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAoCH;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAuBpD"}
|
package/dist/bin/selfTest.js
DELETED
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Self-Test Runner for Erosolar CLI
|
|
4
|
-
*
|
|
5
|
-
* Launches the CLI in a separate process and runs extensive tests
|
|
6
|
-
* to verify functionality works correctly in a real runtime environment.
|
|
7
|
-
*
|
|
8
|
-
* @license MIT
|
|
9
|
-
*/
|
|
10
|
-
import { spawn } from 'node:child_process';
|
|
11
|
-
import { dirname, join } from 'node:path';
|
|
12
|
-
import { fileURLToPath } from 'node:url';
|
|
13
|
-
import { ComposableMessageBuilder } from '../shell/composableMessage.js';
|
|
14
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
15
|
-
const __dirname = dirname(__filename);
|
|
16
|
-
const PROJECT_DIR = join(__dirname, '../..');
|
|
17
|
-
// ANSI escape codes
|
|
18
|
-
const COLORS = {
|
|
19
|
-
reset: '\x1b[0m',
|
|
20
|
-
green: '\x1b[32m',
|
|
21
|
-
red: '\x1b[31m',
|
|
22
|
-
yellow: '\x1b[33m',
|
|
23
|
-
cyan: '\x1b[36m',
|
|
24
|
-
dim: '\x1b[2m',
|
|
25
|
-
bold: '\x1b[1m',
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Run all self-tests
|
|
29
|
-
*/
|
|
30
|
-
export async function runSelfTest() {
|
|
31
|
-
console.log(`\n${COLORS.bold}╔══════════════════════════════════════════════════════════╗${COLORS.reset}`);
|
|
32
|
-
console.log(`${COLORS.bold}║ Erosolar CLI SELF-TEST SUITE ║${COLORS.reset}`);
|
|
33
|
-
console.log(`${COLORS.bold}╚══════════════════════════════════════════════════════════╝${COLORS.reset}\n`);
|
|
34
|
-
const results = [];
|
|
35
|
-
// Phase 1: Unit tests (fast, in-process)
|
|
36
|
-
console.log(`${COLORS.cyan}▶ Phase 1: Unit Tests (in-process)${COLORS.reset}\n`);
|
|
37
|
-
results.push(...await runUnitTests());
|
|
38
|
-
// Phase 2: CLI launch tests (separate process)
|
|
39
|
-
console.log(`\n${COLORS.cyan}▶ Phase 2: CLI Runtime Tests (separate process)${COLORS.reset}\n`);
|
|
40
|
-
results.push(...await runCLITests());
|
|
41
|
-
// Phase 3: Integration tests (if time permits)
|
|
42
|
-
console.log(`\n${COLORS.cyan}▶ Phase 3: Integration Tests${COLORS.reset}\n`);
|
|
43
|
-
results.push(...await runIntegrationTests());
|
|
44
|
-
// Summary
|
|
45
|
-
printSummary(results);
|
|
46
|
-
return results.every(r => r.passed);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Run unit tests for core modules
|
|
50
|
-
*/
|
|
51
|
-
async function runUnitTests() {
|
|
52
|
-
const results = [];
|
|
53
|
-
// Test 1: ComposableMessageBuilder - Paste handling (paste chips removed)
|
|
54
|
-
results.push(await runTest('ComposableMessageBuilder: Basic paste handling', () => {
|
|
55
|
-
const builder = new ComposableMessageBuilder();
|
|
56
|
-
const code = 'function test() {\n return true;\n}';
|
|
57
|
-
const id = builder.addPaste(code);
|
|
58
|
-
if (!id)
|
|
59
|
-
throw new Error('Paste should be accepted');
|
|
60
|
-
const part = builder.getPart(id);
|
|
61
|
-
if (!part || part.type !== 'paste')
|
|
62
|
-
throw new Error('Paste part not found');
|
|
63
|
-
if (part.content !== code)
|
|
64
|
-
throw new Error('Paste content mismatch');
|
|
65
|
-
}));
|
|
66
|
-
return results;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Run CLI tests in separate process
|
|
70
|
-
*/
|
|
71
|
-
async function runCLITests() {
|
|
72
|
-
const results = [];
|
|
73
|
-
// Test 1: CLI starts successfully
|
|
74
|
-
results.push(await runTest('CLI: Starts without errors', async () => {
|
|
75
|
-
const ctx = await launchCLI();
|
|
76
|
-
try {
|
|
77
|
-
await waitForOutput(ctx, /agi|welcome|ready/i, 10000);
|
|
78
|
-
}
|
|
79
|
-
finally {
|
|
80
|
-
await stopCLI(ctx);
|
|
81
|
-
}
|
|
82
|
-
}));
|
|
83
|
-
// Test 2: CLI responds to /help
|
|
84
|
-
results.push(await runTest('CLI: /help command works', async () => {
|
|
85
|
-
const ctx = await launchCLI();
|
|
86
|
-
try {
|
|
87
|
-
await waitForOutput(ctx, /agi|welcome|ready/i, 10000);
|
|
88
|
-
ctx.cli?.stdin?.write('/help\n');
|
|
89
|
-
await waitForOutput(ctx, /command|help|available/i, 5000);
|
|
90
|
-
}
|
|
91
|
-
finally {
|
|
92
|
-
await stopCLI(ctx);
|
|
93
|
-
}
|
|
94
|
-
}));
|
|
95
|
-
// Test 3: CLI handles /clear command
|
|
96
|
-
results.push(await runTest('CLI: /clear command works', async () => {
|
|
97
|
-
const ctx = await launchCLI();
|
|
98
|
-
try {
|
|
99
|
-
await waitForOutput(ctx, /agi|welcome|ready/i, 10000);
|
|
100
|
-
ctx.cli?.stdin?.write('/clear\n');
|
|
101
|
-
await wait(500);
|
|
102
|
-
// Should not crash
|
|
103
|
-
if (ctx.errors.toLowerCase().includes('crash') || ctx.errors.toLowerCase().includes('fatal')) {
|
|
104
|
-
throw new Error(`CLI crashed on /clear: ${ctx.errors}`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
finally {
|
|
108
|
-
await stopCLI(ctx);
|
|
109
|
-
}
|
|
110
|
-
}));
|
|
111
|
-
// Test 4: CLI exits cleanly with /exit or Ctrl+D
|
|
112
|
-
results.push(await runTest('CLI: Graceful shutdown (Ctrl+C/D)', async () => {
|
|
113
|
-
const ctx = await launchCLI();
|
|
114
|
-
try {
|
|
115
|
-
await waitForOutput(ctx, /agi|welcome|ready/i, 10000);
|
|
116
|
-
// Send Ctrl+C followed by Ctrl+D for graceful shutdown
|
|
117
|
-
ctx.cli?.stdin?.write('\x03'); // Ctrl+C
|
|
118
|
-
await wait(300);
|
|
119
|
-
ctx.cli?.stdin?.write('\x04'); // Ctrl+D
|
|
120
|
-
// Wait for process to exit
|
|
121
|
-
await new Promise((resolve) => {
|
|
122
|
-
const timeout = setTimeout(() => {
|
|
123
|
-
// Force kill if graceful shutdown didn't work - this is acceptable
|
|
124
|
-
ctx.cli?.kill('SIGTERM');
|
|
125
|
-
resolve();
|
|
126
|
-
}, 3000);
|
|
127
|
-
ctx.cli?.on('exit', () => {
|
|
128
|
-
clearTimeout(timeout);
|
|
129
|
-
resolve();
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
finally {
|
|
134
|
-
// Already handled
|
|
135
|
-
}
|
|
136
|
-
}));
|
|
137
|
-
return results;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Run integration tests
|
|
141
|
-
*/
|
|
142
|
-
async function runIntegrationTests() {
|
|
143
|
-
const results = [];
|
|
144
|
-
// Test 1: Version flag works
|
|
145
|
-
results.push(await runTest('Integration: --version flag', async () => {
|
|
146
|
-
const result = await runCLICommand(['--version']);
|
|
147
|
-
if (!result.output.includes('agi-cli v')) {
|
|
148
|
-
throw new Error(`Version not shown: ${result.output}`);
|
|
149
|
-
}
|
|
150
|
-
}));
|
|
151
|
-
// Test 2: Help flag works
|
|
152
|
-
results.push(await runTest('Integration: --help flag', async () => {
|
|
153
|
-
const result = await runCLICommand(['--help']);
|
|
154
|
-
if (!result.output.includes('Usage:')) {
|
|
155
|
-
throw new Error(`Help not shown: ${result.output}`);
|
|
156
|
-
}
|
|
157
|
-
}));
|
|
158
|
-
// Test 3: Invalid flag handling
|
|
159
|
-
results.push(await runTest('Integration: Invalid flag handling', async () => {
|
|
160
|
-
// Should not crash on unknown flags (just pass them through or ignore)
|
|
161
|
-
const result = await runCLICommand(['--invalid-flag-xyz'], 3000);
|
|
162
|
-
// Just check it doesn't crash with unhandled exception
|
|
163
|
-
if (result.errors.includes('unhandled') || result.errors.includes('uncaught')) {
|
|
164
|
-
throw new Error(`Unhandled exception on invalid flag: ${result.errors}`);
|
|
165
|
-
}
|
|
166
|
-
}));
|
|
167
|
-
return results;
|
|
168
|
-
}
|
|
169
|
-
// ============================================================================
|
|
170
|
-
// HELPER FUNCTIONS
|
|
171
|
-
// ============================================================================
|
|
172
|
-
async function runTest(name, fn) {
|
|
173
|
-
const start = Date.now();
|
|
174
|
-
try {
|
|
175
|
-
await fn();
|
|
176
|
-
const duration = Date.now() - start;
|
|
177
|
-
console.log(` ${COLORS.green}✓${COLORS.reset} ${name} ${COLORS.dim}(${duration}ms)${COLORS.reset}`);
|
|
178
|
-
return { name, passed: true, duration };
|
|
179
|
-
}
|
|
180
|
-
catch (error) {
|
|
181
|
-
const duration = Date.now() - start;
|
|
182
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
183
|
-
console.log(` ${COLORS.red}✗${COLORS.reset} ${name} ${COLORS.dim}(${duration}ms)${COLORS.reset}`);
|
|
184
|
-
console.log(` ${COLORS.red}${message}${COLORS.reset}`);
|
|
185
|
-
return { name, passed: false, duration, error: message };
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
async function launchCLI() {
|
|
189
|
-
const ctx = {
|
|
190
|
-
cli: null,
|
|
191
|
-
output: '',
|
|
192
|
-
errors: '',
|
|
193
|
-
};
|
|
194
|
-
const cliPath = join(PROJECT_DIR, 'dist/bin/agi.js');
|
|
195
|
-
ctx.cli = spawn('node', [cliPath], {
|
|
196
|
-
cwd: PROJECT_DIR,
|
|
197
|
-
env: {
|
|
198
|
-
...process.env,
|
|
199
|
-
NO_COLOR: '1',
|
|
200
|
-
FORCE_COLOR: '0',
|
|
201
|
-
CI: '1',
|
|
202
|
-
},
|
|
203
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
204
|
-
});
|
|
205
|
-
ctx.cli.stdout?.on('data', (data) => {
|
|
206
|
-
ctx.output += data.toString();
|
|
207
|
-
});
|
|
208
|
-
ctx.cli.stderr?.on('data', (data) => {
|
|
209
|
-
ctx.errors += data.toString();
|
|
210
|
-
});
|
|
211
|
-
return ctx;
|
|
212
|
-
}
|
|
213
|
-
async function stopCLI(ctx) {
|
|
214
|
-
if (!ctx.cli)
|
|
215
|
-
return;
|
|
216
|
-
return new Promise((resolve) => {
|
|
217
|
-
const timeout = setTimeout(() => {
|
|
218
|
-
ctx.cli?.kill('SIGKILL');
|
|
219
|
-
resolve();
|
|
220
|
-
}, 3000);
|
|
221
|
-
ctx.cli.on('exit', () => {
|
|
222
|
-
clearTimeout(timeout);
|
|
223
|
-
resolve();
|
|
224
|
-
});
|
|
225
|
-
ctx.cli?.stdin?.write('\x03'); // Ctrl+C
|
|
226
|
-
setTimeout(() => {
|
|
227
|
-
ctx.cli?.stdin?.write('\x04'); // Ctrl+D
|
|
228
|
-
}, 500);
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
async function waitForOutput(ctx, pattern, timeout) {
|
|
232
|
-
const start = Date.now();
|
|
233
|
-
return new Promise((resolve, reject) => {
|
|
234
|
-
const check = () => {
|
|
235
|
-
if (pattern.test(ctx.output)) {
|
|
236
|
-
resolve();
|
|
237
|
-
return;
|
|
238
|
-
}
|
|
239
|
-
if (Date.now() - start > timeout) {
|
|
240
|
-
reject(new Error(`Timeout waiting for pattern ${pattern}. Output: ${ctx.output.slice(-500)}`));
|
|
241
|
-
return;
|
|
242
|
-
}
|
|
243
|
-
setTimeout(check, 100);
|
|
244
|
-
};
|
|
245
|
-
check();
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
async function wait(ms) {
|
|
249
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
250
|
-
}
|
|
251
|
-
async function runCLICommand(args, timeout = 5000) {
|
|
252
|
-
return new Promise((resolve) => {
|
|
253
|
-
const cliPath = join(PROJECT_DIR, 'dist/bin/agi.js');
|
|
254
|
-
let output = '';
|
|
255
|
-
let errors = '';
|
|
256
|
-
const proc = spawn('node', [cliPath, ...args], {
|
|
257
|
-
cwd: PROJECT_DIR,
|
|
258
|
-
env: { ...process.env, NO_COLOR: '1' },
|
|
259
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
260
|
-
});
|
|
261
|
-
const timer = setTimeout(() => {
|
|
262
|
-
proc.kill('SIGKILL');
|
|
263
|
-
}, timeout);
|
|
264
|
-
proc.stdout?.on('data', (data) => { output += data.toString(); });
|
|
265
|
-
proc.stderr?.on('data', (data) => { errors += data.toString(); });
|
|
266
|
-
proc.on('exit', (code) => {
|
|
267
|
-
clearTimeout(timer);
|
|
268
|
-
resolve({ output, errors, exitCode: code ?? 0 });
|
|
269
|
-
});
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
|
-
function printSummary(results) {
|
|
273
|
-
const passed = results.filter(r => r.passed).length;
|
|
274
|
-
const failed = results.filter(r => !r.passed).length;
|
|
275
|
-
const totalDuration = results.reduce((sum, r) => sum + r.duration, 0);
|
|
276
|
-
console.log(`\n${COLORS.bold}════════════════════════════════════════════════════════════${COLORS.reset}`);
|
|
277
|
-
console.log(`${COLORS.bold} TEST SUMMARY${COLORS.reset}`);
|
|
278
|
-
console.log(`${COLORS.bold}════════════════════════════════════════════════════════════${COLORS.reset}`);
|
|
279
|
-
console.log(` Total: ${results.length}`);
|
|
280
|
-
console.log(` ${COLORS.green}Passed: ${passed}${COLORS.reset}`);
|
|
281
|
-
if (failed > 0) {
|
|
282
|
-
console.log(` ${COLORS.red}Failed: ${failed}${COLORS.reset}`);
|
|
283
|
-
}
|
|
284
|
-
console.log(` Duration: ${(totalDuration / 1000).toFixed(2)}s`);
|
|
285
|
-
console.log();
|
|
286
|
-
if (failed === 0) {
|
|
287
|
-
console.log(`${COLORS.green}${COLORS.bold} ✓ ALL TESTS PASSED${COLORS.reset}\n`);
|
|
288
|
-
}
|
|
289
|
-
else {
|
|
290
|
-
console.log(`${COLORS.red}${COLORS.bold} ✗ SOME TESTS FAILED${COLORS.reset}`);
|
|
291
|
-
console.log(`\n Failed tests:`);
|
|
292
|
-
for (const r of results.filter(r => !r.passed)) {
|
|
293
|
-
console.log(` - ${r.name}: ${r.error}`);
|
|
294
|
-
}
|
|
295
|
-
console.log();
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
//# sourceMappingURL=selfTest.js.map
|
package/dist/bin/selfTest.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selfTest.js","sourceRoot":"","sources":["../../src/bin/selfTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Non-interactive print mode. Runs the coding agent once on a single prompt
|
|
3
|
-
* and returns its final answer, for `erosolar -p "..."` / piped stdin —
|
|
4
|
-
* scripting, pipelines, and CI where there is no TTY. Bring-your-own-key:
|
|
5
|
-
* createProvider throws a clear "set your DeepSeek key" error if no key is
|
|
6
|
-
* configured, which the caller surfaces on stderr.
|
|
7
|
-
*/
|
|
8
|
-
export interface PrintResult {
|
|
9
|
-
content: string;
|
|
10
|
-
toolsUsed: string[];
|
|
11
|
-
elapsedMs?: number;
|
|
12
|
-
model: string;
|
|
13
|
-
}
|
|
14
|
-
export declare function runPrintMode(prompt: string, opts?: {
|
|
15
|
-
model?: string;
|
|
16
|
-
}): Promise<PrintResult>;
|
|
17
|
-
//# sourceMappingURL=printMode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"printMode.d.ts","sourceRoot":"","sources":["../../src/headless/printMode.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA6BtG"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Non-interactive print mode. Runs the coding agent once on a single prompt
|
|
3
|
-
* and returns its final answer, for `erosolar -p "..."` / piped stdin —
|
|
4
|
-
* scripting, pipelines, and CI where there is no TTY. Bring-your-own-key:
|
|
5
|
-
* createProvider throws a clear "set your DeepSeek key" error if no key is
|
|
6
|
-
* configured, which the caller surfaces on stderr.
|
|
7
|
-
*/
|
|
8
|
-
import { loadAllSecrets } from '../core/secretStore.js';
|
|
9
|
-
import { registerDefaultProviderPlugins } from '../plugins/providers/index.js';
|
|
10
|
-
import { createProvider } from '../providers/providerFactory.js';
|
|
11
|
-
import { resolveProfileConfig } from '../config.js';
|
|
12
|
-
import { listAgentProfiles } from '../core/agentProfiles.js';
|
|
13
|
-
import { createLeanAgent } from '../leanAgent.js';
|
|
14
|
-
export async function runPrintMode(prompt, opts = {}) {
|
|
15
|
-
// Pick up a key set via `erosolar --key` / /secrets (stored on disk), then
|
|
16
|
-
// env. Importing config.js above has already registered the agent profiles.
|
|
17
|
-
loadAllSecrets();
|
|
18
|
-
registerDefaultProviderPlugins();
|
|
19
|
-
const profile = listAgentProfiles()[0];
|
|
20
|
-
const cfg = resolveProfileConfig(profile ? profile.name : 'erosolar-code', null);
|
|
21
|
-
// --model selects the DeepSeek variant for this run (e.g. deepseek-v4-flash).
|
|
22
|
-
const model = opts.model?.trim() || cfg.model;
|
|
23
|
-
const provider = createProvider({
|
|
24
|
-
provider: cfg.provider,
|
|
25
|
-
model,
|
|
26
|
-
...(typeof cfg.temperature === 'number' ? { temperature: cfg.temperature } : {}),
|
|
27
|
-
...(typeof cfg.maxTokens === 'number' ? { maxTokens: cfg.maxTokens } : {}),
|
|
28
|
-
});
|
|
29
|
-
const agent = createLeanAgent({
|
|
30
|
-
provider,
|
|
31
|
-
providerId: cfg.provider,
|
|
32
|
-
modelId: model,
|
|
33
|
-
systemPrompt: cfg.systemPrompt,
|
|
34
|
-
workingDir: process.cwd(),
|
|
35
|
-
});
|
|
36
|
-
// Non-streaming so stdout is the clean final answer, nothing else.
|
|
37
|
-
const res = await agent.chat(prompt, false);
|
|
38
|
-
return { content: res.content, toolsUsed: res.toolsUsed, elapsedMs: res.elapsedMs, model };
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=printMode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"printMode.js","sourceRoot":"","sources":["../../src/headless/printMode.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AASlD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,OAA2B,EAAE;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,cAAc,EAAE,CAAC;IACjB,8BAA8B,EAAE,CAAC;IAEjC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACjF,8EAA8E;IAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC;IAE9C,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK;QACL,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,eAAe,CAAC;QAC5B,QAAQ;QACR,UAAU,EAAE,GAAG,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;KAC1B,CAAC,CAAC;IAEH,mEAAmE;IACnE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;AAC7F,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Anthropic Provider Plugin
|
|
3
|
-
*
|
|
4
|
-
* Registers the Anthropic provider for Claude models via OpenAI-compatible endpoint.
|
|
5
|
-
* Note: Uses OpenRouter or similar proxy for OpenAI-compatible Anthropic access.
|
|
6
|
-
* For direct Anthropic API, use ANTHROPIC_BASE_URL env var.
|
|
7
|
-
*/
|
|
8
|
-
export declare function registerAnthropicProviderPlugin(): void;
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/anthropic/index.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAgCtD"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { OpenAIChatCompletionsProvider } from '../../../providers/openaiChatCompletionsProvider.js';
|
|
2
|
-
import { registerProvider } from '../../../providers/providerFactory.js';
|
|
3
|
-
import { withProviderResilience } from '../../../providers/resilientProvider.js';
|
|
4
|
-
let registered = false;
|
|
5
|
-
/**
|
|
6
|
-
* Anthropic Provider Plugin
|
|
7
|
-
*
|
|
8
|
-
* Registers the Anthropic provider for Claude models via OpenAI-compatible endpoint.
|
|
9
|
-
* Note: Uses OpenRouter or similar proxy for OpenAI-compatible Anthropic access.
|
|
10
|
-
* For direct Anthropic API, use ANTHROPIC_BASE_URL env var.
|
|
11
|
-
*/
|
|
12
|
-
export function registerAnthropicProviderPlugin() {
|
|
13
|
-
if (registered) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
registerProvider('anthropic', (config) => {
|
|
17
|
-
// Support custom base URL for OpenAI-compatible Anthropic proxies
|
|
18
|
-
const baseURL = process.env['ANTHROPIC_BASE_URL'] || 'https://api.anthropic.com/v1';
|
|
19
|
-
const baseProvider = new OpenAIChatCompletionsProvider({
|
|
20
|
-
apiKey: requireEnv('ANTHROPIC_API_KEY'),
|
|
21
|
-
model: config.model,
|
|
22
|
-
baseURL,
|
|
23
|
-
providerId: 'anthropic',
|
|
24
|
-
timeout: 24 * 60 * 60 * 1000, // 24 hours
|
|
25
|
-
maxRetries: 3,
|
|
26
|
-
...(typeof config.temperature === 'number' ? { temperature: config.temperature } : {}),
|
|
27
|
-
...(typeof config.maxTokens === 'number' ? { maxTokens: config.maxTokens } : {}),
|
|
28
|
-
});
|
|
29
|
-
return withProviderResilience(baseProvider, 'anthropic', {
|
|
30
|
-
maxRequestsPerMinute: 60,
|
|
31
|
-
maxRetries: 3,
|
|
32
|
-
baseDelayMs: 1000,
|
|
33
|
-
maxDelayMs: 30000,
|
|
34
|
-
enableCircuitBreaker: true,
|
|
35
|
-
circuitBreakerThreshold: 5,
|
|
36
|
-
circuitBreakerResetMs: 60000,
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
registered = true;
|
|
40
|
-
}
|
|
41
|
-
function requireEnv(name) {
|
|
42
|
-
const value = process.env[name];
|
|
43
|
-
if (!value) {
|
|
44
|
-
throw new Error(`Missing required environment variable ${name}.`);
|
|
45
|
-
}
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/anthropic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B;IAC7C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;QACvC,kEAAkE;QAClE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,8BAA8B,CAAC;QAEpF,MAAM,YAAY,GAAG,IAAI,6BAA6B,CAAC;YACrD,MAAM,EAAE,UAAU,CAAC,mBAAmB,CAAC;YACvC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO;YACP,UAAU,EAAE,WAAW;YACvB,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;YACzC,UAAU,EAAE,CAAC;YACb,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC,CAAC;QAEH,OAAO,sBAAsB,CAAC,YAAY,EAAE,WAAW,EAAE;YACvD,oBAAoB,EAAE,EAAE;YACxB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,KAAK;YACjB,oBAAoB,EAAE,IAAI;YAC1B,uBAAuB,EAAE,CAAC;YAC1B,qBAAqB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenAI Provider Plugin
|
|
3
|
-
*
|
|
4
|
-
* Registers the OpenAI provider with resilience for:
|
|
5
|
-
* - GPT-5, GPT-4, o1, o3 series models
|
|
6
|
-
* - Rate limiting with exponential backoff
|
|
7
|
-
* - Circuit breaker for cascading failure prevention
|
|
8
|
-
*/
|
|
9
|
-
export declare function registerOpenAIProviderPlugin(): void;
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/openai/index.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CA6BnD"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { OpenAIChatCompletionsProvider } from '../../../providers/openaiChatCompletionsProvider.js';
|
|
2
|
-
import { registerProvider } from '../../../providers/providerFactory.js';
|
|
3
|
-
import { withProviderResilience } from '../../../providers/resilientProvider.js';
|
|
4
|
-
let registered = false;
|
|
5
|
-
/**
|
|
6
|
-
* OpenAI Provider Plugin
|
|
7
|
-
*
|
|
8
|
-
* Registers the OpenAI provider with resilience for:
|
|
9
|
-
* - GPT-5, GPT-4, o1, o3 series models
|
|
10
|
-
* - Rate limiting with exponential backoff
|
|
11
|
-
* - Circuit breaker for cascading failure prevention
|
|
12
|
-
*/
|
|
13
|
-
export function registerOpenAIProviderPlugin() {
|
|
14
|
-
if (registered) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
registerProvider('openai', (config) => {
|
|
18
|
-
const baseProvider = new OpenAIChatCompletionsProvider({
|
|
19
|
-
apiKey: requireEnv('OPENAI_API_KEY'),
|
|
20
|
-
model: config.model,
|
|
21
|
-
baseURL: 'https://api.openai.com/v1',
|
|
22
|
-
providerId: 'openai',
|
|
23
|
-
timeout: 24 * 60 * 60 * 1000, // 24 hours
|
|
24
|
-
maxRetries: 3,
|
|
25
|
-
...(typeof config.temperature === 'number' ? { temperature: config.temperature } : {}),
|
|
26
|
-
...(typeof config.maxTokens === 'number' ? { maxTokens: config.maxTokens } : {}),
|
|
27
|
-
});
|
|
28
|
-
return withProviderResilience(baseProvider, 'openai', {
|
|
29
|
-
maxRequestsPerMinute: 60,
|
|
30
|
-
maxRetries: 3,
|
|
31
|
-
baseDelayMs: 1000,
|
|
32
|
-
maxDelayMs: 30000,
|
|
33
|
-
enableCircuitBreaker: true,
|
|
34
|
-
circuitBreakerThreshold: 5,
|
|
35
|
-
circuitBreakerResetMs: 60000,
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
registered = true;
|
|
39
|
-
}
|
|
40
|
-
function requireEnv(name) {
|
|
41
|
-
const value = process.env[name];
|
|
42
|
-
if (!value) {
|
|
43
|
-
throw new Error(`Missing required environment variable ${name}.`);
|
|
44
|
-
}
|
|
45
|
-
return value;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/openai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B;IAC1C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACpC,MAAM,YAAY,GAAG,IAAI,6BAA6B,CAAC;YACrD,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,2BAA2B;YACpC,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;YACzC,UAAU,EAAE,CAAC;YACb,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC,CAAC;QAEH,OAAO,sBAAsB,CAAC,YAAY,EAAE,QAAQ,EAAE;YACpD,oBAAoB,EAAE,EAAE;YACxB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,KAAK;YACjB,oBAAoB,EAAE,IAAI;YAC1B,uBAAuB,EAAE,CAAC;YAC1B,qBAAqB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/xai/index.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CA6BhD"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { OpenAIChatCompletionsProvider } from '../../../providers/openaiChatCompletionsProvider.js';
|
|
2
|
-
import { registerProvider } from '../../../providers/providerFactory.js';
|
|
3
|
-
import { withProviderResilience } from '../../../providers/resilientProvider.js';
|
|
4
|
-
let registered = false;
|
|
5
|
-
/**
|
|
6
|
-
* xAI Provider Plugin
|
|
7
|
-
*
|
|
8
|
-
* Registers the xAI provider for Grok models:
|
|
9
|
-
* - Grok 4.1 Fast Reasoning
|
|
10
|
-
* - Grok 4
|
|
11
|
-
* - OpenAI-compatible API
|
|
12
|
-
*/
|
|
13
|
-
export function registerXAIProviderPlugin() {
|
|
14
|
-
if (registered) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
registerProvider('xai', (config) => {
|
|
18
|
-
const baseProvider = new OpenAIChatCompletionsProvider({
|
|
19
|
-
apiKey: requireEnv('XAI_API_KEY'),
|
|
20
|
-
model: config.model,
|
|
21
|
-
baseURL: 'https://api.x.ai/v1',
|
|
22
|
-
providerId: 'xai',
|
|
23
|
-
timeout: 24 * 60 * 60 * 1000, // 24 hours
|
|
24
|
-
maxRetries: 3,
|
|
25
|
-
...(typeof config.temperature === 'number' ? { temperature: config.temperature } : {}),
|
|
26
|
-
...(typeof config.maxTokens === 'number' ? { maxTokens: config.maxTokens } : {}),
|
|
27
|
-
});
|
|
28
|
-
return withProviderResilience(baseProvider, 'xai', {
|
|
29
|
-
maxRequestsPerMinute: 60,
|
|
30
|
-
maxRetries: 3,
|
|
31
|
-
baseDelayMs: 1000,
|
|
32
|
-
maxDelayMs: 30000,
|
|
33
|
-
enableCircuitBreaker: true,
|
|
34
|
-
circuitBreakerThreshold: 5,
|
|
35
|
-
circuitBreakerResetMs: 60000,
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
registered = true;
|
|
39
|
-
}
|
|
40
|
-
function requireEnv(name) {
|
|
41
|
-
const value = process.env[name];
|
|
42
|
-
if (!value) {
|
|
43
|
-
throw new Error(`Missing required environment variable ${name}.`);
|
|
44
|
-
}
|
|
45
|
-
return value;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/xai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB;IACvC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;QACjC,MAAM,YAAY,GAAG,IAAI,6BAA6B,CAAC;YACrD,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,qBAAqB;YAC9B,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;YACzC,UAAU,EAAE,CAAC;YACb,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC,CAAC;QAEH,OAAO,sBAAsB,CAAC,YAAY,EAAE,KAAK,EAAE;YACjD,oBAAoB,EAAE,EAAE;YACxB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,KAAK;YACjB,oBAAoB,EAAE,IAAI;YAC1B,uBAAuB,EAAE,CAAC;YAC1B,qBAAqB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|