@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.
Files changed (81) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +236 -225
  3. package/agents/erosolar-code.rules.json +199 -199
  4. package/dist/bin/deepseek.js +18 -198
  5. package/dist/bin/deepseek.js.map +1 -1
  6. package/dist/bin/erosolar.js +0 -0
  7. package/dist/capabilities/enhancedGitCapability.js +63 -63
  8. package/dist/config.js +12 -12
  9. package/dist/contracts/agent-profiles.schema.json +5 -23
  10. package/dist/contracts/agent-schemas.json +31 -343
  11. package/dist/contracts/models.schema.json +9 -9
  12. package/dist/contracts/module-schema.json +367 -367
  13. package/dist/contracts/schemas/agent-profile.schema.json +157 -157
  14. package/dist/contracts/schemas/agent-rules.schema.json +238 -238
  15. package/dist/contracts/schemas/agent-schemas.schema.json +528 -528
  16. package/dist/contracts/schemas/agent.schema.json +90 -90
  17. package/dist/contracts/schemas/tool-selection.schema.json +174 -174
  18. package/dist/contracts/tools.schema.json +42 -42
  19. package/dist/contracts/unified-schema.json +8 -628
  20. package/dist/core/constants.js +7 -7
  21. package/dist/core/contextManager.js +16 -16
  22. package/dist/core/modelDiscovery.d.ts +0 -3
  23. package/dist/core/modelDiscovery.d.ts.map +1 -1
  24. package/dist/core/modelDiscovery.js +3 -355
  25. package/dist/core/modelDiscovery.js.map +1 -1
  26. package/dist/core/quotaErrors.d.ts +42 -0
  27. package/dist/core/quotaErrors.d.ts.map +1 -0
  28. package/dist/core/quotaErrors.js +88 -0
  29. package/dist/core/quotaErrors.js.map +1 -0
  30. package/dist/core/secretStore.d.ts.map +1 -1
  31. package/dist/core/secretStore.js +1 -14
  32. package/dist/core/secretStore.js.map +1 -1
  33. package/dist/core/taskCompletionDetector.js +17 -17
  34. package/dist/headless/interactiveShell.d.ts.map +1 -1
  35. package/dist/headless/interactiveShell.js +7 -58
  36. package/dist/headless/interactiveShell.js.map +1 -1
  37. package/dist/leanAgent.js +38 -38
  38. package/dist/plugins/providers/deepseek/index.d.ts +1 -0
  39. package/dist/plugins/providers/deepseek/index.d.ts.map +1 -1
  40. package/dist/plugins/providers/deepseek/index.js +65 -4
  41. package/dist/plugins/providers/deepseek/index.js.map +1 -1
  42. package/dist/plugins/providers/index.d.ts.map +1 -1
  43. package/dist/plugins/providers/index.js +0 -7
  44. package/dist/plugins/providers/index.js.map +1 -1
  45. package/dist/providers/openaiChatCompletionsProvider.js +7 -30
  46. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
  47. package/dist/providers/resilientProvider.d.ts.map +1 -1
  48. package/dist/providers/resilientProvider.js +0 -31
  49. package/dist/providers/resilientProvider.js.map +1 -1
  50. package/dist/runtime/agentSession.js +4 -4
  51. package/dist/shell/vimMode.js +29 -29
  52. package/dist/tools/hitlTools.js +18 -18
  53. package/dist/tools/webTools.d.ts.map +1 -1
  54. package/dist/tools/webTools.js +10 -0
  55. package/dist/tools/webTools.js.map +1 -1
  56. package/package.json +116 -123
  57. package/scripts/postinstall.cjs +57 -58
  58. package/dist/bin/cliMode.d.ts +0 -8
  59. package/dist/bin/cliMode.d.ts.map +0 -1
  60. package/dist/bin/cliMode.js +0 -20
  61. package/dist/bin/cliMode.js.map +0 -1
  62. package/dist/bin/selfTest.d.ts +0 -14
  63. package/dist/bin/selfTest.d.ts.map +0 -1
  64. package/dist/bin/selfTest.js +0 -298
  65. package/dist/bin/selfTest.js.map +0 -1
  66. package/dist/headless/printMode.d.ts +0 -17
  67. package/dist/headless/printMode.d.ts.map +0 -1
  68. package/dist/headless/printMode.js +0 -40
  69. package/dist/headless/printMode.js.map +0 -1
  70. package/dist/plugins/providers/anthropic/index.d.ts +0 -9
  71. package/dist/plugins/providers/anthropic/index.d.ts.map +0 -1
  72. package/dist/plugins/providers/anthropic/index.js +0 -48
  73. package/dist/plugins/providers/anthropic/index.js.map +0 -1
  74. package/dist/plugins/providers/openai/index.d.ts +0 -10
  75. package/dist/plugins/providers/openai/index.d.ts.map +0 -1
  76. package/dist/plugins/providers/openai/index.js +0 -47
  77. package/dist/plugins/providers/openai/index.js.map +0 -1
  78. package/dist/plugins/providers/xai/index.d.ts +0 -10
  79. package/dist/plugins/providers/xai/index.d.ts.map +0 -1
  80. package/dist/plugins/providers/xai/index.js +0 -47
  81. package/dist/plugins/providers/xai/index.js.map +0 -1
@@ -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;AAiC1D;;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;AAyXD;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,eAAe,CAAC,CA6FlE;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;AA8ED;;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,CA0BpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAuBnD;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,CA4E1E"}
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
- if (config.id === 'ollama') {
609
- // For Ollama, we can't check synchronously if it's running
610
- // Mark as potentially available
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"}