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.
Files changed (72) hide show
  1. package/dist/core/resultVerification.d.ts +138 -0
  2. package/dist/core/resultVerification.d.ts.map +1 -0
  3. package/dist/core/resultVerification.js +465 -0
  4. package/dist/core/resultVerification.js.map +1 -0
  5. package/dist/plugins/providers/anthropic/index.d.ts +9 -0
  6. package/dist/plugins/providers/anthropic/index.d.ts.map +1 -1
  7. package/dist/plugins/providers/anthropic/index.js +13 -1
  8. package/dist/plugins/providers/anthropic/index.js.map +1 -1
  9. package/dist/plugins/providers/deepseek/index.d.ts +9 -0
  10. package/dist/plugins/providers/deepseek/index.d.ts.map +1 -1
  11. package/dist/plugins/providers/deepseek/index.js +28 -1
  12. package/dist/plugins/providers/deepseek/index.js.map +1 -1
  13. package/dist/plugins/providers/google/index.d.ts +9 -0
  14. package/dist/plugins/providers/google/index.d.ts.map +1 -1
  15. package/dist/plugins/providers/google/index.js +13 -1
  16. package/dist/plugins/providers/google/index.js.map +1 -1
  17. package/dist/plugins/providers/ollama/index.d.ts +5 -1
  18. package/dist/plugins/providers/ollama/index.d.ts.map +1 -1
  19. package/dist/plugins/providers/ollama/index.js +11 -2
  20. package/dist/plugins/providers/ollama/index.js.map +1 -1
  21. package/dist/plugins/providers/openai/index.d.ts +9 -0
  22. package/dist/plugins/providers/openai/index.d.ts.map +1 -1
  23. package/dist/plugins/providers/openai/index.js +13 -1
  24. package/dist/plugins/providers/openai/index.js.map +1 -1
  25. package/dist/plugins/providers/xai/index.d.ts +9 -0
  26. package/dist/plugins/providers/xai/index.d.ts.map +1 -1
  27. package/dist/plugins/providers/xai/index.js +15 -1
  28. package/dist/plugins/providers/xai/index.js.map +1 -1
  29. package/dist/providers/anthropicProvider.d.ts +7 -0
  30. package/dist/providers/anthropicProvider.d.ts.map +1 -1
  31. package/dist/providers/anthropicProvider.js +87 -9
  32. package/dist/providers/anthropicProvider.js.map +1 -1
  33. package/dist/providers/googleProvider.d.ts +17 -0
  34. package/dist/providers/googleProvider.d.ts.map +1 -1
  35. package/dist/providers/googleProvider.js +113 -32
  36. package/dist/providers/googleProvider.js.map +1 -1
  37. package/dist/providers/openaiChatCompletionsProvider.d.ts +26 -0
  38. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -1
  39. package/dist/providers/openaiChatCompletionsProvider.js +162 -27
  40. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
  41. package/dist/providers/openaiResponsesProvider.d.ts +17 -0
  42. package/dist/providers/openaiResponsesProvider.d.ts.map +1 -1
  43. package/dist/providers/openaiResponsesProvider.js +109 -25
  44. package/dist/providers/openaiResponsesProvider.js.map +1 -1
  45. package/dist/providers/resilientProvider.d.ts.map +1 -1
  46. package/dist/providers/resilientProvider.js +47 -1
  47. package/dist/providers/resilientProvider.js.map +1 -1
  48. package/dist/shell/interactiveShell.d.ts +6 -0
  49. package/dist/shell/interactiveShell.d.ts.map +1 -1
  50. package/dist/shell/interactiveShell.js +48 -0
  51. package/dist/shell/interactiveShell.js.map +1 -1
  52. package/dist/shell/taskCompletionDetector.d.ts +4 -0
  53. package/dist/shell/taskCompletionDetector.d.ts.map +1 -1
  54. package/dist/shell/taskCompletionDetector.js +27 -1
  55. package/dist/shell/taskCompletionDetector.js.map +1 -1
  56. package/dist/tools/bashTools.d.ts.map +1 -1
  57. package/dist/tools/bashTools.js +26 -8
  58. package/dist/tools/bashTools.js.map +1 -1
  59. package/dist/tools/browserAutomationTools.d.ts.map +1 -1
  60. package/dist/tools/browserAutomationTools.js +9 -1
  61. package/dist/tools/browserAutomationTools.js.map +1 -1
  62. package/dist/tools/cloudTools.d.ts.map +1 -1
  63. package/dist/tools/cloudTools.js +436 -35
  64. package/dist/tools/cloudTools.js.map +1 -1
  65. package/dist/tools/codeGenerationTools.d.ts.map +1 -1
  66. package/dist/tools/codeGenerationTools.js +77 -7
  67. package/dist/tools/codeGenerationTools.js.map +1 -1
  68. package/dist/ui/persistentPrompt.d.ts +10 -0
  69. package/dist/ui/persistentPrompt.d.ts.map +1 -1
  70. package/dist/ui/persistentPrompt.js +82 -18
  71. package/dist/ui/persistentPrompt.js.map +1 -1
  72. 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
- return new AnthropicMessagesProvider(options);
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;AAEzE,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,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,OAAO,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChD,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
+ {"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":"AAKA,wBAAgB,8BAA8B,IAAI,IAAI,CAerD"}
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
- return new OpenAIChatCompletionsProvider({
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;AAEzE,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,8BAA8B;IAC5C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;QACtC,OAAO,IAAI,6BAA6B,CAAC;YACvC,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC;YACtC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,0BAA0B;YACnC,UAAU,EAAE,UAAU;SACvB,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
+ {"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":"AAKA,wBAAgB,4BAA4B,IAAI,IAAI,CAiBnD"}
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
- return new GoogleGenAIProvider(options);
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;AAEzE,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,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,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,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
+ {"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
- * Register Ollama provider plugin.
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":"AAKA;;;;;GAKG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAqBnD;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
+ {"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
- * Register Ollama provider plugin.
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
- return new OpenAIChatCompletionsProvider(options);
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;AAEzE,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;GAKG;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,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,OAAO,IAAI,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACpD,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
+ {"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":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD,wBAAgB,4BAA4B,CAAC,UAAU,GAAE,UAAqB,GAAG,IAAI,CAiBpF"}
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
- return new OpenAIResponsesProvider(options);
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;AAGzE,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,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,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC9C,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
+ {"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":"AAKA,wBAAgB,yBAAyB,IAAI,IAAI,CAehD"}
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
- return new OpenAIChatCompletionsProvider({
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;AAEzE,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,yBAAyB;IACvC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;QACjC,OAAO,IAAI,6BAA6B,CAAC;YACvC,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,qBAAqB;YAC9B,UAAU,EAAE,KAAK;SAClB,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
+ {"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;AAE1B,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;CAC/B;AAOD,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;gBAElC,OAAO,EAAE,wBAAwB;IAavC,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;;YAI9D,2BAA2B;CAoB1C"}
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 retries = 0;
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
- if (!isRateLimitError(error)) {
157
- throw error;
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
- if (retries >= this.rateLimitMaxRetries) {
160
- throw buildRateLimitFailureError(error, retries);
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
- const waitMs = determineRetryDelay(error.headers, delayMs);
163
- await sleep(waitMs);
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;AAE1B,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;CAC1B;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;gBAE9B,OAAO,EAAE,0BAA0B;IAUzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA4C5G"}
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"}