agentic-qe 2.5.7 → 2.5.8
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 +86 -0
- package/README.md +1 -1
- package/dist/agents/BaseAgent.d.ts +142 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +372 -2
- package/dist/agents/BaseAgent.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.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/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
package/dist/agents/BaseAgent.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* BaseAgent - Abstract base class for all QE agents
|
|
4
4
|
* Phase 2 B1.2: Decomposed with strategy pattern (~500 LOC target)
|
|
5
|
+
* Phase 0: LLM Provider integration with RuvLLM support
|
|
5
6
|
*/
|
|
6
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
8
|
exports.BaseAgentFactory = exports.BaseAgent = exports.validateLearningConfig = exports.isSwarmMemoryManager = void 0;
|
|
@@ -12,9 +13,13 @@ const MemoryStoreAdapter_1 = require("../adapters/MemoryStoreAdapter");
|
|
|
12
13
|
const PerformanceTracker_1 = require("../learning/PerformanceTracker");
|
|
13
14
|
const SwarmMemoryManager_1 = require("../core/memory/SwarmMemoryManager");
|
|
14
15
|
const LearningEngine_1 = require("../learning/LearningEngine");
|
|
16
|
+
// Federated Learning (Phase 0 M0.5 - Team-wide pattern sharing)
|
|
17
|
+
const FederatedManager_1 = require("../learning/FederatedManager");
|
|
15
18
|
const AgentLifecycleManager_1 = require("./lifecycle/AgentLifecycleManager");
|
|
16
19
|
const AgentCoordinator_1 = require("./coordination/AgentCoordinator");
|
|
17
20
|
const AgentMemoryService_1 = require("./memory/AgentMemoryService");
|
|
21
|
+
const RuvllmProvider_1 = require("../providers/RuvllmProvider");
|
|
22
|
+
const LLMProviderFactory_1 = require("../providers/LLMProviderFactory");
|
|
18
23
|
const adapters_1 = require("./adapters");
|
|
19
24
|
// Extracted utilities (B1.2)
|
|
20
25
|
const utils_1 = require("./utils");
|
|
@@ -24,6 +29,7 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
24
29
|
constructor(config) {
|
|
25
30
|
super();
|
|
26
31
|
this.performanceMetrics = { tasksCompleted: 0, averageExecutionTime: 0, errorCount: 0, lastActivity: new Date() };
|
|
32
|
+
this.federatedInitialized = false;
|
|
27
33
|
this.agentId = { id: config.id || (0, utils_1.generateAgentId)(config.type), type: config.type, created: new Date() };
|
|
28
34
|
this.capabilities = new Map(config.capabilities.map(cap => [cap.name, cap]));
|
|
29
35
|
this.context = config.context;
|
|
@@ -31,6 +37,8 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
31
37
|
this.eventBus = config.eventBus;
|
|
32
38
|
this.enableLearning = config.enableLearning ?? true;
|
|
33
39
|
this.learningConfig = config.learningConfig;
|
|
40
|
+
// LLM configuration (Phase 0 - default enabled with RuvLLM)
|
|
41
|
+
this.llmConfig = config.llm ?? { enabled: true, preferredProvider: 'ruvllm' };
|
|
34
42
|
// Early validation (Issue #137)
|
|
35
43
|
const validation = (0, utils_1.validateLearningConfig)(config);
|
|
36
44
|
if (!validation.valid && validation.warning) {
|
|
@@ -91,6 +99,10 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
91
99
|
else if (this.enableLearning) {
|
|
92
100
|
console.warn(`[${this.agentId.id}] Learning disabled: memoryStore is ${this.memoryStore.constructor.name}`);
|
|
93
101
|
}
|
|
102
|
+
// Initialize LLM Provider (Phase 0 - RuvLLM Integration)
|
|
103
|
+
await this.initializeLLMProvider();
|
|
104
|
+
// Initialize Federated Learning (Phase 0 M0.5)
|
|
105
|
+
await this.initializeFederatedLearning();
|
|
94
106
|
await this.initializeComponents();
|
|
95
107
|
await this.executeHook('post-initialization');
|
|
96
108
|
this.coordinator.emitEvent('agent.initialized', { agentId: this.agentId });
|
|
@@ -144,6 +156,8 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
144
156
|
await this.executeHook('pre-termination');
|
|
145
157
|
await this.saveState();
|
|
146
158
|
await this.cleanup();
|
|
159
|
+
await this.cleanupLLM(); // Phase 0: Cleanup LLM resources
|
|
160
|
+
await this.cleanupFederated(); // Phase 0 M0.5: Cleanup federated learning
|
|
147
161
|
this.coordinator.clearAllHandlers();
|
|
148
162
|
},
|
|
149
163
|
onPostTermination: async () => {
|
|
@@ -356,18 +370,34 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
356
370
|
duration: executionTime, metadata: { taskId: data.assignment.id, accuracy: result.accuracy, metrics: this.extractTaskMetrics(data.result) }
|
|
357
371
|
});
|
|
358
372
|
}
|
|
373
|
+
// Share successful patterns with team via federated learning (Phase 0 M0.5)
|
|
374
|
+
if (result.valid && this.federatedInitialized && this.llmProvider) {
|
|
375
|
+
try {
|
|
376
|
+
// Generate embedding for the task pattern
|
|
377
|
+
const taskDescription = `${data.assignment.task.type}: ${JSON.stringify(data.assignment.task.payload || {}).slice(0, 200)}`;
|
|
378
|
+
const embedding = await this.llmEmbed(taskDescription);
|
|
379
|
+
await this.shareLearnedPattern({
|
|
380
|
+
embedding,
|
|
381
|
+
quality: result.accuracy ?? 0.8,
|
|
382
|
+
category: data.assignment.task.type,
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
catch {
|
|
386
|
+
// Pattern sharing failed - non-critical, continue
|
|
387
|
+
}
|
|
388
|
+
}
|
|
359
389
|
this.emitEvent('hook.post-task.completed', { agentId: this.agentId, result });
|
|
360
390
|
}
|
|
361
391
|
async onTaskError(data) {
|
|
362
392
|
const executionTime = this.taskStartTime ? Date.now() - this.taskStartTime : 0;
|
|
363
393
|
await this.storeMemory(`error:${data.assignment.id}`, {
|
|
364
394
|
error: { message: data.error.message, name: data.error.name },
|
|
365
|
-
assignment: { id: data.assignment.id, taskType: data.assignment.task
|
|
395
|
+
assignment: { id: data.assignment.id, taskType: data.assignment.task?.type ?? 'unknown' },
|
|
366
396
|
timestamp: new Date(), agentId: this.agentId.id
|
|
367
397
|
});
|
|
368
398
|
if (this.strategies.lifecycle.onTaskError)
|
|
369
399
|
await this.strategies.lifecycle.onTaskError(data);
|
|
370
|
-
if (this.strategies.learning?.recordExecution) {
|
|
400
|
+
if (this.strategies.learning?.recordExecution && data.assignment.task) {
|
|
371
401
|
await this.strategies.learning.recordExecution({
|
|
372
402
|
task: data.assignment.task, error: data.error, success: false,
|
|
373
403
|
duration: executionTime, metadata: { taskId: data.assignment.id }
|
|
@@ -437,6 +467,346 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
437
467
|
async saveState() {
|
|
438
468
|
await this.memoryService.saveState({ performanceMetrics: this.performanceMetrics, timestamp: new Date() });
|
|
439
469
|
}
|
|
470
|
+
// ============================================
|
|
471
|
+
// LLM Provider Methods (Phase 0 - RuvLLM Integration)
|
|
472
|
+
// ============================================
|
|
473
|
+
/**
|
|
474
|
+
* Initialize LLM provider for agent use
|
|
475
|
+
* Supports RuvLLM (local), Claude, and OpenRouter providers
|
|
476
|
+
*/
|
|
477
|
+
async initializeLLMProvider() {
|
|
478
|
+
if (!this.llmConfig.enabled) {
|
|
479
|
+
console.log(`[${this.agentId.id}] LLM disabled by configuration`);
|
|
480
|
+
return;
|
|
481
|
+
}
|
|
482
|
+
try {
|
|
483
|
+
// If a provider was injected, use it directly
|
|
484
|
+
if (this.llmConfig.provider) {
|
|
485
|
+
this.llmProvider = this.llmConfig.provider;
|
|
486
|
+
console.log(`[${this.agentId.id}] Using injected LLM provider`);
|
|
487
|
+
return;
|
|
488
|
+
}
|
|
489
|
+
// Create RuvLLM provider directly (preferred for local inference)
|
|
490
|
+
if (this.llmConfig.preferredProvider === 'ruvllm' || !this.llmConfig.preferredProvider) {
|
|
491
|
+
const ruvllmConfig = {
|
|
492
|
+
name: `${this.agentId.id}-ruvllm`,
|
|
493
|
+
enableSessions: this.llmConfig.enableSessions ?? true,
|
|
494
|
+
enableTRM: true,
|
|
495
|
+
enableSONA: true,
|
|
496
|
+
debug: false,
|
|
497
|
+
...this.llmConfig.ruvllm
|
|
498
|
+
};
|
|
499
|
+
this.llmProvider = new RuvllmProvider_1.RuvllmProvider(ruvllmConfig);
|
|
500
|
+
await this.llmProvider.initialize();
|
|
501
|
+
// Create session for this agent if sessions enabled
|
|
502
|
+
if (this.llmConfig.enableSessions) {
|
|
503
|
+
const ruvllm = this.llmProvider;
|
|
504
|
+
const session = ruvllm.createSession();
|
|
505
|
+
this.llmSessionId = session.id;
|
|
506
|
+
console.log(`[${this.agentId.id}] LLM session created: ${this.llmSessionId}`);
|
|
507
|
+
}
|
|
508
|
+
console.log(`[${this.agentId.id}] RuvLLM provider initialized`);
|
|
509
|
+
return;
|
|
510
|
+
}
|
|
511
|
+
// Use factory for other providers (Claude, OpenRouter)
|
|
512
|
+
this.llmFactory = new LLMProviderFactory_1.LLMProviderFactory(this.llmConfig.factoryConfig || {});
|
|
513
|
+
await this.llmFactory.initialize();
|
|
514
|
+
this.llmProvider = this.llmFactory.getProvider(this.llmConfig.preferredProvider);
|
|
515
|
+
if (!this.llmProvider) {
|
|
516
|
+
console.warn(`[${this.agentId.id}] Preferred provider ${this.llmConfig.preferredProvider} not available, trying auto-select`);
|
|
517
|
+
this.llmProvider = this.llmFactory.selectBestProvider();
|
|
518
|
+
}
|
|
519
|
+
if (this.llmProvider) {
|
|
520
|
+
console.log(`[${this.agentId.id}] LLM provider initialized: ${this.llmConfig.preferredProvider}`);
|
|
521
|
+
}
|
|
522
|
+
else {
|
|
523
|
+
console.warn(`[${this.agentId.id}] No LLM provider available`);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
catch (error) {
|
|
527
|
+
console.error(`[${this.agentId.id}] LLM initialization failed:`, error.message);
|
|
528
|
+
// Don't throw - agent can still work without LLM (algorithmic fallback)
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Initialize Federated Learning for team-wide pattern sharing
|
|
533
|
+
* Phase 0 M0.5 - Reduces Claude Code dependency through collective learning
|
|
534
|
+
*/
|
|
535
|
+
async initializeFederatedLearning() {
|
|
536
|
+
if (!this.llmConfig.enableFederated) {
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
539
|
+
try {
|
|
540
|
+
// Use shared FederatedManager or create new one
|
|
541
|
+
if (this.llmConfig.federatedManager) {
|
|
542
|
+
this.federatedManager = this.llmConfig.federatedManager;
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
this.federatedManager = new FederatedManager_1.FederatedManager(this.llmConfig.federatedConfig);
|
|
546
|
+
await this.federatedManager.initialize();
|
|
547
|
+
}
|
|
548
|
+
// Register this agent for federated learning
|
|
549
|
+
this.ephemeralAgent = this.federatedManager.registerAgent(this.agentId.id);
|
|
550
|
+
this.federatedInitialized = true;
|
|
551
|
+
console.log(`[${this.agentId.id}] Federated learning initialized`);
|
|
552
|
+
// Sync with existing team knowledge on startup
|
|
553
|
+
try {
|
|
554
|
+
await this.federatedManager.syncFromTeam(this.agentId.id);
|
|
555
|
+
console.log(`[${this.agentId.id}] Synced with team knowledge`);
|
|
556
|
+
}
|
|
557
|
+
catch {
|
|
558
|
+
// First agent or no prior knowledge - expected
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
catch (error) {
|
|
562
|
+
console.error(`[${this.agentId.id}] Federated learning initialization failed:`, error.message);
|
|
563
|
+
// Don't throw - agent can work without federated learning
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Check if federated learning is available
|
|
568
|
+
*/
|
|
569
|
+
hasFederatedLearning() {
|
|
570
|
+
return this.federatedInitialized && this.federatedManager !== undefined;
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* Share a learned pattern with the team via federated learning
|
|
574
|
+
* Call this when the agent learns something useful (e.g., after successful task)
|
|
575
|
+
*
|
|
576
|
+
* @param pattern - The pattern to share (embedding, quality score, category)
|
|
577
|
+
*/
|
|
578
|
+
async shareLearnedPattern(pattern) {
|
|
579
|
+
if (!this.federatedManager || !this.federatedInitialized) {
|
|
580
|
+
return;
|
|
581
|
+
}
|
|
582
|
+
const fullPattern = {
|
|
583
|
+
...pattern,
|
|
584
|
+
id: `pattern-${this.agentId.id}-${Date.now()}`,
|
|
585
|
+
sourceAgent: this.agentId.id,
|
|
586
|
+
timestamp: Date.now(),
|
|
587
|
+
};
|
|
588
|
+
await this.federatedManager.sharePattern(this.agentId.id, fullPattern);
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* Sync this agent with team-wide learned knowledge
|
|
592
|
+
* Call this periodically or before complex tasks
|
|
593
|
+
*/
|
|
594
|
+
async syncWithTeam() {
|
|
595
|
+
if (!this.federatedManager || !this.federatedInitialized) {
|
|
596
|
+
return;
|
|
597
|
+
}
|
|
598
|
+
await this.federatedManager.syncFromTeam(this.agentId.id);
|
|
599
|
+
}
|
|
600
|
+
/**
|
|
601
|
+
* Submit this agent's learning updates to the team
|
|
602
|
+
* Call after completing a batch of tasks
|
|
603
|
+
*/
|
|
604
|
+
async submitLearningUpdate() {
|
|
605
|
+
if (!this.federatedManager || !this.federatedInitialized) {
|
|
606
|
+
return;
|
|
607
|
+
}
|
|
608
|
+
await this.federatedManager.submitAgentUpdate(this.agentId.id);
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* Get federated learning metrics
|
|
612
|
+
*/
|
|
613
|
+
getFederatedMetrics() {
|
|
614
|
+
if (!this.federatedManager) {
|
|
615
|
+
return null;
|
|
616
|
+
}
|
|
617
|
+
return this.federatedManager.getMetrics();
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Check if LLM is available for this agent
|
|
621
|
+
*/
|
|
622
|
+
hasLLM() {
|
|
623
|
+
return this.llmProvider !== undefined;
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* Get LLM provider (for advanced usage)
|
|
627
|
+
*/
|
|
628
|
+
getLLMProvider() {
|
|
629
|
+
return this.llmProvider;
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* Make an LLM completion call
|
|
633
|
+
* Uses RuvLLM's session management for 50% latency reduction on multi-turn
|
|
634
|
+
*
|
|
635
|
+
* @param prompt - The prompt to send to the LLM
|
|
636
|
+
* @param options - Additional completion options
|
|
637
|
+
* @returns The LLM response text
|
|
638
|
+
* @throws Error if LLM is not available
|
|
639
|
+
*/
|
|
640
|
+
async llmComplete(prompt, options) {
|
|
641
|
+
if (!this.llmProvider) {
|
|
642
|
+
throw new Error(`[${this.agentId.id}] LLM not available - initialize agent first`);
|
|
643
|
+
}
|
|
644
|
+
const completionOptions = {
|
|
645
|
+
model: options?.model || this.llmConfig.ruvllm?.defaultModel || 'llama-3.2-3b-instruct',
|
|
646
|
+
messages: [{ role: 'user', content: prompt }],
|
|
647
|
+
maxTokens: options?.maxTokens,
|
|
648
|
+
temperature: options?.temperature,
|
|
649
|
+
stream: options?.stream,
|
|
650
|
+
metadata: {
|
|
651
|
+
...options?.metadata,
|
|
652
|
+
sessionId: this.llmSessionId, // Use session for faster multi-turn
|
|
653
|
+
agentId: this.agentId.id,
|
|
654
|
+
agentType: this.agentId.type
|
|
655
|
+
}
|
|
656
|
+
};
|
|
657
|
+
const response = await this.llmProvider.complete(completionOptions);
|
|
658
|
+
// Extract text from response
|
|
659
|
+
const text = response.content
|
|
660
|
+
.filter(block => block.type === 'text')
|
|
661
|
+
.map(block => block.text)
|
|
662
|
+
.join('\n');
|
|
663
|
+
return text;
|
|
664
|
+
}
|
|
665
|
+
/**
|
|
666
|
+
* Make a batch LLM completion call (4x throughput)
|
|
667
|
+
* Uses RuvLLM's native batch API for parallel processing
|
|
668
|
+
*
|
|
669
|
+
* @param prompts - Array of prompts to process in parallel
|
|
670
|
+
* @param options - Shared completion options
|
|
671
|
+
* @returns Array of response texts in same order as prompts
|
|
672
|
+
*/
|
|
673
|
+
async llmBatchComplete(prompts, options) {
|
|
674
|
+
if (!this.llmProvider) {
|
|
675
|
+
throw new Error(`[${this.agentId.id}] LLM not available - initialize agent first`);
|
|
676
|
+
}
|
|
677
|
+
// Check if provider supports batch (RuvLLM does)
|
|
678
|
+
const ruvllm = this.llmProvider;
|
|
679
|
+
if (typeof ruvllm.batchComplete === 'function') {
|
|
680
|
+
const defaultModel = options?.model || this.llmConfig.ruvllm?.defaultModel || 'llama-3.2-3b-instruct';
|
|
681
|
+
const requests = prompts.map(prompt => ({
|
|
682
|
+
model: defaultModel,
|
|
683
|
+
messages: [{ role: 'user', content: prompt }],
|
|
684
|
+
maxTokens: options?.maxTokens,
|
|
685
|
+
temperature: options?.temperature,
|
|
686
|
+
metadata: {
|
|
687
|
+
...options?.metadata,
|
|
688
|
+
agentId: this.agentId.id,
|
|
689
|
+
agentType: this.agentId.type
|
|
690
|
+
}
|
|
691
|
+
}));
|
|
692
|
+
const responses = await ruvllm.batchComplete(requests);
|
|
693
|
+
return responses.map(response => response.content
|
|
694
|
+
.filter(block => block.type === 'text')
|
|
695
|
+
.map(block => block.text)
|
|
696
|
+
.join('\n'));
|
|
697
|
+
}
|
|
698
|
+
// Fallback: sequential processing for non-batch providers
|
|
699
|
+
console.warn(`[${this.agentId.id}] Provider doesn't support batch, using sequential`);
|
|
700
|
+
const results = [];
|
|
701
|
+
for (const prompt of prompts) {
|
|
702
|
+
results.push(await this.llmComplete(prompt, options));
|
|
703
|
+
}
|
|
704
|
+
return results;
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* Generate embeddings for text
|
|
708
|
+
* Uses RuvLLM's SIMD-optimized embedding generation
|
|
709
|
+
*
|
|
710
|
+
* @param text - Text to embed
|
|
711
|
+
* @returns Embedding vector
|
|
712
|
+
*/
|
|
713
|
+
async llmEmbed(text) {
|
|
714
|
+
if (!this.llmProvider) {
|
|
715
|
+
throw new Error(`[${this.agentId.id}] LLM not available - initialize agent first`);
|
|
716
|
+
}
|
|
717
|
+
const response = await this.llmProvider.embed({ text });
|
|
718
|
+
return response.embedding || [];
|
|
719
|
+
}
|
|
720
|
+
/**
|
|
721
|
+
* Chat within agent's session (50% faster for multi-turn)
|
|
722
|
+
* Only works with RuvLLM provider with sessions enabled
|
|
723
|
+
*
|
|
724
|
+
* @param input - User input to chat
|
|
725
|
+
* @returns Assistant response
|
|
726
|
+
*/
|
|
727
|
+
async llmChat(input) {
|
|
728
|
+
if (!this.llmProvider) {
|
|
729
|
+
throw new Error(`[${this.agentId.id}] LLM not available`);
|
|
730
|
+
}
|
|
731
|
+
if (!this.llmSessionId) {
|
|
732
|
+
// Fallback to regular complete if no session
|
|
733
|
+
return this.llmComplete(input);
|
|
734
|
+
}
|
|
735
|
+
const ruvllm = this.llmProvider;
|
|
736
|
+
if (typeof ruvllm.sessionChat === 'function') {
|
|
737
|
+
return ruvllm.sessionChat(this.llmSessionId, input);
|
|
738
|
+
}
|
|
739
|
+
// Fallback
|
|
740
|
+
return this.llmComplete(input);
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* Get routing decision for observability
|
|
744
|
+
* Shows which model was selected and why
|
|
745
|
+
*/
|
|
746
|
+
getLLMRoutingDecision(input) {
|
|
747
|
+
if (!this.llmProvider) {
|
|
748
|
+
return null;
|
|
749
|
+
}
|
|
750
|
+
const ruvllm = this.llmProvider;
|
|
751
|
+
if (typeof ruvllm.getRoutingDecision === 'function') {
|
|
752
|
+
return ruvllm.getRoutingDecision(input);
|
|
753
|
+
}
|
|
754
|
+
return null;
|
|
755
|
+
}
|
|
756
|
+
/**
|
|
757
|
+
* Get LLM usage statistics for this agent
|
|
758
|
+
*/
|
|
759
|
+
getLLMStats() {
|
|
760
|
+
return {
|
|
761
|
+
available: this.hasLLM(),
|
|
762
|
+
sessionId: this.llmSessionId,
|
|
763
|
+
provider: this.llmProvider ? 'ruvllm' : undefined
|
|
764
|
+
};
|
|
765
|
+
}
|
|
766
|
+
/**
|
|
767
|
+
* Cleanup LLM resources on agent termination
|
|
768
|
+
*/
|
|
769
|
+
async cleanupLLM() {
|
|
770
|
+
if (this.llmSessionId && this.llmProvider) {
|
|
771
|
+
const ruvllm = this.llmProvider;
|
|
772
|
+
if (typeof ruvllm.endSession === 'function') {
|
|
773
|
+
ruvllm.endSession(this.llmSessionId);
|
|
774
|
+
console.log(`[${this.agentId.id}] LLM session ended: ${this.llmSessionId}`);
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
if (this.llmProvider) {
|
|
778
|
+
await this.llmProvider.shutdown();
|
|
779
|
+
}
|
|
780
|
+
if (this.llmFactory) {
|
|
781
|
+
await this.llmFactory.shutdown();
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
/**
|
|
785
|
+
* Cleanup federated learning resources on agent termination
|
|
786
|
+
* Submits final learning updates and unregisters from the coordinator
|
|
787
|
+
*/
|
|
788
|
+
async cleanupFederated() {
|
|
789
|
+
if (!this.federatedManager || !this.federatedInitialized) {
|
|
790
|
+
return;
|
|
791
|
+
}
|
|
792
|
+
try {
|
|
793
|
+
// Submit final learning updates before terminating
|
|
794
|
+
await this.submitLearningUpdate();
|
|
795
|
+
// Unregister this agent from federated learning
|
|
796
|
+
this.federatedManager.unregisterAgent(this.agentId.id);
|
|
797
|
+
console.log(`[${this.agentId.id}] Federated learning cleanup complete`);
|
|
798
|
+
}
|
|
799
|
+
catch (error) {
|
|
800
|
+
console.warn(`[${this.agentId.id}] Federated cleanup error:`, error.message);
|
|
801
|
+
}
|
|
802
|
+
this.federatedInitialized = false;
|
|
803
|
+
this.ephemeralAgent = undefined;
|
|
804
|
+
// Only shutdown the manager if we created it (not if it was shared)
|
|
805
|
+
if (!this.llmConfig.federatedManager && this.federatedManager) {
|
|
806
|
+
await this.federatedManager.shutdown();
|
|
807
|
+
this.federatedManager = undefined;
|
|
808
|
+
}
|
|
809
|
+
}
|
|
440
810
|
}
|
|
441
811
|
exports.BaseAgent = BaseAgent;
|
|
442
812
|
class BaseAgentFactory {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAgent.js","sourceRoot":"","sources":["../../src/agents/BaseAgent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseAgent.js","sourceRoot":"","sources":["../../src/agents/BaseAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -128,6 +128,11 @@ export declare class TestGeneratorAgent extends BaseAgent {
|
|
|
128
128
|
private generateTestVectors;
|
|
129
129
|
private optimizeTestSelection;
|
|
130
130
|
private generateUnitTests;
|
|
131
|
+
/**
|
|
132
|
+
* Generate test code using LLM (Phase 0 - RuvLLM Integration)
|
|
133
|
+
* Uses session management for 50% faster multi-turn conversations
|
|
134
|
+
*/
|
|
135
|
+
private generateTestCodeWithLLM;
|
|
131
136
|
private generateIntegrationTests;
|
|
132
137
|
private generateEdgeCaseTests;
|
|
133
138
|
private assembleTestSuite;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestGeneratorAgent.d.ts","sourceRoot":"","sources":["../../src/agents/TestGeneratorAgent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TestGeneratorAgent.d.ts","sourceRoot":"","sources":["../../src/agents/TestGeneratorAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -642,6 +642,11 @@ class TestGeneratorAgent extends BaseAgent_1.BaseAgent {
|
|
|
642
642
|
const neuralPriorityFunctions = neuralSuggestions?.result?.suggestedTests
|
|
643
643
|
?.filter((s) => s.priority === 'high')
|
|
644
644
|
.map((s) => s.name);
|
|
645
|
+
// Use LLM for test generation when available (Phase 0 - RuvLLM Integration)
|
|
646
|
+
const useLLM = this.hasLLM();
|
|
647
|
+
if (useLLM) {
|
|
648
|
+
this.logger.info('[TestGeneratorAgent] Using LLM for enhanced test generation');
|
|
649
|
+
}
|
|
645
650
|
for (const func of functions) {
|
|
646
651
|
const complexity = await this.calculateCyclomaticComplexity(func);
|
|
647
652
|
let testCount = Math.min(complexity * 2, 10);
|
|
@@ -663,6 +668,17 @@ class TestGeneratorAgent extends BaseAgent_1.BaseAgent {
|
|
|
663
668
|
testCode = this.applyPatternTemplate(pattern.pattern, func, parameters, expectedResult);
|
|
664
669
|
this.logger.debug(`[TestGeneratorAgent] Using pattern ${pattern.pattern.name} for ${func.name}`);
|
|
665
670
|
}
|
|
671
|
+
// Phase 0: Use LLM to generate better test code when available
|
|
672
|
+
if (useLLM && !testCode && func.code) {
|
|
673
|
+
try {
|
|
674
|
+
testCode = await this.generateTestCodeWithLLM(func, parameters, expectedResult);
|
|
675
|
+
this.logger.debug(`[TestGeneratorAgent] LLM generated test for ${func.name}`);
|
|
676
|
+
}
|
|
677
|
+
catch (error) {
|
|
678
|
+
this.logger.warn(`[TestGeneratorAgent] LLM test generation failed for ${func.name}:`, error.message);
|
|
679
|
+
// Fall through to algorithmic generation
|
|
680
|
+
}
|
|
681
|
+
}
|
|
666
682
|
const test = {
|
|
667
683
|
id: this.generateTestId(),
|
|
668
684
|
name: `test_${func.name}_${i}`,
|
|
@@ -680,6 +696,28 @@ class TestGeneratorAgent extends BaseAgent_1.BaseAgent {
|
|
|
680
696
|
}
|
|
681
697
|
return unitTests;
|
|
682
698
|
}
|
|
699
|
+
/**
|
|
700
|
+
* Generate test code using LLM (Phase 0 - RuvLLM Integration)
|
|
701
|
+
* Uses session management for 50% faster multi-turn conversations
|
|
702
|
+
*/
|
|
703
|
+
async generateTestCodeWithLLM(func, parameters, expectedResult) {
|
|
704
|
+
const prompt = `Generate a Jest unit test for the following function:
|
|
705
|
+
|
|
706
|
+
Function name: ${func.name}
|
|
707
|
+
Function code:
|
|
708
|
+
\`\`\`typescript
|
|
709
|
+
${func.code || 'function ' + func.name + '(' + (func.parameters || []).map((p) => p.name).join(', ') + ') { /* implementation */ }'}
|
|
710
|
+
\`\`\`
|
|
711
|
+
|
|
712
|
+
Test parameters: ${JSON.stringify(parameters)}
|
|
713
|
+
Expected result: ${JSON.stringify(expectedResult)}
|
|
714
|
+
|
|
715
|
+
Generate ONLY the test code (no explanations), using Jest describe/it blocks with expect assertions.`;
|
|
716
|
+
const testCode = await this.llmChat(prompt);
|
|
717
|
+
// Extract code block from response if present
|
|
718
|
+
const codeMatch = testCode.match(/```(?:typescript|javascript)?\n([\s\S]*?)```/);
|
|
719
|
+
return codeMatch ? codeMatch[1].trim() : testCode.trim();
|
|
720
|
+
}
|
|
683
721
|
async generateIntegrationTests(sourceCode, vectors) {
|
|
684
722
|
// Generate integration tests based on component interactions
|
|
685
723
|
const integrationTests = [];
|