agentic-qe 2.5.7 → 2.5.9
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 +133 -0
- package/README.md +1 -1
- package/dist/agents/BaseAgent.d.ts +231 -4
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +535 -5
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +20 -23
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +95 -145
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts +2 -2
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
- package/dist/agents/QualityGateAgent.d.ts +35 -18
- package/dist/agents/QualityGateAgent.d.ts.map +1 -1
- package/dist/agents/QualityGateAgent.js +72 -97
- package/dist/agents/QualityGateAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +5 -0
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +38 -0
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +17 -4
- package/dist/agents/index.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/core/memory/RuVectorPatternStore.d.ts +90 -0
- package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
- package/dist/core/memory/RuVectorPatternStore.js +209 -0
- package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
- package/dist/learning/FederatedManager.d.ts +232 -0
- package/dist/learning/FederatedManager.d.ts.map +1 -0
- package/dist/learning/FederatedManager.js +489 -0
- package/dist/learning/FederatedManager.js.map +1 -0
- package/dist/learning/HNSWPatternAdapter.d.ts +117 -0
- package/dist/learning/HNSWPatternAdapter.d.ts.map +1 -0
- package/dist/learning/HNSWPatternAdapter.js +262 -0
- package/dist/learning/HNSWPatternAdapter.js.map +1 -0
- package/dist/learning/LearningEngine.d.ts +27 -0
- package/dist/learning/LearningEngine.d.ts.map +1 -1
- package/dist/learning/LearningEngine.js +75 -1
- package/dist/learning/LearningEngine.js.map +1 -1
- package/dist/learning/PatternCurator.d.ts +217 -0
- package/dist/learning/PatternCurator.d.ts.map +1 -0
- package/dist/learning/PatternCurator.js +393 -0
- package/dist/learning/PatternCurator.js.map +1 -0
- package/dist/learning/index.d.ts +6 -0
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +16 -1
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/types.d.ts +4 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/tools.d.ts +6 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +121 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/memory/HNSWPatternStore.d.ts +176 -0
- package/dist/memory/HNSWPatternStore.d.ts.map +1 -0
- package/dist/memory/HNSWPatternStore.js +392 -0
- package/dist/memory/HNSWPatternStore.js.map +1 -0
- package/dist/memory/index.d.ts +8 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +13 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/providers/HybridRouter.d.ts +85 -4
- package/dist/providers/HybridRouter.d.ts.map +1 -1
- package/dist/providers/HybridRouter.js +332 -10
- package/dist/providers/HybridRouter.js.map +1 -1
- package/dist/providers/LLMBaselineTracker.d.ts +120 -0
- package/dist/providers/LLMBaselineTracker.d.ts.map +1 -0
- package/dist/providers/LLMBaselineTracker.js +305 -0
- package/dist/providers/LLMBaselineTracker.js.map +1 -0
- package/dist/providers/OpenRouterProvider.d.ts +26 -0
- package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/providers/OpenRouterProvider.js +75 -6
- package/dist/providers/OpenRouterProvider.js.map +1 -1
- package/dist/providers/RuVectorClient.d.ts +259 -0
- package/dist/providers/RuVectorClient.d.ts.map +1 -0
- package/dist/providers/RuVectorClient.js +416 -0
- package/dist/providers/RuVectorClient.js.map +1 -0
- package/dist/providers/RuvllmPatternCurator.d.ts +116 -0
- package/dist/providers/RuvllmPatternCurator.d.ts.map +1 -0
- package/dist/providers/RuvllmPatternCurator.js +323 -0
- package/dist/providers/RuvllmPatternCurator.js.map +1 -0
- package/dist/providers/RuvllmProvider.d.ts +233 -1
- package/dist/providers/RuvllmProvider.d.ts.map +1 -1
- package/dist/providers/RuvllmProvider.js +781 -11
- package/dist/providers/RuvllmProvider.js.map +1 -1
- package/dist/providers/index.d.ts +5 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +12 -2
- package/dist/providers/index.js.map +1 -1
- package/dist/utils/ruvllm-loader.d.ts +98 -1
- package/dist/utils/ruvllm-loader.d.ts.map +1 -1
- package/dist/utils/ruvllm-loader.js.map +1 -1
- package/package.json +1 -1
|
@@ -22,6 +22,7 @@ exports.HybridRouter = exports.RoutingStrategy = exports.TaskComplexity = export
|
|
|
22
22
|
const ILLMProvider_1 = require("./ILLMProvider");
|
|
23
23
|
const ClaudeProvider_1 = require("./ClaudeProvider");
|
|
24
24
|
const RuvllmProvider_1 = require("./RuvllmProvider");
|
|
25
|
+
const RuVectorClient_1 = require("./RuVectorClient");
|
|
25
26
|
const Logger_1 = require("../utils/Logger");
|
|
26
27
|
/**
|
|
27
28
|
* Request priority levels
|
|
@@ -98,7 +99,8 @@ class HybridRouter {
|
|
|
98
99
|
qualityMetric: 'coherence'
|
|
99
100
|
},
|
|
100
101
|
claude: config.claude,
|
|
101
|
-
ruvllm: config.ruvllm
|
|
102
|
+
ruvllm: config.ruvllm,
|
|
103
|
+
ruvector: config.ruvector
|
|
102
104
|
};
|
|
103
105
|
this.circuitBreakers = new Map();
|
|
104
106
|
this.routingHistory = [];
|
|
@@ -107,6 +109,8 @@ class HybridRouter {
|
|
|
107
109
|
this.requestCount = 0;
|
|
108
110
|
this.localRequestCount = 0;
|
|
109
111
|
this.cloudRequestCount = 0;
|
|
112
|
+
this.cacheHitCount = 0;
|
|
113
|
+
this.cacheMissCount = 0;
|
|
110
114
|
}
|
|
111
115
|
/**
|
|
112
116
|
* Initialize the hybrid router and its providers
|
|
@@ -116,6 +120,43 @@ class HybridRouter {
|
|
|
116
120
|
this.logger.warn('HybridRouter already initialized');
|
|
117
121
|
return;
|
|
118
122
|
}
|
|
123
|
+
// Initialize RuVector cache layer (Phase 0.5 - Self-Learning Integration)
|
|
124
|
+
if (this.config.ruvector?.enabled) {
|
|
125
|
+
try {
|
|
126
|
+
const ruVectorConfig = {
|
|
127
|
+
baseUrl: this.config.ruvector.baseUrl ?? 'http://localhost:8080',
|
|
128
|
+
learningEnabled: this.config.ruvector.learningEnabled ?? true,
|
|
129
|
+
cacheThreshold: this.config.ruvector.cacheThreshold ?? 0.85,
|
|
130
|
+
loraRank: this.config.ruvector.loraRank ?? 8,
|
|
131
|
+
ewcEnabled: this.config.ruvector.ewcEnabled ?? true,
|
|
132
|
+
debug: this.config.debug
|
|
133
|
+
};
|
|
134
|
+
this.ruVectorClient = new RuVectorClient_1.RuVectorClient(ruVectorConfig);
|
|
135
|
+
// Health check to verify connection
|
|
136
|
+
const health = await this.ruVectorClient.healthCheck();
|
|
137
|
+
if (health.status === 'healthy' || health.status === 'degraded') {
|
|
138
|
+
this.logger.info('RuVector cache layer initialized', {
|
|
139
|
+
status: health.status,
|
|
140
|
+
vectorCount: health.vectorCount,
|
|
141
|
+
gnnStatus: health.gnnStatus,
|
|
142
|
+
loraStatus: health.loraStatus
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
this.logger.warn('RuVector cache layer unhealthy, disabling', {
|
|
147
|
+
status: health.status,
|
|
148
|
+
lastError: health.lastError
|
|
149
|
+
});
|
|
150
|
+
this.ruVectorClient = undefined;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
this.logger.warn('Failed to initialize RuVector cache layer', {
|
|
155
|
+
error: error.message
|
|
156
|
+
});
|
|
157
|
+
this.ruVectorClient = undefined;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
119
160
|
// Initialize local provider (ruvllm)
|
|
120
161
|
try {
|
|
121
162
|
this.localProvider = new RuvllmProvider_1.RuvllmProvider(this.config.ruvllm ?? {});
|
|
@@ -147,12 +188,18 @@ class HybridRouter {
|
|
|
147
188
|
this.logger.info('HybridRouter initialized', {
|
|
148
189
|
hasLocal: !!this.localProvider,
|
|
149
190
|
hasCloud: !!this.cloudProvider,
|
|
191
|
+
hasRuVectorCache: !!this.ruVectorClient,
|
|
150
192
|
strategy: this.config.defaultStrategy
|
|
151
193
|
});
|
|
152
194
|
}
|
|
153
195
|
/**
|
|
154
196
|
* Complete a prompt with intelligent routing and TRM support
|
|
155
197
|
*
|
|
198
|
+
* Phase 0.5 Enhancement: RuVector cache layer for sub-ms pattern matching
|
|
199
|
+
* - Check RuVector cache first (GNN-enhanced semantic search)
|
|
200
|
+
* - If cache hit with high confidence, return cached result
|
|
201
|
+
* - Otherwise, route to LLM and store result for learning
|
|
202
|
+
*
|
|
156
203
|
* When routing to the local provider (ruvLLM), TRM (Test-time Reasoning & Metacognition)
|
|
157
204
|
* can be enabled for iterative quality improvement.
|
|
158
205
|
*/
|
|
@@ -161,10 +208,35 @@ class HybridRouter {
|
|
|
161
208
|
const startTime = Date.now();
|
|
162
209
|
const priority = options.priority ?? RequestPriority.NORMAL;
|
|
163
210
|
const strategy = options.routingStrategy ?? this.config.defaultStrategy;
|
|
211
|
+
const complexity = this.analyzeComplexity(options);
|
|
212
|
+
// Phase 0.5: Try RuVector cache first (sub-ms pattern matching)
|
|
213
|
+
if (this.ruVectorClient && this.shouldUseCache(options, complexity)) {
|
|
214
|
+
try {
|
|
215
|
+
const cacheResult = await this.tryRuVectorCache(options, complexity);
|
|
216
|
+
if (cacheResult) {
|
|
217
|
+
this.cacheHitCount++;
|
|
218
|
+
this.requestCount++;
|
|
219
|
+
this.logger.debug('RuVector cache hit', {
|
|
220
|
+
confidence: cacheResult.confidence,
|
|
221
|
+
latency: Date.now() - startTime,
|
|
222
|
+
complexity
|
|
223
|
+
});
|
|
224
|
+
return cacheResult.response;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
// Cache error should not block the request, continue to LLM
|
|
229
|
+
this.logger.warn('RuVector cache error, falling back to LLM', {
|
|
230
|
+
error: error.message
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// Cache miss or cache disabled
|
|
235
|
+
this.cacheMissCount++;
|
|
164
236
|
// Handle forced provider selection
|
|
165
237
|
if (options.forceProvider) {
|
|
166
|
-
const decision = this.createDecision(options.forceProvider, options.forceProvider === 'local' ? 'ruvllm' : 'claude', 'Forced provider selection',
|
|
167
|
-
return this.
|
|
238
|
+
const decision = this.createDecision(options.forceProvider, options.forceProvider === 'local' ? 'ruvllm' : 'claude', 'Forced provider selection', complexity, priority);
|
|
239
|
+
return this.executeWithDecisionAndLearn(decision, options, startTime);
|
|
168
240
|
}
|
|
169
241
|
// Analyze request and make routing decision
|
|
170
242
|
const decision = this.makeRoutingDecision(options, strategy, priority);
|
|
@@ -174,7 +246,163 @@ class HybridRouter {
|
|
|
174
246
|
complexity: decision.complexity,
|
|
175
247
|
trmEnabled: !!options.trmConfig || (this.config.autoEnableTRM && decision.complexity !== TaskComplexity.SIMPLE)
|
|
176
248
|
});
|
|
177
|
-
return this.
|
|
249
|
+
return this.executeWithDecisionAndLearn(decision, options, startTime);
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Check if cache should be used for this request
|
|
253
|
+
*/
|
|
254
|
+
shouldUseCache(options, complexity) {
|
|
255
|
+
// Skip if RuVector not configured
|
|
256
|
+
if (!this.ruVectorClient)
|
|
257
|
+
return false;
|
|
258
|
+
// Skip for complex tasks if configured
|
|
259
|
+
if (this.config.ruvector?.skipCacheForComplexTasks &&
|
|
260
|
+
(complexity === TaskComplexity.COMPLEX || complexity === TaskComplexity.VERY_COMPLEX)) {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
// Skip for privacy-sensitive data (should go directly to local LLM)
|
|
264
|
+
if (this.containsPrivacySensitiveData(options)) {
|
|
265
|
+
return false;
|
|
266
|
+
}
|
|
267
|
+
return true;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Try to get response from RuVector cache
|
|
271
|
+
*/
|
|
272
|
+
async tryRuVectorCache(options, complexity) {
|
|
273
|
+
if (!this.ruVectorClient || !this.localProvider)
|
|
274
|
+
return null;
|
|
275
|
+
// Extract query from messages
|
|
276
|
+
const query = this.extractQueryFromOptions(options);
|
|
277
|
+
if (!query)
|
|
278
|
+
return null;
|
|
279
|
+
// Generate embedding using local provider
|
|
280
|
+
let embedding;
|
|
281
|
+
try {
|
|
282
|
+
const embeddingResponse = await this.localProvider.embed({
|
|
283
|
+
text: query,
|
|
284
|
+
model: 'default'
|
|
285
|
+
});
|
|
286
|
+
embedding = embeddingResponse.embedding;
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
this.logger.debug('Failed to generate embedding for cache lookup', {
|
|
290
|
+
error: error.message
|
|
291
|
+
});
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
// Query RuVector with learning integration
|
|
295
|
+
const result = await this.ruVectorClient.queryWithLearning(query, embedding, async () => {
|
|
296
|
+
// This fallback won't be used here - we return null to trigger LLM routing
|
|
297
|
+
throw new Error('CACHE_MISS_MARKER');
|
|
298
|
+
});
|
|
299
|
+
// Check if we got a cache hit
|
|
300
|
+
if (result.source === 'cache' && result.confidence >= (this.config.ruvector?.cacheThreshold ?? 0.85)) {
|
|
301
|
+
// Convert cache result to LLMCompletionResponse
|
|
302
|
+
const response = {
|
|
303
|
+
id: `ruvector-cache-${Date.now()}`,
|
|
304
|
+
content: [{
|
|
305
|
+
type: 'text',
|
|
306
|
+
text: result.content
|
|
307
|
+
}],
|
|
308
|
+
usage: {
|
|
309
|
+
input_tokens: 0, // Cache hit, no token usage
|
|
310
|
+
output_tokens: 0
|
|
311
|
+
},
|
|
312
|
+
model: 'ruvector-cache',
|
|
313
|
+
stop_reason: 'end_turn',
|
|
314
|
+
metadata: {
|
|
315
|
+
source: 'ruvector-cache',
|
|
316
|
+
confidence: result.confidence,
|
|
317
|
+
complexity,
|
|
318
|
+
latency: result.latency
|
|
319
|
+
}
|
|
320
|
+
};
|
|
321
|
+
return { response, confidence: result.confidence };
|
|
322
|
+
}
|
|
323
|
+
return null;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Execute with decision and store result in RuVector for learning
|
|
327
|
+
*/
|
|
328
|
+
async executeWithDecisionAndLearn(decision, options, startTime) {
|
|
329
|
+
const response = await this.executeWithDecision(decision, options, startTime);
|
|
330
|
+
// Store successful response in RuVector for learning
|
|
331
|
+
if (this.ruVectorClient && this.config.ruvector?.learningEnabled !== false) {
|
|
332
|
+
this.storeResponseForLearning(options, response, decision).catch(error => {
|
|
333
|
+
this.logger.warn('Failed to store response in RuVector for learning', {
|
|
334
|
+
error: error.message
|
|
335
|
+
});
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
return response;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Store LLM response in RuVector for future learning
|
|
342
|
+
*/
|
|
343
|
+
async storeResponseForLearning(options, response, decision) {
|
|
344
|
+
if (!this.ruVectorClient || !this.localProvider)
|
|
345
|
+
return;
|
|
346
|
+
try {
|
|
347
|
+
// Extract query and response content
|
|
348
|
+
const query = this.extractQueryFromOptions(options);
|
|
349
|
+
const responseText = response.content
|
|
350
|
+
.filter(c => c.type === 'text')
|
|
351
|
+
.map(c => c.text)
|
|
352
|
+
.join('\n');
|
|
353
|
+
if (!query || !responseText)
|
|
354
|
+
return;
|
|
355
|
+
// Generate embedding
|
|
356
|
+
const embeddingResponse = await this.localProvider.embed({
|
|
357
|
+
text: query,
|
|
358
|
+
model: 'default'
|
|
359
|
+
});
|
|
360
|
+
// Store pattern for future cache hits
|
|
361
|
+
await this.ruVectorClient.store({
|
|
362
|
+
embedding: embeddingResponse.embedding,
|
|
363
|
+
content: responseText,
|
|
364
|
+
metadata: {
|
|
365
|
+
query,
|
|
366
|
+
model: response.model,
|
|
367
|
+
provider: decision.provider,
|
|
368
|
+
complexity: decision.complexity,
|
|
369
|
+
timestamp: new Date().toISOString(),
|
|
370
|
+
inputTokens: response.usage.input_tokens,
|
|
371
|
+
outputTokens: response.usage.output_tokens
|
|
372
|
+
}
|
|
373
|
+
}, { triggerLearning: true });
|
|
374
|
+
this.logger.debug('Response stored in RuVector for learning', {
|
|
375
|
+
queryLength: query.length,
|
|
376
|
+
responseLength: responseText.length,
|
|
377
|
+
provider: decision.provider
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
catch (error) {
|
|
381
|
+
// Non-critical operation, just log
|
|
382
|
+
this.logger.debug('Failed to store response for learning', {
|
|
383
|
+
error: error.message
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Extract query string from completion options
|
|
389
|
+
*/
|
|
390
|
+
extractQueryFromOptions(options) {
|
|
391
|
+
if (!options.messages || options.messages.length === 0)
|
|
392
|
+
return null;
|
|
393
|
+
// Get the last user message
|
|
394
|
+
const userMessages = options.messages.filter(m => m.role === 'user');
|
|
395
|
+
const lastUserMessage = userMessages[userMessages.length - 1];
|
|
396
|
+
if (!lastUserMessage)
|
|
397
|
+
return null;
|
|
398
|
+
if (typeof lastUserMessage.content === 'string') {
|
|
399
|
+
return lastUserMessage.content;
|
|
400
|
+
}
|
|
401
|
+
// Extract text from content blocks
|
|
402
|
+
return lastUserMessage.content
|
|
403
|
+
.filter(c => c.type === 'text')
|
|
404
|
+
.map(c => c.text)
|
|
405
|
+
.join('\n');
|
|
178
406
|
}
|
|
179
407
|
/**
|
|
180
408
|
* Execute request with routing decision
|
|
@@ -291,10 +519,33 @@ class HybridRouter {
|
|
|
291
519
|
throw new ILLMProvider_1.LLMProviderError('No provider available for token counting', 'hybrid-router', 'PROVIDER_UNAVAILABLE', false);
|
|
292
520
|
}
|
|
293
521
|
/**
|
|
294
|
-
* Health check all providers
|
|
522
|
+
* Health check all providers including RuVector cache
|
|
295
523
|
*/
|
|
296
524
|
async healthCheck() {
|
|
297
525
|
const checks = [];
|
|
526
|
+
// Check RuVector cache layer
|
|
527
|
+
if (this.ruVectorClient) {
|
|
528
|
+
try {
|
|
529
|
+
const ruVectorHealth = await this.ruVectorClient.healthCheck();
|
|
530
|
+
checks.push({
|
|
531
|
+
provider: 'ruvector-cache',
|
|
532
|
+
status: {
|
|
533
|
+
healthy: ruVectorHealth.status === 'healthy',
|
|
534
|
+
status: ruVectorHealth.status,
|
|
535
|
+
vectorCount: ruVectorHealth.vectorCount
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
catch (error) {
|
|
540
|
+
checks.push({
|
|
541
|
+
provider: 'ruvector-cache',
|
|
542
|
+
status: {
|
|
543
|
+
healthy: false,
|
|
544
|
+
error: error.message
|
|
545
|
+
}
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
}
|
|
298
549
|
if (this.localProvider) {
|
|
299
550
|
try {
|
|
300
551
|
const status = await this.localProvider.healthCheck();
|
|
@@ -327,7 +578,7 @@ class HybridRouter {
|
|
|
327
578
|
});
|
|
328
579
|
}
|
|
329
580
|
}
|
|
330
|
-
const healthyCount = checks.filter(c => c.status.healthy).length;
|
|
581
|
+
const healthyCount = checks.filter(c => 'healthy' in c.status && c.status.healthy).length;
|
|
331
582
|
return {
|
|
332
583
|
healthy: healthyCount > 0,
|
|
333
584
|
timestamp: new Date(),
|
|
@@ -336,10 +587,20 @@ class HybridRouter {
|
|
|
336
587
|
circuitBreakers: Object.fromEntries(this.circuitBreakers),
|
|
337
588
|
requestCount: this.requestCount,
|
|
338
589
|
localRequests: this.localRequestCount,
|
|
339
|
-
cloudRequests: this.cloudRequestCount
|
|
590
|
+
cloudRequests: this.cloudRequestCount,
|
|
591
|
+
cacheHits: this.cacheHitCount,
|
|
592
|
+
cacheMisses: this.cacheMissCount,
|
|
593
|
+
cacheHitRate: this.getCacheHitRate()
|
|
340
594
|
}
|
|
341
595
|
};
|
|
342
596
|
}
|
|
597
|
+
/**
|
|
598
|
+
* Get cache hit rate (0-1)
|
|
599
|
+
*/
|
|
600
|
+
getCacheHitRate() {
|
|
601
|
+
const total = this.cacheHitCount + this.cacheMissCount;
|
|
602
|
+
return total > 0 ? this.cacheHitCount / total : 0;
|
|
603
|
+
}
|
|
343
604
|
/**
|
|
344
605
|
* Get metadata (aggregated from all providers)
|
|
345
606
|
*/
|
|
@@ -394,7 +655,7 @@ class HybridRouter {
|
|
|
394
655
|
return 0;
|
|
395
656
|
}
|
|
396
657
|
/**
|
|
397
|
-
* Get cost savings report
|
|
658
|
+
* Get cost savings report including RuVector cache savings
|
|
398
659
|
*/
|
|
399
660
|
getCostSavingsReport() {
|
|
400
661
|
// Estimate what cloud cost would have been for all requests
|
|
@@ -404,6 +665,8 @@ class HybridRouter {
|
|
|
404
665
|
const savingsPercentage = estimatedCloudCost > 0
|
|
405
666
|
? (savings / estimatedCloudCost) * 100
|
|
406
667
|
: 0;
|
|
668
|
+
// Cache hits are essentially free
|
|
669
|
+
const cacheSavings = this.cacheHitCount * cloudCostPerRequest;
|
|
407
670
|
return {
|
|
408
671
|
totalRequests: this.requestCount,
|
|
409
672
|
localRequests: this.localRequestCount,
|
|
@@ -411,11 +674,13 @@ class HybridRouter {
|
|
|
411
674
|
totalCost: this.totalCost,
|
|
412
675
|
estimatedCloudCost,
|
|
413
676
|
savings,
|
|
414
|
-
savingsPercentage
|
|
677
|
+
savingsPercentage,
|
|
678
|
+
cacheHits: this.cacheHitCount,
|
|
679
|
+
cacheSavings
|
|
415
680
|
};
|
|
416
681
|
}
|
|
417
682
|
/**
|
|
418
|
-
* Get routing statistics
|
|
683
|
+
* Get routing statistics including cache metrics
|
|
419
684
|
*/
|
|
420
685
|
getRoutingStats() {
|
|
421
686
|
const successCount = this.routingHistory.filter(o => o.success).length;
|
|
@@ -431,6 +696,9 @@ class HybridRouter {
|
|
|
431
696
|
totalDecisions: this.routingHistory.length,
|
|
432
697
|
localDecisions: localOutcomes.length,
|
|
433
698
|
cloudDecisions: cloudOutcomes.length,
|
|
699
|
+
cacheHits: this.cacheHitCount,
|
|
700
|
+
cacheMisses: this.cacheMissCount,
|
|
701
|
+
cacheHitRate: this.getCacheHitRate(),
|
|
434
702
|
averageLocalLatency: avgLocalLatency,
|
|
435
703
|
averageCloudLatency: avgCloudLatency,
|
|
436
704
|
successRate: this.routingHistory.length > 0
|
|
@@ -438,6 +706,60 @@ class HybridRouter {
|
|
|
438
706
|
: 0
|
|
439
707
|
};
|
|
440
708
|
}
|
|
709
|
+
/**
|
|
710
|
+
* Get RuVector cache metrics (Phase 0.5)
|
|
711
|
+
*/
|
|
712
|
+
async getRuVectorMetrics() {
|
|
713
|
+
if (!this.ruVectorClient) {
|
|
714
|
+
return null;
|
|
715
|
+
}
|
|
716
|
+
try {
|
|
717
|
+
const metrics = await this.ruVectorClient.getMetrics();
|
|
718
|
+
const health = await this.ruVectorClient.healthCheck();
|
|
719
|
+
return {
|
|
720
|
+
enabled: true,
|
|
721
|
+
healthy: health.status === 'healthy',
|
|
722
|
+
cacheHitRate: metrics.cacheHitRate,
|
|
723
|
+
patternCount: metrics.patternCount,
|
|
724
|
+
loraUpdates: metrics.loraUpdates,
|
|
725
|
+
memoryUsageMB: metrics.memoryUsageMB
|
|
726
|
+
};
|
|
727
|
+
}
|
|
728
|
+
catch (error) {
|
|
729
|
+
this.logger.warn('Failed to get RuVector metrics', {
|
|
730
|
+
error: error.message
|
|
731
|
+
});
|
|
732
|
+
return {
|
|
733
|
+
enabled: true,
|
|
734
|
+
healthy: false,
|
|
735
|
+
cacheHitRate: this.getCacheHitRate(),
|
|
736
|
+
patternCount: 0,
|
|
737
|
+
loraUpdates: 0
|
|
738
|
+
};
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* Force RuVector learning consolidation
|
|
743
|
+
*/
|
|
744
|
+
async forceRuVectorLearn() {
|
|
745
|
+
if (!this.ruVectorClient) {
|
|
746
|
+
return { success: false, error: 'RuVector not enabled' };
|
|
747
|
+
}
|
|
748
|
+
try {
|
|
749
|
+
const result = await this.ruVectorClient.forceLearn();
|
|
750
|
+
return {
|
|
751
|
+
success: result.success,
|
|
752
|
+
updatedParameters: result.updatedParameters,
|
|
753
|
+
duration: result.duration
|
|
754
|
+
};
|
|
755
|
+
}
|
|
756
|
+
catch (error) {
|
|
757
|
+
return {
|
|
758
|
+
success: false,
|
|
759
|
+
error: error.message
|
|
760
|
+
};
|
|
761
|
+
}
|
|
762
|
+
}
|
|
441
763
|
/**
|
|
442
764
|
* Make intelligent routing decision
|
|
443
765
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HybridRouter.js","sourceRoot":"","sources":["../../src/providers/HybridRouter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HybridRouter.js","sourceRoot":"","sources":["../../src/providers/HybridRouter.ts"],"names":[],"mappings":"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"}
|