agentic-qe 2.6.3 → 2.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 (44) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +26 -1
  3. package/dist/cli/commands/providers/index.d.ts +20 -0
  4. package/dist/cli/commands/providers/index.d.ts.map +1 -0
  5. package/dist/cli/commands/providers/index.js +143 -0
  6. package/dist/cli/commands/providers/index.js.map +1 -0
  7. package/dist/cli/commands/providers/status.d.ts +117 -0
  8. package/dist/cli/commands/providers/status.d.ts.map +1 -0
  9. package/dist/cli/commands/providers/status.js +368 -0
  10. package/dist/cli/commands/providers/status.js.map +1 -0
  11. package/dist/cli/index.js +8 -62
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  14. package/dist/mcp/server-instructions.d.ts +1 -1
  15. package/dist/mcp/server-instructions.js +1 -1
  16. package/dist/monitoring/ProviderHealthMonitor.d.ts +195 -0
  17. package/dist/monitoring/ProviderHealthMonitor.d.ts.map +1 -0
  18. package/dist/monitoring/ProviderHealthMonitor.js +431 -0
  19. package/dist/monitoring/ProviderHealthMonitor.js.map +1 -0
  20. package/dist/monitoring/QuotaManager.d.ts +122 -0
  21. package/dist/monitoring/QuotaManager.d.ts.map +1 -0
  22. package/dist/monitoring/QuotaManager.js +351 -0
  23. package/dist/monitoring/QuotaManager.js.map +1 -0
  24. package/dist/providers/GitHubModelsProvider.d.ts +117 -0
  25. package/dist/providers/GitHubModelsProvider.d.ts.map +1 -0
  26. package/dist/providers/GitHubModelsProvider.js +464 -0
  27. package/dist/providers/GitHubModelsProvider.js.map +1 -0
  28. package/dist/providers/GroqProvider.d.ts +115 -0
  29. package/dist/providers/GroqProvider.d.ts.map +1 -0
  30. package/dist/providers/GroqProvider.js +443 -0
  31. package/dist/providers/GroqProvider.js.map +1 -0
  32. package/dist/providers/HybridRouterHealthIntegration.d.ts +191 -0
  33. package/dist/providers/HybridRouterHealthIntegration.d.ts.map +1 -0
  34. package/dist/providers/HybridRouterHealthIntegration.js +439 -0
  35. package/dist/providers/HybridRouterHealthIntegration.js.map +1 -0
  36. package/dist/providers/index.d.ts +6 -0
  37. package/dist/providers/index.d.ts.map +1 -1
  38. package/dist/providers/index.js +12 -1
  39. package/dist/providers/index.js.map +1 -1
  40. package/package.json +3 -2
  41. package/dist/cli/commands/providers.d.ts +0 -50
  42. package/dist/cli/commands/providers.d.ts.map +0 -1
  43. package/dist/cli/commands/providers.js +0 -403
  44. package/dist/cli/commands/providers.js.map +0 -1
