erosolar-cli 1.6.3 → 1.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/resultVerification.d.ts +138 -0
- package/dist/core/resultVerification.d.ts.map +1 -0
- package/dist/core/resultVerification.js +465 -0
- package/dist/core/resultVerification.js.map +1 -0
- package/dist/plugins/providers/anthropic/index.d.ts +9 -0
- package/dist/plugins/providers/anthropic/index.d.ts.map +1 -1
- package/dist/plugins/providers/anthropic/index.js +13 -1
- package/dist/plugins/providers/anthropic/index.js.map +1 -1
- package/dist/plugins/providers/deepseek/index.d.ts +9 -0
- package/dist/plugins/providers/deepseek/index.d.ts.map +1 -1
- package/dist/plugins/providers/deepseek/index.js +28 -1
- package/dist/plugins/providers/deepseek/index.js.map +1 -1
- package/dist/plugins/providers/google/index.d.ts +9 -0
- package/dist/plugins/providers/google/index.d.ts.map +1 -1
- package/dist/plugins/providers/google/index.js +13 -1
- package/dist/plugins/providers/google/index.js.map +1 -1
- package/dist/plugins/providers/ollama/index.d.ts +5 -1
- package/dist/plugins/providers/ollama/index.d.ts.map +1 -1
- package/dist/plugins/providers/ollama/index.js +11 -2
- package/dist/plugins/providers/ollama/index.js.map +1 -1
- package/dist/plugins/providers/openai/index.d.ts +9 -0
- package/dist/plugins/providers/openai/index.d.ts.map +1 -1
- package/dist/plugins/providers/openai/index.js +13 -1
- package/dist/plugins/providers/openai/index.js.map +1 -1
- package/dist/plugins/providers/xai/index.d.ts +9 -0
- package/dist/plugins/providers/xai/index.d.ts.map +1 -1
- package/dist/plugins/providers/xai/index.js +15 -1
- package/dist/plugins/providers/xai/index.js.map +1 -1
- package/dist/providers/anthropicProvider.d.ts +7 -0
- package/dist/providers/anthropicProvider.d.ts.map +1 -1
- package/dist/providers/anthropicProvider.js +87 -9
- package/dist/providers/anthropicProvider.js.map +1 -1
- package/dist/providers/googleProvider.d.ts +17 -0
- package/dist/providers/googleProvider.d.ts.map +1 -1
- package/dist/providers/googleProvider.js +113 -32
- package/dist/providers/googleProvider.js.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.d.ts +26 -0
- package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.js +162 -27
- package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
- package/dist/providers/openaiResponsesProvider.d.ts +17 -0
- package/dist/providers/openaiResponsesProvider.d.ts.map +1 -1
- package/dist/providers/openaiResponsesProvider.js +109 -25
- package/dist/providers/openaiResponsesProvider.js.map +1 -1
- package/dist/providers/resilientProvider.d.ts.map +1 -1
- package/dist/providers/resilientProvider.js +47 -1
- package/dist/providers/resilientProvider.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts +6 -0
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +48 -0
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/taskCompletionDetector.d.ts +4 -0
- package/dist/shell/taskCompletionDetector.d.ts.map +1 -1
- package/dist/shell/taskCompletionDetector.js +27 -1
- package/dist/shell/taskCompletionDetector.js.map +1 -1
- package/dist/tools/bashTools.d.ts.map +1 -1
- package/dist/tools/bashTools.js +26 -8
- package/dist/tools/bashTools.js.map +1 -1
- package/dist/tools/browserAutomationTools.d.ts.map +1 -1
- package/dist/tools/browserAutomationTools.js +9 -1
- package/dist/tools/browserAutomationTools.js.map +1 -1
- package/dist/tools/cloudTools.d.ts.map +1 -1
- package/dist/tools/cloudTools.js +436 -35
- package/dist/tools/cloudTools.js.map +1 -1
- package/dist/tools/codeGenerationTools.d.ts.map +1 -1
- package/dist/tools/codeGenerationTools.js +77 -7
- package/dist/tools/codeGenerationTools.js.map +1 -1
- package/dist/ui/persistentPrompt.d.ts +10 -0
- package/dist/ui/persistentPrompt.d.ts.map +1 -1
- package/dist/ui/persistentPrompt.js +82 -18
- package/dist/ui/persistentPrompt.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { AnthropicMessagesProvider } from '../../../providers/anthropicProvider.js';
|
|
2
2
|
import { registerProvider } from '../../../providers/providerFactory.js';
|
|
3
|
+
import { withProviderResilience } from '../../../providers/resilientProvider.js';
|
|
3
4
|
let registered = false;
|
|
5
|
+
/**
|
|
6
|
+
* Anthropic (Claude) Provider Plugin
|
|
7
|
+
*
|
|
8
|
+
* Registers the Anthropic provider with hardened error handling for:
|
|
9
|
+
* - Network failures (premature close, connection reset)
|
|
10
|
+
* - Stream errors (gunzip, decompression failures)
|
|
11
|
+
* - Rate limiting with exponential backoff
|
|
12
|
+
* - Circuit breaker for cascading failure prevention
|
|
13
|
+
*/
|
|
4
14
|
export function registerAnthropicProviderPlugin() {
|
|
5
15
|
if (registered) {
|
|
6
16
|
return;
|
|
@@ -12,7 +22,9 @@ export function registerAnthropicProviderPlugin() {
|
|
|
12
22
|
...(typeof config.temperature === 'number' ? { temperature: config.temperature } : {}),
|
|
13
23
|
...(typeof config.maxTokens === 'number' ? { maxTokens: config.maxTokens } : {}),
|
|
14
24
|
};
|
|
15
|
-
|
|
25
|
+
const baseProvider = new AnthropicMessagesProvider(options);
|
|
26
|
+
// Wrap with resilience layer
|
|
27
|
+
return withProviderResilience(baseProvider, 'anthropic');
|
|
16
28
|
});
|
|
17
29
|
registered = true;
|
|
18
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/anthropic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/anthropic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;;;;GAQG;AACH,MAAM,UAAU,+BAA+B;IAC7C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,UAAU,CAAC,mBAAmB,CAAC;YACvC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,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;QACF,MAAM,YAAY,GAAG,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAE5D,6BAA6B;QAC7B,OAAO,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC3D,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,2 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeepSeek Provider Plugin
|
|
3
|
+
*
|
|
4
|
+
* Registers the DeepSeek provider with hardened error handling for:
|
|
5
|
+
* - Network failures (premature close, connection reset)
|
|
6
|
+
* - Stream errors (gunzip, decompression failures)
|
|
7
|
+
* - Rate limiting with exponential backoff
|
|
8
|
+
* - Circuit breaker for cascading failure prevention
|
|
9
|
+
*/
|
|
1
10
|
export declare function registerDeepSeekProviderPlugin(): void;
|
|
2
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/deepseek/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/deepseek/index.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAiCrD"}
|
|
@@ -1,16 +1,43 @@
|
|
|
1
1
|
import { OpenAIChatCompletionsProvider } from '../../../providers/openaiChatCompletionsProvider.js';
|
|
2
2
|
import { registerProvider } from '../../../providers/providerFactory.js';
|
|
3
|
+
import { withProviderResilience } from '../../../providers/resilientProvider.js';
|
|
3
4
|
let registered = false;
|
|
5
|
+
/**
|
|
6
|
+
* DeepSeek Provider Plugin
|
|
7
|
+
*
|
|
8
|
+
* Registers the DeepSeek provider with hardened error handling for:
|
|
9
|
+
* - Network failures (premature close, connection reset)
|
|
10
|
+
* - Stream errors (gunzip, decompression failures)
|
|
11
|
+
* - Rate limiting with exponential backoff
|
|
12
|
+
* - Circuit breaker for cascading failure prevention
|
|
13
|
+
*/
|
|
4
14
|
export function registerDeepSeekProviderPlugin() {
|
|
5
15
|
if (registered) {
|
|
6
16
|
return;
|
|
7
17
|
}
|
|
8
18
|
registerProvider('deepseek', (config) => {
|
|
9
|
-
|
|
19
|
+
const baseProvider = new OpenAIChatCompletionsProvider({
|
|
10
20
|
apiKey: requireEnv('DEEPSEEK_API_KEY'),
|
|
11
21
|
model: config.model,
|
|
12
22
|
baseURL: 'https://api.deepseek.com',
|
|
13
23
|
providerId: 'deepseek',
|
|
24
|
+
// DeepSeek can be slower, use longer timeout
|
|
25
|
+
timeout: 180000, // 3 minutes
|
|
26
|
+
// Built-in retries at provider level
|
|
27
|
+
maxRetries: 3,
|
|
28
|
+
});
|
|
29
|
+
// Wrap with resilience layer for additional protection
|
|
30
|
+
return withProviderResilience(baseProvider, 'deepseek', {
|
|
31
|
+
// DeepSeek has lower rate limits
|
|
32
|
+
maxRequestsPerMinute: 30,
|
|
33
|
+
// More aggressive retries for DeepSeek's connection issues
|
|
34
|
+
maxRetries: 5,
|
|
35
|
+
baseDelayMs: 2000,
|
|
36
|
+
maxDelayMs: 60000,
|
|
37
|
+
// Enable circuit breaker to prevent cascading failures
|
|
38
|
+
enableCircuitBreaker: true,
|
|
39
|
+
circuitBreakerThreshold: 5,
|
|
40
|
+
circuitBreakerResetMs: 120000, // 2 minutes
|
|
14
41
|
});
|
|
15
42
|
});
|
|
16
43
|
registered = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/deepseek/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/deepseek/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;;;;;;;;GAQG;AACH,MAAM,UAAU,8BAA8B;IAC5C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;QACtC,MAAM,YAAY,GAAG,IAAI,6BAA6B,CAAC;YACrD,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC;YACtC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,0BAA0B;YACnC,UAAU,EAAE,UAAU;YACtB,6CAA6C;YAC7C,OAAO,EAAE,MAAM,EAAE,YAAY;YAC7B,qCAAqC;YACrC,UAAU,EAAE,CAAC;SACd,CAAC,CAAC;QAEH,uDAAuD;QACvD,OAAO,sBAAsB,CAAC,YAAY,EAAE,UAAU,EAAE;YACtD,iCAAiC;YACjC,oBAAoB,EAAE,EAAE;YACxB,2DAA2D;YAC3D,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,KAAK;YACjB,uDAAuD;YACvD,oBAAoB,EAAE,IAAI;YAC1B,uBAAuB,EAAE,CAAC;YAC1B,qBAAqB,EAAE,MAAM,EAAE,YAAY;SAC5C,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,2 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Google (Gemini) Provider Plugin
|
|
3
|
+
*
|
|
4
|
+
* Registers the Google provider with hardened error handling for:
|
|
5
|
+
* - Network failures (premature close, connection reset)
|
|
6
|
+
* - Stream errors (gunzip, decompression failures)
|
|
7
|
+
* - Rate limiting with exponential backoff
|
|
8
|
+
* - Circuit breaker for cascading failure prevention
|
|
9
|
+
*/
|
|
1
10
|
export declare function registerGoogleProviderPlugin(): void;
|
|
2
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/google/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/google/index.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAoBnD"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { GoogleGenAIProvider } from '../../../providers/googleProvider.js';
|
|
2
2
|
import { registerProvider } from '../../../providers/providerFactory.js';
|
|
3
|
+
import { withProviderResilience } from '../../../providers/resilientProvider.js';
|
|
3
4
|
let registered = false;
|
|
5
|
+
/**
|
|
6
|
+
* Google (Gemini) Provider Plugin
|
|
7
|
+
*
|
|
8
|
+
* Registers the Google provider with hardened error handling for:
|
|
9
|
+
* - Network failures (premature close, connection reset)
|
|
10
|
+
* - Stream errors (gunzip, decompression failures)
|
|
11
|
+
* - Rate limiting with exponential backoff
|
|
12
|
+
* - Circuit breaker for cascading failure prevention
|
|
13
|
+
*/
|
|
4
14
|
export function registerGoogleProviderPlugin() {
|
|
5
15
|
if (registered) {
|
|
6
16
|
return;
|
|
@@ -13,7 +23,9 @@ export function registerGoogleProviderPlugin() {
|
|
|
13
23
|
...(typeof config.temperature === 'number' ? { temperature: config.temperature } : {}),
|
|
14
24
|
...(typeof config.maxTokens === 'number' ? { maxOutputTokens: config.maxTokens } : {}),
|
|
15
25
|
};
|
|
16
|
-
|
|
26
|
+
const baseProvider = new GoogleGenAIProvider(options);
|
|
27
|
+
// Wrap with resilience layer
|
|
28
|
+
return withProviderResilience(baseProvider, 'google');
|
|
17
29
|
});
|
|
18
30
|
registered = true;
|
|
19
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/google/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/google/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B;IAC1C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,QAAQ;YACpB,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,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvF,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEtD,6BAA6B;QAC7B,OAAO,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACxD,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,8 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Ollama Provider Plugin
|
|
3
3
|
*
|
|
4
|
+
* Registers the Ollama provider with hardened error handling.
|
|
4
5
|
* Ollama provides an OpenAI-compatible API, so we can reuse the OpenAI provider
|
|
5
6
|
* with a custom base URL. By default, Ollama runs on http://localhost:11434.
|
|
7
|
+
*
|
|
8
|
+
* Note: Ollama is local so circuit breaker is disabled, but retries are still useful
|
|
9
|
+
* for handling temporary resource constraints.
|
|
6
10
|
*/
|
|
7
11
|
export declare function registerOllamaProviderPlugin(): void;
|
|
8
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/ollama/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/ollama/index.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CA0BnD;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,MAAiC,GACzC,OAAO,CAAC,MAAM,EAAE,CAAC,CAYnB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,MAAiC,GACzC,OAAO,CAAC,OAAO,CAAC,CAUlB"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { OpenAIChatCompletionsProvider } from '../../../providers/openaiChatCompletionsProvider.js';
|
|
2
2
|
import { registerProvider } from '../../../providers/providerFactory.js';
|
|
3
|
+
import { withProviderResilience } from '../../../providers/resilientProvider.js';
|
|
3
4
|
let registered = false;
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* Ollama Provider Plugin
|
|
6
7
|
*
|
|
8
|
+
* Registers the Ollama provider with hardened error handling.
|
|
7
9
|
* Ollama provides an OpenAI-compatible API, so we can reuse the OpenAI provider
|
|
8
10
|
* with a custom base URL. By default, Ollama runs on http://localhost:11434.
|
|
11
|
+
*
|
|
12
|
+
* Note: Ollama is local so circuit breaker is disabled, but retries are still useful
|
|
13
|
+
* for handling temporary resource constraints.
|
|
9
14
|
*/
|
|
10
15
|
export function registerOllamaProviderPlugin() {
|
|
11
16
|
if (registered) {
|
|
@@ -18,10 +23,14 @@ export function registerOllamaProviderPlugin() {
|
|
|
18
23
|
model: config.model,
|
|
19
24
|
providerId: 'ollama',
|
|
20
25
|
baseURL,
|
|
26
|
+
timeout: 300000, // 5 minutes - local models can be slow
|
|
27
|
+
maxRetries: 2,
|
|
21
28
|
...(typeof config.temperature === 'number' ? { temperature: config.temperature } : {}),
|
|
22
29
|
...(typeof config.maxTokens === 'number' ? { maxTokens: config.maxTokens } : {}),
|
|
23
30
|
};
|
|
24
|
-
|
|
31
|
+
const baseProvider = new OpenAIChatCompletionsProvider(options);
|
|
32
|
+
// Wrap with resilience layer (circuit breaker disabled for local)
|
|
33
|
+
return withProviderResilience(baseProvider, 'ollama');
|
|
25
34
|
});
|
|
26
35
|
registered = true;
|
|
27
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/ollama/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/ollama/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;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B;IAC1C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,2BAA2B,CAAC;QAE9E,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,QAAQ,EAAE,wDAAwD;YAC1E,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,QAAiB;YAC7B,OAAO;YACP,OAAO,EAAE,MAAM,EAAE,uCAAuC;YACxD,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;QAEF,MAAM,YAAY,GAAG,IAAI,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAEhE,kEAAkE;QAClE,OAAO,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAAkB,wBAAwB;IAE1C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyC,CAAC;QAC7E,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,wBAAwB;IAE1C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,WAAW,EAAE;YAClD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,mBAAmB;SACvD,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
import type { ProviderId } from '../../../core/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* OpenAI Provider Plugin
|
|
4
|
+
*
|
|
5
|
+
* Registers the OpenAI provider with hardened error handling for:
|
|
6
|
+
* - Network failures (premature close, connection reset)
|
|
7
|
+
* - Stream errors (gunzip, decompression failures)
|
|
8
|
+
* - Rate limiting with exponential backoff
|
|
9
|
+
* - Circuit breaker for cascading failure prevention
|
|
10
|
+
*/
|
|
2
11
|
export declare function registerOpenAIProviderPlugin(providerId?: ProviderId): void;
|
|
3
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/openai/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/openai/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,GAAE,UAAqB,GAAG,IAAI,CAoBpF"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { OpenAIResponsesProvider } from '../../../providers/openaiResponsesProvider.js';
|
|
2
2
|
import { registerProvider } from '../../../providers/providerFactory.js';
|
|
3
|
+
import { withProviderResilience } from '../../../providers/resilientProvider.js';
|
|
3
4
|
let registered = false;
|
|
5
|
+
/**
|
|
6
|
+
* OpenAI Provider Plugin
|
|
7
|
+
*
|
|
8
|
+
* Registers the OpenAI provider with hardened error handling for:
|
|
9
|
+
* - Network failures (premature close, connection reset)
|
|
10
|
+
* - Stream errors (gunzip, decompression failures)
|
|
11
|
+
* - Rate limiting with exponential backoff
|
|
12
|
+
* - Circuit breaker for cascading failure prevention
|
|
13
|
+
*/
|
|
4
14
|
export function registerOpenAIProviderPlugin(providerId = 'openai') {
|
|
5
15
|
if (registered) {
|
|
6
16
|
return;
|
|
@@ -13,7 +23,9 @@ export function registerOpenAIProviderPlugin(providerId = 'openai') {
|
|
|
13
23
|
...(config.reasoningEffort ? { reasoningEffort: config.reasoningEffort } : {}),
|
|
14
24
|
...(config.textVerbosity ? { textVerbosity: config.textVerbosity } : {}),
|
|
15
25
|
};
|
|
16
|
-
|
|
26
|
+
const baseProvider = new OpenAIResponsesProvider(options);
|
|
27
|
+
// Wrap with resilience layer
|
|
28
|
+
return withProviderResilience(baseProvider, 'openai');
|
|
17
29
|
});
|
|
18
30
|
registered = true;
|
|
19
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/openai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/providers/openai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAGjF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,aAAyB,QAAQ;IAC5E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU;YACV,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAE1D,6BAA6B;QAC7B,OAAO,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACxD,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,2 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* xAI (Grok) Provider Plugin
|
|
3
|
+
*
|
|
4
|
+
* Registers the xAI provider with hardened error handling for:
|
|
5
|
+
* - Network failures (premature close, connection reset)
|
|
6
|
+
* - Stream errors (gunzip, decompression failures)
|
|
7
|
+
* - Rate limiting with exponential backoff
|
|
8
|
+
* - Circuit breaker for cascading failure prevention
|
|
9
|
+
*/
|
|
1
10
|
export declare function registerXaiProviderPlugin(): void;
|
|
2
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/xai/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/providers/xai/index.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAoBhD"}
|
|
@@ -1,17 +1,31 @@
|
|
|
1
1
|
import { OpenAIChatCompletionsProvider } from '../../../providers/openaiChatCompletionsProvider.js';
|
|
2
2
|
import { registerProvider } from '../../../providers/providerFactory.js';
|
|
3
|
+
import { withProviderResilience } from '../../../providers/resilientProvider.js';
|
|
3
4
|
let registered = false;
|
|
5
|
+
/**
|
|
6
|
+
* xAI (Grok) Provider Plugin
|
|
7
|
+
*
|
|
8
|
+
* Registers the xAI provider with hardened error handling for:
|
|
9
|
+
* - Network failures (premature close, connection reset)
|
|
10
|
+
* - Stream errors (gunzip, decompression failures)
|
|
11
|
+
* - Rate limiting with exponential backoff
|
|
12
|
+
* - Circuit breaker for cascading failure prevention
|
|
13
|
+
*/
|
|
4
14
|
export function registerXaiProviderPlugin() {
|
|
5
15
|
if (registered) {
|
|
6
16
|
return;
|
|
7
17
|
}
|
|
8
18
|
registerProvider('xai', (config) => {
|
|
9
|
-
|
|
19
|
+
const baseProvider = new OpenAIChatCompletionsProvider({
|
|
10
20
|
apiKey: requireEnv('XAI_API_KEY'),
|
|
11
21
|
model: config.model,
|
|
12
22
|
baseURL: 'https://api.x.ai/v1',
|
|
13
23
|
providerId: 'xai',
|
|
24
|
+
timeout: 120000,
|
|
25
|
+
maxRetries: 3,
|
|
14
26
|
});
|
|
27
|
+
// Wrap with resilience layer
|
|
28
|
+
return withProviderResilience(baseProvider, 'xai');
|
|
15
29
|
});
|
|
16
30
|
registered = true;
|
|
17
31
|
}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;;;;;;;;GAQG;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,MAAM;YACf,UAAU,EAAE,CAAC;SACd,CAAC,CAAC;QAEH,6BAA6B;QAC7B,OAAO,sBAAsB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACrD,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"}
|
|
@@ -7,6 +7,8 @@ interface AnthropicProviderOptions {
|
|
|
7
7
|
rateLimitMaxRetries?: number;
|
|
8
8
|
rateLimitInitialDelayMs?: number;
|
|
9
9
|
enablePromptCaching?: boolean;
|
|
10
|
+
/** Maximum retries for transient errors (default: 3) */
|
|
11
|
+
transientMaxRetries?: number;
|
|
10
12
|
}
|
|
11
13
|
export declare class AnthropicMessagesProvider implements LLMProvider {
|
|
12
14
|
readonly id = "anthropic";
|
|
@@ -17,6 +19,7 @@ export declare class AnthropicMessagesProvider implements LLMProvider {
|
|
|
17
19
|
private readonly rateLimitMaxRetries;
|
|
18
20
|
private readonly rateLimitInitialDelayMs;
|
|
19
21
|
private readonly enablePromptCaching;
|
|
22
|
+
private readonly _transientMaxRetries;
|
|
20
23
|
constructor(options: AnthropicProviderOptions);
|
|
21
24
|
generate(messages: ConversationMessage[], tools: ProviderToolDefinition[]): Promise<ProviderResponse>;
|
|
22
25
|
generateStream(messages: ConversationMessage[], tools: ProviderToolDefinition[]): AsyncIterableIterator<StreamChunk>;
|
|
@@ -28,6 +31,10 @@ export declare class AnthropicMessagesProvider implements LLMProvider {
|
|
|
28
31
|
maxTokens: number;
|
|
29
32
|
supportedModalities: ("text" | "image" | "audio")[];
|
|
30
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* Calculate exponential backoff delay with jitter
|
|
36
|
+
*/
|
|
37
|
+
private getBackoffDelay;
|
|
31
38
|
private executeWithRateLimitRetries;
|
|
32
39
|
}
|
|
33
40
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropicProvider.d.ts","sourceRoot":"","sources":["../../src/providers/anthropicProvider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EAEtB,WAAW,EAEZ,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropicProvider.d.ts","sourceRoot":"","sources":["../../src/providers/anthropicProvider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EAEtB,WAAW,EAEZ,MAAM,kBAAkB,CAAC;AAwD1B,UAAU,wBAAwB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAQD,qBAAa,yBAA0B,YAAW,WAAW;IAC3D,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAE9C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;gBAElC,OAAO,EAAE,wBAAwB;IAcvC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6CpG,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC;IA2E3H,eAAe;;;;;;6BAO+B,CAAC,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE;;IAI5E;;OAEG;IACH,OAAO,CAAC,eAAe;YAKT,2BAA2B;CAgD1C"}
|
|
@@ -1,9 +1,59 @@
|
|
|
1
1
|
import Anthropic from '@anthropic-ai/sdk';
|
|
2
2
|
import { APIError, RateLimitError } from '@anthropic-ai/sdk/error.js';
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// Error Recovery Constants
|
|
5
|
+
// ============================================================================
|
|
6
|
+
const TRANSIENT_ERROR_PATTERNS = [
|
|
7
|
+
'premature close',
|
|
8
|
+
'premature end',
|
|
9
|
+
'unexpected end',
|
|
10
|
+
'aborted',
|
|
11
|
+
'fetcherror',
|
|
12
|
+
'invalid response body',
|
|
13
|
+
'gunzip',
|
|
14
|
+
'decompress',
|
|
15
|
+
'econnreset',
|
|
16
|
+
'econnrefused',
|
|
17
|
+
'epipe',
|
|
18
|
+
'socket hang up',
|
|
19
|
+
'network',
|
|
20
|
+
'timeout',
|
|
21
|
+
'500',
|
|
22
|
+
'502',
|
|
23
|
+
'503',
|
|
24
|
+
'504',
|
|
25
|
+
'overloaded',
|
|
26
|
+
];
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
28
|
+
function isTransientError(error) {
|
|
29
|
+
if (!(error instanceof Error))
|
|
30
|
+
return false;
|
|
31
|
+
const message = error.message.toLowerCase();
|
|
32
|
+
const errorName = error.name?.toLowerCase() ?? '';
|
|
33
|
+
const errorCode = error.code?.toLowerCase() ?? '';
|
|
34
|
+
const allText = `${message} ${errorName} ${errorCode}`;
|
|
35
|
+
// Check for transient patterns
|
|
36
|
+
if (TRANSIENT_ERROR_PATTERNS.some(pattern => allText.includes(pattern))) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
// Check for 5xx status codes
|
|
40
|
+
if (error instanceof APIError) {
|
|
41
|
+
const status = error.status;
|
|
42
|
+
if (status && status >= 500 && status < 600) {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
// Anthropic overloaded error
|
|
46
|
+
if (status === 529) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
3
52
|
const DEFAULT_RATE_LIMIT_RETRIES = 4;
|
|
4
53
|
const DEFAULT_RATE_LIMIT_INITIAL_DELAY_MS = 1500;
|
|
5
54
|
const MIN_RATE_LIMIT_DELAY_MS = 750;
|
|
6
55
|
const MAX_RATE_LIMIT_DELAY_MS = 40_000;
|
|
56
|
+
const DEFAULT_TRANSIENT_RETRIES = 3;
|
|
7
57
|
export class AnthropicMessagesProvider {
|
|
8
58
|
id = 'anthropic';
|
|
9
59
|
model;
|
|
@@ -13,6 +63,8 @@ export class AnthropicMessagesProvider {
|
|
|
13
63
|
rateLimitMaxRetries;
|
|
14
64
|
rateLimitInitialDelayMs;
|
|
15
65
|
enablePromptCaching;
|
|
66
|
+
// Reserved for future transient error retry logic
|
|
67
|
+
_transientMaxRetries;
|
|
16
68
|
constructor(options) {
|
|
17
69
|
this.client = new Anthropic({ apiKey: options.apiKey });
|
|
18
70
|
this.model = options.model;
|
|
@@ -21,6 +73,7 @@ export class AnthropicMessagesProvider {
|
|
|
21
73
|
this.rateLimitMaxRetries = Math.max(0, options.rateLimitMaxRetries ?? DEFAULT_RATE_LIMIT_RETRIES);
|
|
22
74
|
this.rateLimitInitialDelayMs = Math.max(MIN_RATE_LIMIT_DELAY_MS, options.rateLimitInitialDelayMs ?? DEFAULT_RATE_LIMIT_INITIAL_DELAY_MS);
|
|
23
75
|
this.enablePromptCaching = options.enablePromptCaching ?? true;
|
|
76
|
+
this._transientMaxRetries = options.transientMaxRetries ?? DEFAULT_TRANSIENT_RETRIES;
|
|
24
77
|
}
|
|
25
78
|
async generate(messages, tools) {
|
|
26
79
|
const { system, chat } = convertConversation(messages, this.enablePromptCaching);
|
|
@@ -145,24 +198,49 @@ export class AnthropicMessagesProvider {
|
|
|
145
198
|
supportedModalities: ['text', 'image'],
|
|
146
199
|
};
|
|
147
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Calculate exponential backoff delay with jitter
|
|
203
|
+
*/
|
|
204
|
+
getBackoffDelay(attempt, baseDelay = 1000, maxDelay = 30000) {
|
|
205
|
+
const delay = Math.min(baseDelay * Math.pow(2, attempt), maxDelay);
|
|
206
|
+
return delay + Math.random() * delay * 0.1;
|
|
207
|
+
}
|
|
148
208
|
async executeWithRateLimitRetries(operation) {
|
|
149
|
-
let
|
|
209
|
+
let rateLimitRetries = 0;
|
|
210
|
+
let transientRetries = 0;
|
|
150
211
|
let delayMs = this.rateLimitInitialDelayMs;
|
|
151
212
|
while (true) {
|
|
152
213
|
try {
|
|
153
214
|
return await operation();
|
|
154
215
|
}
|
|
155
216
|
catch (error) {
|
|
156
|
-
|
|
157
|
-
|
|
217
|
+
// Handle rate limit errors
|
|
218
|
+
if (isRateLimitError(error)) {
|
|
219
|
+
if (rateLimitRetries >= this.rateLimitMaxRetries) {
|
|
220
|
+
throw buildRateLimitFailureError(error, rateLimitRetries);
|
|
221
|
+
}
|
|
222
|
+
const waitMs = determineRetryDelay(error.headers, delayMs);
|
|
223
|
+
console.warn(`[anthropic] Rate limited (attempt ${rateLimitRetries + 1}/${this.rateLimitMaxRetries + 1}). ` +
|
|
224
|
+
`Retrying in ${Math.round(waitMs)}ms...`);
|
|
225
|
+
await sleep(waitMs);
|
|
226
|
+
rateLimitRetries += 1;
|
|
227
|
+
delayMs = Math.min(delayMs * 2, MAX_RATE_LIMIT_DELAY_MS);
|
|
228
|
+
continue;
|
|
158
229
|
}
|
|
159
|
-
|
|
160
|
-
|
|
230
|
+
// Handle transient errors (network, stream, etc.)
|
|
231
|
+
if (isTransientError(error)) {
|
|
232
|
+
if (transientRetries >= this._transientMaxRetries) {
|
|
233
|
+
throw new Error(`Transient error after ${transientRetries + 1} attempts: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
234
|
+
}
|
|
235
|
+
const waitMs = this.getBackoffDelay(transientRetries);
|
|
236
|
+
console.warn(`[anthropic] Transient error (attempt ${transientRetries + 1}/${this._transientMaxRetries + 1}): ` +
|
|
237
|
+
`${error instanceof Error ? error.message : String(error)}. Retrying in ${Math.round(waitMs)}ms...`);
|
|
238
|
+
await sleep(waitMs);
|
|
239
|
+
transientRetries += 1;
|
|
240
|
+
continue;
|
|
161
241
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
retries += 1;
|
|
165
|
-
delayMs = Math.min(delayMs * 2, MAX_RATE_LIMIT_DELAY_MS);
|
|
242
|
+
// Non-retryable error
|
|
243
|
+
throw error;
|
|
166
244
|
}
|
|
167
245
|
}
|
|
168
246
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropicProvider.js","sourceRoot":"","sources":["../../src/providers/anthropicProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anthropicProvider.js","sourceRoot":"","sources":["../../src/providers/anthropicProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,10 @@ interface GoogleGenAIProviderOptions {
|
|
|
5
5
|
providerId?: ProviderId;
|
|
6
6
|
temperature?: number;
|
|
7
7
|
maxOutputTokens?: number;
|
|
8
|
+
/** Maximum retries for transient errors (default: 3) */
|
|
9
|
+
maxRetries?: number;
|
|
10
|
+
/** Request timeout in milliseconds (default: 120000) */
|
|
11
|
+
timeout?: number;
|
|
8
12
|
}
|
|
9
13
|
export declare class GoogleGenAIProvider implements LLMProvider {
|
|
10
14
|
readonly id: ProviderId;
|
|
@@ -12,7 +16,20 @@ export declare class GoogleGenAIProvider implements LLMProvider {
|
|
|
12
16
|
private readonly client;
|
|
13
17
|
private readonly temperature?;
|
|
14
18
|
private readonly maxOutputTokens?;
|
|
19
|
+
private readonly maxRetries;
|
|
15
20
|
constructor(options: GoogleGenAIProviderOptions);
|
|
21
|
+
/**
|
|
22
|
+
* Sleep for a given number of milliseconds
|
|
23
|
+
*/
|
|
24
|
+
private sleep;
|
|
25
|
+
/**
|
|
26
|
+
* Calculate exponential backoff delay with jitter
|
|
27
|
+
*/
|
|
28
|
+
private getBackoffDelay;
|
|
29
|
+
/**
|
|
30
|
+
* Execute request with retry logic for transient errors
|
|
31
|
+
*/
|
|
32
|
+
private executeWithRetry;
|
|
16
33
|
generate(messages: ConversationMessage[], tools: ProviderToolDefinition[]): Promise<ProviderResponse>;
|
|
17
34
|
}
|
|
18
35
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"googleProvider.d.ts","sourceRoot":"","sources":["../../src/providers/googleProvider.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEV,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EAIvB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"googleProvider.d.ts","sourceRoot":"","sources":["../../src/providers/googleProvider.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEV,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EAIvB,MAAM,kBAAkB,CAAC;AAqC1B,UAAU,0BAA0B;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,mBAAoB,YAAW,WAAW;IACrD,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,EAAE,0BAA0B;IAW/C;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;YACW,gBAAgB;IA6BxB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAyD5G"}
|