@trenchwork/erosolar 1.1.40 → 1.1.41
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 -21
- package/README.md +236 -225
- package/agents/erosolar-code.rules.json +199 -199
- package/dist/bin/deepseek.js +18 -198
- package/dist/bin/deepseek.js.map +1 -1
- package/dist/bin/erosolar.js +0 -0
- package/dist/capabilities/enhancedGitCapability.js +63 -63
- package/dist/config.js +12 -12
- package/dist/contracts/agent-profiles.schema.json +5 -23
- package/dist/contracts/agent-schemas.json +31 -343
- package/dist/contracts/models.schema.json +9 -9
- package/dist/contracts/module-schema.json +367 -367
- package/dist/contracts/schemas/agent-profile.schema.json +157 -157
- package/dist/contracts/schemas/agent-rules.schema.json +238 -238
- package/dist/contracts/schemas/agent-schemas.schema.json +528 -528
- package/dist/contracts/schemas/agent.schema.json +90 -90
- package/dist/contracts/schemas/tool-selection.schema.json +174 -174
- package/dist/contracts/tools.schema.json +42 -42
- package/dist/contracts/unified-schema.json +8 -628
- package/dist/core/constants.js +7 -7
- package/dist/core/contextManager.js +16 -16
- 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/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 +1 -14
- package/dist/core/secretStore.js.map +1 -1
- package/dist/core/taskCompletionDetector.js +17 -17
- package/dist/headless/interactiveShell.d.ts.map +1 -1
- package/dist/headless/interactiveShell.js +7 -58
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/leanAgent.js +38 -38
- 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/runtime/agentSession.js +4 -4
- package/dist/shell/vimMode.js +29 -29
- package/dist/tools/hitlTools.js +18 -18
- package/dist/tools/webTools.d.ts.map +1 -1
- package/dist/tools/webTools.js +10 -0
- package/dist/tools/webTools.js.map +1 -1
- package/package.json +116 -123
- package/scripts/postinstall.cjs +57 -58
- 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/core/constants.js
CHANGED
|
@@ -15,13 +15,13 @@ export const TASK_FULLY_COMPLETE = 'TASK_FULLY_COMPLETE';
|
|
|
15
15
|
* - Creating fictional reports, summaries, or deliverables
|
|
16
16
|
* - Generating random/synthetic data disguised as real results
|
|
17
17
|
*/
|
|
18
|
-
export const NO_SIMULATIONS_POLICY = `STRICT NO-SIMULATION POLICY:
|
|
19
|
-
- Execute REAL operations only - NO simulations, NO mocks, NO fake data
|
|
20
|
-
- Never create fictional reports, summaries, or deliverables
|
|
21
|
-
- Never generate "simulated" results or hypothetical outcomes
|
|
22
|
-
- If a task cannot be executed for real, report inability clearly
|
|
23
|
-
- All outputs must be genuine results from actual execution
|
|
24
|
-
- Forbidden words in deliverables: "simulated", "hypothetical", "theoretical", "mock", "fake"
|
|
18
|
+
export const NO_SIMULATIONS_POLICY = `STRICT NO-SIMULATION POLICY:
|
|
19
|
+
- Execute REAL operations only - NO simulations, NO mocks, NO fake data
|
|
20
|
+
- Never create fictional reports, summaries, or deliverables
|
|
21
|
+
- Never generate "simulated" results or hypothetical outcomes
|
|
22
|
+
- If a task cannot be executed for real, report inability clearly
|
|
23
|
+
- All outputs must be genuine results from actual execution
|
|
24
|
+
- Forbidden words in deliverables: "simulated", "hypothetical", "theoretical", "mock", "fake"
|
|
25
25
|
`;
|
|
26
26
|
/**
|
|
27
27
|
* Patterns that indicate simulation/fake content in output
|
|
@@ -12,22 +12,22 @@ import { calculateContextThresholds } from './contextWindow.js';
|
|
|
12
12
|
/**
|
|
13
13
|
* Summarization prompt template
|
|
14
14
|
*/
|
|
15
|
-
export const SUMMARIZATION_PROMPT = `Create a compact but reliable summary of the earlier conversation.
|
|
16
|
-
|
|
17
|
-
Keep:
|
|
18
|
-
- Decisions, preferences, and open questions
|
|
19
|
-
- File paths, function/class names, APIs, and error messages with fixes
|
|
20
|
-
- What was completed vs. still pending (tests, TODOs)
|
|
21
|
-
|
|
22
|
-
Format:
|
|
23
|
-
## Key Context
|
|
24
|
-
- ...
|
|
25
|
-
## Work Completed
|
|
26
|
-
- ...
|
|
27
|
-
## Open Items
|
|
28
|
-
- ...
|
|
29
|
-
|
|
30
|
-
Conversation:
|
|
15
|
+
export const SUMMARIZATION_PROMPT = `Create a compact but reliable summary of the earlier conversation.
|
|
16
|
+
|
|
17
|
+
Keep:
|
|
18
|
+
- Decisions, preferences, and open questions
|
|
19
|
+
- File paths, function/class names, APIs, and error messages with fixes
|
|
20
|
+
- What was completed vs. still pending (tests, TODOs)
|
|
21
|
+
|
|
22
|
+
Format:
|
|
23
|
+
## Key Context
|
|
24
|
+
- ...
|
|
25
|
+
## Work Completed
|
|
26
|
+
- ...
|
|
27
|
+
## Open Items
|
|
28
|
+
- ...
|
|
29
|
+
|
|
30
|
+
Conversation:
|
|
31
31
|
{conversation}`;
|
|
32
32
|
/**
|
|
33
33
|
* Pre-defined AI Flow Patterns for intelligent context management
|
|
@@ -36,9 +36,6 @@ export interface DiscoveryResult {
|
|
|
36
36
|
export declare function getCachedDiscoveredModels(): ModelConfig[];
|
|
37
37
|
/**
|
|
38
38
|
* Discover models from all configured providers
|
|
39
|
-
*
|
|
40
|
-
* PERF: Uses Promise.allSettled for parallel discovery - all providers queried
|
|
41
|
-
* simultaneously. No single slow/failed provider blocks the others.
|
|
42
39
|
*/
|
|
43
40
|
export declare function discoverAllModels(): Promise<DiscoveryResult>;
|
|
44
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelDiscovery.d.ts","sourceRoot":"","sources":["../../src/core/modelDiscovery.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"modelDiscovery.d.ts","sourceRoot":"","sources":["../../src/core/modelDiscovery.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AA4B1D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAS9F;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,WAAW,EAAE,CAqBzD;AA+DD;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,eAAe,CAAC,CAsFlE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAQjD;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAuDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAMrF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAQ3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAiBpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAiBnD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,EAAE,CAEvD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,YAAY,EAAE,CAEzD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,YAAY,GAAG,IAAI,CAc/D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAaxE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0BD;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA4C1E"}
|
|
@@ -21,12 +21,7 @@ const CACHE_FILE = join(CACHE_DIR, 'discovered-models.json');
|
|
|
21
21
|
*/
|
|
22
22
|
const CACHE_EXPIRATION_MS = 24 * 60 * 60 * 1000;
|
|
23
23
|
const MODEL_PROVIDER_HINTS = [
|
|
24
|
-
{ provider: 'openai', patterns: [/^gpt/i, /^o1/i, /^text-embedding/i] },
|
|
25
|
-
{ provider: 'anthropic', patterns: [/^claude/i] },
|
|
26
|
-
{ provider: 'google', patterns: [/^gemini/i] },
|
|
27
24
|
{ provider: 'deepseek', patterns: [/^deepseek/i] },
|
|
28
|
-
{ provider: 'ollama', patterns: [/^llama/i, /^mistral/i, /^gemma/i, /^phi/i, /^vicuna/i] },
|
|
29
|
-
{ provider: 'xai', patterns: [/^grok/i] },
|
|
30
25
|
];
|
|
31
26
|
/**
|
|
32
27
|
* Infer provider from a model identifier.
|
|
@@ -82,153 +77,6 @@ async function saveDiscoveredModels(models) {
|
|
|
82
77
|
logDebug('Failed to save discovered models cache:', safeErrorMessage(error));
|
|
83
78
|
}
|
|
84
79
|
}
|
|
85
|
-
/**
|
|
86
|
-
* Discover models from OpenAI
|
|
87
|
-
*/
|
|
88
|
-
async function discoverOpenAIModels(apiKey) {
|
|
89
|
-
const provider = 'openai';
|
|
90
|
-
try {
|
|
91
|
-
const response = await fetch('https://api.openai.com/v1/models', {
|
|
92
|
-
headers: {
|
|
93
|
-
'Authorization': `Bearer ${apiKey}`,
|
|
94
|
-
},
|
|
95
|
-
});
|
|
96
|
-
if (!response.ok) {
|
|
97
|
-
throw new Error(`API returned ${response.status}: ${response.statusText}`);
|
|
98
|
-
}
|
|
99
|
-
const data = await response.json();
|
|
100
|
-
// Filter for GPT models only and create ModelConfig objects
|
|
101
|
-
const models = data.data
|
|
102
|
-
.filter(model => {
|
|
103
|
-
// Allow both dash and non-dash variants for newer reasoning SKUs (o1/o3)
|
|
104
|
-
return (model.id.startsWith('gpt-') ||
|
|
105
|
-
model.id.startsWith('o1') ||
|
|
106
|
-
model.id.startsWith('o3') ||
|
|
107
|
-
model.id.startsWith('codex-'));
|
|
108
|
-
})
|
|
109
|
-
.map(model => ({
|
|
110
|
-
id: model.id,
|
|
111
|
-
label: model.id,
|
|
112
|
-
provider,
|
|
113
|
-
description: `OpenAI ${model.id} (auto-discovered)`,
|
|
114
|
-
capabilities: ['chat', 'tools', 'streaming'],
|
|
115
|
-
}));
|
|
116
|
-
return {
|
|
117
|
-
provider,
|
|
118
|
-
success: true,
|
|
119
|
-
models,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
catch (error) {
|
|
123
|
-
return {
|
|
124
|
-
provider,
|
|
125
|
-
success: false,
|
|
126
|
-
models: [],
|
|
127
|
-
error: error instanceof Error ? error.message : String(error),
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Discover models from Anthropic
|
|
133
|
-
*/
|
|
134
|
-
async function discoverAnthropicModels(apiKey) {
|
|
135
|
-
const provider = 'anthropic';
|
|
136
|
-
try {
|
|
137
|
-
const response = await fetch('https://api.anthropic.com/v1/models', {
|
|
138
|
-
headers: {
|
|
139
|
-
'x-api-key': apiKey,
|
|
140
|
-
'anthropic-version': '2023-06-01',
|
|
141
|
-
},
|
|
142
|
-
});
|
|
143
|
-
if (!response.ok) {
|
|
144
|
-
throw new Error(`API returned ${response.status}: ${response.statusText}`);
|
|
145
|
-
}
|
|
146
|
-
const data = await response.json();
|
|
147
|
-
const models = data.data
|
|
148
|
-
.filter(model => model.type === 'model')
|
|
149
|
-
.map(model => ({
|
|
150
|
-
id: model.id,
|
|
151
|
-
label: model.display_name || model.id,
|
|
152
|
-
provider,
|
|
153
|
-
description: `Anthropic ${model.display_name || model.id} (auto-discovered)`,
|
|
154
|
-
capabilities: ['chat', 'reasoning', 'tools', 'streaming'],
|
|
155
|
-
}));
|
|
156
|
-
return {
|
|
157
|
-
provider,
|
|
158
|
-
success: true,
|
|
159
|
-
models,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
catch (error) {
|
|
163
|
-
return {
|
|
164
|
-
provider,
|
|
165
|
-
success: false,
|
|
166
|
-
models: [],
|
|
167
|
-
error: error instanceof Error ? error.message : String(error),
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Discover models from Google Gemini
|
|
173
|
-
* Note: Google's models API often requires special permissions.
|
|
174
|
-
* Falls back to known models if API access fails.
|
|
175
|
-
*/
|
|
176
|
-
async function discoverGoogleModels(apiKey) {
|
|
177
|
-
const provider = 'google';
|
|
178
|
-
// Known Google Gemini models (fallback if API doesn't work) - Updated Dec 2025
|
|
179
|
-
const knownModels = [
|
|
180
|
-
{ id: 'gemini-3.0-pro', label: 'Gemini 3.0 Pro', provider, description: 'Latest Gemini with best reasoning and coding', capabilities: ['chat', 'reasoning', 'tools', 'streaming', 'multimodal'] },
|
|
181
|
-
{ id: 'gemini-3.0-flash', label: 'Gemini 3.0 Flash', provider, description: 'Fast Gemini 3.0 model', capabilities: ['chat', 'reasoning', 'tools', 'streaming', 'multimodal'] },
|
|
182
|
-
{ id: 'gemini-2.5-pro', label: 'Gemini 2.5 Pro', provider, description: 'Capable Gemini model with advanced reasoning', capabilities: ['chat', 'reasoning', 'tools', 'streaming', 'multimodal'] },
|
|
183
|
-
{ id: 'gemini-2.5-flash', label: 'Gemini 2.5 Flash', provider, description: 'Fast Gemini 2.5 with reasoning', capabilities: ['chat', 'reasoning', 'tools', 'streaming', 'multimodal'] },
|
|
184
|
-
{ id: 'gemini-2.0-flash', label: 'Gemini 2.0 Flash', provider, description: 'Gemini 2.0 with native tool use', capabilities: ['chat', 'tools', 'streaming', 'multimodal'] },
|
|
185
|
-
];
|
|
186
|
-
try {
|
|
187
|
-
// SECURITY: Use x-goog-api-key header instead of URL query parameter
|
|
188
|
-
// to prevent API key leakage in logs, error messages, and browser history
|
|
189
|
-
const response = await fetch('https://generativelanguage.googleapis.com/v1beta/models', {
|
|
190
|
-
headers: {
|
|
191
|
-
'x-goog-api-key': apiKey,
|
|
192
|
-
},
|
|
193
|
-
signal: AbortSignal.timeout(24 * 60 * 60 * 1000),
|
|
194
|
-
});
|
|
195
|
-
if (!response.ok) {
|
|
196
|
-
// API access restricted - return known models with warning
|
|
197
|
-
return {
|
|
198
|
-
provider,
|
|
199
|
-
success: true, // Consider it success with fallback
|
|
200
|
-
models: knownModels,
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
const data = await response.json();
|
|
204
|
-
const models = data.models
|
|
205
|
-
.filter(model => model.name.includes('gemini') &&
|
|
206
|
-
model.supportedGenerationMethods?.includes('generateContent'))
|
|
207
|
-
.map(model => {
|
|
208
|
-
const id = model.name.replace('models/', '');
|
|
209
|
-
return {
|
|
210
|
-
id,
|
|
211
|
-
label: id,
|
|
212
|
-
provider,
|
|
213
|
-
description: `${model.displayName} (auto-discovered)`,
|
|
214
|
-
capabilities: ['chat', 'reasoning', 'tools', 'streaming', 'multimodal'],
|
|
215
|
-
};
|
|
216
|
-
});
|
|
217
|
-
return {
|
|
218
|
-
provider,
|
|
219
|
-
success: true,
|
|
220
|
-
models: models.length > 0 ? models : knownModels,
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
catch {
|
|
224
|
-
// Network error or timeout - return known models
|
|
225
|
-
return {
|
|
226
|
-
provider,
|
|
227
|
-
success: true,
|
|
228
|
-
models: knownModels,
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
80
|
/**
|
|
233
81
|
* Discover models from DeepSeek (OpenAI-compatible)
|
|
234
82
|
*/
|
|
@@ -266,131 +114,8 @@ async function discoverDeepSeekModels(apiKey) {
|
|
|
266
114
|
};
|
|
267
115
|
}
|
|
268
116
|
}
|
|
269
|
-
/**
|
|
270
|
-
* Discover models from xAI (OpenAI-compatible)
|
|
271
|
-
*/
|
|
272
|
-
async function discoverXAIModels(apiKey) {
|
|
273
|
-
const provider = 'xai';
|
|
274
|
-
try {
|
|
275
|
-
const response = await fetch('https://api.x.ai/v1/models', {
|
|
276
|
-
headers: {
|
|
277
|
-
'Authorization': `Bearer ${apiKey}`,
|
|
278
|
-
},
|
|
279
|
-
});
|
|
280
|
-
if (!response.ok) {
|
|
281
|
-
throw new Error(`API returned ${response.status}: ${response.statusText}`);
|
|
282
|
-
}
|
|
283
|
-
const data = await response.json();
|
|
284
|
-
const models = data.data.map(model => ({
|
|
285
|
-
id: model.id,
|
|
286
|
-
label: model.id,
|
|
287
|
-
provider,
|
|
288
|
-
description: `xAI ${model.id} (auto-discovered)`,
|
|
289
|
-
capabilities: ['chat', 'reasoning', 'tools', 'streaming'],
|
|
290
|
-
}));
|
|
291
|
-
return {
|
|
292
|
-
provider,
|
|
293
|
-
success: true,
|
|
294
|
-
models,
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
catch (error) {
|
|
298
|
-
return {
|
|
299
|
-
provider,
|
|
300
|
-
success: false,
|
|
301
|
-
models: [],
|
|
302
|
-
error: error instanceof Error ? error.message : String(error),
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* Discover models from Ollama (local)
|
|
308
|
-
*/
|
|
309
|
-
async function discoverOllamaModels() {
|
|
310
|
-
const provider = 'ollama';
|
|
311
|
-
const baseURL = process.env['OLLAMA_BASE_URL'] || 'http://localhost:11434';
|
|
312
|
-
try {
|
|
313
|
-
const response = await fetch(`${baseURL}/api/tags`, {
|
|
314
|
-
signal: AbortSignal.timeout(24 * 60 * 60 * 1000), // 24 hour timeout
|
|
315
|
-
});
|
|
316
|
-
if (!response.ok) {
|
|
317
|
-
throw new Error(`API returned ${response.status}: ${response.statusText}`);
|
|
318
|
-
}
|
|
319
|
-
const data = await response.json();
|
|
320
|
-
const models = (data.models || []).map(model => ({
|
|
321
|
-
id: model.name,
|
|
322
|
-
label: model.name,
|
|
323
|
-
provider,
|
|
324
|
-
description: `Local Ollama model: ${model.name} (auto-discovered)`,
|
|
325
|
-
capabilities: ['chat', 'tools', 'streaming'],
|
|
326
|
-
}));
|
|
327
|
-
return {
|
|
328
|
-
provider,
|
|
329
|
-
success: true,
|
|
330
|
-
models,
|
|
331
|
-
};
|
|
332
|
-
}
|
|
333
|
-
catch (error) {
|
|
334
|
-
return {
|
|
335
|
-
provider,
|
|
336
|
-
success: false,
|
|
337
|
-
models: [],
|
|
338
|
-
error: error instanceof Error ? error.message : String(error),
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
/**
|
|
343
|
-
* Discover models from Qwen (Alibaba Cloud DashScope - OpenAI-compatible)
|
|
344
|
-
*/
|
|
345
|
-
async function discoverQwenModels(apiKey) {
|
|
346
|
-
const provider = 'qwen';
|
|
347
|
-
try {
|
|
348
|
-
// DashScope uses OpenAI-compatible API
|
|
349
|
-
const response = await fetch('https://dashscope.aliyuncs.com/compatible-mode/v1/models', {
|
|
350
|
-
headers: {
|
|
351
|
-
'Authorization': `Bearer ${apiKey}`,
|
|
352
|
-
},
|
|
353
|
-
});
|
|
354
|
-
if (!response.ok) {
|
|
355
|
-
throw new Error(`API returned ${response.status}: ${response.statusText}`);
|
|
356
|
-
}
|
|
357
|
-
const data = await response.json();
|
|
358
|
-
// Filter for Qwen models and prioritize latest versions
|
|
359
|
-
const qwenModels = data.data
|
|
360
|
-
.filter(model => model.id.toLowerCase().includes('qwen'))
|
|
361
|
-
.map(model => ({
|
|
362
|
-
id: model.id,
|
|
363
|
-
label: model.id,
|
|
364
|
-
provider,
|
|
365
|
-
description: `Alibaba Qwen ${model.id} (auto-discovered)`,
|
|
366
|
-
capabilities: ['chat', 'reasoning', 'tools', 'streaming'],
|
|
367
|
-
}));
|
|
368
|
-
return {
|
|
369
|
-
provider,
|
|
370
|
-
success: true,
|
|
371
|
-
models: qwenModels,
|
|
372
|
-
};
|
|
373
|
-
}
|
|
374
|
-
catch (error) {
|
|
375
|
-
// Fallback to known models if API fails
|
|
376
|
-
const fallbackModels = [
|
|
377
|
-
{ id: 'qwen-max', label: 'Qwen Max', provider, description: 'Qwen Max - most capable', capabilities: ['chat', 'reasoning', 'tools', 'streaming'] },
|
|
378
|
-
{ id: 'qwen-plus', label: 'Qwen Plus', provider, description: 'Qwen Plus - balanced', capabilities: ['chat', 'reasoning', 'tools', 'streaming'] },
|
|
379
|
-
{ id: 'qwen-turbo', label: 'Qwen Turbo', provider, description: 'Qwen Turbo - fast', capabilities: ['chat', 'tools', 'streaming'] },
|
|
380
|
-
];
|
|
381
|
-
return {
|
|
382
|
-
provider,
|
|
383
|
-
success: false,
|
|
384
|
-
models: fallbackModels,
|
|
385
|
-
error: error instanceof Error ? error.message : String(error),
|
|
386
|
-
};
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
117
|
/**
|
|
390
118
|
* Discover models from all configured providers
|
|
391
|
-
*
|
|
392
|
-
* PERF: Uses Promise.allSettled for parallel discovery - all providers queried
|
|
393
|
-
* simultaneously. No single slow/failed provider blocks the others.
|
|
394
119
|
*/
|
|
395
120
|
export async function discoverAllModels() {
|
|
396
121
|
const errors = [];
|
|
@@ -448,13 +173,6 @@ export async function discoverAllModels() {
|
|
|
448
173
|
totalModelsDiscovered += result.models.length;
|
|
449
174
|
}
|
|
450
175
|
else if (result.error) {
|
|
451
|
-
// Don't add Ollama connection errors (it's often not running)
|
|
452
|
-
if (result.provider === 'ollama' &&
|
|
453
|
-
(result.error.includes('ECONNREFUSED') ||
|
|
454
|
-
result.error.includes('fetch failed') ||
|
|
455
|
-
result.error.includes('Connection failed'))) {
|
|
456
|
-
continue;
|
|
457
|
-
}
|
|
458
176
|
errors.push(`${result.provider}: ${result.error}`);
|
|
459
177
|
}
|
|
460
178
|
}
|
|
@@ -508,29 +226,6 @@ const MODEL_PRIORITIES = {
|
|
|
508
226
|
'deepseek-chat': 90,
|
|
509
227
|
'deepseek-coder': 85,
|
|
510
228
|
},
|
|
511
|
-
openai: {
|
|
512
|
-
'gpt-5.2-pro': 110,
|
|
513
|
-
'gpt-5.2-codex': 105,
|
|
514
|
-
'gpt-5.2-codex-mini': 100,
|
|
515
|
-
'gpt-5': 95,
|
|
516
|
-
'gpt-4': 90,
|
|
517
|
-
'o3': 85,
|
|
518
|
-
'o1': 80,
|
|
519
|
-
},
|
|
520
|
-
anthropic: {
|
|
521
|
-
'claude-opus-4-5': 110,
|
|
522
|
-
'claude-sonnet-4-5': 105,
|
|
523
|
-
'claude-haiku-4-5': 100,
|
|
524
|
-
'claude-3': 90,
|
|
525
|
-
},
|
|
526
|
-
xai: {
|
|
527
|
-
'grok-4-1-fast-reasoning': 100,
|
|
528
|
-
'grok-4': 90,
|
|
529
|
-
},
|
|
530
|
-
google: {
|
|
531
|
-
'gemini-3.0-pro': 100,
|
|
532
|
-
'gemini-2.5-flash': 90,
|
|
533
|
-
},
|
|
534
229
|
};
|
|
535
230
|
/**
|
|
536
231
|
* Get model priority for sorting
|
|
@@ -579,17 +274,9 @@ export function isProviderConfigured(providerId) {
|
|
|
579
274
|
const config = PROVIDER_CONFIGS.find(p => p.id === providerId);
|
|
580
275
|
if (!config)
|
|
581
276
|
return false;
|
|
582
|
-
// Ollama is special - it's available if the server is running (no API key needed)
|
|
583
|
-
if (providerId === 'ollama') {
|
|
584
|
-
// We'll check this via actual connection, return true for now
|
|
585
|
-
// The actual check happens in getConfiguredProviders
|
|
586
|
-
return true;
|
|
587
|
-
}
|
|
588
|
-
// Check main env var
|
|
589
277
|
if (process.env[config.envVar]) {
|
|
590
278
|
return true;
|
|
591
279
|
}
|
|
592
|
-
// Check alternative env vars
|
|
593
280
|
if (config.altEnvVars) {
|
|
594
281
|
for (const altVar of config.altEnvVars) {
|
|
595
282
|
if (process.env[altVar]) {
|
|
@@ -605,16 +292,9 @@ export function isProviderConfigured(providerId) {
|
|
|
605
292
|
export function getProvidersStatus() {
|
|
606
293
|
return PROVIDER_CONFIGS.map(config => {
|
|
607
294
|
let configured = false;
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
configured = !!process.env['OLLAMA_BASE_URL'] || true; // Always show Ollama as option
|
|
612
|
-
}
|
|
613
|
-
else {
|
|
614
|
-
configured = !!process.env[config.envVar];
|
|
615
|
-
if (!configured && config.altEnvVars) {
|
|
616
|
-
configured = config.altEnvVars.some(v => !!process.env[v]);
|
|
617
|
-
}
|
|
295
|
+
configured = !!process.env[config.envVar];
|
|
296
|
+
if (!configured && config.altEnvVars) {
|
|
297
|
+
configured = config.altEnvVars.some(v => !!process.env[v]);
|
|
618
298
|
}
|
|
619
299
|
return {
|
|
620
300
|
id: config.id,
|
|
@@ -695,35 +375,6 @@ async function quickFetchProviderModels(providerId, apiKey, timeoutMs = 24 * 60
|
|
|
695
375
|
export async function quickCheckProviders() {
|
|
696
376
|
const checks = [];
|
|
697
377
|
for (const config of PROVIDER_CONFIGS) {
|
|
698
|
-
// Handle Ollama separately (no API key needed)
|
|
699
|
-
if (config.id === 'ollama') {
|
|
700
|
-
checks.push((async () => {
|
|
701
|
-
try {
|
|
702
|
-
const baseURL = process.env['OLLAMA_BASE_URL'] || 'http://localhost:11434';
|
|
703
|
-
const response = await fetch(`${baseURL}/api/tags`, {
|
|
704
|
-
signal: AbortSignal.timeout(24 * 60 * 60 * 1000),
|
|
705
|
-
});
|
|
706
|
-
if (response.ok) {
|
|
707
|
-
const data = await response.json();
|
|
708
|
-
const models = data.models?.map(m => m.name) || [];
|
|
709
|
-
return {
|
|
710
|
-
provider: 'ollama',
|
|
711
|
-
available: models.length > 0,
|
|
712
|
-
latestModel: models[0] || config.defaultLatestModel,
|
|
713
|
-
};
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
|
-
catch { /* ignore */ }
|
|
717
|
-
return {
|
|
718
|
-
provider: 'ollama',
|
|
719
|
-
available: false,
|
|
720
|
-
latestModel: config.defaultLatestModel,
|
|
721
|
-
error: 'Not running',
|
|
722
|
-
};
|
|
723
|
-
})());
|
|
724
|
-
continue;
|
|
725
|
-
}
|
|
726
|
-
// Check for API key
|
|
727
378
|
let apiKey = process.env[config.envVar];
|
|
728
379
|
if (!apiKey && config.altEnvVars) {
|
|
729
380
|
for (const altVar of config.altEnvVars) {
|
|
@@ -742,7 +393,6 @@ export async function quickCheckProviders() {
|
|
|
742
393
|
}));
|
|
743
394
|
continue;
|
|
744
395
|
}
|
|
745
|
-
// Query the API for actual models
|
|
746
396
|
checks.push((async () => {
|
|
747
397
|
const models = await quickFetchProviderModels(config.id, apiKey, 3000);
|
|
748
398
|
if (models.length > 0) {
|
|
@@ -753,7 +403,6 @@ export async function quickCheckProviders() {
|
|
|
753
403
|
latestModel: bestModel,
|
|
754
404
|
};
|
|
755
405
|
}
|
|
756
|
-
// API call failed or returned no models - still mark available if key exists
|
|
757
406
|
return {
|
|
758
407
|
provider: config.id,
|
|
759
408
|
available: true,
|
|
@@ -762,7 +411,6 @@ export async function quickCheckProviders() {
|
|
|
762
411
|
};
|
|
763
412
|
})());
|
|
764
413
|
}
|
|
765
|
-
// Run all checks in parallel for speed
|
|
766
414
|
return Promise.all(checks);
|
|
767
415
|
}
|
|
768
416
|
//# sourceMappingURL=modelDiscovery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelDiscovery.js","sourceRoot":"","sources":["../../src/core/modelDiscovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modelDiscovery.js","sourceRoot":"","sources":["../../src/core/modelDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quota / balance exhaustion handling for the two external services the
|
|
3
|
+
* agent leans on: Tavily (web search) and DeepSeek (the LLM provider).
|
|
4
|
+
*
|
|
5
|
+
* The goal is a single, recognizable user message when a paid quota or
|
|
6
|
+
* monthly free-tier cap is the actual cause of a failure — so the user
|
|
7
|
+
* isn't reading "Tavily API error: 432" or "402 Insufficient Balance"
|
|
8
|
+
* and guessing what to do. The helpers are pure (no I/O, no logging)
|
|
9
|
+
* so they can be exercised from both the web-tools layer and the
|
|
10
|
+
* provider layer without coupling.
|
|
11
|
+
*/
|
|
12
|
+
export declare const TAVILY_QUOTA_MESSAGE: string;
|
|
13
|
+
export declare const DEEPSEEK_QUOTA_MESSAGE: string;
|
|
14
|
+
/**
|
|
15
|
+
* Detect a Tavily response that means "you've hit your monthly quota
|
|
16
|
+
* (or rate limit) — nothing else will succeed until you top up or
|
|
17
|
+
* the cycle resets". Tavily uses 432 for usage cap, 433 for plan
|
|
18
|
+
* paused, and 429 for short-window rate limits — all three deserve
|
|
19
|
+
* the same user-facing message because the user's remediation is
|
|
20
|
+
* identical.
|
|
21
|
+
*
|
|
22
|
+
* `bodyText` is the response body, lowercased by the caller (or
|
|
23
|
+
* empty if the body could not be read). It's checked as a defence
|
|
24
|
+
* against Tavily changing status codes — quota-language in the body
|
|
25
|
+
* is sufficient.
|
|
26
|
+
*/
|
|
27
|
+
export declare function isTavilyQuotaResponse(status: number, bodyText: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Detect a DeepSeek error that means "your account balance is exhausted
|
|
30
|
+
* — top up or wait for a paid plan to refill". DeepSeek returns HTTP 402
|
|
31
|
+
* with `Insufficient Balance` in the body when the prepaid balance hits
|
|
32
|
+
* zero; that is the canonical signal. We also catch the lowercase / spaced
|
|
33
|
+
* variants and an explicit `status === 402` from the OpenAI SDK error
|
|
34
|
+
* shape (numeric `.status`, not a string).
|
|
35
|
+
*/
|
|
36
|
+
export declare function isDeepSeekQuotaError(error: unknown): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Build a quota-exhaustion Error for DeepSeek. Centralized so the
|
|
39
|
+
* agent-facing message is identical wherever a 402 is detected.
|
|
40
|
+
*/
|
|
41
|
+
export declare function buildDeepSeekQuotaError(): Error;
|
|
42
|
+
//# sourceMappingURL=quotaErrors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quotaErrors.d.ts","sourceRoot":"","sources":["../../src/core/quotaErrors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,oBAAoB,QAKrB,CAAC;AAEb,eAAO,MAAM,sBAAsB,QAMvB,CAAC;AAEb;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAY/E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAW5D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,KAAK,CAO/C"}
|