@@ -0,0 +1,439 @@
1
+ "use strict";
2
+ /**
3
+ * HybridRouterHealthIntegration - Health-aware routing integration for HybridRouter
4
+ *
5
+ * Integrates ProviderHealthMonitor with HybridRouter for:
6
+ * - Real-time health status-based routing decisions
7
+ * - Automatic fallback chain when primary provider is unhealthy
8
+ * - Circuit breaker coordination
9
+ * - Provider ranking by health score
10
+ *
11
+ * @module providers/HybridRouterHealthIntegration
12
+ * @version 1.0.0
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.HybridRouterHealthIntegration = void 0;
16
+ exports.createHealthAwareRouter = createHealthAwareRouter;
17
+ const events_1 = require("events");
18
+ const Logger_1 = require("../utils/Logger");
19
+ const ProviderHealthMonitor_1 = require("../monitoring/ProviderHealthMonitor");
20
+ /**
21
+ * Default fallback configuration
22
+ */
23
+ const DEFAULT_FALLBACK_CONFIG = {
24
+ enabled: true,
25
+ maxAttempts: 3,
26
+ retryDelay: 100,
27
+ preferLowLatency: true,
28
+ preferHighAvailability: true,
29
+ minHealthScore: 0.3
30
+ };
31
+ /**
32
+ * HybridRouterHealthIntegration - Coordinates health monitoring with routing
33
+ *
34
+ * This class sits between HybridRouter and ProviderHealthMonitor to provide:
35
+ * 1. Health-aware provider selection
36
+ * 2. Intelligent fallback chain based on health metrics
37
+ * 3. Event coordination for health/routing decisions
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * const healthMonitor = new ProviderHealthMonitor();
42
+ * const integration = new HybridRouterHealthIntegration(healthMonitor);
43
+ *
44
+ * // Register providers
45
+ * integration.registerProvider('claude', claudeProvider);
46
+ * integration.registerProvider('groq', groqProvider);
47
+ * integration.registerProvider('github-models', githubModelsProvider);
48
+ *
49
+ * // Get ranked providers for routing
50
+ * const ranked = integration.getRankedProviders();
51
+ *
52
+ * // Execute with automatic fallback
53
+ * const result = await integration.executeWithFallback(options);
54
+ * ```
55
+ */
56
+ class HybridRouterHealthIntegration extends events_1.EventEmitter {
57
+ constructor(healthMonitor, fallbackConfig) {
58
+ super();
59
+ this.logger = Logger_1.Logger.getInstance();
60
+ this.healthMonitor = healthMonitor;
61
+ this.fallbackConfig = { ...DEFAULT_FALLBACK_CONFIG, ...fallbackConfig };
62
+ this.providers = new Map();
63
+ // Listen to health monitor events
64
+ this.setupHealthEventListeners();
65
+ this.logger.debug('HybridRouterHealthIntegration initialized', {
66
+ fallbackConfig: this.fallbackConfig
67
+ });
68
+ }
69
+ /**
70
+ * Register a provider for health-aware routing
71
+ *
72
+ * @param providerId - Unique identifier for the provider
73
+ * @param provider - LLM provider instance
74
+ */
75
+ registerProvider(providerId, provider) {
76
+ this.providers.set(providerId, provider);
77
+ // Register with health monitor
78
+ this.healthMonitor.registerProvider(providerId, () => provider.healthCheck());
79
+ this.logger.info(`Provider ${providerId} registered for health-aware routing`);
80
+ }
81
+ /**
82
+ * Unregister a provider
83
+ *
84
+ * @param providerId - Provider to unregister
85
+ */
86
+ unregisterProvider(providerId) {
87
+ this.providers.delete(providerId);
88
+ this.healthMonitor.unregisterProvider(providerId);
89
+ this.logger.info(`Provider ${providerId} unregistered`);
90
+ }
91
+ /**
92
+ * Get all providers ranked by health score
93
+ *
94
+ * Providers are ranked considering:
95
+ * - Current health status
96
+ * - Circuit breaker state
97
+ * - Latency (if preferLowLatency enabled)
98
+ * - Availability (if preferHighAvailability enabled)
99
+ *
100
+ * @returns Array of providers sorted by priority (best first)
101
+ */
102
+ getRankedProviders() {
103
+ const ranked = [];
104
+ for (const [providerId, provider] of this.providers.entries()) {
105
+ const healthState = this.healthMonitor.getProviderHealth(providerId);
106
+ if (!healthState) {
107
+ // Provider not monitored, add with default values
108
+ ranked.push({
109
+ providerId,
110
+ provider,
111
+ healthScore: 0.5,
112
+ latency: 1000,
113
+ availability: 0.5,
114
+ isHealthy: true,
115
+ circuitState: 'closed'
116
+ });
117
+ continue;
118
+ }
119
+ // Calculate composite health score
120
+ const healthScore = this.calculateHealthScore(healthState);
121
+ ranked.push({
122
+ providerId,
123
+ provider,
124
+ healthScore,
125
+ latency: healthState.latency,
126
+ availability: healthState.availability,
127
+ isHealthy: healthState.healthy,
128
+ circuitState: healthState.circuitState
129
+ });
130
+ }
131
+ // Sort by health score (descending)
132
+ return ranked.sort((a, b) => b.healthScore - a.healthScore);
133
+ }
134
+ /**
135
+ * Get the best available provider based on health
136
+ *
137
+ * @returns Best provider or undefined if none available
138
+ */
139
+ getBestProvider() {
140
+ const ranked = this.getRankedProviders();
141
+ // Find first healthy provider with closed circuit
142
+ const healthy = ranked.find(p => p.isHealthy &&
143
+ p.circuitState === 'closed' &&
144
+ p.healthScore >= this.fallbackConfig.minHealthScore);
145
+ if (healthy) {
146
+ return healthy;
147
+ }
148
+ // Fallback: find first provider with half-open circuit (recovery attempt)
149
+ const recovering = ranked.find(p => p.circuitState === 'half-open');
150
+ if (recovering) {
151
+ this.logger.debug('Using recovering provider for best selection', {
152
+ providerId: recovering.providerId
153
+ });
154
+ return recovering;
155
+ }
156
+ return undefined;
157
+ }
158
+ /**
159
+ * Build fallback chain for a primary provider
160
+ *
161
+ * @param excludeProviderId - Provider ID to exclude (primary)
162
+ * @returns Array of provider IDs in fallback order
163
+ */
164
+ buildFallbackChain(excludeProviderId) {
165
+ const ranked = this.getRankedProviders()
166
+ .filter(p => p.providerId !== excludeProviderId)
167
+ .filter(p => p.healthScore >= this.fallbackConfig.minHealthScore)
168
+ .filter(p => p.circuitState !== 'open');
169
+ return ranked.map(p => p.providerId);
170
+ }
171
+ /**
172
+ * Execute a completion request with automatic fallback
173
+ *
174
+ * Attempts to execute with the best provider, falling back to
175
+ * alternatives if the primary fails.
176
+ *
177
+ * @param options - Completion options
178
+ * @param preferredProviderId - Optional preferred provider to try first
179
+ * @returns Fallback result with response or error
180
+ */
181
+ async executeWithFallback(options, preferredProviderId) {
182
+ if (!this.fallbackConfig.enabled) {
183
+ // Fallback disabled, just try the preferred or best provider
184
+ const provider = preferredProviderId
185
+ ? this.providers.get(preferredProviderId)
186
+ : this.getBestProvider()?.provider;
187
+ if (!provider) {
188
+ return {
189
+ success: false,
190
+ providerId: 'none',
191
+ attemptCount: 0,
192
+ error: 'No provider available',
193
+ fallbackChain: []
194
+ };
195
+ }
196
+ try {
197
+ const response = await provider.complete(options);
198
+ return {
199
+ success: true,
200
+ providerId: preferredProviderId || 'best',
201
+ attemptCount: 1,
202
+ response,
203
+ fallbackChain: []
204
+ };
205
+ }
206
+ catch (error) {
207
+ return {
208
+ success: false,
209
+ providerId: preferredProviderId || 'best',
210
+ attemptCount: 1,
211
+ error: error.message,
212
+ fallbackChain: []
213
+ };
214
+ }
215
+ }
216
+ // Build execution chain
217
+ let chain = [];
218
+ if (preferredProviderId && this.isProviderAvailable(preferredProviderId)) {
219
+ chain = [preferredProviderId, ...this.buildFallbackChain(preferredProviderId)];
220
+ }
221
+ else {
222
+ chain = this.buildFallbackChain();
223
+ }
224
+ if (chain.length === 0) {
225
+ return {
226
+ success: false,
227
+ providerId: 'none',
228
+ attemptCount: 0,
229
+ error: 'No healthy providers available',
230
+ fallbackChain: []
231
+ };
232
+ }
233
+ // Track the decision
234
+ this.lastRoutingDecision = {
235
+ primaryProvider: chain[0],
236
+ fallbackChain: chain.slice(1),
237
+ timestamp: new Date()
238
+ };
239
+ // Execute with fallback
240
+ const attemptedChain = [];
241
+ let lastError;
242
+ for (let i = 0; i < Math.min(chain.length, this.fallbackConfig.maxAttempts); i++) {
243
+ const providerId = chain[i];
244
+ const provider = this.providers.get(providerId);
245
+ if (!provider) {
246
+ continue;
247
+ }
248
+ attemptedChain.push(providerId);
249
+ try {
250
+ this.logger.debug(`Attempting provider ${providerId}`, {
251
+ attemptNumber: i + 1,
252
+ totalInChain: chain.length
253
+ });
254
+ const response = await provider.complete(options);
255
+ // Success - emit event
256
+ this.emit('fallback-success', {
257
+ providerId,
258
+ attemptNumber: i + 1,
259
+ fallbackChain: attemptedChain,
260
+ timestamp: new Date()
261
+ });
262
+ return {
263
+ success: true,
264
+ providerId,
265
+ attemptCount: i + 1,
266
+ response,
267
+ fallbackChain: attemptedChain
268
+ };
269
+ }
270
+ catch (error) {
271
+ lastError = error.message;
272
+ this.logger.warn(`Provider ${providerId} failed, attempting fallback`, {
273
+ error: lastError,
274
+ attemptNumber: i + 1,
275
+ remainingProviders: chain.length - i - 1
276
+ });
277
+ // Emit failure event
278
+ this.emit('provider-failed', {
279
+ providerId,
280
+ error: lastError,
281
+ attemptNumber: i + 1,
282
+ timestamp: new Date()
283
+ });
284
+ // Wait before retry (except for last attempt)
285
+ if (i < chain.length - 1 && this.fallbackConfig.retryDelay > 0) {
286
+ await this.delay(this.fallbackConfig.retryDelay);
287
+ }
288
+ }
289
+ }
290
+ // All attempts failed
291
+ this.emit('fallback-exhausted', {
292
+ attemptedProviders: attemptedChain,
293
+ lastError,
294
+ timestamp: new Date()
295
+ });
296
+ return {
297
+ success: false,
298
+ providerId: attemptedChain[attemptedChain.length - 1] || 'none',
299
+ attemptCount: attemptedChain.length,
300
+ error: lastError || 'All providers failed',
301
+ fallbackChain: attemptedChain
302
+ };
303
+ }
304
+ /**
305
+ * Check if a specific provider is available for use
306
+ *
307
+ * @param providerId - Provider to check
308
+ * @returns True if provider can be used
309
+ */
310
+ isProviderAvailable(providerId) {
311
+ if (!this.providers.has(providerId)) {
312
+ return false;
313
+ }
314
+ const health = this.healthMonitor.getProviderHealth(providerId);
315
+ if (!health) {
316
+ return true; // Not monitored, assume available
317
+ }
318
+ // Provider is available if:
319
+ // 1. Circuit is closed and it's healthy
320
+ // 2. Circuit is half-open (recovery attempt)
321
+ return ((health.circuitState === 'closed' && health.healthy) ||
322
+ health.circuitState === 'half-open');
323
+ }
324
+ /**
325
+ * Get health summary for all providers
326
+ *
327
+ * @returns Map of provider IDs to health status
328
+ */
329
+ getHealthSummary() {
330
+ const summary = new Map();
331
+ for (const providerId of this.providers.keys()) {
332
+ const health = this.healthMonitor.getProviderHealth(providerId);
333
+ if (health) {
334
+ summary.set(providerId, {
335
+ healthy: health.healthy,
336
+ circuitState: health.circuitState,
337
+ healthScore: this.calculateHealthScore(health),
338
+ lastCheck: health.lastCheck
339
+ });
340
+ }
341
+ else {
342
+ summary.set(providerId, {
343
+ healthy: true,
344
+ circuitState: 'unknown',
345
+ healthScore: 0.5,
346
+ lastCheck: new Date()
347
+ });
348
+ }
349
+ }
350
+ return summary;
351
+ }
352
+ /**
353
+ * Force health check on all providers
354
+ *
355
+ * @returns Array of health check results
356
+ */
357
+ async forceHealthCheck() {
358
+ return this.healthMonitor.checkAllProviders();
359
+ }
360
+ /**
361
+ * Get the last routing decision
362
+ */
363
+ getLastRoutingDecision() {
364
+ return this.lastRoutingDecision;
365
+ }
366
+ /**
367
+ * Calculate composite health score
368
+ *
369
+ * Score is based on:
370
+ * - Base health status (40%)
371
+ * - Availability (30%)
372
+ * - Latency score (20%)
373
+ * - Circuit state (10%)
374
+ */
375
+ calculateHealthScore(health) {
376
+ let score = 0;
377
+ // Base health (40%)
378
+ if (health.healthy) {
379
+ score += 0.4;
380
+ }
381
+ // Availability (30%)
382
+ score += health.availability * 0.3;
383
+ // Latency score (20%) - lower is better, max 5000ms
384
+ const latencyScore = Math.max(0, 1 - health.latency / 5000);
385
+ score += latencyScore * 0.2;
386
+ // Circuit state (10%)
387
+ switch (health.circuitState) {
388
+ case 'closed':
389
+ score += 0.1;
390
+ break;
391
+ case 'half-open':
392
+ score += 0.05;
393
+ break;
394
+ case 'open':
395
+ score += 0;
396
+ break;
397
+ }
398
+ return Math.min(1, Math.max(0, score));
399
+ }
400
+ /**
401
+ * Setup listeners for health monitor events
402
+ */
403
+ setupHealthEventListeners() {
404
+ this.healthMonitor.on('health-change', (data) => {
405
+ this.logger.debug('Provider health changed', {
406
+ providerId: data.providerId,
407
+ healthy: data.healthy,
408
+ errorRate: data.errorRate
409
+ });
410
+ // Re-emit for consumers
411
+ this.emit('health-change', data);
412
+ });
413
+ this.healthMonitor.on('circuit-change', (data) => {
414
+ this.logger.info('Circuit state changed', {
415
+ providerId: data.providerId,
416
+ state: data.circuitState,
417
+ previousState: data.previousState
418
+ });
419
+ // Re-emit for consumers
420
+ this.emit('circuit-change', data);
421
+ });
422
+ }
423
+ /**
424
+ * Delay helper
425
+ */
426
+ delay(ms) {
427
+ return new Promise(resolve => setTimeout(resolve, ms));
428
+ }
429
+ }
430
+ exports.HybridRouterHealthIntegration = HybridRouterHealthIntegration;
431
+ /**
432
+ * Factory function to create integration with default config
433
+ */
434
+ function createHealthAwareRouter(healthConfig, fallbackConfig) {
435
+ const healthMonitor = new ProviderHealthMonitor_1.ProviderHealthMonitor(healthConfig);
436
+ const integration = new HybridRouterHealthIntegration(healthMonitor, fallbackConfig);
437
+ return { healthMonitor, integration };
438
+ }
439
+ //# sourceMappingURL=HybridRouterHealthIntegration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HybridRouterHealthIntegration.js","sourceRoot":"","sources":["../../src/providers/HybridRouterHealthIntegration.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,10 @@
4
4
  * This module provides a unified interface for multiple LLM providers:
