agentic-qe 1.3.2 → 1.3.4
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/.claude/agents/qe-api-contract-validator.md +20 -0
- package/.claude/agents/qe-chaos-engineer.md +20 -0
- package/.claude/agents/qe-coverage-analyzer.md +21 -0
- package/.claude/agents/qe-deployment-readiness.md +20 -0
- package/.claude/agents/qe-flaky-test-hunter.md +20 -0
- package/.claude/agents/qe-fleet-commander.md +20 -0
- package/.claude/agents/qe-performance-tester.md +21 -0
- package/.claude/agents/qe-production-intelligence.md +20 -0
- package/.claude/agents/qe-quality-analyzer.md +20 -0
- package/.claude/agents/qe-quality-gate.md +20 -0
- package/.claude/agents/qe-regression-risk-analyzer.md +20 -0
- package/.claude/agents/qe-requirements-validator.md +20 -0
- package/.claude/agents/qe-security-scanner.md +21 -0
- package/.claude/agents/qe-test-data-architect.md +19 -0
- package/.claude/agents/qe-test-executor.md +20 -0
- package/.claude/agents/qe-test-generator.md +22 -0
- package/.claude/agents/qe-visual-tester.md +22 -0
- package/CHANGELOG.md +114 -0
- package/README.md +322 -991
- package/README.md.backup-20251026 +1366 -0
- package/bin/aqe-mcp +65 -0
- package/dist/agents/BaseAgent.js +1 -1
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +16 -16
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +1 -1
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +71 -37
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/memory/EnhancedAgentDBService.d.ts +127 -0
- package/dist/core/memory/EnhancedAgentDBService.d.ts.map +1 -0
- package/dist/core/memory/EnhancedAgentDBService.js +298 -0
- package/dist/core/memory/EnhancedAgentDBService.js.map +1 -0
- package/dist/core/neural/NeuralTrainer.js +2 -2
- package/dist/core/neural/NeuralTrainer.js.map +1 -1
- package/dist/learning/FixRecommendationEngine.d.ts +68 -0
- package/dist/learning/FixRecommendationEngine.d.ts.map +1 -0
- package/dist/learning/FixRecommendationEngine.js +500 -0
- package/dist/learning/FixRecommendationEngine.js.map +1 -0
- package/dist/learning/FlakyTestDetector.d.ts +19 -0
- package/dist/learning/FlakyTestDetector.d.ts.map +1 -1
- package/dist/learning/FlakyTestDetector.js +121 -2
- package/dist/learning/FlakyTestDetector.js.map +1 -1
- package/dist/learning/index.d.ts +2 -0
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +5 -0
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/types.d.ts +11 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/reasoning/PatternQualityScorer.d.ts +134 -0
- package/dist/reasoning/PatternQualityScorer.d.ts.map +1 -0
- package/dist/reasoning/PatternQualityScorer.js +340 -0
- package/dist/reasoning/PatternQualityScorer.js.map +1 -0
- package/dist/reasoning/QEReasoningBank.d.ts +51 -4
- package/dist/reasoning/QEReasoningBank.d.ts.map +1 -1
- package/dist/reasoning/QEReasoningBank.js +173 -11
- package/dist/reasoning/QEReasoningBank.js.map +1 -1
- package/dist/reasoning/VectorSimilarity.d.ts +131 -0
- package/dist/reasoning/VectorSimilarity.d.ts.map +1 -0
- package/dist/reasoning/VectorSimilarity.js +250 -0
- package/dist/reasoning/VectorSimilarity.js.map +1 -0
- package/dist/reasoning/index.d.ts +8 -1
- package/dist/reasoning/index.d.ts.map +1 -1
- package/dist/reasoning/index.js +13 -2
- package/dist/reasoning/index.js.map +1 -1
- package/dist/streaming/BaseStreamHandler.d.ts +89 -0
- package/dist/streaming/BaseStreamHandler.d.ts.map +1 -0
- package/dist/streaming/BaseStreamHandler.js +168 -0
- package/dist/streaming/BaseStreamHandler.js.map +1 -0
- package/dist/streaming/TestGenerateStreamHandler.d.ts +103 -0
- package/dist/streaming/TestGenerateStreamHandler.d.ts.map +1 -0
- package/dist/streaming/TestGenerateStreamHandler.js +321 -0
- package/dist/streaming/TestGenerateStreamHandler.js.map +1 -0
- package/dist/streaming/index.d.ts +16 -0
- package/dist/streaming/index.d.ts.map +1 -0
- package/dist/streaming/index.js +39 -0
- package/dist/streaming/index.js.map +1 -0
- package/dist/utils/Database.d.ts.map +1 -1
- package/dist/utils/Database.js +15 -1
- package/dist/utils/Database.js.map +1 -1
- package/dist/utils/__mocks__/Logger.d.ts +26 -0
- package/dist/utils/__mocks__/Logger.d.ts.map +1 -0
- package/dist/utils/__mocks__/Logger.js +42 -0
- package/dist/utils/__mocks__/Logger.js.map +1 -0
- package/package.json +19 -6
- package/dist/agents/mixins/NeuralCapableMixin.d.ts +0 -130
- package/dist/agents/mixins/NeuralCapableMixin.d.ts.map +0 -1
- package/dist/agents/mixins/NeuralCapableMixin.js +0 -358
- package/dist/agents/mixins/NeuralCapableMixin.js.map +0 -1
- package/dist/agents/mixins/QUICCapableMixin.d.ts +0 -34
- package/dist/agents/mixins/QUICCapableMixin.d.ts.map +0 -1
- package/dist/agents/mixins/QUICCapableMixin.js +0 -346
- package/dist/agents/mixins/QUICCapableMixin.js.map +0 -1
- package/dist/core/security/CertificateValidator.d.ts +0 -130
- package/dist/core/security/CertificateValidator.d.ts.map +0 -1
- package/dist/core/security/CertificateValidator.js +0 -376
- package/dist/core/security/CertificateValidator.js.map +0 -1
- package/dist/core/transport/QUICTransport.d.ts +0 -62
- package/dist/core/transport/QUICTransport.d.ts.map +0 -1
- package/dist/core/transport/QUICTransport.js +0 -381
- package/dist/core/transport/QUICTransport.js.map +0 -1
- package/dist/core/transport/SecureQUICTransport.d.ts +0 -71
- package/dist/core/transport/SecureQUICTransport.d.ts.map +0 -1
- package/dist/core/transport/SecureQUICTransport.js +0 -253
- package/dist/core/transport/SecureQUICTransport.js.map +0 -1
- package/dist/learning/AdvancedFeatureExtractor.d.ts +0 -123
- package/dist/learning/AdvancedFeatureExtractor.d.ts.map +0 -1
- package/dist/learning/AdvancedFeatureExtractor.js +0 -423
- package/dist/learning/AdvancedFeatureExtractor.js.map +0 -1
- package/dist/learning/NeuralPatternMatcher.d.ts +0 -184
- package/dist/learning/NeuralPatternMatcher.d.ts.map +0 -1
- package/dist/learning/NeuralPatternMatcher.js +0 -702
- package/dist/learning/NeuralPatternMatcher.js.map +0 -1
- package/dist/learning/NeuralTrainer.d.ts +0 -209
- package/dist/learning/NeuralTrainer.d.ts.map +0 -1
- package/dist/learning/NeuralTrainer.js +0 -478
- package/dist/learning/NeuralTrainer.js.map +0 -1
- package/dist/transport/QUICTransport.d.ts +0 -340
- package/dist/transport/QUICTransport.d.ts.map +0 -1
- package/dist/transport/QUICTransport.js +0 -814
- package/dist/transport/QUICTransport.js.map +0 -1
- package/dist/transport/UDPTransport.d.ts +0 -348
- package/dist/transport/UDPTransport.d.ts.map +0 -1
- package/dist/transport/UDPTransport.js +0 -820
- package/dist/transport/UDPTransport.js.map +0 -1
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PatternQualityScorer - Comprehensive pattern quality assessment
|
|
4
|
+
*
|
|
5
|
+
* Calculates multi-dimensional quality scores for test patterns
|
|
6
|
+
* Includes readability, completeness, specificity, reusability, and success rate
|
|
7
|
+
*
|
|
8
|
+
* @module reasoning/PatternQualityScorer
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PatternQualityScorer = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* PatternQualityScorer for comprehensive quality assessment
|
|
15
|
+
*/
|
|
16
|
+
class PatternQualityScorer {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.weights = {
|
|
19
|
+
readability: 0.2,
|
|
20
|
+
completeness: 0.2,
|
|
21
|
+
specificity: 0.2,
|
|
22
|
+
reusability: 0.2,
|
|
23
|
+
successRate: 0.2
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Calculate comprehensive quality score for a pattern
|
|
28
|
+
*
|
|
29
|
+
* @param pattern - Pattern to score
|
|
30
|
+
* @returns Quality components and overall score
|
|
31
|
+
*/
|
|
32
|
+
calculateQuality(pattern) {
|
|
33
|
+
const readability = this.scoreReadability(pattern.code);
|
|
34
|
+
const completeness = this.scoreCompleteness(pattern);
|
|
35
|
+
const specificity = this.scoreSpecificity(pattern);
|
|
36
|
+
const reusability = this.scoreReusability(pattern);
|
|
37
|
+
const successRate = pattern.metadata?.successRate ?? 0.5;
|
|
38
|
+
const overall = readability * this.weights.readability +
|
|
39
|
+
completeness * this.weights.completeness +
|
|
40
|
+
specificity * this.weights.specificity +
|
|
41
|
+
reusability * this.weights.reusability +
|
|
42
|
+
successRate * this.weights.successRate;
|
|
43
|
+
return {
|
|
44
|
+
readability,
|
|
45
|
+
completeness,
|
|
46
|
+
specificity,
|
|
47
|
+
reusability,
|
|
48
|
+
successRate,
|
|
49
|
+
overall
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Score code readability
|
|
54
|
+
* Factors: line length, complexity, comments, naming
|
|
55
|
+
*
|
|
56
|
+
* @param code - Code to score
|
|
57
|
+
* @returns Readability score (0-1)
|
|
58
|
+
*/
|
|
59
|
+
scoreReadability(code) {
|
|
60
|
+
let score = 1.0;
|
|
61
|
+
// Line length penalty
|
|
62
|
+
const lines = code.split('\n');
|
|
63
|
+
const avgLineLength = lines.reduce((sum, line) => sum + line.length, 0) / lines.length;
|
|
64
|
+
if (avgLineLength > 100) {
|
|
65
|
+
score -= 0.2;
|
|
66
|
+
}
|
|
67
|
+
else if (avgLineLength > 80) {
|
|
68
|
+
score -= 0.1;
|
|
69
|
+
}
|
|
70
|
+
// Complexity penalty (nesting depth)
|
|
71
|
+
const maxNesting = this.calculateMaxNesting(code);
|
|
72
|
+
if (maxNesting > 4) {
|
|
73
|
+
score -= 0.3;
|
|
74
|
+
}
|
|
75
|
+
else if (maxNesting > 3) {
|
|
76
|
+
score -= 0.15;
|
|
77
|
+
}
|
|
78
|
+
// Comment bonus
|
|
79
|
+
const commentRatio = this.calculateCommentRatio(code);
|
|
80
|
+
if (commentRatio > 0.1 && commentRatio < 0.4) {
|
|
81
|
+
score += 0.1;
|
|
82
|
+
}
|
|
83
|
+
// Descriptive naming bonus
|
|
84
|
+
const hasDescriptiveNames = this.hasDescriptiveNaming(code);
|
|
85
|
+
if (hasDescriptiveNames) {
|
|
86
|
+
score += 0.1;
|
|
87
|
+
}
|
|
88
|
+
return Math.max(0, Math.min(1, score));
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Score pattern completeness
|
|
92
|
+
* Factors: assertions, setup/teardown, error handling, documentation
|
|
93
|
+
*
|
|
94
|
+
* @param pattern - Pattern to score
|
|
95
|
+
* @returns Completeness score (0-1)
|
|
96
|
+
*/
|
|
97
|
+
scoreCompleteness(pattern) {
|
|
98
|
+
let score = 0;
|
|
99
|
+
// Has assertions
|
|
100
|
+
if (this.hasAssertions(pattern.code)) {
|
|
101
|
+
score += 0.3;
|
|
102
|
+
}
|
|
103
|
+
// Has setup/teardown
|
|
104
|
+
if (this.hasSetupTeardown(pattern.code)) {
|
|
105
|
+
score += 0.2;
|
|
106
|
+
}
|
|
107
|
+
// Has error handling
|
|
108
|
+
if (this.hasErrorHandling(pattern.code)) {
|
|
109
|
+
score += 0.2;
|
|
110
|
+
}
|
|
111
|
+
// Has description
|
|
112
|
+
if (pattern.description && pattern.description.length > 20) {
|
|
113
|
+
score += 0.15;
|
|
114
|
+
}
|
|
115
|
+
// Has tags
|
|
116
|
+
if (pattern.tags && pattern.tags.length > 0) {
|
|
117
|
+
score += 0.1;
|
|
118
|
+
}
|
|
119
|
+
// Has template
|
|
120
|
+
if (pattern.template) {
|
|
121
|
+
score += 0.05;
|
|
122
|
+
}
|
|
123
|
+
return Math.min(1, score);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Score pattern specificity
|
|
127
|
+
* Higher score = more specific and targeted pattern
|
|
128
|
+
* Factors: domain-specific terms, clear use case, focused scope
|
|
129
|
+
*
|
|
130
|
+
* @param pattern - Pattern to score
|
|
131
|
+
* @returns Specificity score (0-1)
|
|
132
|
+
*/
|
|
133
|
+
scoreSpecificity(pattern) {
|
|
134
|
+
let score = 0.5; // Base score
|
|
135
|
+
// Domain-specific terms bonus
|
|
136
|
+
const domainTerms = this.countDomainTerms(pattern);
|
|
137
|
+
score += Math.min(domainTerms * 0.1, 0.3);
|
|
138
|
+
// Clear use case (description)
|
|
139
|
+
if (pattern.description) {
|
|
140
|
+
const hasUseCase = /should|when|given|test|verify/i.test(pattern.description);
|
|
141
|
+
if (hasUseCase) {
|
|
142
|
+
score += 0.1;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Focused scope (not too generic)
|
|
146
|
+
const isGeneric = this.isGenericPattern(pattern);
|
|
147
|
+
if (!isGeneric) {
|
|
148
|
+
score += 0.1;
|
|
149
|
+
}
|
|
150
|
+
return Math.max(0, Math.min(1, score));
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Score pattern reusability
|
|
154
|
+
* Factors: parameterization, modularity, usage count, adaptability
|
|
155
|
+
*
|
|
156
|
+
* @param pattern - Pattern to score
|
|
157
|
+
* @returns Reusability score (0-1)
|
|
158
|
+
*/
|
|
159
|
+
scoreReusability(pattern) {
|
|
160
|
+
let score = 0;
|
|
161
|
+
// Has parameterization
|
|
162
|
+
if (this.hasParameterization(pattern.code)) {
|
|
163
|
+
score += 0.3;
|
|
164
|
+
}
|
|
165
|
+
// Is modular (focused, single responsibility)
|
|
166
|
+
if (this.isModular(pattern.code)) {
|
|
167
|
+
score += 0.2;
|
|
168
|
+
}
|
|
169
|
+
// Usage count (proven reusability)
|
|
170
|
+
const usageCount = pattern.usageCount || 0;
|
|
171
|
+
if (usageCount > 10) {
|
|
172
|
+
score += 0.3;
|
|
173
|
+
}
|
|
174
|
+
else if (usageCount > 5) {
|
|
175
|
+
score += 0.2;
|
|
176
|
+
}
|
|
177
|
+
else if (usageCount > 0) {
|
|
178
|
+
score += 0.1;
|
|
179
|
+
}
|
|
180
|
+
// Has template (enables adaptation)
|
|
181
|
+
if (pattern.template) {
|
|
182
|
+
score += 0.2;
|
|
183
|
+
}
|
|
184
|
+
return Math.min(1, score);
|
|
185
|
+
}
|
|
186
|
+
// Private helper methods
|
|
187
|
+
/**
|
|
188
|
+
* Calculate maximum nesting depth in code
|
|
189
|
+
*/
|
|
190
|
+
calculateMaxNesting(code) {
|
|
191
|
+
let maxDepth = 0;
|
|
192
|
+
let currentDepth = 0;
|
|
193
|
+
for (const char of code) {
|
|
194
|
+
if (char === '{' || char === '(') {
|
|
195
|
+
currentDepth++;
|
|
196
|
+
maxDepth = Math.max(maxDepth, currentDepth);
|
|
197
|
+
}
|
|
198
|
+
else if (char === '}' || char === ')') {
|
|
199
|
+
currentDepth--;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return maxDepth;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Calculate comment ratio in code
|
|
206
|
+
*/
|
|
207
|
+
calculateCommentRatio(code) {
|
|
208
|
+
const lines = code.split('\n');
|
|
209
|
+
const commentLines = lines.filter(line => line.trim().startsWith('//') || line.trim().startsWith('/*') || line.trim().startsWith('*')).length;
|
|
210
|
+
return commentLines / Math.max(lines.length, 1);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Check if code has descriptive naming
|
|
214
|
+
*/
|
|
215
|
+
hasDescriptiveNaming(code) {
|
|
216
|
+
// Check for meaningful variable/function names (not single char or generic)
|
|
217
|
+
const identifiers = code.match(/\b[a-z_][a-zA-Z0-9_]{2,}\b/g) || [];
|
|
218
|
+
const descriptive = identifiers.filter(id => !['test', 'data', 'result', 'value', 'temp', 'tmp', 'foo', 'bar'].includes(id.toLowerCase()));
|
|
219
|
+
return descriptive.length / Math.max(identifiers.length, 1) > 0.6;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Check if code has assertions
|
|
223
|
+
*/
|
|
224
|
+
hasAssertions(code) {
|
|
225
|
+
const assertionPatterns = [
|
|
226
|
+
/expect\(/,
|
|
227
|
+
/assert\./,
|
|
228
|
+
/should\./,
|
|
229
|
+
/\.to\./,
|
|
230
|
+
/\.toBe/,
|
|
231
|
+
/\.toEqual/,
|
|
232
|
+
/\.toContain/
|
|
233
|
+
];
|
|
234
|
+
return assertionPatterns.some(pattern => pattern.test(code));
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Check if code has setup/teardown
|
|
238
|
+
*/
|
|
239
|
+
hasSetupTeardown(code) {
|
|
240
|
+
const setupPatterns = [
|
|
241
|
+
/beforeEach/,
|
|
242
|
+
/afterEach/,
|
|
243
|
+
/beforeAll/,
|
|
244
|
+
/afterAll/,
|
|
245
|
+
/setUp/,
|
|
246
|
+
/tearDown/
|
|
247
|
+
];
|
|
248
|
+
return setupPatterns.some(pattern => pattern.test(code));
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Check if code has error handling
|
|
252
|
+
*/
|
|
253
|
+
hasErrorHandling(code) {
|
|
254
|
+
const errorPatterns = [
|
|
255
|
+
/try\s*{/,
|
|
256
|
+
/catch\s*\(/,
|
|
257
|
+
/toThrow/,
|
|
258
|
+
/\.rejects/,
|
|
259
|
+
/Error\(/
|
|
260
|
+
];
|
|
261
|
+
return errorPatterns.some(pattern => pattern.test(code));
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Count domain-specific terms in pattern
|
|
265
|
+
*/
|
|
266
|
+
countDomainTerms(pattern) {
|
|
267
|
+
const text = `${pattern.name} ${pattern.description || ''} ${pattern.tags?.join(' ') || ''}`;
|
|
268
|
+
const domainTerms = [
|
|
269
|
+
'authentication', 'authorization', 'validation', 'api', 'database',
|
|
270
|
+
'service', 'controller', 'repository', 'model', 'entity',
|
|
271
|
+
'async', 'promise', 'callback', 'middleware', 'handler',
|
|
272
|
+
'request', 'response', 'endpoint', 'route', 'query'
|
|
273
|
+
];
|
|
274
|
+
let count = 0;
|
|
275
|
+
for (const term of domainTerms) {
|
|
276
|
+
if (text.toLowerCase().includes(term)) {
|
|
277
|
+
count++;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return count;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Check if pattern is too generic
|
|
284
|
+
*/
|
|
285
|
+
isGenericPattern(pattern) {
|
|
286
|
+
const genericNames = [
|
|
287
|
+
'test', 'basic test', 'simple test', 'example', 'sample',
|
|
288
|
+
'generic', 'default', 'standard', 'common'
|
|
289
|
+
];
|
|
290
|
+
const name = pattern.name.toLowerCase();
|
|
291
|
+
return genericNames.some(generic => name.includes(generic));
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Check if code has parameterization
|
|
295
|
+
*/
|
|
296
|
+
hasParameterization(code) {
|
|
297
|
+
// Check for function parameters or template placeholders
|
|
298
|
+
const hasParams = /\([a-zA-Z_][a-zA-Z0-9_,\s]*\)/.test(code);
|
|
299
|
+
const hasPlaceholders = /\{\{[^}]+\}\}/.test(code);
|
|
300
|
+
return hasParams || hasPlaceholders;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Check if code is modular (focused, single responsibility)
|
|
304
|
+
*/
|
|
305
|
+
isModular(code) {
|
|
306
|
+
const lines = code.split('\n').filter(line => line.trim().length > 0);
|
|
307
|
+
// Not too long (focused)
|
|
308
|
+
if (lines.length > 50) {
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
// Single describe/test block (not nested)
|
|
312
|
+
const describeCount = (code.match(/describe\(/g) || []).length;
|
|
313
|
+
const testCount = (code.match(/\b(it|test)\(/g) || []).length;
|
|
314
|
+
return describeCount <= 1 && testCount <= 3;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Set custom weights for quality components
|
|
318
|
+
*
|
|
319
|
+
* @param weights - Custom weights (must sum to 1.0)
|
|
320
|
+
*/
|
|
321
|
+
setWeights(weights) {
|
|
322
|
+
this.weights = { ...this.weights, ...weights };
|
|
323
|
+
// Normalize to sum to 1.0
|
|
324
|
+
const sum = Object.values(this.weights).reduce((a, b) => a + b, 0);
|
|
325
|
+
if (sum !== 1.0) {
|
|
326
|
+
for (const key in this.weights) {
|
|
327
|
+
this.weights[key] /= sum;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Get current weights
|
|
333
|
+
*/
|
|
334
|
+
getWeights() {
|
|
335
|
+
return { ...this.weights };
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
exports.PatternQualityScorer = PatternQualityScorer;
|
|
339
|
+
exports.default = PatternQualityScorer;
|
|
340
|
+
//# sourceMappingURL=PatternQualityScorer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatternQualityScorer.js","sourceRoot":"","sources":["../../src/reasoning/PatternQualityScorer.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,13 +33,14 @@ export interface TestPattern {
|
|
|
33
33
|
name: string;
|
|
34
34
|
description: string;
|
|
35
35
|
category: 'unit' | 'integration' | 'e2e' | 'performance' | 'security';
|
|
36
|
-
framework: 'jest' | 'mocha' | 'vitest' | 'playwright';
|
|
36
|
+
framework: 'jest' | 'mocha' | 'vitest' | 'playwright' | 'cypress' | 'jasmine' | 'ava';
|
|
37
37
|
language: 'typescript' | 'javascript' | 'python';
|
|
38
38
|
template: string;
|
|
39
39
|
examples: string[];
|
|
40
40
|
confidence: number;
|
|
41
41
|
usageCount: number;
|
|
42
42
|
successRate: number;
|
|
43
|
+
quality?: number;
|
|
43
44
|
metadata: {
|
|
44
45
|
createdAt: Date;
|
|
45
46
|
updatedAt: Date;
|
|
@@ -50,6 +51,7 @@ export interface TestPattern {
|
|
|
50
51
|
export interface PatternMatch {
|
|
51
52
|
pattern: TestPattern;
|
|
52
53
|
confidence: number;
|
|
54
|
+
similarity: number;
|
|
53
55
|
reasoning: string;
|
|
54
56
|
applicability: number;
|
|
55
57
|
}
|
|
@@ -74,8 +76,15 @@ export declare class QEReasoningBank {
|
|
|
74
76
|
private patterns;
|
|
75
77
|
private patternIndex;
|
|
76
78
|
private versionHistory;
|
|
79
|
+
private vectorSimilarity;
|
|
80
|
+
private qualityScorer;
|
|
81
|
+
private vectorCache;
|
|
82
|
+
private minQuality;
|
|
83
|
+
constructor(config?: {
|
|
84
|
+
minQuality?: number;
|
|
85
|
+
});
|
|
77
86
|
/**
|
|
78
|
-
* Store a new test pattern
|
|
87
|
+
* Store a new test pattern with quality scoring and vector indexing
|
|
79
88
|
*/
|
|
80
89
|
storePattern(pattern: TestPattern): Promise<void>;
|
|
81
90
|
/**
|
|
@@ -83,25 +92,33 @@ export declare class QEReasoningBank {
|
|
|
83
92
|
*/
|
|
84
93
|
getPattern(id: string): Promise<TestPattern | null>;
|
|
85
94
|
/**
|
|
86
|
-
* Find matching patterns
|
|
95
|
+
* Find matching patterns using vector similarity
|
|
96
|
+
* Target: 85%+ matching accuracy
|
|
87
97
|
*/
|
|
88
98
|
findMatchingPatterns(context: {
|
|
89
99
|
codeType: string;
|
|
90
100
|
framework?: string;
|
|
91
101
|
language?: string;
|
|
92
102
|
keywords?: string[];
|
|
103
|
+
sourceCode?: string;
|
|
93
104
|
}, limit?: number): Promise<PatternMatch[]>;
|
|
105
|
+
/**
|
|
106
|
+
* Find similar patterns by example code
|
|
107
|
+
* Uses vector similarity for code-based matching
|
|
108
|
+
*/
|
|
109
|
+
findSimilarPatterns(exampleCode: string, framework?: string, limit?: number): Promise<PatternMatch[]>;
|
|
94
110
|
/**
|
|
95
111
|
* Update pattern success metrics
|
|
96
112
|
*/
|
|
97
113
|
updatePatternMetrics(patternId: string, success: boolean): Promise<void>;
|
|
98
114
|
/**
|
|
99
|
-
* Get pattern statistics
|
|
115
|
+
* Get pattern statistics (alias for getStats for backward compatibility)
|
|
100
116
|
*/
|
|
101
117
|
getStatistics(): Promise<{
|
|
102
118
|
totalPatterns: number;
|
|
103
119
|
averageConfidence: number;
|
|
104
120
|
averageSuccessRate: number;
|
|
121
|
+
averageQuality: number;
|
|
105
122
|
byCategory: Record<string, number>;
|
|
106
123
|
byFramework: Record<string, number>;
|
|
107
124
|
}>;
|
|
@@ -116,6 +133,36 @@ export declare class QEReasoningBank {
|
|
|
116
133
|
private updateIndex;
|
|
117
134
|
private calculateMatchConfidence;
|
|
118
135
|
private generateReasoning;
|
|
136
|
+
/**
|
|
137
|
+
* Build query text from context for vector matching
|
|
138
|
+
*/
|
|
139
|
+
private buildQueryText;
|
|
140
|
+
/**
|
|
141
|
+
* Get pattern text for vector embedding
|
|
142
|
+
*/
|
|
143
|
+
private getPatternText;
|
|
144
|
+
/**
|
|
145
|
+
* Extract keywords from code
|
|
146
|
+
*/
|
|
147
|
+
private extractKeywords;
|
|
148
|
+
/**
|
|
149
|
+
* Export patterns for cross-project sharing
|
|
150
|
+
*/
|
|
151
|
+
exportPatterns(filter?: Partial<TestPattern>): TestPattern[];
|
|
152
|
+
/**
|
|
153
|
+
* Import patterns from another project
|
|
154
|
+
*/
|
|
155
|
+
importPatterns(patterns: TestPattern[]): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Get pattern statistics including quality metrics
|
|
158
|
+
*/
|
|
159
|
+
getStats(): {
|
|
160
|
+
totalPatterns: number;
|
|
161
|
+
byFramework: Record<string, number>;
|
|
162
|
+
byCategory: Record<string, number>;
|
|
163
|
+
averageQuality: number;
|
|
164
|
+
averageSuccessRate: number;
|
|
165
|
+
};
|
|
119
166
|
}
|
|
120
167
|
export default QEReasoningBank;
|
|
121
168
|
//# sourceMappingURL=QEReasoningBank.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QEReasoningBank.d.ts","sourceRoot":"","sources":["../../src/reasoning/QEReasoningBank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;
|
|
1
|
+
{"version":3,"file":"QEReasoningBank.d.ts","sourceRoot":"","sources":["../../src/reasoning/QEReasoningBank.ts"],"names":[],"mappings":"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"}
|