agentic-qe 2.5.9 → 2.5.10
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 +75 -0
- package/README.md +2 -2
- package/dist/agents/BaseAgent.d.ts +119 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +288 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.d.ts +15 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +93 -0
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.d.ts +19 -0
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +137 -0
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- package/dist/cli/commands/ruvector/index.d.ts +13 -0
- package/dist/cli/commands/ruvector/index.d.ts.map +1 -0
- package/dist/cli/commands/ruvector/index.js +308 -0
- package/dist/cli/commands/ruvector/index.js.map +1 -0
- package/dist/cli/index.js +5 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +11 -0
- package/dist/cli/init/index.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/core/memory/HNSWVectorMemory.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/memory/RuVectorPatternStore.d.ts +258 -0
- package/dist/memory/RuVectorPatternStore.d.ts.map +1 -0
- package/dist/memory/RuVectorPatternStore.js +525 -0
- package/dist/memory/RuVectorPatternStore.js.map +1 -0
- package/dist/providers/RuVectorPostgresAdapter.d.ts +134 -0
- package/dist/providers/RuVectorPostgresAdapter.d.ts.map +1 -0
- package/dist/providers/RuVectorPostgresAdapter.js +504 -0
- package/dist/providers/RuVectorPostgresAdapter.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +7 -1
- package/dist/providers/index.js.map +1 -1
- package/package.json +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,81 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.5.10] - 2025-12-19
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
#### Phase 0.5: RuVector Self-Learning Integration
|
|
15
|
+
|
|
16
|
+
Major milestone implementing PostgreSQL-based self-learning with GNN, LoRA, and EWC++ for continuous pattern improvement.
|
|
17
|
+
|
|
18
|
+
**M0.5.4: RuVector PostgreSQL Adapter**
|
|
19
|
+
- **RuVectorPostgresAdapter** (`src/providers/RuVectorPostgresAdapter.ts`) - PostgreSQL vector database adapter
|
|
20
|
+
- O(log n) similarity search with pgvector
|
|
21
|
+
- 768-dimension vector embeddings
|
|
22
|
+
- Query with learning (cache + LLM fallback)
|
|
23
|
+
- Force learning consolidation (GNN/LoRA/EWC++)
|
|
24
|
+
- Health check and metrics reporting
|
|
25
|
+
- `createDockerRuVectorAdapter()` factory for Docker deployments
|
|
26
|
+
|
|
27
|
+
**M0.5.5: CLI Commands**
|
|
28
|
+
- **RuVector CLI** (`src/cli/commands/ruvector/index.ts`) - Management commands
|
|
29
|
+
- `aqe ruvector status` - Check container and connection health
|
|
30
|
+
- `aqe ruvector metrics` - Show GOAP metrics (latency, retention, cache hits)
|
|
31
|
+
- `aqe ruvector learn` - Force GNN/LoRA/EWC++ learning consolidation
|
|
32
|
+
- `aqe ruvector migrate` - Migrate patterns from memory.db
|
|
33
|
+
- `aqe ruvector health` - Detailed diagnostics
|
|
34
|
+
|
|
35
|
+
**M0.5.6: Migration Script**
|
|
36
|
+
- **migrate-patterns-to-ruvector.ts** (`scripts/migrate-patterns-to-ruvector.ts`)
|
|
37
|
+
- Batch processing with configurable batch size
|
|
38
|
+
- Dry-run mode for preview
|
|
39
|
+
- Progress tracking and error handling
|
|
40
|
+
- Validates embedding dimensions (768/384)
|
|
41
|
+
|
|
42
|
+
**Agent Pattern Store Integration**
|
|
43
|
+
- **FlakyTestHunterAgent** - Stores flaky test patterns with stability scores
|
|
44
|
+
- **SecurityScannerAgent** - Stores vulnerability patterns with severity weights
|
|
45
|
+
- **BaseAgent** - PostgreSQL adapter wiring when `AQE_RUVECTOR_ENABLED=true`
|
|
46
|
+
|
|
47
|
+
**Validation Tests**
|
|
48
|
+
- **ruvector-self-learning.test.ts** (`tests/integration/ruvector-self-learning.test.ts`)
|
|
49
|
+
- GNN learning validation (50+ queries, pattern consolidation)
|
|
50
|
+
- EWC++ anti-forgetting (>98% retention after adding new patterns)
|
|
51
|
+
- Latency requirements (environment-adjusted thresholds)
|
|
52
|
+
- Memory constraints validation
|
|
53
|
+
- Cache integration (high-confidence hits)
|
|
54
|
+
- LLM fallback (low-confidence queries)
|
|
55
|
+
|
|
56
|
+
**GOAP Targets Achieved**
|
|
57
|
+
- Cache hit rate: >50%
|
|
58
|
+
- Search latency: <1ms (production), <500ms (DevPod)
|
|
59
|
+
- Pattern retention: >98% (EWC++ guaranteed)
|
|
60
|
+
- LoRA memory: <300MB
|
|
61
|
+
|
|
62
|
+
#### Documentation
|
|
63
|
+
- **RuVector Self-Learning Guide** (`docs/guides/ruvector-self-learning.md`)
|
|
64
|
+
- Complete setup instructions
|
|
65
|
+
- CLI command reference
|
|
66
|
+
- Configuration options
|
|
67
|
+
- Migration guide
|
|
68
|
+
- Troubleshooting FAQ
|
|
69
|
+
|
|
70
|
+
### Changed
|
|
71
|
+
- **BaseAgent** - Added environment variable support for RuVector configuration
|
|
72
|
+
- `AQE_RUVECTOR_ENABLED` - Enable/disable RuVector (default: false)
|
|
73
|
+
- `AQE_RUVECTOR_URL` - Full PostgreSQL connection URL
|
|
74
|
+
- `RUVECTOR_HOST/PORT/DATABASE/USER/PASSWORD` - Individual connection settings
|
|
75
|
+
- **aqe init** - Shows optional RuVector enhancement with setup instructions
|
|
76
|
+
- **docker-compose.ruvector.yml** - Updated port mappings for PostgreSQL (5432)
|
|
77
|
+
|
|
78
|
+
### Fixed
|
|
79
|
+
- **Security** - Use `crypto.randomUUID()` instead of `Math.random()` for ID generation
|
|
80
|
+
- **Docker** - Use Docker-in-Docker instead of host Docker socket for better isolation
|
|
81
|
+
|
|
82
|
+
### Dependencies
|
|
83
|
+
- Added `pg` (PostgreSQL client) for RuVector adapter
|
|
84
|
+
|
|
10
85
|
## [2.5.9] - 2025-12-18
|
|
11
86
|
|
|
12
87
|
### Changed
|
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.10** | [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
|
|
|
@@ -393,7 +393,7 @@ mcp__agentic_qe__coverage_analyze({
|
|
|
393
393
|
})
|
|
394
394
|
```
|
|
395
395
|
|
|
396
|
-
**All
|
|
396
|
+
**All 91 MCP Tools Available:**
|
|
397
397
|
- Fleet Management (9 tools): init, spawn, status, coordinate, orchestrate
|
|
398
398
|
- Test Generation (2 tools): generate enhanced, execute
|
|
399
399
|
- Test Execution (3 tools): execute, parallel, stream
|
|
@@ -62,6 +62,26 @@ export interface AgentLLMConfig {
|
|
|
62
62
|
/**
|
|
63
63
|
* Configuration for BaseAgent
|
|
64
64
|
*/
|
|
65
|
+
/**
|
|
66
|
+
* QE Pattern Store Configuration
|
|
67
|
+
* Enables QE agents to store learned patterns in RuVector for 150x faster retrieval
|
|
68
|
+
*/
|
|
69
|
+
export interface QEPatternStoreConfig {
|
|
70
|
+
/** Enable QE pattern storage (default: true) */
|
|
71
|
+
enabled: boolean;
|
|
72
|
+
/** Use RuVector Docker when available (default: true) */
|
|
73
|
+
useRuVector: boolean;
|
|
74
|
+
/** Use local HNSW fallback (default: true) */
|
|
75
|
+
useHNSW: boolean;
|
|
76
|
+
/** Write to both RuVector and HNSW during migration (default: false) */
|
|
77
|
+
dualWrite: boolean;
|
|
78
|
+
/** RuVector Docker base URL (default: http://localhost:8080) */
|
|
79
|
+
ruvectorUrl?: string;
|
|
80
|
+
/** Pattern storage path (default: ./data/qe-patterns.ruvector) */
|
|
81
|
+
storagePath?: string;
|
|
82
|
+
/** Auto-sync patterns to RuVector (default: false) */
|
|
83
|
+
autoSync?: boolean;
|
|
84
|
+
}
|
|
65
85
|
export interface BaseAgentConfig {
|
|
66
86
|
id?: string;
|
|
67
87
|
type: AgentType;
|
|
@@ -79,6 +99,8 @@ export interface BaseAgentConfig {
|
|
|
79
99
|
coordinationStrategy?: AgentCoordinationStrategy;
|
|
80
100
|
/** LLM configuration - enables agents to make LLM calls via RuvLLM */
|
|
81
101
|
llm?: AgentLLMConfig;
|
|
102
|
+
/** Pattern store configuration for QE agents */
|
|
103
|
+
patternStore?: Partial<QEPatternStoreConfig>;
|
|
82
104
|
}
|
|
83
105
|
export declare abstract class BaseAgent extends EventEmitter {
|
|
84
106
|
protected readonly agentId: AgentId;
|
|
@@ -108,6 +130,9 @@ export declare abstract class BaseAgent extends EventEmitter {
|
|
|
108
130
|
protected federatedManager?: FederatedManager;
|
|
109
131
|
protected ephemeralAgent?: EphemeralAgent;
|
|
110
132
|
private federatedInitialized;
|
|
133
|
+
protected qePatternStore?: any;
|
|
134
|
+
protected readonly qePatternConfig: Required<QEPatternStoreConfig>;
|
|
135
|
+
private patternStoreInitialized;
|
|
111
136
|
protected readonly lifecycleManager: AgentLifecycleManager;
|
|
112
137
|
protected readonly coordinator: AgentCoordinator;
|
|
113
138
|
protected readonly memoryService: AgentMemoryService;
|
|
@@ -282,6 +307,8 @@ export declare abstract class BaseAgent extends EventEmitter {
|
|
|
282
307
|
sessionId?: string;
|
|
283
308
|
provider?: string;
|
|
284
309
|
hasRuVectorCache?: boolean;
|
|
310
|
+
hasPatternStore?: boolean;
|
|
311
|
+
patternStoreType?: 'ruvector' | 'fallback';
|
|
285
312
|
};
|
|
286
313
|
/**
|
|
287
314
|
* Check if RuVector GNN cache is available
|
|
@@ -356,6 +383,98 @@ export declare abstract class BaseAgent extends EventEmitter {
|
|
|
356
383
|
source: 'cache' | 'local' | 'cloud';
|
|
357
384
|
confidence?: number;
|
|
358
385
|
}>;
|
|
386
|
+
/**
|
|
387
|
+
* Initialize QE Pattern Store for learned pattern storage
|
|
388
|
+
* Supports both RuVector Docker (150x faster) and local HNSW fallback
|
|
389
|
+
*/
|
|
390
|
+
private initializePatternStore;
|
|
391
|
+
/**
|
|
392
|
+
* Check if QE pattern store is available
|
|
393
|
+
*/
|
|
394
|
+
hasPatternStore(): boolean;
|
|
395
|
+
/**
|
|
396
|
+
* Store a QE learned pattern
|
|
397
|
+
* Automatically uses RuVector when available, falls back to HNSW
|
|
398
|
+
*
|
|
399
|
+
* @param pattern - The QE pattern to store
|
|
400
|
+
* @returns Success status
|
|
401
|
+
*/
|
|
402
|
+
protected storeQEPattern(pattern: {
|
|
403
|
+
id: string;
|
|
404
|
+
type: string;
|
|
405
|
+
domain: string;
|
|
406
|
+
content: string;
|
|
407
|
+
embedding: number[];
|
|
408
|
+
framework?: string;
|
|
409
|
+
coverage?: number;
|
|
410
|
+
metadata?: Record<string, any>;
|
|
411
|
+
}): Promise<{
|
|
412
|
+
success: boolean;
|
|
413
|
+
synced?: boolean;
|
|
414
|
+
}>;
|
|
415
|
+
/**
|
|
416
|
+
* Search for similar QE patterns
|
|
417
|
+
* Uses RuVector's 150x faster search when available
|
|
418
|
+
*
|
|
419
|
+
* @param embedding - Query embedding vector
|
|
420
|
+
* @param k - Number of results to return (default: 10)
|
|
421
|
+
* @param options - Additional search options
|
|
422
|
+
* @returns Array of similar patterns with scores
|
|
423
|
+
*/
|
|
424
|
+
protected searchQEPatterns(embedding: number[], k?: number, options?: {
|
|
425
|
+
domain?: string;
|
|
426
|
+
type?: string;
|
|
427
|
+
framework?: string;
|
|
428
|
+
threshold?: number;
|
|
429
|
+
useMMR?: boolean;
|
|
430
|
+
}): Promise<Array<{
|
|
431
|
+
pattern: any;
|
|
432
|
+
score: number;
|
|
433
|
+
}>>;
|
|
434
|
+
/**
|
|
435
|
+
* Get QE pattern store metrics
|
|
436
|
+
* Returns performance and usage statistics
|
|
437
|
+
*/
|
|
438
|
+
getQEPatternMetrics(): {
|
|
439
|
+
enabled: boolean;
|
|
440
|
+
patternCount: number;
|
|
441
|
+
implementation: 'ruvector' | 'fallback';
|
|
442
|
+
performance?: {
|
|
443
|
+
avgSearchTime: number;
|
|
444
|
+
p50SearchTime: number;
|
|
445
|
+
p99SearchTime: number;
|
|
446
|
+
estimatedQPS: number;
|
|
447
|
+
};
|
|
448
|
+
gnnLearning?: {
|
|
449
|
+
enabled: boolean;
|
|
450
|
+
cacheHitRate: number;
|
|
451
|
+
patternsLearned: number;
|
|
452
|
+
};
|
|
453
|
+
} | null;
|
|
454
|
+
/**
|
|
455
|
+
* Sync local patterns to remote RuVector service
|
|
456
|
+
* Only applicable when RuVector Docker is enabled
|
|
457
|
+
*/
|
|
458
|
+
protected syncPatternsToRemote(options?: {
|
|
459
|
+
force?: boolean;
|
|
460
|
+
}): Promise<{
|
|
461
|
+
synced: number;
|
|
462
|
+
failed: number;
|
|
463
|
+
duration: number;
|
|
464
|
+
}>;
|
|
465
|
+
/**
|
|
466
|
+
* Force GNN learning consolidation on remote service
|
|
467
|
+
* Triggers LoRA parameter updates with EWC protection
|
|
468
|
+
*/
|
|
469
|
+
protected forcePatternLearning(): Promise<{
|
|
470
|
+
success: boolean;
|
|
471
|
+
patternsConsolidated: number;
|
|
472
|
+
duration: number;
|
|
473
|
+
}>;
|
|
474
|
+
/**
|
|
475
|
+
* Cleanup pattern store resources on agent termination
|
|
476
|
+
*/
|
|
477
|
+
private cleanupPatternStore;
|
|
359
478
|
/**
|
|
360
479
|
* Cleanup LLM resources on agent termination
|
|
361
480
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAgent.d.ts","sourceRoot":"","sources":["../../src/agents/BaseAgent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseAgent.d.ts","sourceRoot":"","sources":["../../src/agents/BaseAgent.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/BaseAgent.js
CHANGED
|
@@ -32,6 +32,7 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
32
32
|
super();
|
|
33
33
|
this.performanceMetrics = { tasksCompleted: 0, averageExecutionTime: 0, errorCount: 0, lastActivity: new Date() };
|
|
34
34
|
this.federatedInitialized = false;
|
|
35
|
+
this.patternStoreInitialized = false;
|
|
35
36
|
this.agentId = { id: config.id || (0, utils_1.generateAgentId)(config.type), type: config.type, created: new Date() };
|
|
36
37
|
this.capabilities = new Map((config.capabilities || []).map(cap => [cap.name, cap]));
|
|
37
38
|
this.context = config.context;
|
|
@@ -41,6 +42,22 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
41
42
|
this.learningConfig = config.learningConfig;
|
|
42
43
|
// LLM configuration (Phase 0 - default enabled with RuvLLM)
|
|
43
44
|
this.llmConfig = config.llm ?? { enabled: true, preferredProvider: 'ruvllm' };
|
|
45
|
+
// QE Pattern Store configuration (Phase 0.5 - RuVector Integration)
|
|
46
|
+
// Environment variables take precedence, then config, then defaults
|
|
47
|
+
// RuVector is OPT-IN to maintain backward compatibility with existing users
|
|
48
|
+
const envRuVectorEnabled = process.env.AQE_RUVECTOR_ENABLED?.toLowerCase() === 'true';
|
|
49
|
+
const envRuVectorUrl = process.env.AQE_RUVECTOR_URL || process.env.RUVECTOR_URL;
|
|
50
|
+
const envPatternStoreEnabled = process.env.AQE_PATTERN_STORE_ENABLED?.toLowerCase() !== 'false';
|
|
51
|
+
this.qePatternConfig = {
|
|
52
|
+
enabled: config.patternStore?.enabled ?? envPatternStoreEnabled,
|
|
53
|
+
// RuVector defaults to FALSE - opt-in for advanced self-learning
|
|
54
|
+
useRuVector: config.patternStore?.useRuVector ?? envRuVectorEnabled,
|
|
55
|
+
useHNSW: config.patternStore?.useHNSW ?? true,
|
|
56
|
+
dualWrite: config.patternStore?.dualWrite ?? (process.env.AQE_PATTERN_DUAL_WRITE === 'true'),
|
|
57
|
+
ruvectorUrl: config.patternStore?.ruvectorUrl ?? envRuVectorUrl ?? 'postgresql://ruvector:ruvector@localhost:5432/ruvector_db',
|
|
58
|
+
storagePath: config.patternStore?.storagePath ?? process.env.AQE_PATTERN_STORE_PATH ?? './data/qe-patterns.ruvector',
|
|
59
|
+
autoSync: config.patternStore?.autoSync ?? (process.env.AQE_PATTERN_AUTO_SYNC === 'true'),
|
|
60
|
+
};
|
|
44
61
|
// Early validation (Issue #137)
|
|
45
62
|
const validation = (0, utils_1.validateLearningConfig)(config);
|
|
46
63
|
if (!validation.valid && validation.warning) {
|
|
@@ -105,6 +122,8 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
105
122
|
await this.initializeLLMProvider();
|
|
106
123
|
// Initialize Federated Learning (Phase 0 M0.5)
|
|
107
124
|
await this.initializeFederatedLearning();
|
|
125
|
+
// Initialize QE Pattern Store (Phase 0.5)
|
|
126
|
+
await this.initializePatternStore();
|
|
108
127
|
await this.initializeComponents();
|
|
109
128
|
await this.executeHook('post-initialization');
|
|
110
129
|
this.coordinator.emitEvent('agent.initialized', { agentId: this.agentId });
|
|
@@ -160,6 +179,7 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
160
179
|
await this.cleanup();
|
|
161
180
|
await this.cleanupLLM(); // Phase 0: Cleanup LLM resources
|
|
162
181
|
await this.cleanupFederated(); // Phase 0 M0.5: Cleanup federated learning
|
|
182
|
+
await this.cleanupPatternStore(); // Phase 0.5: Cleanup pattern store
|
|
163
183
|
this.coordinator.clearAllHandlers();
|
|
164
184
|
},
|
|
165
185
|
onPostTermination: async () => {
|
|
@@ -798,6 +818,10 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
798
818
|
sessionId: this.llmSessionId,
|
|
799
819
|
provider: this.hybridRouter ? 'hybrid' : (this.llmProvider ? 'ruvllm' : undefined),
|
|
800
820
|
hasRuVectorCache: this.hasRuVectorCache(),
|
|
821
|
+
hasPatternStore: this.hasPatternStore(),
|
|
822
|
+
patternStoreType: this.hasPatternStore() ?
|
|
823
|
+
this.qePatternStore?.getImplementationInfo?.()?.type :
|
|
824
|
+
undefined,
|
|
801
825
|
};
|
|
802
826
|
}
|
|
803
827
|
// ============================================
|
|
@@ -923,6 +947,270 @@ class BaseAgent extends events_1.EventEmitter {
|
|
|
923
947
|
const text = await this.llmComplete(prompt, options);
|
|
924
948
|
return { response: text, source: 'local' };
|
|
925
949
|
}
|
|
950
|
+
// ============================================
|
|
951
|
+
// QE Pattern Store Methods (Phase 0.5 - RuVector Integration)
|
|
952
|
+
// ============================================
|
|
953
|
+
/**
|
|
954
|
+
* Initialize QE Pattern Store for learned pattern storage
|
|
955
|
+
* Supports both RuVector Docker (150x faster) and local HNSW fallback
|
|
956
|
+
*/
|
|
957
|
+
async initializePatternStore() {
|
|
958
|
+
if (!this.qePatternConfig.enabled) {
|
|
959
|
+
console.log(`[${this.agentId.id}] QE Pattern Store disabled by configuration`);
|
|
960
|
+
return;
|
|
961
|
+
}
|
|
962
|
+
try {
|
|
963
|
+
// Phase 0.5: Use PostgreSQL adapter when RuVector is enabled
|
|
964
|
+
if (this.qePatternConfig.useRuVector) {
|
|
965
|
+
try {
|
|
966
|
+
const { createDockerRuVectorAdapter } = require('../providers/RuVectorPostgresAdapter');
|
|
967
|
+
// Parse PostgreSQL connection URL or use defaults
|
|
968
|
+
const url = this.qePatternConfig.ruvectorUrl || '';
|
|
969
|
+
const isPostgres = url.startsWith('postgresql://') || url.startsWith('postgres://');
|
|
970
|
+
if (isPostgres) {
|
|
971
|
+
// Parse connection URL
|
|
972
|
+
const parsed = new URL(url);
|
|
973
|
+
this.qePatternStore = createDockerRuVectorAdapter({
|
|
974
|
+
host: parsed.hostname,
|
|
975
|
+
port: parseInt(parsed.port) || 5432,
|
|
976
|
+
database: parsed.pathname.slice(1) || 'ruvector_db',
|
|
977
|
+
user: parsed.username || 'ruvector',
|
|
978
|
+
password: parsed.password || 'ruvector',
|
|
979
|
+
learningEnabled: true,
|
|
980
|
+
cacheThreshold: 0.85,
|
|
981
|
+
});
|
|
982
|
+
}
|
|
983
|
+
else {
|
|
984
|
+
// Use default Docker configuration
|
|
985
|
+
this.qePatternStore = createDockerRuVectorAdapter({
|
|
986
|
+
host: process.env.RUVECTOR_HOST || 'localhost',
|
|
987
|
+
port: parseInt(process.env.RUVECTOR_PORT || '5432'),
|
|
988
|
+
database: process.env.RUVECTOR_DATABASE || 'ruvector_db',
|
|
989
|
+
user: process.env.RUVECTOR_USER || 'ruvector',
|
|
990
|
+
password: process.env.RUVECTOR_PASSWORD || 'ruvector',
|
|
991
|
+
learningEnabled: true,
|
|
992
|
+
cacheThreshold: 0.85,
|
|
993
|
+
});
|
|
994
|
+
}
|
|
995
|
+
await this.qePatternStore.initialize();
|
|
996
|
+
this.patternStoreInitialized = true;
|
|
997
|
+
console.log(`[${this.agentId.id}] QE Pattern Store initialized (RuVector PostgreSQL: enabled)`);
|
|
998
|
+
return;
|
|
999
|
+
}
|
|
1000
|
+
catch (postgresError) {
|
|
1001
|
+
console.warn(`[${this.agentId.id}] RuVector PostgreSQL unavailable, falling back to HNSW:`, postgresError.message);
|
|
1002
|
+
// Fall through to HNSW fallback
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
// Fallback: Use local RuVectorPatternStore (HNSW-based)
|
|
1006
|
+
const { RuVectorPatternStore } = require('../memory/RuVectorPatternStore');
|
|
1007
|
+
// Configure pattern store with local HNSW
|
|
1008
|
+
const storeConfig = {
|
|
1009
|
+
dimension: 384,
|
|
1010
|
+
metric: 'cosine',
|
|
1011
|
+
storagePath: this.qePatternConfig.storagePath,
|
|
1012
|
+
autoPersist: true,
|
|
1013
|
+
enableMetrics: true,
|
|
1014
|
+
hnsw: {
|
|
1015
|
+
m: 32,
|
|
1016
|
+
efConstruction: 200,
|
|
1017
|
+
efSearch: 100,
|
|
1018
|
+
},
|
|
1019
|
+
};
|
|
1020
|
+
this.qePatternStore = new RuVectorPatternStore(storeConfig);
|
|
1021
|
+
await this.qePatternStore.initialize();
|
|
1022
|
+
this.patternStoreInitialized = true;
|
|
1023
|
+
console.log(`[${this.agentId.id}] QE Pattern Store initialized (HNSW fallback)`);
|
|
1024
|
+
}
|
|
1025
|
+
catch (error) {
|
|
1026
|
+
console.warn(`[${this.agentId.id}] Pattern Store initialization failed:`, error.message);
|
|
1027
|
+
// Don't throw - agent can work without pattern store
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
/**
|
|
1031
|
+
* Check if QE pattern store is available
|
|
1032
|
+
*/
|
|
1033
|
+
hasPatternStore() {
|
|
1034
|
+
return this.patternStoreInitialized && this.qePatternStore !== undefined;
|
|
1035
|
+
}
|
|
1036
|
+
/**
|
|
1037
|
+
* Store a QE learned pattern
|
|
1038
|
+
* Automatically uses RuVector when available, falls back to HNSW
|
|
1039
|
+
*
|
|
1040
|
+
* @param pattern - The QE pattern to store
|
|
1041
|
+
* @returns Success status
|
|
1042
|
+
*/
|
|
1043
|
+
async storeQEPattern(pattern) {
|
|
1044
|
+
if (!this.hasPatternStore()) {
|
|
1045
|
+
return { success: false };
|
|
1046
|
+
}
|
|
1047
|
+
try {
|
|
1048
|
+
const testPattern = {
|
|
1049
|
+
id: pattern.id,
|
|
1050
|
+
type: pattern.type,
|
|
1051
|
+
domain: pattern.domain,
|
|
1052
|
+
content: pattern.content,
|
|
1053
|
+
embedding: pattern.embedding,
|
|
1054
|
+
framework: pattern.framework,
|
|
1055
|
+
coverage: pattern.coverage,
|
|
1056
|
+
createdAt: Date.now(),
|
|
1057
|
+
lastUsed: Date.now(),
|
|
1058
|
+
usageCount: 0,
|
|
1059
|
+
metadata: {
|
|
1060
|
+
agentId: this.agentId.id,
|
|
1061
|
+
agentType: this.agentId.type,
|
|
1062
|
+
...pattern.metadata,
|
|
1063
|
+
},
|
|
1064
|
+
};
|
|
1065
|
+
// Use auto-sync variant if enabled
|
|
1066
|
+
if (this.qePatternConfig.autoSync && this.qePatternStore.storeWithSync) {
|
|
1067
|
+
const result = await this.qePatternStore.storeWithSync(testPattern);
|
|
1068
|
+
return { success: result.stored, synced: result.synced };
|
|
1069
|
+
}
|
|
1070
|
+
await this.qePatternStore.storePattern(testPattern);
|
|
1071
|
+
return { success: true };
|
|
1072
|
+
}
|
|
1073
|
+
catch (error) {
|
|
1074
|
+
console.warn(`[${this.agentId.id}] Failed to store QE pattern:`, error.message);
|
|
1075
|
+
return { success: false };
|
|
1076
|
+
}
|
|
1077
|
+
}
|
|
1078
|
+
/**
|
|
1079
|
+
* Search for similar QE patterns
|
|
1080
|
+
* Uses RuVector's 150x faster search when available
|
|
1081
|
+
*
|
|
1082
|
+
* @param embedding - Query embedding vector
|
|
1083
|
+
* @param k - Number of results to return (default: 10)
|
|
1084
|
+
* @param options - Additional search options
|
|
1085
|
+
* @returns Array of similar patterns with scores
|
|
1086
|
+
*/
|
|
1087
|
+
async searchQEPatterns(embedding, k = 10, options) {
|
|
1088
|
+
if (!this.hasPatternStore()) {
|
|
1089
|
+
return [];
|
|
1090
|
+
}
|
|
1091
|
+
try {
|
|
1092
|
+
const results = await this.qePatternStore.searchSimilar(embedding, {
|
|
1093
|
+
k,
|
|
1094
|
+
domain: options?.domain,
|
|
1095
|
+
type: options?.type,
|
|
1096
|
+
framework: options?.framework,
|
|
1097
|
+
threshold: options?.threshold ?? 0.7,
|
|
1098
|
+
useMMR: options?.useMMR ?? false,
|
|
1099
|
+
});
|
|
1100
|
+
return results;
|
|
1101
|
+
}
|
|
1102
|
+
catch (error) {
|
|
1103
|
+
console.warn(`[${this.agentId.id}] Pattern search failed:`, error.message);
|
|
1104
|
+
return [];
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
/**
|
|
1108
|
+
* Get QE pattern store metrics
|
|
1109
|
+
* Returns performance and usage statistics
|
|
1110
|
+
*/
|
|
1111
|
+
getQEPatternMetrics() {
|
|
1112
|
+
if (!this.hasPatternStore()) {
|
|
1113
|
+
return null;
|
|
1114
|
+
}
|
|
1115
|
+
try {
|
|
1116
|
+
const stats = this.qePatternStore.getStats?.();
|
|
1117
|
+
const perfMetrics = this.qePatternStore.getPerformanceMetrics?.();
|
|
1118
|
+
const metrics = {
|
|
1119
|
+
enabled: true,
|
|
1120
|
+
patternCount: stats?.count ?? 0,
|
|
1121
|
+
implementation: stats?.implementation ?? 'fallback',
|
|
1122
|
+
};
|
|
1123
|
+
if (perfMetrics) {
|
|
1124
|
+
metrics.performance = {
|
|
1125
|
+
avgSearchTime: perfMetrics.avgSearchTime,
|
|
1126
|
+
p50SearchTime: perfMetrics.p50SearchTime,
|
|
1127
|
+
p99SearchTime: perfMetrics.p99SearchTime,
|
|
1128
|
+
estimatedQPS: perfMetrics.estimatedQPS,
|
|
1129
|
+
};
|
|
1130
|
+
}
|
|
1131
|
+
// GNN learning metrics if available
|
|
1132
|
+
if (this.qePatternStore.isGNNEnabled?.()) {
|
|
1133
|
+
const gnnMetrics = this.qePatternStore.getGNNMetrics?.();
|
|
1134
|
+
if (gnnMetrics) {
|
|
1135
|
+
metrics.gnnLearning = {
|
|
1136
|
+
enabled: gnnMetrics.enabled,
|
|
1137
|
+
cacheHitRate: gnnMetrics.cacheHitRate,
|
|
1138
|
+
patternsLearned: gnnMetrics.patternsLearned,
|
|
1139
|
+
};
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1142
|
+
return metrics;
|
|
1143
|
+
}
|
|
1144
|
+
catch (error) {
|
|
1145
|
+
console.warn(`[${this.agentId.id}] Failed to get pattern metrics:`, error.message);
|
|
1146
|
+
return null;
|
|
1147
|
+
}
|
|
1148
|
+
}
|
|
1149
|
+
/**
|
|
1150
|
+
* Sync local patterns to remote RuVector service
|
|
1151
|
+
* Only applicable when RuVector Docker is enabled
|
|
1152
|
+
*/
|
|
1153
|
+
async syncPatternsToRemote(options) {
|
|
1154
|
+
if (!this.hasPatternStore() || !this.qePatternStore.syncToRemote) {
|
|
1155
|
+
return { synced: 0, failed: 0, duration: 0 };
|
|
1156
|
+
}
|
|
1157
|
+
try {
|
|
1158
|
+
const result = await this.qePatternStore.syncToRemote(options);
|
|
1159
|
+
console.log(`[${this.agentId.id}] Synced ${result.synced} patterns to remote (${result.duration}ms)`);
|
|
1160
|
+
return result;
|
|
1161
|
+
}
|
|
1162
|
+
catch (error) {
|
|
1163
|
+
console.warn(`[${this.agentId.id}] Pattern sync failed:`, error.message);
|
|
1164
|
+
return { synced: 0, failed: 0, duration: 0 };
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
/**
|
|
1168
|
+
* Force GNN learning consolidation on remote service
|
|
1169
|
+
* Triggers LoRA parameter updates with EWC protection
|
|
1170
|
+
*/
|
|
1171
|
+
async forcePatternLearning() {
|
|
1172
|
+
if (!this.hasPatternStore() || !this.qePatternStore.forceGNNLearn) {
|
|
1173
|
+
return { success: false, patternsConsolidated: 0, duration: 0 };
|
|
1174
|
+
}
|
|
1175
|
+
try {
|
|
1176
|
+
const result = await this.qePatternStore.forceGNNLearn({
|
|
1177
|
+
domain: this.agentId.type,
|
|
1178
|
+
});
|
|
1179
|
+
return {
|
|
1180
|
+
success: result.success,
|
|
1181
|
+
patternsConsolidated: result.patternsConsolidated,
|
|
1182
|
+
duration: result.duration,
|
|
1183
|
+
};
|
|
1184
|
+
}
|
|
1185
|
+
catch (error) {
|
|
1186
|
+
console.warn(`[${this.agentId.id}] Force learning failed:`, error.message);
|
|
1187
|
+
return { success: false, patternsConsolidated: 0, duration: 0 };
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
/**
|
|
1191
|
+
* Cleanup pattern store resources on agent termination
|
|
1192
|
+
*/
|
|
1193
|
+
async cleanupPatternStore() {
|
|
1194
|
+
if (!this.patternStoreInitialized || !this.qePatternStore) {
|
|
1195
|
+
return;
|
|
1196
|
+
}
|
|
1197
|
+
try {
|
|
1198
|
+
// Sync pending patterns before shutdown
|
|
1199
|
+
if (this.qePatternConfig.autoSync && this.qePatternStore.syncToRemote) {
|
|
1200
|
+
await this.qePatternStore.syncToRemote({ force: true });
|
|
1201
|
+
}
|
|
1202
|
+
// Shutdown and release resources
|
|
1203
|
+
if (this.qePatternStore.shutdown) {
|
|
1204
|
+
await this.qePatternStore.shutdown();
|
|
1205
|
+
}
|
|
1206
|
+
console.log(`[${this.agentId.id}] Pattern Store cleanup complete`);
|
|
1207
|
+
}
|
|
1208
|
+
catch (error) {
|
|
1209
|
+
console.warn(`[${this.agentId.id}] Pattern Store cleanup error:`, error.message);
|
|
1210
|
+
}
|
|
1211
|
+
this.patternStoreInitialized = false;
|
|
1212
|
+
this.qePatternStore = undefined;
|
|
1213
|
+
}
|
|
926
1214
|
/**
|
|
927
1215
|
* Cleanup LLM resources on agent termination
|
|
928
1216
|
*/
|