agentic-qe 1.3.3 → 1.3.5

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 (147) hide show
  1. package/.claude/agents/qe-api-contract-validator.md +20 -0
  2. package/.claude/agents/qe-chaos-engineer.md +20 -0
  3. package/.claude/agents/qe-coverage-analyzer.md +21 -0
  4. package/.claude/agents/qe-deployment-readiness.md +20 -0
  5. package/.claude/agents/qe-flaky-test-hunter.md +20 -0
  6. package/.claude/agents/qe-fleet-commander.md +20 -0
  7. package/.claude/agents/qe-performance-tester.md +21 -0
  8. package/.claude/agents/qe-production-intelligence.md +20 -0
  9. package/.claude/agents/qe-quality-analyzer.md +20 -0
  10. package/.claude/agents/qe-quality-gate.md +20 -0
  11. package/.claude/agents/qe-regression-risk-analyzer.md +20 -0
  12. package/.claude/agents/qe-requirements-validator.md +20 -0
  13. package/.claude/agents/qe-security-scanner.md +21 -0
  14. package/.claude/agents/qe-test-data-architect.md +19 -0
  15. package/.claude/agents/qe-test-executor.md +20 -0
  16. package/.claude/agents/qe-test-generator.md +22 -0
  17. package/.claude/agents/qe-visual-tester.md +22 -0
  18. package/CHANGELOG.md +252 -0
  19. package/README.md +325 -1019
  20. package/README.md.backup-20251026 +1366 -0
  21. package/bin/aqe-mcp +1 -1
  22. package/dist/agents/BaseAgent.js +1 -1
  23. package/dist/agents/BaseAgent.js.map +1 -1
  24. package/dist/agents/CoverageAnalyzerAgent.js +16 -16
  25. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  26. package/dist/agents/FlakyTestHunterAgent.js +1 -1
  27. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  28. package/dist/cli/commands/init.d.ts.map +1 -1
  29. package/dist/cli/commands/init.js +71 -37
  30. package/dist/cli/commands/init.js.map +1 -1
  31. package/dist/cli/commands/routing/index.d.ts +1 -1
  32. package/dist/cli/commands/routing/index.d.ts.map +1 -1
  33. package/dist/cli/commands/routing/index.js +29 -19
  34. package/dist/cli/commands/routing/index.js.map +1 -1
  35. package/dist/core/memory/EnhancedAgentDBService.d.ts +127 -0
  36. package/dist/core/memory/EnhancedAgentDBService.d.ts.map +1 -0
  37. package/dist/core/memory/EnhancedAgentDBService.js +298 -0
  38. package/dist/core/memory/EnhancedAgentDBService.js.map +1 -0
  39. package/dist/core/neural/NeuralTrainer.js +2 -2
  40. package/dist/core/neural/NeuralTrainer.js.map +1 -1
  41. package/dist/learning/ExperienceReplayBuffer.d.ts +143 -0
  42. package/dist/learning/ExperienceReplayBuffer.d.ts.map +1 -0
  43. package/dist/learning/ExperienceReplayBuffer.js +255 -0
  44. package/dist/learning/ExperienceReplayBuffer.js.map +1 -0
  45. package/dist/learning/FixRecommendationEngine.d.ts +68 -0
  46. package/dist/learning/FixRecommendationEngine.d.ts.map +1 -0
  47. package/dist/learning/FixRecommendationEngine.js +500 -0
  48. package/dist/learning/FixRecommendationEngine.js.map +1 -0
  49. package/dist/learning/FlakyTestDetector.d.ts +19 -0
  50. package/dist/learning/FlakyTestDetector.d.ts.map +1 -1
  51. package/dist/learning/FlakyTestDetector.js +121 -2
  52. package/dist/learning/FlakyTestDetector.js.map +1 -1
  53. package/dist/learning/LearningEngine.d.ts +50 -1
  54. package/dist/learning/LearningEngine.d.ts.map +1 -1
  55. package/dist/learning/LearningEngine.js +140 -0
  56. package/dist/learning/LearningEngine.js.map +1 -1
  57. package/dist/learning/QLearning.d.ts +154 -0
  58. package/dist/learning/QLearning.d.ts.map +1 -0
  59. package/dist/learning/QLearning.js +337 -0
  60. package/dist/learning/QLearning.js.map +1 -0
  61. package/dist/learning/index.d.ts +4 -0
  62. package/dist/learning/index.d.ts.map +1 -1
  63. package/dist/learning/index.js +7 -0
  64. package/dist/learning/index.js.map +1 -1
  65. package/dist/learning/types.d.ts +11 -0
  66. package/dist/learning/types.d.ts.map +1 -1
  67. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts +11 -1
  68. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts.map +1 -1
  69. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js +12 -0
  70. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js.map +1 -1
  71. package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts +10 -1
  72. package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts.map +1 -1
  73. package/dist/mcp/streaming/TestExecuteStreamHandler.js +11 -0
  74. package/dist/mcp/streaming/TestExecuteStreamHandler.js.map +1 -1
  75. package/dist/reasoning/PatternQualityScorer.d.ts +134 -0
  76. package/dist/reasoning/PatternQualityScorer.d.ts.map +1 -0
  77. package/dist/reasoning/PatternQualityScorer.js +340 -0
  78. package/dist/reasoning/PatternQualityScorer.js.map +1 -0
  79. package/dist/reasoning/QEReasoningBank.d.ts +138 -4
  80. package/dist/reasoning/QEReasoningBank.d.ts.map +1 -1
  81. package/dist/reasoning/QEReasoningBank.js +560 -12
  82. package/dist/reasoning/QEReasoningBank.js.map +1 -1
  83. package/dist/reasoning/VectorSimilarity.d.ts +131 -0
  84. package/dist/reasoning/VectorSimilarity.d.ts.map +1 -0
  85. package/dist/reasoning/VectorSimilarity.js +250 -0
  86. package/dist/reasoning/VectorSimilarity.js.map +1 -0
  87. package/dist/reasoning/index.d.ts +8 -1
  88. package/dist/reasoning/index.d.ts.map +1 -1
  89. package/dist/reasoning/index.js +13 -2
  90. package/dist/reasoning/index.js.map +1 -1
  91. package/dist/streaming/BaseStreamHandler.d.ts +89 -0
  92. package/dist/streaming/BaseStreamHandler.d.ts.map +1 -0
  93. package/dist/streaming/BaseStreamHandler.js +168 -0
  94. package/dist/streaming/BaseStreamHandler.js.map +1 -0
  95. package/dist/streaming/TestGenerateStreamHandler.d.ts +103 -0
  96. package/dist/streaming/TestGenerateStreamHandler.d.ts.map +1 -0
  97. package/dist/streaming/TestGenerateStreamHandler.js +321 -0
  98. package/dist/streaming/TestGenerateStreamHandler.js.map +1 -0
  99. package/dist/streaming/index.d.ts +16 -0
  100. package/dist/streaming/index.d.ts.map +1 -0
  101. package/dist/streaming/index.js +39 -0
  102. package/dist/streaming/index.js.map +1 -0
  103. package/dist/utils/__mocks__/Logger.d.ts +26 -0
  104. package/dist/utils/__mocks__/Logger.d.ts.map +1 -0
  105. package/dist/utils/__mocks__/Logger.js +42 -0
  106. package/dist/utils/__mocks__/Logger.js.map +1 -0
  107. package/package.json +15 -3
  108. package/dist/agents/mixins/NeuralCapableMixin.d.ts +0 -130
  109. package/dist/agents/mixins/NeuralCapableMixin.d.ts.map +0 -1
  110. package/dist/agents/mixins/NeuralCapableMixin.js +0 -358
  111. package/dist/agents/mixins/NeuralCapableMixin.js.map +0 -1
  112. package/dist/agents/mixins/QUICCapableMixin.d.ts +0 -34
  113. package/dist/agents/mixins/QUICCapableMixin.d.ts.map +0 -1
  114. package/dist/agents/mixins/QUICCapableMixin.js +0 -346
  115. package/dist/agents/mixins/QUICCapableMixin.js.map +0 -1
  116. package/dist/core/security/CertificateValidator.d.ts +0 -130
  117. package/dist/core/security/CertificateValidator.d.ts.map +0 -1
  118. package/dist/core/security/CertificateValidator.js +0 -376
  119. package/dist/core/security/CertificateValidator.js.map +0 -1
  120. package/dist/core/transport/QUICTransport.d.ts +0 -62
  121. package/dist/core/transport/QUICTransport.d.ts.map +0 -1
  122. package/dist/core/transport/QUICTransport.js +0 -381
  123. package/dist/core/transport/QUICTransport.js.map +0 -1
  124. package/dist/core/transport/SecureQUICTransport.d.ts +0 -71
  125. package/dist/core/transport/SecureQUICTransport.d.ts.map +0 -1
  126. package/dist/core/transport/SecureQUICTransport.js +0 -253
  127. package/dist/core/transport/SecureQUICTransport.js.map +0 -1
  128. package/dist/learning/AdvancedFeatureExtractor.d.ts +0 -123
  129. package/dist/learning/AdvancedFeatureExtractor.d.ts.map +0 -1
  130. package/dist/learning/AdvancedFeatureExtractor.js +0 -423
  131. package/dist/learning/AdvancedFeatureExtractor.js.map +0 -1
  132. package/dist/learning/NeuralPatternMatcher.d.ts +0 -184
  133. package/dist/learning/NeuralPatternMatcher.d.ts.map +0 -1
  134. package/dist/learning/NeuralPatternMatcher.js +0 -702
  135. package/dist/learning/NeuralPatternMatcher.js.map +0 -1
  136. package/dist/learning/NeuralTrainer.d.ts +0 -209
  137. package/dist/learning/NeuralTrainer.d.ts.map +0 -1
  138. package/dist/learning/NeuralTrainer.js +0 -478
  139. package/dist/learning/NeuralTrainer.js.map +0 -1
  140. package/dist/transport/QUICTransport.d.ts +0 -340
  141. package/dist/transport/QUICTransport.d.ts.map +0 -1
  142. package/dist/transport/QUICTransport.js +0 -814
  143. package/dist/transport/QUICTransport.js.map +0 -1
  144. package/dist/transport/UDPTransport.d.ts +0 -348
  145. package/dist/transport/UDPTransport.d.ts.map +0 -1
  146. package/dist/transport/UDPTransport.js +0 -820
  147. package/dist/transport/UDPTransport.js.map +0 -1