5
5
  * - ClaudeProvider: Anthropic Claude API
6
6
  * - RuvllmProvider: Local LLM inference via ruvllm
7
+ * - OllamaProvider: Local LLM inference via Ollama
8
+ * - GroqProvider: Ultra-fast cloud inference via Groq LPU (FREE tier: 14,400 req/day)
7
9
  * - OpenRouterProvider: 300+ models with auto-routing and hot-swap
10
+ * - GitHubModelsProvider: GitHub Models API (FREE in Codespaces)
8
11
  * - LLMProviderFactory: Factory for provider creation and hybrid routing
9
12
  *
10
13
  * @module providers
@@ -14,10 +17,13 @@ export { ILLMProvider, LLMProviderConfig, LLMCompletionOptions, LLMCompletionRes
14
17
  export { ClaudeProvider, ClaudeProviderConfig } from './ClaudeProvider';
15
18
  export { RuvllmProvider, RuvllmProviderConfig } from './RuvllmProvider';
16
19
  export { OllamaProvider, OllamaProviderConfig } from './OllamaProvider';
20
+ export { GroqProvider, GroqProviderConfig } from './GroqProvider';
17
21
  export { OpenRouterProvider, OpenRouterConfig, OpenRouterModel, createOpenRouterProvider } from './OpenRouterProvider';
22
+ export { GitHubModelsProvider, GitHubModelsProviderConfig } from './GitHubModelsProvider';
18
23
  export { HybridRouter, HybridRouterConfig, RuVectorCacheConfig, RequestPriority, TaskComplexity, RoutingStrategy, RoutingDecision, CostSavingsReport, BudgetConfig, BudgetStatus } from './HybridRouter';
19
24
  export { HybridRouterWithComplexity, HybridRouterWithComplexityConfig, ClassifierStatistics } from './HybridRouterComplexityIntegration';
20
25
  export { HybridRouterModelSelection, ModelSelectionResult, createModelSelection } from './HybridRouterModelSelection';
26
+ export { HybridRouterHealthIntegration, FallbackConfig, RankedProvider, FallbackResult, createHealthAwareRouter } from './HybridRouterHealthIntegration';
21
27
  export { PromptCompressor, RequestBatcher, SmartCacheStrategy, ModelRightSizer, CostOptimizationManager } from './CostOptimizationStrategies';
22
28
  export type { CompressionResult, RequestGroup, BatchExecutionResult, CacheStrategy, ModelRightSizingResult, CostOptimizationConfig } from './CostOptimizationStrategies';
23
29
  export { RuVectorClient, RuVectorConfig, RuVectorError, createRuVectorClient, RUVECTOR_CLIENT_VERSION } from './RuVectorClient';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
@@ -5,14 +5,17 @@
5
5
  * This module provides a unified interface for multiple LLM providers:
6
6
  * - ClaudeProvider: Anthropic Claude API
7
7
  * - RuvllmProvider: Local LLM inference via ruvllm
8
+ * - OllamaProvider: Local LLM inference via Ollama
9
+ * - GroqProvider: Ultra-fast cloud inference via Groq LPU (FREE tier: 14,400 req/day)
8
10
  * - OpenRouterProvider: 300+ models with auto-routing and hot-swap
11
+ * - GitHubModelsProvider: GitHub Models API (FREE in Codespaces)
9
12
  * - LLMProviderFactory: Factory for provider creation and hybrid routing
10
13
  *
11
14
  * @module providers
12
15
  * @version 2.0.0
13
16
  */
14
17
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.setGlobalLLMFactory = exports.getGlobalLLMFactory = exports.LLMProviderFactory = exports.createRuvllmPatternCurator = exports.RuvllmPatternCurator = exports.RUVECTOR_POSTGRES_ADAPTER_VERSION = exports.createDockerRuVectorAdapter = exports.createRuVectorPostgresAdapter = exports.RuVectorPostgresAdapter = exports.RUVECTOR_CLIENT_VERSION = exports.createRuVectorClient = exports.RuVectorError = exports.RuVectorClient = exports.CostOptimizationManager = exports.ModelRightSizer = exports.SmartCacheStrategy = exports.RequestBatcher = exports.PromptCompressor = exports.createModelSelection = exports.HybridRouterModelSelection = exports.HybridRouterWithComplexity = exports.RoutingStrategy = exports.TaskComplexity = exports.RequestPriority = exports.HybridRouter = exports.createOpenRouterProvider = exports.OpenRouterProvider = exports.OllamaProvider = exports.RuvllmProvider = exports.ClaudeProvider = exports.isLLMProviderError = exports.LLMProviderError = void 0;
18
+ exports.setGlobalLLMFactory = exports.getGlobalLLMFactory = exports.LLMProviderFactory = exports.createRuvllmPatternCurator = exports.RuvllmPatternCurator = exports.RUVECTOR_POSTGRES_ADAPTER_VERSION = exports.createDockerRuVectorAdapter = exports.createRuVectorPostgresAdapter = exports.RuVectorPostgresAdapter = exports.RUVECTOR_CLIENT_VERSION = exports.createRuVectorClient = exports.RuVectorError = exports.RuVectorClient = exports.CostOptimizationManager = exports.ModelRightSizer = exports.SmartCacheStrategy = exports.RequestBatcher = exports.PromptCompressor = exports.createHealthAwareRouter = exports.HybridRouterHealthIntegration = exports.createModelSelection = exports.HybridRouterModelSelection = exports.HybridRouterWithComplexity = exports.RoutingStrategy = exports.TaskComplexity = exports.RequestPriority = exports.HybridRouter = exports.GitHubModelsProvider = exports.createOpenRouterProvider = exports.OpenRouterProvider = exports.GroqProvider = exports.OllamaProvider = exports.RuvllmProvider = exports.ClaudeProvider = exports.isLLMProviderError = exports.LLMProviderError = void 0;
16
19
  exports.createDefaultProvider = createDefaultProvider;
17
20
  exports.createHybridProvider = createHybridProvider;
18
21
  exports.createOpenRouterWithAutoRoute = createOpenRouterWithAutoRoute;
@@ -30,9 +33,13 @@ var RuvllmProvider_1 = require("./RuvllmProvider");
30
33
  Object.defineProperty(exports, "RuvllmProvider", { enumerable: true, get: function () { return RuvllmProvider_1.RuvllmProvider; } });
31
34
  var OllamaProvider_1 = require("./OllamaProvider");
32
35
  Object.defineProperty(exports, "OllamaProvider", { enumerable: true, get: function () { return OllamaProvider_1.OllamaProvider; } });
36
+ var GroqProvider_1 = require("./GroqProvider");
37
+ Object.defineProperty(exports, "GroqProvider", { enumerable: true, get: function () { return GroqProvider_1.GroqProvider; } });
33
38
  var OpenRouterProvider_1 = require("./OpenRouterProvider");
34
39
  Object.defineProperty(exports, "OpenRouterProvider", { enumerable: true, get: function () { return OpenRouterProvider_1.OpenRouterProvider; } });
35
40
  Object.defineProperty(exports, "createOpenRouterProvider", { enumerable: true, get: function () { return OpenRouterProvider_1.createOpenRouterProvider; } });
41
+ var GitHubModelsProvider_1 = require("./GitHubModelsProvider");
42
+ Object.defineProperty(exports, "GitHubModelsProvider", { enumerable: true, get: function () { return GitHubModelsProvider_1.GitHubModelsProvider; } });
36
43
  // Hybrid router with RuVector cache integration (Phase 0.5)
37
44
  var HybridRouter_1 = require("./HybridRouter");
38
45
  Object.defineProperty(exports, "HybridRouter", { enumerable: true, get: function () { return HybridRouter_1.HybridRouter; } });
@@ -46,6 +53,10 @@ Object.defineProperty(exports, "HybridRouterWithComplexity", { enumerable: true,
46
53
  var HybridRouterModelSelection_1 = require("./HybridRouterModelSelection");
47
54
  Object.defineProperty(exports, "HybridRouterModelSelection", { enumerable: true, get: function () { return HybridRouterModelSelection_1.HybridRouterModelSelection; } });
48
55
  Object.defineProperty(exports, "createModelSelection", { enumerable: true, get: function () { return HybridRouterModelSelection_1.createModelSelection; } });
56
+ // Phase 3.2.2: Health-Aware Routing Integration
57
+ var HybridRouterHealthIntegration_1 = require("./HybridRouterHealthIntegration");
58
+ Object.defineProperty(exports, "HybridRouterHealthIntegration", { enumerable: true, get: function () { return HybridRouterHealthIntegration_1.HybridRouterHealthIntegration; } });
59
+ Object.defineProperty(exports, "createHealthAwareRouter", { enumerable: true, get: function () { return HybridRouterHealthIntegration_1.createHealthAwareRouter; } });
49
60
  // Phase 2.x.2: Cost Optimization Strategies
50
61
  var CostOptimizationStrategies_1 = require("./CostOptimizationStrategies");
51
62
  Object.defineProperty(exports, "PromptCompressor", { enumerable: true, get: function () { return CostOptimizationStrategies_1.PromptCompressor; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-qe",
3
- "version": "2.6.3",
3
+ "version": "2.6.5",
4
4
  "description": "Agentic Quality Engineering Fleet System - AI-driven quality management platform with 46 QE skills, n8n workflow testing agents, learning, pattern reuse, ML-based flaky detection, Multi-Model Router (70-81% cost savings), streaming progress updates, 91 MCP tools with lazy loading (87% context reduction), and native TypeScript hooks",
5
5
  "main": "dist/cli/index.js",
6
6
  "types": "dist/cli/index.d.ts",
@@ -50,7 +50,7 @@
50
50
  "pretest:regression": "node scripts/check-memory-before-test.js",
51
51
  "test:regression": "node --expose-gc --max-old-space-size=512 --no-compilation-cache node_modules/.bin/jest tests/regression --runInBand --forceExit",
52
52
  "pretest:fast": "node scripts/check-memory-before-test.js",
53
- "test:fast": "node --expose-gc --max-old-space-size=768 --no-compilation-cache node_modules/.bin/jest tests/journeys tests/contracts --runInBand --forceExit --testTimeout=60000",
53
+ "test:fast": "node --expose-gc --max-old-space-size=768 --no-compilation-cache node_modules/.bin/jest tests/journeys tests/contracts --runInBand --forceExit --testTimeout=60000 --testPathIgnorePatterns='flaky-detection'",
54
54
  "test:benchmarks": "node --expose-gc --max-old-space-size=512 --no-compilation-cache node_modules/.bin/jest --config jest.config.benchmarks.js --runInBand --forceExit",
55
55
  "test:code-intelligence": "node --expose-gc --max-old-space-size=768 --no-compilation-cache node_modules/.bin/jest --config jest.config.code-intelligence.js --forceExit",
56
56
  "pretest:ci:optimized": "node scripts/check-memory-before-test.js",
@@ -152,6 +152,7 @@
152
152
  "commander": "^14.0.1",
153
153
  "cors": "^2.8.5",
154
154
  "express": "^5.2.1",
155
+ "fast-glob": "^3.3.3",
155
156
  "fs-extra": "^11.1.1",
156
157
  "gpt-tokenizer": "^2.1.2",
157
158
  "graphql": "^16.11.0",
@@ -1,50 +0,0 @@
1
- /**
2
- * Providers CLI Commands
3
- *
4
- * Commands for managing LLM providers
5
- * Provides list, status, switch, and test functionality for provider management.
6
- */
7
- export interface ProvidersCommandOptions {
8
- format?: 'json' | 'table';
9
- verbose?: boolean;
10
- provider?: string;
11
- }
12
- /**
13
- * Providers command class
14
- */
15
- export declare class ProvidersCommand {
16
- private static logger;
17
- /**
18
- * Execute providers command
19
- */
20
- static execute(subcommand: string, args?: string[], options?: ProvidersCommandOptions): Promise<void>;
21
- /**
22
- * List all configured providers and their status
23
- */
24
- private static listProviders;
25
- /**
26
- * Show current provider status and health
27
- */
28
- private static showStatus;
29
- /**
30
- * Switch the default provider
31
- */
32
- private static switchProvider;
33
- /**
34
- * Test a specific provider's connectivity
35
- */
36
- private static testProvider;
37
- /**
38
- * Strip ANSI codes for padding calculation
39
- */
40
- private static stripAnsi;
41
- /**
42
- * Show command help
43
- */
44
- private static showHelp;
45
- }
46
- export declare function providersList(options: ProvidersCommandOptions): Promise<void>;
47
- export declare function providersStatus(options: ProvidersCommandOptions): Promise<void>;
48
- export declare function providersSwitch(provider: string, options: ProvidersCommandOptions): Promise<void>;
49
- export declare function providersTest(provider: string, options: ProvidersCommandOptions): Promise<void>;
50
- //# sourceMappingURL=providers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/providers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAwB;IAE7C;;OAEG;WACU,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnH;;OAEG;mBACkB,aAAa;IAgHlC;;OAEG;mBACkB,UAAU;IAgE/B;;OAEG;mBACkB,cAAc;IAyDnC;;OAEG;mBACkB,YAAY;IAoEjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;CAgBxB;AAGD,wBAAsB,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnF;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrF;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvG;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrG"}