agentic-qe 1.0.4 → 1.1.0

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.
Files changed (197) hide show
  1. package/.claude/agents/qe-quality-analyzer.md +405 -0
  2. package/CHANGELOG.md +109 -0
  3. package/CONTRIBUTING.md +51 -0
  4. package/README.md +690 -134
  5. package/bin/aqe +90 -938
  6. package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
  7. package/dist/adapters/MemoryStoreAdapter.js +6 -0
  8. package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
  9. package/dist/agents/CoverageAnalyzerAgent.d.ts +58 -3
  10. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  11. package/dist/agents/CoverageAnalyzerAgent.js +316 -48
  12. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  13. package/dist/agents/FlakyTestHunterAgent.d.ts +48 -4
  14. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  15. package/dist/agents/FlakyTestHunterAgent.js +217 -10
  16. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  17. package/dist/agents/LearningAgent.d.ts +75 -0
  18. package/dist/agents/LearningAgent.d.ts.map +1 -0
  19. package/dist/agents/LearningAgent.js +177 -0
  20. package/dist/agents/LearningAgent.js.map +1 -0
  21. package/dist/agents/TestGeneratorAgent.d.ts +42 -2
  22. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  23. package/dist/agents/TestGeneratorAgent.js +232 -13
  24. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  25. package/dist/cli/commands/improve/index.d.ts +70 -0
  26. package/dist/cli/commands/improve/index.d.ts.map +1 -0
  27. package/dist/cli/commands/improve/index.js +530 -0
  28. package/dist/cli/commands/improve/index.js.map +1 -0
  29. package/dist/cli/commands/init.d.ts +34 -0
  30. package/dist/cli/commands/init.d.ts.map +1 -1
  31. package/dist/cli/commands/init.js +875 -42
  32. package/dist/cli/commands/init.js.map +1 -1
  33. package/dist/cli/commands/learn/index.d.ts +68 -0
  34. package/dist/cli/commands/learn/index.d.ts.map +1 -0
  35. package/dist/cli/commands/learn/index.js +431 -0
  36. package/dist/cli/commands/learn/index.js.map +1 -0
  37. package/dist/cli/commands/patterns/index.d.ts +75 -0
  38. package/dist/cli/commands/patterns/index.d.ts.map +1 -0
  39. package/dist/cli/commands/patterns/index.js +502 -0
  40. package/dist/cli/commands/patterns/index.js.map +1 -0
  41. package/dist/cli/commands/routing/index.d.ts +95 -0
  42. package/dist/cli/commands/routing/index.d.ts.map +1 -0
  43. package/dist/cli/commands/routing/index.js +399 -0
  44. package/dist/cli/commands/routing/index.js.map +1 -0
  45. package/dist/cli/index.js +455 -8
  46. package/dist/cli/index.js.map +1 -1
  47. package/dist/core/memory/SwarmMemoryManager.d.ts +5 -0
  48. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  49. package/dist/core/memory/SwarmMemoryManager.js +7 -0
  50. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  51. package/dist/core/routing/AdaptiveModelRouter.d.ts +86 -0
  52. package/dist/core/routing/AdaptiveModelRouter.d.ts.map +1 -0
  53. package/dist/core/routing/AdaptiveModelRouter.js +264 -0
  54. package/dist/core/routing/AdaptiveModelRouter.js.map +1 -0
  55. package/dist/core/routing/ComplexityAnalyzer.d.ts +49 -0
  56. package/dist/core/routing/ComplexityAnalyzer.d.ts.map +1 -0
  57. package/dist/core/routing/ComplexityAnalyzer.js +182 -0
  58. package/dist/core/routing/ComplexityAnalyzer.js.map +1 -0
  59. package/dist/core/routing/CostTracker.d.ts +55 -0
  60. package/dist/core/routing/CostTracker.d.ts.map +1 -0
  61. package/dist/core/routing/CostTracker.js +210 -0
  62. package/dist/core/routing/CostTracker.js.map +1 -0
  63. package/dist/core/routing/FleetManagerIntegration.d.ts +68 -0
  64. package/dist/core/routing/FleetManagerIntegration.d.ts.map +1 -0
  65. package/dist/core/routing/FleetManagerIntegration.js +170 -0
  66. package/dist/core/routing/FleetManagerIntegration.js.map +1 -0
  67. package/dist/core/routing/ModelRules.d.ts +38 -0
  68. package/dist/core/routing/ModelRules.d.ts.map +1 -0
  69. package/dist/core/routing/ModelRules.js +170 -0
  70. package/dist/core/routing/ModelRules.js.map +1 -0
  71. package/dist/core/routing/QETask.d.ts +12 -0
  72. package/dist/core/routing/QETask.d.ts.map +1 -0
  73. package/dist/core/routing/QETask.js +21 -0
  74. package/dist/core/routing/QETask.js.map +1 -0
  75. package/dist/core/routing/index.d.ts +19 -0
  76. package/dist/core/routing/index.d.ts.map +1 -0
  77. package/dist/core/routing/index.js +50 -0
  78. package/dist/core/routing/index.js.map +1 -0
  79. package/dist/core/routing/types.d.ts +136 -0
  80. package/dist/core/routing/types.d.ts.map +1 -0
  81. package/dist/core/routing/types.js +28 -0
  82. package/dist/core/routing/types.js.map +1 -0
  83. package/dist/index.d.ts +10 -0
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +10 -0
  86. package/dist/index.js.map +1 -1
  87. package/dist/learning/FlakyFixRecommendations.d.ts +40 -0
  88. package/dist/learning/FlakyFixRecommendations.d.ts.map +1 -0
  89. package/dist/learning/FlakyFixRecommendations.js +247 -0
  90. package/dist/learning/FlakyFixRecommendations.js.map +1 -0
  91. package/dist/learning/FlakyPredictionModel.d.ts +57 -0
  92. package/dist/learning/FlakyPredictionModel.d.ts.map +1 -0
  93. package/dist/learning/FlakyPredictionModel.js +289 -0
  94. package/dist/learning/FlakyPredictionModel.js.map +1 -0
  95. package/dist/learning/FlakyTestDetector.d.ts +46 -0
  96. package/dist/learning/FlakyTestDetector.d.ts.map +1 -0
  97. package/dist/learning/FlakyTestDetector.js +215 -0
  98. package/dist/learning/FlakyTestDetector.js.map +1 -0
  99. package/dist/learning/ImprovementLoop.d.ts +119 -0
  100. package/dist/learning/ImprovementLoop.d.ts.map +1 -0
  101. package/dist/learning/ImprovementLoop.js +353 -0
  102. package/dist/learning/ImprovementLoop.js.map +1 -0
  103. package/dist/learning/LearningEngine.d.ts +144 -0
  104. package/dist/learning/LearningEngine.d.ts.map +1 -0
  105. package/dist/learning/LearningEngine.js +531 -0
  106. package/dist/learning/LearningEngine.js.map +1 -0
  107. package/dist/learning/PerformanceTracker.d.ts +118 -0
  108. package/dist/learning/PerformanceTracker.d.ts.map +1 -0
  109. package/dist/learning/PerformanceTracker.js +376 -0
  110. package/dist/learning/PerformanceTracker.js.map +1 -0
  111. package/dist/learning/StatisticalAnalysis.d.ts +47 -0
  112. package/dist/learning/StatisticalAnalysis.d.ts.map +1 -0
  113. package/dist/learning/StatisticalAnalysis.js +170 -0
  114. package/dist/learning/StatisticalAnalysis.js.map +1 -0
  115. package/dist/learning/SwarmIntegration.d.ts +107 -0
  116. package/dist/learning/SwarmIntegration.d.ts.map +1 -0
  117. package/dist/learning/SwarmIntegration.js +191 -0
  118. package/dist/learning/SwarmIntegration.js.map +1 -0
  119. package/dist/learning/index.d.ts +10 -0
  120. package/dist/learning/index.d.ts.map +1 -0
  121. package/dist/learning/index.js +16 -0
  122. package/dist/learning/index.js.map +1 -0
  123. package/dist/learning/types.d.ts +288 -0
  124. package/dist/learning/types.d.ts.map +1 -0
  125. package/dist/learning/types.js +9 -0
  126. package/dist/learning/types.js.map +1 -0
  127. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts +175 -0
  128. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -0
  129. package/dist/mcp/handlers/phase2/Phase2Tools.js +693 -0
  130. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -0
  131. package/dist/mcp/server.d.ts.map +1 -1
  132. package/dist/mcp/server.js +171 -9
  133. package/dist/mcp/server.js.map +1 -1
  134. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts +112 -0
  135. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts.map +1 -0
  136. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js +341 -0
  137. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js.map +1 -0
  138. package/dist/mcp/streaming/StreamingMCPTool.d.ts +80 -0
  139. package/dist/mcp/streaming/StreamingMCPTool.d.ts.map +1 -0
  140. package/dist/mcp/streaming/StreamingMCPTool.js +276 -0
  141. package/dist/mcp/streaming/StreamingMCPTool.js.map +1 -0
  142. package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts +73 -0
  143. package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts.map +1 -0
  144. package/dist/mcp/streaming/TestExecuteStreamHandler.js +436 -0
  145. package/dist/mcp/streaming/TestExecuteStreamHandler.js.map +1 -0
  146. package/dist/mcp/streaming/index.d.ts +14 -0
  147. package/dist/mcp/streaming/index.d.ts.map +1 -0
  148. package/dist/mcp/streaming/index.js +30 -0
  149. package/dist/mcp/streaming/index.js.map +1 -0
  150. package/dist/mcp/streaming/types.d.ts +117 -0
  151. package/dist/mcp/streaming/types.d.ts.map +1 -0
  152. package/dist/mcp/streaming/types.js +88 -0
  153. package/dist/mcp/streaming/types.js.map +1 -0
  154. package/dist/mcp/tools.d.ts +18 -1
  155. package/dist/mcp/tools.d.ts.map +1 -1
  156. package/dist/mcp/tools.js +123 -1
  157. package/dist/mcp/tools.js.map +1 -1
  158. package/dist/reasoning/CodeSignatureGenerator.d.ts +98 -0
  159. package/dist/reasoning/CodeSignatureGenerator.d.ts.map +1 -0
  160. package/dist/reasoning/CodeSignatureGenerator.js +427 -0
  161. package/dist/reasoning/CodeSignatureGenerator.js.map +1 -0
  162. package/dist/reasoning/PatternClassifier.d.ts +98 -0
  163. package/dist/reasoning/PatternClassifier.d.ts.map +1 -0
  164. package/dist/reasoning/PatternClassifier.js +345 -0
  165. package/dist/reasoning/PatternClassifier.js.map +1 -0
  166. package/dist/reasoning/PatternExtractor.d.ts +131 -0
  167. package/dist/reasoning/PatternExtractor.d.ts.map +1 -0
  168. package/dist/reasoning/PatternExtractor.js +539 -0
  169. package/dist/reasoning/PatternExtractor.js.map +1 -0
  170. package/dist/reasoning/PatternMemoryIntegration.d.ts +102 -0
  171. package/dist/reasoning/PatternMemoryIntegration.d.ts.map +1 -0
  172. package/dist/reasoning/PatternMemoryIntegration.js +336 -0
  173. package/dist/reasoning/PatternMemoryIntegration.js.map +1 -0
  174. package/dist/reasoning/QEReasoningBank.d.ts +121 -0
  175. package/dist/reasoning/QEReasoningBank.d.ts.map +1 -0
  176. package/dist/reasoning/QEReasoningBank.js +235 -0
  177. package/dist/reasoning/QEReasoningBank.js.map +1 -0
  178. package/dist/reasoning/TestTemplateCreator.d.ts +95 -0
  179. package/dist/reasoning/TestTemplateCreator.d.ts.map +1 -0
  180. package/dist/reasoning/TestTemplateCreator.js +535 -0
  181. package/dist/reasoning/TestTemplateCreator.js.map +1 -0
  182. package/dist/reasoning/index.d.ts +10 -0
  183. package/dist/reasoning/index.d.ts.map +1 -0
  184. package/dist/reasoning/index.js +31 -0
  185. package/dist/reasoning/index.js.map +1 -0
  186. package/dist/reasoning/types.d.ts +717 -0
  187. package/dist/reasoning/types.d.ts.map +1 -0
  188. package/dist/reasoning/types.js +57 -0
  189. package/dist/reasoning/types.js.map +1 -0
  190. package/dist/types/index.d.ts +20 -1
  191. package/dist/types/index.d.ts.map +1 -1
  192. package/dist/types/index.js.map +1 -1
  193. package/dist/types/pattern.types.d.ts +364 -0
  194. package/dist/types/pattern.types.d.ts.map +1 -0
  195. package/dist/types/pattern.types.js +60 -0
  196. package/dist/types/pattern.types.js.map +1 -0
  197. package/package.json +25 -3
