agentic-qe 2.6.4 → 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.
- package/CHANGELOG.md +43 -0
- package/README.md +26 -1
- package/dist/cli/commands/providers/index.d.ts +20 -0
- package/dist/cli/commands/providers/index.d.ts.map +1 -0
- package/dist/cli/commands/providers/index.js +143 -0
- package/dist/cli/commands/providers/index.js.map +1 -0
- package/dist/cli/commands/providers/status.d.ts +117 -0
- package/dist/cli/commands/providers/status.d.ts.map +1 -0
- package/dist/cli/commands/providers/status.js +368 -0
- package/dist/cli/commands/providers/status.js.map +1 -0
- package/dist/cli/index.js +8 -62
- package/dist/cli/index.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/monitoring/ProviderHealthMonitor.d.ts +195 -0
- package/dist/monitoring/ProviderHealthMonitor.d.ts.map +1 -0
- package/dist/monitoring/ProviderHealthMonitor.js +431 -0
- package/dist/monitoring/ProviderHealthMonitor.js.map +1 -0
- package/dist/monitoring/QuotaManager.d.ts +122 -0
- package/dist/monitoring/QuotaManager.d.ts.map +1 -0
- package/dist/monitoring/QuotaManager.js +351 -0
- package/dist/monitoring/QuotaManager.js.map +1 -0
- package/dist/providers/GitHubModelsProvider.d.ts +117 -0
- package/dist/providers/GitHubModelsProvider.d.ts.map +1 -0
- package/dist/providers/GitHubModelsProvider.js +464 -0
- package/dist/providers/GitHubModelsProvider.js.map +1 -0
- package/dist/providers/GroqProvider.d.ts +115 -0
- package/dist/providers/GroqProvider.d.ts.map +1 -0
- package/dist/providers/GroqProvider.js +443 -0
- package/dist/providers/GroqProvider.js.map +1 -0
- package/dist/providers/HybridRouterHealthIntegration.d.ts +191 -0
- package/dist/providers/HybridRouterHealthIntegration.d.ts.map +1 -0
- package/dist/providers/HybridRouterHealthIntegration.js +439 -0
- package/dist/providers/HybridRouterHealthIntegration.js.map +1 -0
- package/dist/providers/index.d.ts +6 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +12 -1
- package/dist/providers/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/cli/commands/providers.d.ts +0 -50
- package/dist/cli/commands/providers.d.ts.map +0 -1
- package/dist/cli/commands/providers.js +0 -403
- 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":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/index.js
CHANGED
|
@@ -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":";AAAA
|
|
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
|
+
"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",
|
|
@@ -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"}
|