agentic-qe 1.3.7 → 1.4.1
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 +57 -0
- package/README.md +47 -1
- package/dist/agents/ApiContractValidatorAgent.d.ts +11 -0
- package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -1
- package/dist/agents/ApiContractValidatorAgent.js +59 -0
- package/dist/agents/ApiContractValidatorAgent.js.map +1 -1
- package/dist/agents/BaseAgent.js +1 -1
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.d.ts +11 -0
- package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.js +61 -0
- package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.d.ts +20 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +81 -7
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/FleetCommanderAgent.d.ts +20 -0
- package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
- package/dist/agents/FleetCommanderAgent.js +77 -0
- package/dist/agents/FleetCommanderAgent.js.map +1 -1
- package/dist/agents/PerformanceTesterAgent.d.ts +20 -0
- package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
- package/dist/agents/PerformanceTesterAgent.js +77 -0
- package/dist/agents/PerformanceTesterAgent.js.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.d.ts +20 -0
- package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.js +64 -0
- package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +20 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.js +64 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.d.ts +11 -0
- package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.js +60 -0
- package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.d.ts +20 -0
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +63 -0
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- package/dist/agents/TestDataArchitectAgent.d.ts +20 -0
- package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
- package/dist/agents/TestDataArchitectAgent.js +62 -0
- package/dist/agents/TestDataArchitectAgent.js.map +1 -1
- package/dist/agents/TestExecutorAgent.d.ts +20 -0
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
- package/dist/agents/TestExecutorAgent.js +88 -13
- package/dist/agents/TestExecutorAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +1 -0
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +53 -2
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/cli/commands/agentdb/learn.d.ts +22 -0
- package/dist/cli/commands/agentdb/learn.d.ts.map +1 -0
- package/dist/cli/commands/agentdb/learn.js +343 -0
- package/dist/cli/commands/agentdb/learn.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +33 -11
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/patterns/extract.d.ts +12 -0
- package/dist/cli/commands/patterns/extract.d.ts.map +1 -0
- package/dist/cli/commands/patterns/extract.js +304 -0
- package/dist/cli/commands/patterns/extract.js.map +1 -0
- package/dist/cli/commands/patterns/index-new.d.ts +12 -0
- package/dist/cli/commands/patterns/index-new.d.ts.map +1 -0
- package/dist/cli/commands/patterns/index-new.js +102 -0
- package/dist/cli/commands/patterns/index-new.js.map +1 -0
- package/dist/cli/commands/patterns/list.d.ts +14 -0
- package/dist/cli/commands/patterns/list.d.ts.map +1 -0
- package/dist/cli/commands/patterns/list.js +133 -0
- package/dist/cli/commands/patterns/list.js.map +1 -0
- package/dist/cli/commands/patterns/search.d.ts +13 -0
- package/dist/cli/commands/patterns/search.d.ts.map +1 -0
- package/dist/cli/commands/patterns/search.js +125 -0
- package/dist/cli/commands/patterns/search.js.map +1 -0
- package/dist/cli/commands/patterns/show.d.ts +7 -0
- package/dist/cli/commands/patterns/show.d.ts.map +1 -0
- package/dist/cli/commands/patterns/show.js +164 -0
- package/dist/cli/commands/patterns/show.js.map +1 -0
- package/dist/cli/commands/patterns/stats.d.ts +11 -0
- package/dist/cli/commands/patterns/stats.d.ts.map +1 -0
- package/dist/cli/commands/patterns/stats.js +241 -0
- package/dist/cli/commands/patterns/stats.js.map +1 -0
- package/dist/cli/index.js +1 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/PatternDatabaseAdapter.d.ts +169 -0
- package/dist/core/PatternDatabaseAdapter.d.ts.map +1 -0
- package/dist/core/PatternDatabaseAdapter.js +493 -0
- package/dist/core/PatternDatabaseAdapter.js.map +1 -0
- package/dist/learning/AgentDBLearningIntegration.d.ts +147 -0
- package/dist/learning/AgentDBLearningIntegration.d.ts.map +1 -0
- package/dist/learning/AgentDBLearningIntegration.js +380 -0
- package/dist/learning/AgentDBLearningIntegration.js.map +1 -0
- package/dist/learning/AgentDBPatternOptimizer.d.ts +129 -0
- package/dist/learning/AgentDBPatternOptimizer.d.ts.map +1 -0
- package/dist/learning/AgentDBPatternOptimizer.js +332 -0
- package/dist/learning/AgentDBPatternOptimizer.js.map +1 -0
- package/dist/learning/LearningEngine.d.ts +15 -1
- package/dist/learning/LearningEngine.d.ts.map +1 -1
- package/dist/learning/LearningEngine.js +128 -1
- package/dist/learning/LearningEngine.js.map +1 -1
- package/dist/learning/RewardCalculator.d.ts +100 -0
- package/dist/learning/RewardCalculator.d.ts.map +1 -0
- package/dist/learning/RewardCalculator.js +176 -0
- package/dist/learning/RewardCalculator.js.map +1 -0
- package/dist/learning/StateExtractor.d.ts +62 -0
- package/dist/learning/StateExtractor.d.ts.map +1 -0
- package/dist/learning/StateExtractor.js +217 -0
- package/dist/learning/StateExtractor.js.map +1 -0
- package/dist/migrations/001_add_learning_tables.d.ts +63 -0
- package/dist/migrations/001_add_learning_tables.d.ts.map +1 -0
- package/dist/migrations/001_add_learning_tables.js +287 -0
- package/dist/migrations/001_add_learning_tables.js.map +1 -0
- package/dist/reasoning/PatternExtractor.d.ts +25 -0
- package/dist/reasoning/PatternExtractor.d.ts.map +1 -1
- package/dist/reasoning/PatternExtractor.js +130 -0
- package/dist/reasoning/PatternExtractor.js.map +1 -1
- package/dist/reasoning/QEReasoningBank.d.ts +18 -2
- package/dist/reasoning/QEReasoningBank.d.ts.map +1 -1
- package/dist/reasoning/QEReasoningBank.js +75 -3
- package/dist/reasoning/QEReasoningBank.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/Database.d.ts +107 -0
- package/dist/utils/Database.d.ts.map +1 -1
- package/dist/utils/Database.js +337 -1
- package/dist/utils/Database.js.map +1 -1
- package/dist/utils/__mocks__/Database.d.ts +18 -17
- package/dist/utils/__mocks__/Database.d.ts.map +1 -1
- package/dist/utils/__mocks__/Database.js +22 -55
- package/dist/utils/__mocks__/Database.js.map +1 -1
- package/package.json +4 -3
- package/.claude/aqe-fleet.json +0 -47
- package/.claude/helpers/checkpoint-manager.sh +0 -251
- package/.claude/helpers/github-safe.js +0 -106
- package/.claude/helpers/github-setup.sh +0 -28
- package/.claude/helpers/quick-start.sh +0 -19
- package/.claude/helpers/setup-mcp.sh +0 -18
- package/.claude/helpers/standard-checkpoint-hooks.sh +0 -179
- package/.claude/settings.json +0 -153
- package/.claude/settings.local.json +0 -10
- package/.claude/statusline-command.sh +0 -176
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AgentDB Learning Integration for QE Agents
|
|
4
|
+
*
|
|
5
|
+
* Integrates AgentDB's learning capabilities with QE agent learning system:
|
|
6
|
+
* - 9 Reinforcement Learning algorithms (Q-Learning, SARSA, Actor-Critic, etc.)
|
|
7
|
+
* - Persistent memory patterns with vector embeddings
|
|
8
|
+
* - QUIC synchronization for distributed learning
|
|
9
|
+
* - 150x faster pattern retrieval with HNSW indexing
|
|
10
|
+
* - Memory optimization with quantization (4-32x reduction)
|
|
11
|
+
*
|
|
12
|
+
* @version 1.0.0
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AgentDBLearningIntegration = void 0;
|
|
16
|
+
const Logger_1 = require("../utils/Logger");
|
|
17
|
+
/**
|
|
18
|
+
* Default AgentDB Learning Configuration
|
|
19
|
+
*/
|
|
20
|
+
const DEFAULT_CONFIG = {
|
|
21
|
+
enabled: true,
|
|
22
|
+
algorithm: 'q-learning',
|
|
23
|
+
enableQuicSync: false,
|
|
24
|
+
storePatterns: true,
|
|
25
|
+
batchSize: 32,
|
|
26
|
+
trainingFrequency: 10,
|
|
27
|
+
minPatternConfidence: 0.7,
|
|
28
|
+
useVectorSearch: true,
|
|
29
|
+
enableOptimization: true
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* AgentDB Learning Integration
|
|
33
|
+
*
|
|
34
|
+
* Bridges QE agents' LearningEngine with AgentDB's advanced features
|
|
35
|
+
*/
|
|
36
|
+
class AgentDBLearningIntegration {
|
|
37
|
+
constructor(learningEngine, agentDB, reasoningBank, config = {}) {
|
|
38
|
+
this.experienceCount = 0;
|
|
39
|
+
this.lastTrainingTime = Date.now();
|
|
40
|
+
this.logger = Logger_1.Logger.getInstance();
|
|
41
|
+
this.learningEngine = learningEngine;
|
|
42
|
+
this.agentDB = agentDB;
|
|
43
|
+
this.reasoningBank = reasoningBank;
|
|
44
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Initialize AgentDB learning integration
|
|
48
|
+
*/
|
|
49
|
+
async initialize() {
|
|
50
|
+
if (!this.config.enabled) {
|
|
51
|
+
this.logger.info('AgentDB learning integration is disabled');
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
await this.agentDB.initialize();
|
|
55
|
+
this.logger.info('AgentDB learning integration initialized', {
|
|
56
|
+
algorithm: this.config.algorithm,
|
|
57
|
+
quicSync: this.config.enableQuicSync,
|
|
58
|
+
vectorSearch: this.config.useVectorSearch
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Record experience with AgentDB enhancement
|
|
63
|
+
*
|
|
64
|
+
* This method enhances the standard learning by:
|
|
65
|
+
* 1. Recording in local LearningEngine (Q-table)
|
|
66
|
+
* 2. Training AgentDB RL model
|
|
67
|
+
* 3. Storing patterns in AgentDB vector store
|
|
68
|
+
* 4. Syncing via QUIC if enabled
|
|
69
|
+
*/
|
|
70
|
+
async recordExperience(agentId, task, result, state, action, reward) {
|
|
71
|
+
if (!this.config.enabled) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
// 1. Create learning experience
|
|
76
|
+
const experience = {
|
|
77
|
+
state: this.serializeState(state),
|
|
78
|
+
action: this.serializeAction(action),
|
|
79
|
+
reward,
|
|
80
|
+
nextState: this.serializeNextState(state, result),
|
|
81
|
+
done: result.success,
|
|
82
|
+
metadata: {
|
|
83
|
+
taskId: task.id,
|
|
84
|
+
taskType: task.type,
|
|
85
|
+
agentId,
|
|
86
|
+
executionTime: result.executionTime,
|
|
87
|
+
timestamp: Date.now()
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
// 2. Train AgentDB RL model
|
|
91
|
+
await this.agentDB.trainLearningPlugin(agentId, experience, this.config.algorithm);
|
|
92
|
+
this.experienceCount++;
|
|
93
|
+
// 3. Store patterns if successful
|
|
94
|
+
if (this.config.storePatterns && result.success) {
|
|
95
|
+
await this.storeSuccessfulPattern(agentId, task, result, state, action, reward);
|
|
96
|
+
}
|
|
97
|
+
// 4. Batch training if threshold reached
|
|
98
|
+
if (this.experienceCount % this.config.trainingFrequency === 0) {
|
|
99
|
+
await this.performBatchTraining(agentId);
|
|
100
|
+
}
|
|
101
|
+
this.logger.debug('AgentDB experience recorded', {
|
|
102
|
+
agentId,
|
|
103
|
+
reward: reward.toFixed(3),
|
|
104
|
+
experienceCount: this.experienceCount
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
this.logger.error('Failed to record AgentDB experience:', error);
|
|
109
|
+
// Don't throw - learning failures shouldn't break task execution
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Get learning-enhanced recommendations
|
|
114
|
+
*
|
|
115
|
+
* Combines:
|
|
116
|
+
* 1. LearningEngine Q-table recommendations
|
|
117
|
+
* 2. AgentDB RL model predictions
|
|
118
|
+
* 3. Similar pattern retrieval from vector store
|
|
119
|
+
*/
|
|
120
|
+
async getRecommendations(agentId, state) {
|
|
121
|
+
if (!this.config.enabled) {
|
|
122
|
+
// Fallback to basic learning engine
|
|
123
|
+
const recommendation = await this.learningEngine.recommendStrategy(state);
|
|
124
|
+
return {
|
|
125
|
+
action: this.deserializeAction(recommendation.strategy),
|
|
126
|
+
confidence: recommendation.confidence,
|
|
127
|
+
reasoning: recommendation.reasoning,
|
|
128
|
+
alternatives: recommendation.alternatives.map(alt => this.deserializeAction(alt.strategy))
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
// 1. Get AgentDB RL prediction
|
|
133
|
+
const agentDBPrediction = await this.agentDB.getLearningRecommendations(agentId, this.serializeState(state), this.config.algorithm);
|
|
134
|
+
// 2. Get LearningEngine recommendation
|
|
135
|
+
const engineRecommendation = await this.learningEngine.recommendStrategy(state);
|
|
136
|
+
// 3. Get similar patterns from vector store (if enabled)
|
|
137
|
+
let patternMatches = [];
|
|
138
|
+
if (this.config.useVectorSearch) {
|
|
139
|
+
patternMatches = await this.findSimilarPatterns(state);
|
|
140
|
+
}
|
|
141
|
+
// 4. Combine recommendations with weighted scoring
|
|
142
|
+
const combinedConfidence = this.combineConfidence(agentDBPrediction.confidence, engineRecommendation.confidence, patternMatches.length > 0 ? patternMatches[0]?.similarity || 0 : 0);
|
|
143
|
+
// 5. Build reasoning
|
|
144
|
+
const reasoning = this.buildReasoning(agentDBPrediction, engineRecommendation, patternMatches);
|
|
145
|
+
return {
|
|
146
|
+
action: this.deserializeAction(agentDBPrediction.action),
|
|
147
|
+
confidence: combinedConfidence,
|
|
148
|
+
reasoning,
|
|
149
|
+
alternatives: engineRecommendation.alternatives.map(alt => this.deserializeAction(alt.strategy))
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
this.logger.error('Failed to get AgentDB recommendations:', error);
|
|
154
|
+
// Fallback to basic learning engine
|
|
155
|
+
const recommendation = await this.learningEngine.recommendStrategy(state);
|
|
156
|
+
return {
|
|
157
|
+
action: this.deserializeAction(recommendation.strategy),
|
|
158
|
+
confidence: recommendation.confidence,
|
|
159
|
+
reasoning: recommendation.reasoning,
|
|
160
|
+
alternatives: recommendation.alternatives.map(alt => this.deserializeAction(alt.strategy))
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Perform batch training on accumulated experiences
|
|
166
|
+
*/
|
|
167
|
+
async performBatchTraining(agentId) {
|
|
168
|
+
const startTime = Date.now();
|
|
169
|
+
try {
|
|
170
|
+
// Get recent experiences
|
|
171
|
+
const experiences = this.agentDB.getExperienceReplay(agentId, this.config.batchSize);
|
|
172
|
+
if (experiences.length === 0) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
// Batch train AgentDB model
|
|
176
|
+
await this.agentDB.batchTrain(agentId, experiences, this.config.algorithm);
|
|
177
|
+
const duration = Date.now() - startTime;
|
|
178
|
+
this.lastTrainingTime = Date.now();
|
|
179
|
+
this.logger.info(`Batch training completed in ${duration}ms`, {
|
|
180
|
+
agentId,
|
|
181
|
+
experiencesUsed: experiences.length,
|
|
182
|
+
avgReward: experiences.reduce((sum, e) => sum + e.reward, 0) / experiences.length
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
this.logger.error('Batch training failed:', error);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Store successful pattern in AgentDB for future retrieval
|
|
191
|
+
*/
|
|
192
|
+
async storeSuccessfulPattern(agentId, task, result, state, action, reward) {
|
|
193
|
+
try {
|
|
194
|
+
// Create pattern from successful execution
|
|
195
|
+
const pattern = {
|
|
196
|
+
id: `pattern-${agentId}-${Date.now()}`,
|
|
197
|
+
name: `${task.type} - ${action.strategy}`,
|
|
198
|
+
description: `Successful pattern for ${task.type} using ${action.strategy}`,
|
|
199
|
+
category: this.inferCategory(task.type),
|
|
200
|
+
framework: 'jest', // Default, will be inferred from context
|
|
201
|
+
language: 'typescript',
|
|
202
|
+
template: JSON.stringify(action),
|
|
203
|
+
examples: [JSON.stringify(result)],
|
|
204
|
+
confidence: reward > 0.8 ? 0.9 : 0.7,
|
|
205
|
+
usageCount: 1,
|
|
206
|
+
successRate: 1.0,
|
|
207
|
+
quality: reward,
|
|
208
|
+
metadata: {
|
|
209
|
+
createdAt: new Date(),
|
|
210
|
+
updatedAt: new Date(),
|
|
211
|
+
version: '1.0.0',
|
|
212
|
+
tags: this.extractTags(task, action)
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
// Store in ReasoningBank (with vector embedding)
|
|
216
|
+
await this.reasoningBank.storePattern(pattern);
|
|
217
|
+
this.logger.debug('Stored successful pattern', {
|
|
218
|
+
patternId: pattern.id,
|
|
219
|
+
quality: pattern.quality,
|
|
220
|
+
confidence: pattern.confidence
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
this.logger.warn('Failed to store pattern:', error);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Find similar patterns using vector search
|
|
229
|
+
*/
|
|
230
|
+
async findSimilarPatterns(state) {
|
|
231
|
+
try {
|
|
232
|
+
const context = {
|
|
233
|
+
codeType: 'test',
|
|
234
|
+
keywords: state.requiredCapabilities,
|
|
235
|
+
language: 'typescript'
|
|
236
|
+
};
|
|
237
|
+
const matches = await this.reasoningBank.findMatchingPatterns(context, 5);
|
|
238
|
+
return matches.filter(m => m.confidence >= this.config.minPatternConfidence);
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
this.logger.warn('Failed to find similar patterns:', error);
|
|
242
|
+
return [];
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Combine confidence scores from multiple sources
|
|
247
|
+
*/
|
|
248
|
+
combineConfidence(agentDBConfidence, engineConfidence, patternSimilarity) {
|
|
249
|
+
// Weighted average:
|
|
250
|
+
// - AgentDB RL model: 50% (most sophisticated)
|
|
251
|
+
// - LearningEngine Q-table: 30% (proven track record)
|
|
252
|
+
// - Pattern matching: 20% (supporting evidence)
|
|
253
|
+
return (agentDBConfidence * 0.5 +
|
|
254
|
+
engineConfidence * 0.3 +
|
|
255
|
+
patternSimilarity * 0.2);
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Build comprehensive reasoning from multiple sources
|
|
259
|
+
*/
|
|
260
|
+
buildReasoning(agentDBPred, engineRec, patterns) {
|
|
261
|
+
const reasons = [];
|
|
262
|
+
if (agentDBPred.reasoning) {
|
|
263
|
+
reasons.push(`AgentDB: ${agentDBPred.reasoning}`);
|
|
264
|
+
}
|
|
265
|
+
if (engineRec.reasoning) {
|
|
266
|
+
reasons.push(`Q-Learning: ${engineRec.reasoning}`);
|
|
267
|
+
}
|
|
268
|
+
if (patterns.length > 0) {
|
|
269
|
+
reasons.push(`Similar patterns: ${patterns.length} matches (best: ${(patterns[0].similarity * 100).toFixed(1)}%)`);
|
|
270
|
+
}
|
|
271
|
+
return reasons.join('; ');
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Serialize state for AgentDB
|
|
275
|
+
*/
|
|
276
|
+
serializeState(state) {
|
|
277
|
+
return {
|
|
278
|
+
complexity: state.taskComplexity,
|
|
279
|
+
capabilities: state.requiredCapabilities,
|
|
280
|
+
attempts: state.previousAttempts,
|
|
281
|
+
resources: state.availableResources,
|
|
282
|
+
timeout: state.timeConstraint
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Serialize action for AgentDB
|
|
287
|
+
*/
|
|
288
|
+
serializeAction(action) {
|
|
289
|
+
return `${action.strategy}:${action.parallelization}:${action.retryPolicy}`;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Serialize next state
|
|
293
|
+
*/
|
|
294
|
+
serializeNextState(state, result) {
|
|
295
|
+
return {
|
|
296
|
+
...this.serializeState(state),
|
|
297
|
+
success: result.success,
|
|
298
|
+
executionTime: result.executionTime
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Deserialize action from string
|
|
303
|
+
*/
|
|
304
|
+
deserializeAction(actionStr) {
|
|
305
|
+
const [strategy, parallelization, retryPolicy] = actionStr.split(':');
|
|
306
|
+
return {
|
|
307
|
+
strategy: strategy || 'default',
|
|
308
|
+
toolsUsed: [],
|
|
309
|
+
parallelization: parseFloat(parallelization) || 0.5,
|
|
310
|
+
retryPolicy: retryPolicy || 'exponential',
|
|
311
|
+
resourceAllocation: 0.5
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Infer category from task type
|
|
316
|
+
*/
|
|
317
|
+
inferCategory(taskType) {
|
|
318
|
+
if (taskType.includes('integration'))
|
|
319
|
+
return 'integration';
|
|
320
|
+
if (taskType.includes('e2e'))
|
|
321
|
+
return 'e2e';
|
|
322
|
+
if (taskType.includes('performance'))
|
|
323
|
+
return 'performance';
|
|
324
|
+
if (taskType.includes('security'))
|
|
325
|
+
return 'security';
|
|
326
|
+
return 'unit';
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Extract tags from task and action
|
|
330
|
+
*/
|
|
331
|
+
extractTags(task, action) {
|
|
332
|
+
const tags = new Set();
|
|
333
|
+
tags.add(task.type);
|
|
334
|
+
tags.add(action.strategy);
|
|
335
|
+
tags.add(action.retryPolicy);
|
|
336
|
+
if (action.parallelization > 0.7) {
|
|
337
|
+
tags.add('parallel');
|
|
338
|
+
}
|
|
339
|
+
return Array.from(tags);
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Get learning statistics
|
|
343
|
+
*/
|
|
344
|
+
async getStatistics(agentId) {
|
|
345
|
+
const agentDBStats = await this.agentDB.getLearningStats(agentId);
|
|
346
|
+
const reasoningBankStats = await this.reasoningBank.getStatistics();
|
|
347
|
+
return {
|
|
348
|
+
totalExperiences: agentDBStats.totalExperiences,
|
|
349
|
+
avgReward: agentDBStats.avgReward,
|
|
350
|
+
successRate: agentDBStats.successRate,
|
|
351
|
+
modelsActive: agentDBStats.modelsActive,
|
|
352
|
+
patternsStored: reasoningBankStats.totalPatterns,
|
|
353
|
+
lastTrainingTime: this.lastTrainingTime
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Clear learning data for agent
|
|
358
|
+
*/
|
|
359
|
+
async clearLearningData(agentId) {
|
|
360
|
+
this.agentDB.clearExperienceBuffer(agentId);
|
|
361
|
+
this.experienceCount = 0;
|
|
362
|
+
this.logger.info(`Cleared learning data for agent ${agentId}`);
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Export learning model for sharing
|
|
366
|
+
*/
|
|
367
|
+
async exportLearningModel(agentId) {
|
|
368
|
+
const experiences = this.agentDB.getExperienceReplay(agentId);
|
|
369
|
+
const stats = await this.getStatistics(agentId);
|
|
370
|
+
return {
|
|
371
|
+
agentId,
|
|
372
|
+
algorithm: this.config.algorithm,
|
|
373
|
+
experiences,
|
|
374
|
+
stats,
|
|
375
|
+
exportedAt: new Date().toISOString()
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
exports.AgentDBLearningIntegration = AgentDBLearningIntegration;
|
|
380
|
+
//# sourceMappingURL=AgentDBLearningIntegration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentDBLearningIntegration.js","sourceRoot":"","sources":["../../src/learning/AgentDBLearningIntegration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentDB Pattern Optimizer
|
|
3
|
+
*
|
|
4
|
+
* Optimizes pattern storage and retrieval using AgentDB features:
|
|
5
|
+
* - Vector quantization (4-32x memory reduction)
|
|
6
|
+
* - HNSW indexing (150x faster search)
|
|
7
|
+
* - Pattern consolidation and deduplication
|
|
8
|
+
* - Automatic embedding generation
|
|
9
|
+
*
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
import { QEReasoningBank, TestPattern } from '../reasoning/QEReasoningBank';
|
|
13
|
+
/**
|
|
14
|
+
* Vector embedding generator
|
|
15
|
+
*/
|
|
16
|
+
export declare class VectorEmbeddingGenerator {
|
|
17
|
+
private dimension;
|
|
18
|
+
constructor(dimension?: number);
|
|
19
|
+
/**
|
|
20
|
+
* Generate embedding from pattern
|
|
21
|
+
*
|
|
22
|
+
* Uses simple TF-IDF-like approach for now
|
|
23
|
+
* In production, would use sentence transformers or similar
|
|
24
|
+
*/
|
|
25
|
+
generateEmbedding(pattern: TestPattern): number[];
|
|
26
|
+
/**
|
|
27
|
+
* Generate embedding from query text
|
|
28
|
+
*/
|
|
29
|
+
generateQueryEmbedding(query: string): number[];
|
|
30
|
+
/**
|
|
31
|
+
* Convert pattern to text representation
|
|
32
|
+
*/
|
|
33
|
+
private patternToText;
|
|
34
|
+
/**
|
|
35
|
+
* Convert text to vector embedding
|
|
36
|
+
*
|
|
37
|
+
* Simplified implementation - in production use sentence-transformers
|
|
38
|
+
*/
|
|
39
|
+
private textToEmbedding;
|
|
40
|
+
/**
|
|
41
|
+
* Simple string hash function
|
|
42
|
+
*/
|
|
43
|
+
private hashString;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Pattern consolidation and deduplication
|
|
47
|
+
*/
|
|
48
|
+
export declare class PatternConsolidator {
|
|
49
|
+
private logger;
|
|
50
|
+
private similarityThreshold;
|
|
51
|
+
constructor(similarityThreshold?: number);
|
|
52
|
+
/**
|
|
53
|
+
* Consolidate similar patterns
|
|
54
|
+
*
|
|
55
|
+
* Merges patterns that are very similar (>85% similarity)
|
|
56
|
+
* Keeps the best quality pattern and aggregates metrics
|
|
57
|
+
*/
|
|
58
|
+
consolidatePatterns(patterns: TestPattern[]): TestPattern[];
|
|
59
|
+
/**
|
|
60
|
+
* Group similar patterns together
|
|
61
|
+
*/
|
|
62
|
+
private groupSimilarPatterns;
|
|
63
|
+
/**
|
|
64
|
+
* Check if two patterns are similar
|
|
65
|
+
*/
|
|
66
|
+
private areSimilar;
|
|
67
|
+
/**
|
|
68
|
+
* Calculate string similarity (Levenshtein distance)
|
|
69
|
+
*/
|
|
70
|
+
private stringSimilarity;
|
|
71
|
+
/**
|
|
72
|
+
* Levenshtein distance algorithm
|
|
73
|
+
*/
|
|
74
|
+
private levenshteinDistance;
|
|
75
|
+
/**
|
|
76
|
+
* Merge similar patterns into one
|
|
77
|
+
*/
|
|
78
|
+
private mergePatterns;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* AgentDB Pattern Optimizer
|
|
82
|
+
*
|
|
83
|
+
* Main optimizer class that coordinates embedding generation,
|
|
84
|
+
* pattern consolidation, and AgentDB storage optimization
|
|
85
|
+
*/
|
|
86
|
+
export declare class AgentDBPatternOptimizer {
|
|
87
|
+
private logger;
|
|
88
|
+
private embeddingGenerator;
|
|
89
|
+
private consolidator;
|
|
90
|
+
private reasoningBank;
|
|
91
|
+
constructor(reasoningBank: QEReasoningBank);
|
|
92
|
+
/**
|
|
93
|
+
* Optimize pattern storage
|
|
94
|
+
*
|
|
95
|
+
* Steps:
|
|
96
|
+
* 1. Generate vector embeddings for all patterns
|
|
97
|
+
* 2. Consolidate similar patterns
|
|
98
|
+
* 3. Store optimized patterns with embeddings
|
|
99
|
+
*/
|
|
100
|
+
optimizePatterns(patterns: TestPattern[]): Promise<{
|
|
101
|
+
optimized: TestPattern[];
|
|
102
|
+
embeddings: Map<string, number[]>;
|
|
103
|
+
stats: {
|
|
104
|
+
originalCount: number;
|
|
105
|
+
consolidatedCount: number;
|
|
106
|
+
memoryReduction: number;
|
|
107
|
+
};
|
|
108
|
+
}>;
|
|
109
|
+
/**
|
|
110
|
+
* Calculate memory reduction percentage
|
|
111
|
+
*/
|
|
112
|
+
private calculateMemoryReduction;
|
|
113
|
+
/**
|
|
114
|
+
* Generate embedding for query
|
|
115
|
+
*/
|
|
116
|
+
generateQueryEmbedding(query: string): number[];
|
|
117
|
+
/**
|
|
118
|
+
* Find similar patterns using vector search
|
|
119
|
+
*/
|
|
120
|
+
findSimilarPatterns(queryEmbedding: number[], patterns: TestPattern[], embeddings: Map<string, number[]>, topK?: number): Promise<Array<{
|
|
121
|
+
pattern: TestPattern;
|
|
122
|
+
similarity: number;
|
|
123
|
+
}>>;
|
|
124
|
+
/**
|
|
125
|
+
* Calculate cosine similarity between two vectors
|
|
126
|
+
*/
|
|
127
|
+
private cosineSimilarity;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=AgentDBPatternOptimizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentDBPatternOptimizer.d.ts","sourceRoot":"","sources":["../../src/learning/AgentDBPatternOptimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG5E;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,GAAE,MAAY;IAInC;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE;IAKjD;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/C;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,UAAU;CASnB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,mBAAmB,CAAS;gBAExB,mBAAmB,GAAE,MAAa;IAK9C;;;;;OAKG;IACH,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAoB3D;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;OAEG;IACH,OAAO,CAAC,UAAU;IAyBlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,OAAO,CAAC,aAAa;CAsBtB;AAED;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAkB;gBAE3B,aAAa,EAAE,eAAe;IAO1C;;;;;;;OAOG;IACG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACvD,SAAS,EAAE,WAAW,EAAE,CAAC;QACzB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE;YACL,aAAa,EAAE,MAAM,CAAC;YACtB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;KACH,CAAC;IA6CF;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/C;;OAEG;IACG,mBAAmB,CACvB,cAAc,EAAE,MAAM,EAAE,EACxB,QAAQ,EAAE,WAAW,EAAE,EACvB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACjC,IAAI,GAAE,MAAW,GAChB,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAkB/D;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAkBzB"}
|