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/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,92 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.5.8] - 2025-12-18
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
#### Phase 0: LLM Independence Foundation
|
|
15
|
+
|
|
16
|
+
Major milestone implementing the foundation for reduced LLM dependency through pattern learning and vector similarity search.
|
|
17
|
+
|
|
18
|
+
**M0.3: HNSW Pattern Store Integration**
|
|
19
|
+
- **HNSWPatternAdapter** (`src/learning/HNSWPatternAdapter.ts`) - Bridge between LearningEngine and HNSWPatternStore
|
|
20
|
+
- O(log n) similarity search with <1ms p95 latency
|
|
21
|
+
- Converts LearnedPattern ↔ QEPattern formats
|
|
22
|
+
- Fallback hash-based embeddings when RuvLLM unavailable
|
|
23
|
+
- 768-dimension vector embeddings
|
|
24
|
+
- **LearningEngine HNSW Integration** - Added `enableHNSW` config option
|
|
25
|
+
- `searchSimilarPatterns()` - Vector similarity search across learned patterns
|
|
26
|
+
- `getHNSWStats()` - Pattern count, embedding dimension, RuvLLM status
|
|
27
|
+
- `isHNSWEnabled()` - Check HNSW availability
|
|
28
|
+
- Dual storage: SQLite (primary) + HNSW (vector search)
|
|
29
|
+
|
|
30
|
+
**M0.5: Federated Learning**
|
|
31
|
+
- **FederatedManager** (`src/learning/FederatedManager.ts`) - Cross-agent pattern sharing
|
|
32
|
+
- Register agents with team for collective learning
|
|
33
|
+
- Share learned patterns across agent instances
|
|
34
|
+
- Sync with team knowledge on initialization
|
|
35
|
+
|
|
36
|
+
**M0.6: Pattern Curation**
|
|
37
|
+
- **PatternCurator** (`src/learning/PatternCurator.ts`) - Manual curation workflow
|
|
38
|
+
- `findLowConfidencePatterns()` - Identify patterns needing review
|
|
39
|
+
- `reviewPattern()` - Approve/reject patterns with feedback
|
|
40
|
+
- `autoCurate()` - Automatic curation based on confidence thresholds
|
|
41
|
+
- `forceLearning()` - Trigger learning consolidation
|
|
42
|
+
- Interactive curation generator for batch review
|
|
43
|
+
- **RuvllmPatternCurator** (`src/providers/RuvllmPatternCurator.ts`) - RuvLLM integration
|
|
44
|
+
- Implements IPatternSource using HNSWPatternAdapter
|
|
45
|
+
- Implements ILearningTrigger using RuvllmProvider
|
|
46
|
+
- Enables 20% better routing through curated patterns
|
|
47
|
+
|
|
48
|
+
**RuvllmProvider Enhancements**
|
|
49
|
+
- **Session Management** - Multi-turn context preservation (50% latency reduction)
|
|
50
|
+
- `createSession()`, `getSession()`, `endSession()`
|
|
51
|
+
- Session timeout: 30 minutes, max 100 concurrent sessions
|
|
52
|
+
- **Batch API** - Parallel request processing (4x throughput)
|
|
53
|
+
- `batchComplete()` for multiple prompts
|
|
54
|
+
- Rate limiting and queue management
|
|
55
|
+
- **TRM (Test-time Reasoning & Metacognition)** - Iterative refinement
|
|
56
|
+
- Up to 7 iterations with 95% convergence threshold
|
|
57
|
+
- **SONA (Self-Organizing Neural Architecture)** - Continuous adaptation
|
|
58
|
+
- LoRA rank: 8, alpha: 16, EWC lambda: 2000
|
|
59
|
+
- **Learning Methods** - Pattern feedback and consolidation
|
|
60
|
+
- `searchMemory()`, `provideFeedback()`, `forceLearn()`, `getMetrics()`
|
|
61
|
+
|
|
62
|
+
**HybridRouter Enhancements**
|
|
63
|
+
- **RuVector Cache Integration** - Semantic caching with vector similarity
|
|
64
|
+
- **Cost Optimization Routing** - Smart provider selection based on task complexity
|
|
65
|
+
|
|
66
|
+
**New Components**
|
|
67
|
+
- **RuVectorClient** (`src/providers/RuVectorClient.ts`) - Vector database client
|
|
68
|
+
- **LLMBaselineTracker** (`src/providers/LLMBaselineTracker.ts`) - Performance baseline tracking
|
|
69
|
+
|
|
70
|
+
#### Integration Tests
|
|
71
|
+
- **phase0-integration.test.ts** - 18 comprehensive tests covering:
|
|
72
|
+
- HNSWPatternStore direct usage (4 tests)
|
|
73
|
+
- HNSWPatternAdapter with LearningEngine (3 tests)
|
|
74
|
+
- LearningEngine + HNSW integration (3 tests)
|
|
75
|
+
- PatternCurator session/curation workflow (7 tests)
|
|
76
|
+
- End-to-end: execute → learn → store → retrieve (1 test)
|
|
77
|
+
|
|
78
|
+
#### Documentation
|
|
79
|
+
- **agent-learning-system.md** - Complete architecture documentation
|
|
80
|
+
- Agent lifecycle with all integration points
|
|
81
|
+
- LLM provider selection matrix
|
|
82
|
+
- Learning from execution flow diagrams
|
|
83
|
+
- Pattern retrieval and acceleration explanation
|
|
84
|
+
- Ruv solutions integration summary
|
|
85
|
+
|
|
86
|
+
### Changed
|
|
87
|
+
- Updated `LearnedPattern` type with optional `agentId` and `averageReward` fields
|
|
88
|
+
- Extended `src/learning/index.ts` with HNSWPatternAdapter exports
|
|
89
|
+
- Extended `src/providers/index.ts` with RuvllmPatternCurator and RuVectorClient exports
|
|
90
|
+
- Extended `src/memory/index.ts` with HNSWPatternStore exports
|
|
91
|
+
|
|
92
|
+
### Fixed
|
|
93
|
+
- Test isolation in HNSWPatternAdapter tests (unique temp directories per test)
|
|
94
|
+
- TypeScript compilation errors in pattern conversion methods
|
|
95
|
+
|
|
10
96
|
## [2.5.7] - 2025-12-17
|
|
11
97
|
|
|
12
98
|
### Added
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
[](https://smithery.ai/skills?ns=proffesor-for-testing&utm_source=github&utm_medium=badge)
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
**Version 2.5.
|
|
14
|
+
**Version 2.5.8** | [Changelog](CHANGELOG.md) | [Contributors](CONTRIBUTORS.md) | [Issues](https://github.com/proffesor-for-testing/agentic-qe/issues) | [Discussions](https://github.com/proffesor-for-testing/agentic-qe/discussions)
|
|
15
15
|
|
|
16
16
|
> AI-powered test automation that learns from every task, switches between 300+ AI models on-the-fly, scores code testability, visualizes agent activity in real-time, and improves autonomously overnight — with built-in safety guardrails and full observability.
|
|
17
17
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* BaseAgent - Abstract base class for all QE agents
|
|
3
3
|
* Phase 2 B1.2: Decomposed with strategy pattern (~500 LOC target)
|
|
4
|
+
* Phase 0: LLM Provider integration with RuvLLM support
|
|
4
5
|
*/
|
|
5
6
|
import { EventEmitter } from 'events';
|
|
6
7
|
import { AgentId, QEAgentType as AgentType, AgentStatus, AgentContext, AgentCapability, EventHandler, MemoryStore, QETask, TaskAssignment, PreTaskData, PostTaskData, TaskErrorData } from '../types';
|
|
@@ -10,12 +11,44 @@ import { SwarmMemoryManager } from '../core/memory/SwarmMemoryManager';
|
|
|
10
11
|
import { LearningEngine } from '../learning/LearningEngine';
|
|
11
12
|
import { LearningConfig, StrategyRecommendation } from '../learning/types';
|
|
12
13
|
import { AgentDBConfig } from '../core/memory/AgentDBManager';
|
|
14
|
+
import { FederatedManager, FederatedConfig, LearnedPattern, EphemeralAgent } from '../learning/FederatedManager';
|
|
13
15
|
import { AgentLifecycleManager } from './lifecycle/AgentLifecycleManager';
|
|
14
16
|
import { AgentCoordinator } from './coordination/AgentCoordinator';
|
|
15
17
|
import { AgentMemoryService } from './memory/AgentMemoryService';
|
|
18
|
+
import type { ILLMProvider, LLMCompletionOptions } from '../providers/ILLMProvider';
|
|
19
|
+
import { RuvllmProviderConfig } from '../providers/RuvllmProvider';
|
|
20
|
+
import { LLMProviderFactory, LLMProviderFactoryConfig, ProviderType } from '../providers/LLMProviderFactory';
|
|
16
21
|
import type { AgentLifecycleStrategy, AgentMemoryStrategy, AgentLearningStrategy, AgentCoordinationStrategy } from '../core/strategies';
|
|
17
22
|
import { isSwarmMemoryManager, validateLearningConfig } from './utils';
|
|
18
23
|
export { isSwarmMemoryManager, validateLearningConfig };
|
|
24
|
+
/**
|
|
25
|
+
* LLM configuration for agents
|
|
26
|
+
*/
|
|
27
|
+
export interface AgentLLMConfig {
|
|
28
|
+
/** Enable LLM capabilities for this agent */
|
|
29
|
+
enabled?: boolean;
|
|
30
|
+
/** Preferred provider type (auto, ruvllm, claude, openrouter) */
|
|
31
|
+
preferredProvider?: ProviderType;
|
|
32
|
+
/** RuvLLM specific configuration */
|
|
33
|
+
ruvllm?: Partial<RuvllmProviderConfig>;
|
|
34
|
+
/** Full factory configuration for advanced setups */
|
|
35
|
+
factoryConfig?: LLMProviderFactoryConfig;
|
|
36
|
+
/** Pre-configured LLM provider instance (for injection) */
|
|
37
|
+
provider?: ILLMProvider;
|
|
38
|
+
/** Enable session management for multi-turn conversations */
|
|
39
|
+
enableSessions?: boolean;
|
|
40
|
+
/** Enable batch processing for parallel requests */
|
|
41
|
+
enableBatch?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Enable federated learning for team-wide pattern sharing
|
|
44
|
+
* Phase 0 M0.5 - Reduces Claude Code dependency through collective learning
|
|
45
|
+
*/
|
|
46
|
+
enableFederated?: boolean;
|
|
47
|
+
/** Shared FederatedManager instance (for fleet-wide coordination) */
|
|
48
|
+
federatedManager?: FederatedManager;
|
|
49
|
+
/** Federated learning configuration */
|
|
50
|
+
federatedConfig?: Partial<FederatedConfig>;
|
|
51
|
+
}
|
|
19
52
|
/**
|
|
20
53
|
* Configuration for BaseAgent
|
|
21
54
|
*/
|
|
@@ -34,6 +67,8 @@ export interface BaseAgentConfig {
|
|
|
34
67
|
memoryStrategy?: AgentMemoryStrategy;
|
|
35
68
|
learningStrategy?: AgentLearningStrategy;
|
|
36
69
|
coordinationStrategy?: AgentCoordinationStrategy;
|
|
70
|
+
/** LLM configuration - enables agents to make LLM calls via RuvLLM */
|
|
71
|
+
llm?: AgentLLMConfig;
|
|
37
72
|
}
|
|
38
73
|
export declare abstract class BaseAgent extends EventEmitter {
|
|
39
74
|
protected readonly agentId: AgentId;
|
|
@@ -55,6 +90,13 @@ export declare abstract class BaseAgent extends EventEmitter {
|
|
|
55
90
|
};
|
|
56
91
|
private taskStartTime?;
|
|
57
92
|
private initializationMutex?;
|
|
93
|
+
protected llmProvider?: ILLMProvider;
|
|
94
|
+
protected llmFactory?: LLMProviderFactory;
|
|
95
|
+
protected readonly llmConfig: AgentLLMConfig;
|
|
96
|
+
private llmSessionId?;
|
|
97
|
+
protected federatedManager?: FederatedManager;
|
|
98
|
+
protected ephemeralAgent?: EphemeralAgent;
|
|
99
|
+
private federatedInitialized;
|
|
58
100
|
protected readonly lifecycleManager: AgentLifecycleManager;
|
|
59
101
|
protected readonly coordinator: AgentCoordinator;
|
|
60
102
|
protected readonly memoryService: AgentMemoryService;
|
|
@@ -138,6 +180,106 @@ export declare abstract class BaseAgent extends EventEmitter {
|
|
|
138
180
|
private updatePerformanceMetrics;
|
|
139
181
|
protected extractTaskMetrics(result: any): Record<string, number>;
|
|
140
182
|
private saveState;
|
|
183
|
+
/**
|
|
184
|
+
* Initialize LLM provider for agent use
|
|
185
|
+
* Supports RuvLLM (local), Claude, and OpenRouter providers
|
|
186
|
+
*/
|
|
187
|
+
private initializeLLMProvider;
|
|
188
|
+
/**
|
|
189
|
+
* Initialize Federated Learning for team-wide pattern sharing
|
|
190
|
+
* Phase 0 M0.5 - Reduces Claude Code dependency through collective learning
|
|
191
|
+
*/
|
|
192
|
+
private initializeFederatedLearning;
|
|
193
|
+
/**
|
|
194
|
+
* Check if federated learning is available
|
|
195
|
+
*/
|
|
196
|
+
hasFederatedLearning(): boolean;
|
|
197
|
+
/**
|
|
198
|
+
* Share a learned pattern with the team via federated learning
|
|
199
|
+
* Call this when the agent learns something useful (e.g., after successful task)
|
|
200
|
+
*
|
|
201
|
+
* @param pattern - The pattern to share (embedding, quality score, category)
|
|
202
|
+
*/
|
|
203
|
+
protected shareLearnedPattern(pattern: Omit<LearnedPattern, 'id' | 'sourceAgent' | 'timestamp'>): Promise<void>;
|
|
204
|
+
/**
|
|
205
|
+
* Sync this agent with team-wide learned knowledge
|
|
206
|
+
* Call this periodically or before complex tasks
|
|
207
|
+
*/
|
|
208
|
+
protected syncWithTeam(): Promise<void>;
|
|
209
|
+
/**
|
|
210
|
+
* Submit this agent's learning updates to the team
|
|
211
|
+
* Call after completing a batch of tasks
|
|
212
|
+
*/
|
|
213
|
+
protected submitLearningUpdate(): Promise<void>;
|
|
214
|
+
/**
|
|
215
|
+
* Get federated learning metrics
|
|
216
|
+
*/
|
|
217
|
+
getFederatedMetrics(): ReturnType<FederatedManager['getMetrics']> | null;
|
|
218
|
+
/**
|
|
219
|
+
* Check if LLM is available for this agent
|
|
220
|
+
*/
|
|
221
|
+
hasLLM(): boolean;
|
|
222
|
+
/**
|
|
223
|
+
* Get LLM provider (for advanced usage)
|
|
224
|
+
*/
|
|
225
|
+
getLLMProvider(): ILLMProvider | undefined;
|
|
226
|
+
/**
|
|
227
|
+
* Make an LLM completion call
|
|
228
|
+
* Uses RuvLLM's session management for 50% latency reduction on multi-turn
|
|
229
|
+
*
|
|
230
|
+
* @param prompt - The prompt to send to the LLM
|
|
231
|
+
* @param options - Additional completion options
|
|
232
|
+
* @returns The LLM response text
|
|
233
|
+
* @throws Error if LLM is not available
|
|
234
|
+
*/
|
|
235
|
+
protected llmComplete(prompt: string, options?: Partial<LLMCompletionOptions>): Promise<string>;
|
|
236
|
+
/**
|
|
237
|
+
* Make a batch LLM completion call (4x throughput)
|
|
238
|
+
* Uses RuvLLM's native batch API for parallel processing
|
|
239
|
+
*
|
|
240
|
+
* @param prompts - Array of prompts to process in parallel
|
|
241
|
+
* @param options - Shared completion options
|
|
242
|
+
* @returns Array of response texts in same order as prompts
|
|
243
|
+
*/
|
|
244
|
+
protected llmBatchComplete(prompts: string[], options?: Partial<LLMCompletionOptions>): Promise<string[]>;
|
|
245
|
+
/**
|
|
246
|
+
* Generate embeddings for text
|
|
247
|
+
* Uses RuvLLM's SIMD-optimized embedding generation
|
|
248
|
+
*
|
|
249
|
+
* @param text - Text to embed
|
|
250
|
+
* @returns Embedding vector
|
|
251
|
+
*/
|
|
252
|
+
protected llmEmbed(text: string): Promise<number[]>;
|
|
253
|
+
/**
|
|
254
|
+
* Chat within agent's session (50% faster for multi-turn)
|
|
255
|
+
* Only works with RuvLLM provider with sessions enabled
|
|
256
|
+
*
|
|
257
|
+
* @param input - User input to chat
|
|
258
|
+
* @returns Assistant response
|
|
259
|
+
*/
|
|
260
|
+
protected llmChat(input: string): Promise<string>;
|
|
261
|
+
/**
|
|
262
|
+
* Get routing decision for observability
|
|
263
|
+
* Shows which model was selected and why
|
|
264
|
+
*/
|
|
265
|
+
protected getLLMRoutingDecision(input: string): any;
|
|
266
|
+
/**
|
|
267
|
+
* Get LLM usage statistics for this agent
|
|
268
|
+
*/
|
|
269
|
+
getLLMStats(): {
|
|
270
|
+
available: boolean;
|
|
271
|
+
sessionId?: string;
|
|
272
|
+
provider?: string;
|
|
273
|
+
};
|
|
274
|
+
/**
|
|
275
|
+
* Cleanup LLM resources on agent termination
|
|
276
|
+
*/
|
|
277
|
+
private cleanupLLM;
|
|
278
|
+
/**
|
|
279
|
+
* Cleanup federated learning resources on agent termination
|
|
280
|
+
* Submits final learning updates and unregisters from the coordinator
|
|
281
|
+
*/
|
|
282
|
+
private cleanupFederated;
|
|
141
283
|
}
|
|
142
284
|
export interface AgentFactory {
|
|
143
285
|
createAgent(type: AgentType, config: BaseAgentConfig): Promise<BaseAgent>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAgent.d.ts","sourceRoot":"","sources":["../../src/agents/BaseAgent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BaseAgent.d.ts","sourceRoot":"","sources":["../../src/agents/BaseAgent.ts"],"names":[],"mappings":"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"}
|