@@ -0,0 +1,336 @@
1
+ "use strict";
2
+ /**
3
+ * PatternMemoryIntegration - Integration with ReasoningBank and shared memory
4
+ * Phase 2 (v1.1.0) - Pattern Extraction Specialist
5
+ *
6
+ * Provides storage and retrieval of extracted patterns in shared memory
7
+ * for coordination across agents in the AQE fleet.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PatternMemoryIntegration = void 0;
11
+ const Logger_1 = require("../utils/Logger");
12
+ /**
13
+ * Pattern memory integration for ReasoningBank
14
+ */
15
+ class PatternMemoryIntegration {
16
+ constructor(memoryStore, config) {
17
+ this.logger = Logger_1.Logger.getInstance();
18
+ this.memoryStore = memoryStore;
19
+ this.config = {
20
+ namespace: 'phase2',
21
+ ttl: 86400, // 24 hours
22
+ partition: 'reasoning',
23
+ ...config
24
+ };
25
+ }
26
+ /**
27
+ * Store extracted patterns
28
+ */
29
+ async storePatterns(result, key = 'extracted-patterns') {
30
+ const memoryKey = `${this.config.namespace}/${key}`;
31
+ try {
32
+ await this.memoryStore.set(memoryKey, {
33
+ patterns: result.patterns,
34
+ signatures: result.signatures,
35
+ statistics: result.statistics,
36
+ errors: result.errors,
37
+ timestamp: result.timestamp,
38
+ metadata: {
39
+ count: result.patterns.length,
40
+ processingTime: result.statistics.processingTime,
41
+ version: '1.1.0'
42
+ }
43
+ }, this.config.partition);
44
+ this.logger.info(`Stored ${result.patterns.length} patterns in memory at ${memoryKey}`);
45
+ }
46
+ catch (error) {
47
+ this.logger.error('Failed to store patterns:', error);
48
+ throw error;
49
+ }
50
+ }
51
+ /**
52
+ * Retrieve extracted patterns
53
+ */
54
+ async retrievePatterns(key = 'extracted-patterns') {
55
+ const memoryKey = `${this.config.namespace}/${key}`;
56
+ try {
57
+ const data = await this.memoryStore.get(memoryKey, this.config.partition);
58
+ if (!data) {
59
+ this.logger.warn(`No patterns found at ${memoryKey}`);
60
+ return null;
61
+ }
62
+ return {
63
+ patterns: data.patterns || [],
64
+ signatures: data.signatures || [],
65
+ statistics: data.statistics || {},
66
+ errors: data.errors || [],
67
+ timestamp: new Date(data.timestamp)
68
+ };
69
+ }
70
+ catch (error) {
71
+ this.logger.error('Failed to retrieve patterns:', error);
72
+ return null;
73
+ }
74
+ }
75
+ /**
76
+ * Store code signatures
77
+ */
78
+ async storeSignatures(signatures, key = 'code-signatures') {
79
+ const memoryKey = `${this.config.namespace}/${key}`;
80
+ try {
81
+ await this.memoryStore.set(memoryKey, {
82
+ signatures,
83
+ count: signatures.length,
84
+ timestamp: new Date()
85
+ }, this.config.partition);
86
+ this.logger.info(`Stored ${signatures.length} code signatures`);
87
+ }
88
+ catch (error) {
89
+ this.logger.error('Failed to store signatures:', error);
90
+ throw error;
91
+ }
92
+ }
93
+ /**
94
+ * Retrieve code signatures
95
+ */
96
+ async retrieveSignatures(key = 'code-signatures') {
97
+ const memoryKey = `${this.config.namespace}/${key}`;
98
+ try {
99
+ const data = await this.memoryStore.get(memoryKey, this.config.partition);
100
+ return data?.signatures || [];
101
+ }
102
+ catch (error) {
103
+ this.logger.error('Failed to retrieve signatures:', error);
104
+ return [];
105
+ }
106
+ }
107
+ /**
108
+ * Store test templates
109
+ */
110
+ async storeTemplates(templates, key = 'test-templates') {
111
+ const memoryKey = `${this.config.namespace}/${key}`;
112
+ try {
113
+ await this.memoryStore.set(memoryKey, {
114
+ templates,
115
+ count: templates.length,
116
+ timestamp: new Date()
117
+ }, this.config.partition);
118
+ this.logger.info(`Stored ${templates.length} test templates`);
119
+ }
120
+ catch (error) {
121
+ this.logger.error('Failed to store templates:', error);
122
+ throw error;
123
+ }
124
+ }
125
+ /**
126
+ * Retrieve test templates
127
+ */
128
+ async retrieveTemplates(key = 'test-templates') {
129
+ const memoryKey = `${this.config.namespace}/${key}`;
130
+ try {
131
+ const data = await this.memoryStore.get(memoryKey, this.config.partition);
132
+ return data?.templates || [];
133
+ }
134
+ catch (error) {
135
+ this.logger.error('Failed to retrieve templates:', error);
136
+ return [];
137
+ }
138
+ }
139
+ /**
140
+ * Store pattern similarities
141
+ */
142
+ async storeSimilarities(similarities, key = 'pattern-similarities') {
143
+ const memoryKey = `${this.config.namespace}/${key}`;
144
+ try {
145
+ await this.memoryStore.set(memoryKey, {
146
+ similarities,
147
+ count: similarities.length,
148
+ timestamp: new Date()
149
+ }, this.config.partition);
150
+ this.logger.info(`Stored ${similarities.length} pattern similarities`);
151
+ }
152
+ catch (error) {
153
+ this.logger.error('Failed to store similarities:', error);
154
+ throw error;
155
+ }
156
+ }
157
+ /**
158
+ * Store pattern recommendations
159
+ */
160
+ async storeRecommendations(recommendations, sourceCodeHash) {
161
+ const memoryKey = `${this.config.namespace}/recommendations/${sourceCodeHash}`;
162
+ try {
163
+ await this.memoryStore.set(memoryKey, {
164
+ recommendations,
165
+ count: recommendations.length,
166
+ timestamp: new Date()
167
+ }, this.config.partition);
168
+ this.logger.info(`Stored ${recommendations.length} recommendations for ${sourceCodeHash}`);
169
+ }
170
+ catch (error) {
171
+ this.logger.error('Failed to store recommendations:', error);
172
+ throw error;
173
+ }
174
+ }
175
+ /**
176
+ * Retrieve pattern recommendations
177
+ */
178
+ async retrieveRecommendations(sourceCodeHash) {
179
+ const memoryKey = `${this.config.namespace}/recommendations/${sourceCodeHash}`;
180
+ try {
181
+ const data = await this.memoryStore.get(memoryKey, this.config.partition);
182
+ return data?.recommendations || [];
183
+ }
184
+ catch (error) {
185
+ this.logger.error('Failed to retrieve recommendations:', error);
186
+ return [];
187
+ }
188
+ }
189
+ /**
190
+ * Store pattern by ID for quick access
191
+ */
192
+ async storePatternById(pattern) {
193
+ const memoryKey = `${this.config.namespace}/patterns/${pattern.id}`;
194
+ try {
195
+ await this.memoryStore.set(memoryKey, pattern, this.config.partition);
196
+ this.logger.debug(`Stored pattern ${pattern.id}`);
197
+ }
198
+ catch (error) {
199
+ this.logger.error(`Failed to store pattern ${pattern.id}:`, error);
200
+ throw error;
201
+ }
202
+ }
203
+ /**
204
+ * Retrieve pattern by ID
205
+ */
206
+ async retrievePatternById(patternId) {
207
+ const memoryKey = `${this.config.namespace}/patterns/${patternId}`;
208
+ try {
209
+ const pattern = await this.memoryStore.get(memoryKey, this.config.partition);
210
+ return pattern || null;
211
+ }
212
+ catch (error) {
213
+ this.logger.error(`Failed to retrieve pattern ${patternId}:`, error);
214
+ return null;
215
+ }
216
+ }
217
+ /**
218
+ * Update extraction statistics
219
+ */
220
+ async updateStatistics(stats) {
221
+ const memoryKey = `${this.config.namespace}/statistics`;
222
+ try {
223
+ const existing = await this.memoryStore.get(memoryKey, this.config.partition) || {
224
+ totalPatternsExtracted: 0,
225
+ totalFilesProcessed: 0,
226
+ totalProcessingTime: 0
227
+ };
228
+ const updated = {
229
+ totalPatternsExtracted: existing.totalPatternsExtracted + stats.totalPatternsExtracted,
230
+ totalFilesProcessed: existing.totalFilesProcessed + stats.totalFilesProcessed,
231
+ totalProcessingTime: existing.totalProcessingTime + stats.totalProcessingTime,
232
+ lastExtraction: stats.lastExtraction,
233
+ avgProcessingTime: (existing.totalProcessingTime + stats.totalProcessingTime) /
234
+ (existing.totalFilesProcessed + stats.totalFilesProcessed)
235
+ };
236
+ await this.memoryStore.set(memoryKey, updated, this.config.partition);
237
+ this.logger.info('Updated extraction statistics');
238
+ }
239
+ catch (error) {
240
+ this.logger.error('Failed to update statistics:', error);
241
+ }
242
+ }
243
+ /**
244
+ * Get extraction statistics
245
+ */
246
+ async getStatistics() {
247
+ const memoryKey = `${this.config.namespace}/statistics`;
248
+ try {
249
+ return await this.memoryStore.get(memoryKey, this.config.partition) || {
250
+ totalPatternsExtracted: 0,
251
+ totalFilesProcessed: 0,
252
+ totalProcessingTime: 0,
253
+ lastExtraction: null,
254
+ avgProcessingTime: 0
255
+ };
256
+ }
257
+ catch (error) {
258
+ this.logger.error('Failed to get statistics:', error);
259
+ return null;
260
+ }
261
+ }
262
+ /**
263
+ * Clear all patterns from memory
264
+ */
265
+ async clearPatterns() {
266
+ try {
267
+ await this.memoryStore.clear(this.config.partition);
268
+ this.logger.info('Cleared all patterns from memory');
269
+ }
270
+ catch (error) {
271
+ this.logger.error('Failed to clear patterns:', error);
272
+ throw error;
273
+ }
274
+ }
275
+ /**
276
+ * Export patterns for backup/migration
277
+ */
278
+ async exportPatterns() {
279
+ try {
280
+ const result = await this.retrievePatterns();
281
+ const templates = await this.retrieveTemplates();
282
+ const signatures = await this.retrieveSignatures();
283
+ const statistics = await this.getStatistics();
284
+ return {
285
+ patterns: result?.patterns || [],
286
+ templates,
287
+ signatures,
288
+ statistics
289
+ };
290
+ }
291
+ catch (error) {
292
+ this.logger.error('Failed to export patterns:', error);
293
+ throw error;
294
+ }
295
+ }
296
+ /**
297
+ * Import patterns from backup
298
+ */
299
+ async importPatterns(data) {
300
+ try {
301
+ // Import patterns
302
+ if (data.patterns && data.patterns.length > 0) {
303
+ const result = {
304
+ patterns: data.patterns,
305
+ signatures: data.signatures || [],
306
+ statistics: {
307
+ filesProcessed: 0,
308
+ testsAnalyzed: 0,
309
+ patternsExtracted: data.patterns.length,
310
+ processingTime: 0,
311
+ avgPatternsPerFile: 0,
312
+ patternTypeDistribution: {}
313
+ },
314
+ errors: [],
315
+ timestamp: new Date()
316
+ };
317
+ await this.storePatterns(result);
318
+ }
319
+ // Import templates
320
+ if (data.templates && data.templates.length > 0) {
321
+ await this.storeTemplates(data.templates);
322
+ }
323
+ // Import signatures
324
+ if (data.signatures && data.signatures.length > 0) {
325
+ await this.storeSignatures(data.signatures);
326
+ }
327
+ this.logger.info('Successfully imported patterns');
328
+ }
329
+ catch (error) {
330
+ this.logger.error('Failed to import patterns:', error);
331
+ throw error;
332
+ }
333
+ }
334
+ }
335
+ exports.PatternMemoryIntegration = PatternMemoryIntegration;
336
+ //# sourceMappingURL=PatternMemoryIntegration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternMemoryIntegration.js","sourceRoot":"","sources":["../../src/reasoning/PatternMemoryIntegration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * QEReasoningBank - Intelligent Test Pattern Storage and Retrieval System
3
+ *
4
+ * @module reasoning/QEReasoningBank
5
+ * @version 1.1.0
6
+ *
7
+ * @description
8
+ * The QEReasoningBank provides a centralized system for storing, retrieving,
9
+ * and sharing test patterns across projects and frameworks. It uses in-memory
10
+ * storage with indexing for high-performance pattern matching.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { QEReasoningBank } from './reasoning/QEReasoningBank';
15
+ * import { TestPattern, PatternQuery } from './reasoning/types';
16
+ *
17
+ * // Initialize ReasoningBank
18
+ * const reasoningBank = new QEReasoningBank();
19
+ *
20
+ * // Store a pattern
21
+ * await reasoningBank.storePattern(pattern);
22
+ *
23
+ * // Find similar patterns
24
+ * const matches = await reasoningBank.findMatchingPatterns({
25
+ * codeType: 'test',
26
+ * framework: 'jest',
27
+ * keywords: ['api', 'controller']
28
+ * });
29
+ * ```
30
+ */
31
+ export interface TestPattern {
32
+ id: string;
33
+ name: string;
34
+ description: string;
35
+ category: 'unit' | 'integration' | 'e2e' | 'performance' | 'security';
36
+ framework: 'jest' | 'mocha' | 'vitest' | 'playwright';
37
+ language: 'typescript' | 'javascript' | 'python';
38
+ template: string;
39
+ examples: string[];
40
+ confidence: number;
41
+ usageCount: number;
42
+ successRate: number;
43
+ metadata: {
44
+ createdAt: Date;
45
+ updatedAt: Date;
46
+ version: string;
47
+ tags: string[];
48
+ };
49
+ }
50
+ export interface PatternMatch {
51
+ pattern: TestPattern;
52
+ confidence: number;
53
+ reasoning: string;
54
+ applicability: number;
55
+ }
56
+ /**
57
+ * QEReasoningBank - Main class for pattern storage and retrieval
58
+ *
59
+ * **Key Features:**
60
+ * - In-memory pattern storage with indexing
61
+ * - Fast pattern matching (< 50ms p95)
62
+ * - Pattern versioning and history tracking
63
+ * - Usage tracking and analytics
64
+ * - Pattern quality scoring
65
+ *
66
+ * **Performance Characteristics:**
67
+ * - Pattern lookup: < 50ms (p95)
68
+ * - Pattern storage: < 25ms (p95)
69
+ * - Supports 100+ patterns per project
70
+ *
71
+ * @public
72
+ */
73
+ export declare class QEReasoningBank {
74
+ private patterns;
75
+ private patternIndex;
76
+ private versionHistory;
77
+ /**
78
+ * Store a new test pattern
79
+ */
80
+ storePattern(pattern: TestPattern): Promise<void>;
81
+ /**
82
+ * Retrieve pattern by ID
83
+ */
84
+ getPattern(id: string): Promise<TestPattern | null>;
85
+ /**
86
+ * Find matching patterns for a code context
87
+ */
88
+ findMatchingPatterns(context: {
89
+ codeType: string;
90
+ framework?: string;
91
+ language?: string;
92
+ keywords?: string[];
93
+ }, limit?: number): Promise<PatternMatch[]>;
94
+ /**
95
+ * Update pattern success metrics
96
+ */
97
+ updatePatternMetrics(patternId: string, success: boolean): Promise<void>;
98
+ /**
99
+ * Get pattern statistics
100
+ */
101
+ getStatistics(): Promise<{
102
+ totalPatterns: number;
103
+ averageConfidence: number;
104
+ averageSuccessRate: number;
105
+ byCategory: Record<string, number>;
106
+ byFramework: Record<string, number>;
107
+ }>;
108
+ /**
109
+ * Get version history for a pattern
110
+ */
111
+ getVersionHistory(patternId: string): Promise<TestPattern[]>;
112
+ /**
113
+ * Search patterns by tags
114
+ */
115
+ searchByTags(tags: string[]): Promise<TestPattern[]>;
116
+ private updateIndex;
117
+ private calculateMatchConfidence;
118
+ private generateReasoning;
119
+ }
120
+ export default QEReasoningBank;
121
+ //# sourceMappingURL=QEReasoningBank.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QEReasoningBank.d.ts","sourceRoot":"","sources":["../../src/reasoning/QEReasoningBank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAQH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC;IACtE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;IACtD,QAAQ,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE;QACR,SAAS,EAAE,IAAI,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,cAAc,CAAyC;IAE/D;;OAEG;IACU,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9D;;OAEG;IACU,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAIhE;;OAEG;IACU,oBAAoB,CAC/B,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,EACD,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC;IAsB1B;;OAEG;IACU,oBAAoB,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAkBhB;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrC,CAAC;IAqBF;;OAEG;IACU,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIzE;;OAEG;IACU,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA8BjE,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,wBAAwB;IA0ChC,OAAO,CAAC,iBAAiB;CA6B1B;AAED,eAAe,eAAe,CAAC"}