@@ -1,478 +0,0 @@
1
- "use strict";
2
- /**
3
- * Neural Trainer - Training Orchestration for Neural Pattern Matcher
4
- *
5
- * Provides:
6
- * - Training orchestration and scheduling
7
- * - Data preprocessing and augmentation
8
- * - Model evaluation and validation
9
- * - Hyperparameter tuning
10
- * - Training progress tracking
11
- * - Incremental learning management
12
- *
13
- * @module NeuralTrainer
14
- */
15
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- var desc = Object.getOwnPropertyDescriptor(m, k);
18
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
- desc = { enumerable: true, get: function() { return m[k]; } };
20
- }
21
- Object.defineProperty(o, k2, desc);
22
- }) : (function(o, m, k, k2) {
23
- if (k2 === undefined) k2 = k;
24
- o[k2] = m[k];
25
- }));
26
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
- Object.defineProperty(o, "default", { enumerable: true, value: v });
28
- }) : function(o, v) {
29
- o["default"] = v;
30
- });
31
- var __importStar = (this && this.__importStar) || (function () {
32
- var ownKeys = function(o) {
33
- ownKeys = Object.getOwnPropertyNames || function (o) {
34
- var ar = [];
35
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
- return ar;
37
- };
38
- return ownKeys(o);
39
- };
40
- return function (mod) {
41
- if (mod && mod.__esModule) return mod;
42
- var result = {};
43
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
- __setModuleDefault(result, mod);
45
- return result;
46
- };
47
- })();
48
- Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.NeuralTrainer = void 0;
50
- const events_1 = require("events");
51
- const fs_1 = require("fs");
52
- const path = __importStar(require("path"));
53
- const NeuralPatternMatcher_1 = require("./NeuralPatternMatcher");
54
- /**
55
- * Neural Trainer
56
- *
57
- * Orchestrates training, evaluation, and optimization of neural pattern matcher
58
- */
59
- class NeuralTrainer extends events_1.EventEmitter {
60
- constructor(config, memoryManager, reasoningBank) {
61
- super();
62
- this.trainingHistory = [];
63
- this.bestMetrics = null;
64
- this.currentEpoch = 0;
65
- this.config = config;
66
- this.memoryManager = memoryManager;
67
- this.reasoningBank = reasoningBank;
68
- // Initialize pattern matcher
69
- this.patternMatcher = new NeuralPatternMatcher_1.NeuralPatternMatcher(config.backend, config.architecture, memoryManager, reasoningBank, config.modelPath);
70
- // Forward events from pattern matcher
71
- this.patternMatcher.on('training:progress', (data) => {
72
- this.emit('training:progress', data);
73
- });
74
- }
75
- /**
76
- * Preprocess training data
77
- */
78
- async preprocessData(data, options = {
79
- normalize: true,
80
- handleMissing: true,
81
- removeOutliers: false,
82
- balanceClasses: true
83
- }) {
84
- this.emit('preprocessing:started', { dataSize: data.length, options });
85
- let processed = [...data];
86
- // Handle missing values
87
- if (options.handleMissing) {
88
- processed = this.handleMissingValues(processed);
89
- }
90
- // Remove outliers
91
- if (options.removeOutliers) {
92
- processed = this.removeOutliers(processed);
93
- }
94
- // Normalize features
95
- if (options.normalize) {
96
- processed = this.normalizeFeatures(processed);
97
- }
98
- // Balance classes
99
- if (options.balanceClasses) {
100
- processed = this.balanceClasses(processed);
101
- }
102
- this.emit('preprocessing:completed', {
103
- originalSize: data.length,
104
- processedSize: processed.length
105
- });
106
- return processed;
107
- }
108
- /**
109
- * Handle missing values in training data
110
- */
111
- handleMissingValues(data) {
112
- return data.filter(point => {
113
- // Check for NaN or undefined in features
114
- return point.features.every(f => !isNaN(f) && f !== undefined);
115
- });
116
- }
117
- /**
118
- * Remove outliers using IQR method
119
- */
120
- removeOutliers(data) {
121
- if (data.length === 0)
122
- return data;
123
- const featureCount = data[0].features.length;
124
- const outlierIndices = new Set();
125
- // Check each feature dimension
126
- for (let i = 0; i < featureCount; i++) {
127
- const values = data.map(d => d.features[i]).sort((a, b) => a - b);
128
- const q1Index = Math.floor(values.length * 0.25);
129
- const q3Index = Math.floor(values.length * 0.75);
130
- const q1 = values[q1Index];
131
- const q3 = values[q3Index];
132
- const iqr = q3 - q1;
133
- const lowerBound = q1 - 1.5 * iqr;
134
- const upperBound = q3 + 1.5 * iqr;
135
- // Mark outliers
136
- data.forEach((point, idx) => {
137
- if (point.features[i] < lowerBound || point.features[i] > upperBound) {
138
- outlierIndices.add(idx);
139
- }
140
- });
141
- }
142
- // Remove outliers
143
- return data.filter((_, idx) => !outlierIndices.has(idx));
144
- }
145
- /**
146
- * Normalize features using min-max scaling
147
- */
148
- normalizeFeatures(data) {
149
- if (data.length === 0)
150
- return data;
151
- const featureCount = data[0].features.length;
152
- const mins = new Array(featureCount).fill(Infinity);
153
- const maxs = new Array(featureCount).fill(-Infinity);
154
- // Find min and max for each feature
155
- for (const point of data) {
156
- for (let i = 0; i < featureCount; i++) {
157
- mins[i] = Math.min(mins[i], point.features[i]);
158
- maxs[i] = Math.max(maxs[i], point.features[i]);
159
- }
160
- }
161
- // Normalize
162
- return data.map(point => ({
163
- ...point,
164
- features: point.features.map((f, i) => {
165
- const range = maxs[i] - mins[i];
166
- return range === 0 ? 0 : (f - mins[i]) / range;
167
- })
168
- }));
169
- }
170
- /**
171
- * Balance classes using oversampling
172
- */
173
- balanceClasses(data) {
174
- // Count classes
175
- const classCounts = new Map();
176
- for (const point of data) {
177
- const classLabel = point.labels.indexOf(Math.max(...point.labels)).toString();
178
- if (!classCounts.has(classLabel)) {
179
- classCounts.set(classLabel, []);
180
- }
181
- classCounts.get(classLabel).push(point);
182
- }
183
- // Find max class size
184
- const maxCount = Math.max(...Array.from(classCounts.values()).map(v => v.length));
185
- // Oversample minority classes
186
- const balanced = [];
187
- for (const [label, points] of classCounts) {
188
- balanced.push(...points);
189
- // Add duplicates to reach max count
190
- const needed = maxCount - points.length;
191
- for (let i = 0; i < needed; i++) {
192
- const randomPoint = points[Math.floor(Math.random() * points.length)];
193
- balanced.push({ ...randomPoint });
194
- }
195
- }
196
- return balanced;
197
- }
198
- /**
199
- * Augment training data
200
- */
201
- async augmentData(data, augmentationFactor = 2) {
202
- this.emit('augmentation:started', {
203
- dataSize: data.length,
204
- factor: augmentationFactor
205
- });
206
- const augmented = [...data];
207
- for (let i = 0; i < augmentationFactor - 1; i++) {
208
- for (const point of data) {
209
- // Add noise to features
210
- const noisyFeatures = point.features.map(f => {
211
- const noise = (Math.random() - 0.5) * 0.1; // 10% noise
212
- return f + noise;
213
- });
214
- augmented.push({
215
- ...point,
216
- features: noisyFeatures,
217
- metadata: {
218
- ...point.metadata,
219
- augmented: true
220
- }
221
- });
222
- }
223
- }
224
- this.emit('augmentation:completed', {
225
- originalSize: data.length,
226
- augmentedSize: augmented.length
227
- });
228
- return augmented;
229
- }
230
- /**
231
- * Train model with progress tracking
232
- */
233
- async train() {
234
- const startTime = Date.now();
235
- this.emit('training:started', { config: this.config });
236
- try {
237
- // Load and preprocess data
238
- const rawData = await this.patternMatcher.loadTrainingData();
239
- if (rawData.length === 0) {
240
- throw new Error('No training data available');
241
- }
242
- let processedData = await this.preprocessData(rawData);
243
- // Augment data if enabled
244
- if (this.config.dataAugmentation) {
245
- processedData = await this.augmentData(processedData);
246
- }
247
- // Train model
248
- let metrics;
249
- if (this.config.crossValidationFolds && this.config.crossValidationFolds > 1) {
250
- metrics = await this.crossValidationTrain(processedData);
251
- }
252
- else {
253
- metrics = await this.patternMatcher.train(processedData, this.config.validationSplit);
254
- }
255
- const totalTime = Date.now() - startTime;
256
- const result = {
257
- metrics,
258
- config: this.config,
259
- bestEpoch: this.currentEpoch,
260
- totalTime,
261
- earlyStopped: false,
262
- modelVersion: this.patternMatcher.getModelInfo().version
263
- };
264
- this.emit('training:completed', result);
265
- return result;
266
- }
267
- catch (error) {
268
- this.emit('training:error', { error });
269
- throw error;
270
- }
271
- }
272
- /**
273
- * Cross-validation training
274
- */
275
- async crossValidationTrain(data) {
276
- const folds = this.config.crossValidationFolds || 5;
277
- this.emit('crossvalidation:started', { folds });
278
- const foldSize = Math.floor(data.length / folds);
279
- const allMetrics = [];
280
- for (let fold = 0; fold < folds; fold++) {
281
- this.emit('crossvalidation:fold:started', { fold: fold + 1, totalFolds: folds });
282
- // Split data into train and validation
283
- const validationStart = fold * foldSize;
284
- const validationEnd = validationStart + foldSize;
285
- const validationData = data.slice(validationStart, validationEnd);
286
- const trainData = [
287
- ...data.slice(0, validationStart),
288
- ...data.slice(validationEnd)
289
- ];
290
- // Train on this fold
291
- const metrics = await this.patternMatcher.train(trainData, 0);
292
- // Evaluate on validation set
293
- const foldMetrics = await this.patternMatcher.evaluate(validationData);
294
- allMetrics.push(foldMetrics);
295
- this.emit('crossvalidation:fold:completed', {
296
- fold: fold + 1,
297
- metrics: foldMetrics
298
- });
299
- }
300
- // Average metrics across folds
301
- const avgMetrics = {
302
- accuracy: allMetrics.reduce((sum, m) => sum + m.accuracy, 0) / folds,
303
- precision: allMetrics.reduce((sum, m) => sum + m.precision, 0) / folds,
304
- recall: allMetrics.reduce((sum, m) => sum + m.recall, 0) / folds,
305
- f1Score: allMetrics.reduce((sum, m) => sum + m.f1Score, 0) / folds,
306
- trainingLoss: allMetrics.reduce((sum, m) => sum + m.trainingLoss, 0) / folds,
307
- validationLoss: allMetrics.reduce((sum, m) => sum + m.validationLoss, 0) / folds,
308
- trainingTime: allMetrics.reduce((sum, m) => sum + m.trainingTime, 0),
309
- confusionMatrix: allMetrics[0].confusionMatrix // Use last fold
310
- };
311
- this.emit('crossvalidation:completed', { avgMetrics, folds });
312
- return avgMetrics;
313
- }
314
- /**
315
- * Hyperparameter tuning using grid search
316
- */
317
- async tuneHyperparameters(config) {
318
- const startTime = Date.now();
319
- this.emit('tuning:started', { config });
320
- const trials = [];
321
- let bestMetrics = null;
322
- let bestConfig = null;
323
- // Load and preprocess data once
324
- const rawData = await this.patternMatcher.loadTrainingData();
325
- const processedData = await this.preprocessData(rawData);
326
- let trialCount = 0;
327
- // Grid search
328
- for (const learningRate of config.learningRates) {
329
- for (const batchSize of config.batchSizes) {
330
- for (const hiddenLayers of config.hiddenLayerConfigs) {
331
- for (const dropout of config.dropoutRates) {
332
- if (trialCount >= config.maxTrials)
333
- break;
334
- const architecture = {
335
- ...this.config.architecture,
336
- learningRate,
337
- batchSize,
338
- hiddenLayers,
339
- dropout
340
- };
341
- this.emit('tuning:trial:started', {
342
- trial: trialCount + 1,
343
- totalTrials: config.maxTrials,
344
- architecture
345
- });
346
- // Create new matcher with this config
347
- const matcher = new NeuralPatternMatcher_1.NeuralPatternMatcher(this.config.backend, architecture, this.memoryManager, this.reasoningBank);
348
- // Train
349
- const metrics = await matcher.train(processedData, this.config.validationSplit);
350
- trials.push({ config: architecture, metrics });
351
- // Update best
352
- if (!bestMetrics || metrics.accuracy > bestMetrics.accuracy) {
353
- bestMetrics = metrics;
354
- bestConfig = architecture;
355
- }
356
- this.emit('tuning:trial:completed', {
357
- trial: trialCount + 1,
358
- metrics,
359
- isBest: metrics === bestMetrics
360
- });
361
- trialCount++;
362
- }
363
- }
364
- }
365
- }
366
- if (!bestConfig || !bestMetrics) {
367
- throw new Error('No valid trials completed');
368
- }
369
- const totalTime = Date.now() - startTime;
370
- const result = {
371
- bestConfig,
372
- bestMetrics,
373
- trials,
374
- totalTime
375
- };
376
- this.emit('tuning:completed', result);
377
- return result;
378
- }
379
- /**
380
- * Evaluate model on test data
381
- */
382
- async evaluate(testData) {
383
- this.emit('evaluation:started');
384
- try {
385
- let data = testData;
386
- if (!data) {
387
- // Load fresh test data
388
- const allData = await this.patternMatcher.loadTrainingData();
389
- const splitIndex = Math.floor(allData.length * 0.8);
390
- data = allData.slice(splitIndex); // Use last 20% as test
391
- }
392
- data = await this.preprocessData(data);
393
- const metrics = await this.patternMatcher.evaluate(data);
394
- this.emit('evaluation:completed', { metrics });
395
- return metrics;
396
- }
397
- catch (error) {
398
- this.emit('evaluation:error', { error });
399
- throw error;
400
- }
401
- }
402
- /**
403
- * Incremental training with new data
404
- */
405
- async incrementalTrain(newData) {
406
- const startTime = Date.now();
407
- this.emit('incremental:training:started', { dataSize: newData.length });
408
- try {
409
- // Preprocess new data
410
- const processedData = await this.preprocessData(newData);
411
- // Incremental train
412
- const metrics = await this.patternMatcher.incrementalTrain(processedData);
413
- const totalTime = Date.now() - startTime;
414
- const result = {
415
- metrics,
416
- config: this.config,
417
- bestEpoch: this.currentEpoch,
418
- totalTime,
419
- earlyStopped: false,
420
- modelVersion: this.patternMatcher.getModelInfo().version
421
- };
422
- this.emit('incremental:training:completed', result);
423
- return result;
424
- }
425
- catch (error) {
426
- this.emit('incremental:training:error', { error });
427
- throw error;
428
- }
429
- }
430
- /**
431
- * Save trained model
432
- */
433
- async saveModel() {
434
- await this.patternMatcher.saveModel();
435
- }
436
- /**
437
- * Load trained model
438
- */
439
- async loadModel(version) {
440
- await this.patternMatcher.loadModel(version);
441
- }
442
- /**
443
- * Get training history
444
- */
445
- getTrainingHistory() {
446
- return [...this.trainingHistory];
447
- }
448
- /**
449
- * Get pattern matcher instance
450
- */
451
- getPatternMatcher() {
452
- return this.patternMatcher;
453
- }
454
- /**
455
- * Predict using trained model
456
- */
457
- async predict(codePattern) {
458
- return await this.patternMatcher.predict(codePattern);
459
- }
460
- /**
461
- * Export training report
462
- */
463
- async exportReport(outputPath) {
464
- this.emit('report:exporting', { path: outputPath });
465
- const report = {
466
- config: this.config,
467
- modelInfo: this.patternMatcher.getModelInfo(),
468
- trainingHistory: this.trainingHistory,
469
- bestMetrics: this.bestMetrics,
470
- timestamp: new Date().toISOString()
471
- };
472
- await fs_1.promises.mkdir(path.dirname(outputPath), { recursive: true });
473
- await fs_1.promises.writeFile(outputPath, JSON.stringify(report, null, 2));
474
- this.emit('report:exported', { path: outputPath });
475
- }
476
- }
477
- exports.NeuralTrainer = NeuralTrainer;
478
- //# sourceMappingURL=NeuralTrainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NeuralTrainer.js","sourceRoot":"","sources":["../../src/learning/NeuralTrainer.ts"],"names":[],"mappings":"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"}