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,530 @@
1
+ "use strict";
2
+ /**
3
+ * Improvement CLI Commands - Phase 2
4
+ *
5
+ * Commands for managing the continuous improvement loop.
6
+ * Provides A/B testing, failure analysis, and recommendation management.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __importDefault = (this && this.__importDefault) || function (mod) {
42
+ return (mod && mod.__esModule) ? mod : { "default": mod };
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.ImproveCommand = void 0;
46
+ exports.improveCommand = improveCommand;
47
+ const chalk_1 = __importDefault(require("chalk"));
48
+ const ora_1 = __importDefault(require("ora"));
49
+ const fs = __importStar(require("fs-extra"));
50
+ const SwarmMemoryManager_1 = require("../../../core/memory/SwarmMemoryManager");
51
+ const ImprovementLoop_1 = require("../../../learning/ImprovementLoop");
52
+ const LearningEngine_1 = require("../../../learning/LearningEngine");
53
+ const PerformanceTracker_1 = require("../../../learning/PerformanceTracker");
54
+ /**
55
+ * ImproveCommand - CLI handler for improvement operations
56
+ */
57
+ class ImproveCommand {
58
+ /**
59
+ * Execute improve command
60
+ */
61
+ static async execute(subcommand, args = [], options = {}) {
62
+ switch (subcommand) {
63
+ case 'status':
64
+ await this.showStatus(options);
65
+ break;
66
+ case 'start':
67
+ await this.startLoop(options);
68
+ break;
69
+ case 'stop':
70
+ await this.stopLoop(options);
71
+ break;
72
+ case 'history':
73
+ await this.showHistory(options);
74
+ break;
75
+ case 'ab-test':
76
+ await this.runABTest(options);
77
+ break;
78
+ case 'failures':
79
+ await this.showFailures(options);
80
+ break;
81
+ case 'apply':
82
+ await this.applyRecommendation(args[0], options);
83
+ break;
84
+ case 'report':
85
+ await this.generateReport(options);
86
+ break;
87
+ default:
88
+ console.error(chalk_1.default.red(`❌ Unknown improve command: ${subcommand}`));
89
+ this.showHelp();
90
+ process.exit(1);
91
+ }
92
+ }
93
+ /**
94
+ * Show improvement status
95
+ */
96
+ static async showStatus(options) {
97
+ const spinner = (0, ora_1.default)('Loading improvement status...').start();
98
+ try {
99
+ const memoryManager = new SwarmMemoryManager_1.SwarmMemoryManager(this.memoryPath);
100
+ await memoryManager.initialize();
101
+ const agentId = options.agent || 'default';
102
+ // Check if loop is running
103
+ const loopStatus = await memoryManager.retrieve(`phase2/learning/${agentId}/loop-status`, { partition: 'learning' });
104
+ spinner.succeed('Status loaded');
105
+ console.log(chalk_1.default.blue('\n🔄 Improvement Loop Status\n'));
106
+ const isActive = loopStatus?.active || false;
107
+ const statusIcon = isActive ? '✅' : '⏸️';
108
+ const statusText = isActive ? chalk_1.default.green('ACTIVE') : chalk_1.default.yellow('STOPPED');
109
+ console.log(`Agent: ${chalk_1.default.cyan(agentId)}`);
110
+ console.log(`├─ Status: ${statusIcon} ${statusText}`);
111
+ if (isActive) {
112
+ console.log(`├─ Cycle Interval: ${chalk_1.default.cyan('1 hour')}`);
113
+ console.log(`├─ Last Cycle: ${chalk_1.default.gray(this.formatTimeAgo(loopStatus?.lastCycle))}`);
114
+ console.log(`└─ Next Cycle: ${chalk_1.default.gray(this.formatNextCycle(loopStatus?.lastCycle))}`);
115
+ }
116
+ else {
117
+ console.log(`└─ Use "aqe improve start" to activate`);
118
+ }
119
+ // Load recent improvements
120
+ const cycles = await memoryManager.query(`phase2/learning/${agentId}/cycles/%`, { partition: 'learning' });
121
+ if (cycles.length > 0) {
122
+ console.log(chalk_1.default.blue('\n📈 Recent Improvements:\n'));
123
+ const recentCycles = cycles
124
+ .sort((a, b) => b.value.timestamp - a.value.timestamp)
125
+ .slice(0, 3);
126
+ recentCycles.forEach((cycle, index) => {
127
+ const data = cycle.value;
128
+ const prefix = index === recentCycles.length - 1 ? '└─' : '├─';
129
+ console.log(`${prefix} [${chalk_1.default.gray(new Date(data.timestamp).toLocaleString())}]`);
130
+ console.log(` ├─ Improvement: ${this.formatImprovement(data.improvement?.improvementRate || 0)}`);
131
+ console.log(` ├─ Opportunities: ${chalk_1.default.cyan(data.opportunities)}`);
132
+ console.log(` └─ Active Tests: ${chalk_1.default.cyan(data.activeTests)}`);
133
+ });
134
+ }
135
+ // Load active A/B tests
136
+ const activeTests = await memoryManager.query(`phase2/learning/${agentId}/abtests/%`, { partition: 'learning' });
137
+ const runningTests = activeTests.filter(t => t.value.status === 'running');
138
+ if (runningTests.length > 0) {
139
+ console.log(chalk_1.default.blue('\n🧪 Active A/B Tests:\n'));
140
+ runningTests.forEach((test, index) => {
141
+ const data = test.value;
142
+ const prefix = index === runningTests.length - 1 ? '└─' : '├─';
143
+ console.log(`${prefix} ${chalk_1.default.cyan(data.name)}`);
144
+ console.log(` ├─ Progress: ${this.formatProgress(data.results, data.sampleSize)}`);
145
+ console.log(` └─ Started: ${chalk_1.default.gray(new Date(data.startedAt).toLocaleString())}`);
146
+ });
147
+ }
148
+ console.log();
149
+ }
150
+ catch (error) {
151
+ spinner.fail('Failed to load status');
152
+ console.error(chalk_1.default.red('❌ Error:'), error.message);
153
+ process.exit(1);
154
+ }
155
+ }
156
+ /**
157
+ * Start improvement loop
158
+ */
159
+ static async startLoop(options) {
160
+ const spinner = (0, ora_1.default)('Starting improvement loop...').start();
161
+ try {
162
+ const memoryManager = new SwarmMemoryManager_1.SwarmMemoryManager(this.memoryPath);
163
+ await memoryManager.initialize();
164
+ const agentId = options.agent || 'default';
165
+ // Create and start improvement loop (in production, this would be a background service)
166
+ const learningEngine = new LearningEngine_1.LearningEngine(agentId, memoryManager);
167
+ const performanceTracker = new PerformanceTracker_1.PerformanceTracker(agentId, memoryManager);
168
+ await learningEngine.initialize();
169
+ await performanceTracker.initialize();
170
+ const improvementLoop = new ImprovementLoop_1.ImprovementLoop(agentId, memoryManager, learningEngine, performanceTracker);
171
+ await improvementLoop.initialize();
172
+ // Note: In CLI, we can't actually keep loop running. This would be handled by a daemon.
173
+ // Mark as active in memory
174
+ await memoryManager.store(`phase2/learning/${agentId}/loop-status`, {
175
+ active: true,
176
+ lastCycle: Date.now(),
177
+ startedAt: Date.now()
178
+ }, { partition: 'learning' });
179
+ spinner.succeed('Improvement loop started');
180
+ console.log(chalk_1.default.green('\n✅ Continuous improvement activated'));
181
+ console.log(chalk_1.default.gray('Cycle interval: 1 hour'));
182
+ console.log(chalk_1.default.gray('The loop will analyze performance and apply optimizations automatically\n'));
183
+ }
184
+ catch (error) {
185
+ spinner.fail('Failed to start loop');
186
+ console.error(chalk_1.default.red('❌ Error:'), error.message);
187
+ process.exit(1);
188
+ }
189
+ }
190
+ /**
191
+ * Stop improvement loop
192
+ */
193
+ static async stopLoop(options) {
194
+ const spinner = (0, ora_1.default)('Stopping improvement loop...').start();
195
+ try {
196
+ const memoryManager = new SwarmMemoryManager_1.SwarmMemoryManager(this.memoryPath);
197
+ await memoryManager.initialize();
198
+ const agentId = options.agent || 'default';
199
+ await memoryManager.store(`phase2/learning/${agentId}/loop-status`, {
200
+ active: false,
201
+ stoppedAt: Date.now()
202
+ }, { partition: 'learning' });
203
+ spinner.succeed('Improvement loop stopped');
204
+ console.log(chalk_1.default.yellow('\n⚠️ Continuous improvement deactivated'));
205
+ console.log(chalk_1.default.gray('Use "aqe improve start" to reactivate\n'));
206
+ }
207
+ catch (error) {
208
+ spinner.fail('Failed to stop loop');
209
+ console.error(chalk_1.default.red('❌ Error:'), error.message);
210
+ process.exit(1);
211
+ }
212
+ }
213
+ /**
214
+ * Show improvement history
215
+ */
216
+ static async showHistory(options) {
217
+ const spinner = (0, ora_1.default)('Loading improvement history...').start();
218
+ try {
219
+ const memoryManager = new SwarmMemoryManager_1.SwarmMemoryManager(this.memoryPath);
220
+ await memoryManager.initialize();
221
+ const agentId = options.agent || 'default';
222
+ const days = options.days || 30;
223
+ const cycles = await memoryManager.query(`phase2/learning/${agentId}/cycles/%`, { partition: 'learning' });
224
+ const cutoff = Date.now() - (days * 24 * 60 * 60 * 1000);
225
+ const recentCycles = cycles
226
+ .filter(c => c.value.timestamp >= cutoff)
227
+ .sort((a, b) => b.value.timestamp - a.value.timestamp);
228
+ spinner.succeed(`Loaded ${recentCycles.length} improvement cycles`);
229
+ console.log(chalk_1.default.blue(`\n📅 Improvement History (Last ${days} days)\n`));
230
+ if (recentCycles.length === 0) {
231
+ console.log(chalk_1.default.yellow('No improvement cycles found'));
232
+ return;
233
+ }
234
+ recentCycles.forEach((cycle, index) => {
235
+ const data = cycle.value;
236
+ const date = new Date(data.timestamp).toLocaleString();
237
+ console.log(`${chalk_1.default.cyan((index + 1).toString().padStart(2))}. ${date}`);
238
+ console.log(` Improvement: ${this.formatImprovement(data.improvement?.improvementRate || 0)}`);
239
+ console.log(` Opportunities: ${data.opportunities}`);
240
+ console.log(` Failure Patterns: ${data.failurePatterns}`);
241
+ console.log(` Active Tests: ${data.activeTests}`);
242
+ console.log();
243
+ });
244
+ }
245
+ catch (error) {
246
+ spinner.fail('Failed to load history');
247
+ console.error(chalk_1.default.red('❌ Error:'), error.message);
248
+ process.exit(1);
249
+ }
250
+ }
251
+ /**
252
+ * Run A/B test
253
+ */
254
+ static async runABTest(options) {
255
+ if (!options.strategyA || !options.strategyB) {
256
+ console.error(chalk_1.default.red('❌ --strategy-a and --strategy-b are required'));
257
+ process.exit(1);
258
+ }
259
+ const spinner = (0, ora_1.default)('Creating A/B test...').start();
260
+ try {
261
+ const memoryManager = new SwarmMemoryManager_1.SwarmMemoryManager(this.memoryPath);
262
+ await memoryManager.initialize();
263
+ const agentId = options.agent || 'default';
264
+ const learningEngine = new LearningEngine_1.LearningEngine(agentId, memoryManager);
265
+ const performanceTracker = new PerformanceTracker_1.PerformanceTracker(agentId, memoryManager);
266
+ await learningEngine.initialize();
267
+ await performanceTracker.initialize();
268
+ const improvementLoop = new ImprovementLoop_1.ImprovementLoop(agentId, memoryManager, learningEngine, performanceTracker);
269
+ await improvementLoop.initialize();
270
+ const testId = await improvementLoop.createABTest(`${options.strategyA} vs ${options.strategyB}`, [
271
+ { name: options.strategyA, config: {} },
272
+ { name: options.strategyB, config: {} }
273
+ ], 100);
274
+ spinner.succeed('A/B test created');
275
+ console.log(chalk_1.default.green('\n✅ A/B Test Created\n'));
276
+ console.log(`Test ID: ${chalk_1.default.cyan(testId)}`);
277
+ console.log(`Strategy A: ${chalk_1.default.cyan(options.strategyA)}`);
278
+ console.log(`Strategy B: ${chalk_1.default.cyan(options.strategyB)}`);
279
+ console.log(`Sample Size: ${chalk_1.default.cyan('100')}`);
280
+ console.log(chalk_1.default.gray('\nThe test will run automatically during task executions'));
281
+ console.log(chalk_1.default.gray('Use "aqe improve status" to monitor progress\n'));
282
+ }
283
+ catch (error) {
284
+ spinner.fail('Failed to create A/B test');
285
+ console.error(chalk_1.default.red('❌ Error:'), error.message);
286
+ process.exit(1);
287
+ }
288
+ }
289
+ /**
290
+ * Show failure patterns
291
+ */
292
+ static async showFailures(options) {
293
+ const spinner = (0, ora_1.default)('Analyzing failure patterns...').start();
294
+ try {
295
+ const memoryManager = new SwarmMemoryManager_1.SwarmMemoryManager(this.memoryPath);
296
+ await memoryManager.initialize();
297
+ const agentId = options.agent || 'default';
298
+ const learningEngine = new LearningEngine_1.LearningEngine(agentId, memoryManager);
299
+ await learningEngine.initialize();
300
+ const failures = learningEngine.getFailurePatterns();
301
+ if (failures.length === 0) {
302
+ spinner.info('No failure patterns detected');
303
+ return;
304
+ }
305
+ spinner.succeed(`Found ${failures.length} failure patterns`);
306
+ console.log(chalk_1.default.blue('\n⚠️ Failure Patterns\n'));
307
+ const limit = options.limit || 10;
308
+ const displayFailures = failures.slice(0, limit);
309
+ displayFailures.forEach((failure, index) => {
310
+ const prefix = index === displayFailures.length - 1 ? '└─' : '├─';
311
+ console.log(`${prefix} ${chalk_1.default.yellow(failure.pattern)} (${failure.frequency} occurrences)`);
312
+ console.log(` ├─ Confidence: ${this.formatConfidence(failure.confidence)}`);
313
+ if (failure.mitigation) {
314
+ console.log(` └─ ${chalk_1.default.green('Recommendation:')} ${failure.mitigation}`);
315
+ }
316
+ else {
317
+ console.log(` └─ ${chalk_1.default.gray('No mitigation available yet')}`);
318
+ }
319
+ console.log();
320
+ });
321
+ }
322
+ catch (error) {
323
+ spinner.fail('Failed to analyze failures');
324
+ console.error(chalk_1.default.red('❌ Error:'), error.message);
325
+ process.exit(1);
326
+ }
327
+ }
328
+ /**
329
+ * Apply recommendation
330
+ */
331
+ static async applyRecommendation(recommendationId, options) {
332
+ if (!recommendationId) {
333
+ console.error(chalk_1.default.red('❌ Recommendation ID is required'));
334
+ process.exit(1);
335
+ }
336
+ if (options.dryRun) {
337
+ console.log(chalk_1.default.blue('🧪 Dry Run Mode\n'));
338
+ console.log(chalk_1.default.gray('Would apply recommendation: ' + recommendationId));
339
+ console.log(chalk_1.default.gray('Add --no-dry-run to actually apply\n'));
340
+ return;
341
+ }
342
+ const spinner = (0, ora_1.default)('Applying recommendation...').start();
343
+ try {
344
+ // In a real implementation, this would apply the recommendation
345
+ spinner.succeed('Recommendation applied');
346
+ console.log(chalk_1.default.green('\n✅ Recommendation Applied\n'));
347
+ console.log(`ID: ${chalk_1.default.cyan(recommendationId)}`);
348
+ console.log(chalk_1.default.gray('Monitor "aqe improve status" to see effects\n'));
349
+ }
350
+ catch (error) {
351
+ spinner.fail('Failed to apply recommendation');
352
+ console.error(chalk_1.default.red('❌ Error:'), error.message);
353
+ process.exit(1);
354
+ }
355
+ }
356
+ /**
357
+ * Generate improvement report
358
+ */
359
+ static async generateReport(options) {
360
+ const spinner = (0, ora_1.default)('Generating improvement report...').start();
361
+ try {
362
+ const memoryManager = new SwarmMemoryManager_1.SwarmMemoryManager(this.memoryPath);
363
+ await memoryManager.initialize();
364
+ const agentId = options.agent || 'default';
365
+ const performanceTracker = new PerformanceTracker_1.PerformanceTracker(agentId, memoryManager);
366
+ await performanceTracker.initialize();
367
+ const report = await performanceTracker.generateReport();
368
+ spinner.succeed('Report generated');
369
+ const format = options.format || 'text';
370
+ if (format === 'json') {
371
+ const json = JSON.stringify(report, null, 2);
372
+ if (options.output) {
373
+ await fs.writeFile(options.output, json);
374
+ console.log(chalk_1.default.green(`\n✅ Report exported to: ${options.output}\n`));
375
+ }
376
+ else {
377
+ console.log(json);
378
+ }
379
+ return;
380
+ }
381
+ // Text format
382
+ console.log(chalk_1.default.blue('\n📊 Improvement Report\n'));
383
+ console.log(report.summary);
384
+ console.log(chalk_1.default.blue('\n📈 Trends:\n'));
385
+ if (report.trends && report.trends.length > 0) {
386
+ report.trends.forEach(trend => {
387
+ const arrow = trend.direction === 'up' ? '↑' : trend.direction === 'down' ? '↓' : '→';
388
+ const color = trend.direction === 'up' ? chalk_1.default.green : trend.direction === 'down' ? chalk_1.default.red : chalk_1.default.gray;
389
+ console.log(` ${trend.metric}: ${color(arrow + ' ' + trend.changeRate.toFixed(1) + '%')}`);
390
+ });
391
+ }
392
+ console.log(chalk_1.default.blue('\n💡 Recommendations:\n'));
393
+ report.recommendations.forEach((rec, index) => {
394
+ console.log(` ${index + 1}. ${rec}`);
395
+ });
396
+ if (options.output && format === 'html') {
397
+ const html = this.generateHTMLReport(report);
398
+ await fs.writeFile(options.output, html);
399
+ console.log(chalk_1.default.green(`\n✅ HTML report exported to: ${options.output}`));
400
+ }
401
+ console.log();
402
+ }
403
+ catch (error) {
404
+ spinner.fail('Failed to generate report');
405
+ console.error(chalk_1.default.red('❌ Error:'), error.message);
406
+ process.exit(1);
407
+ }
408
+ }
409
+ /**
410
+ * Show command help
411
+ */
412
+ static showHelp() {
413
+ console.log(chalk_1.default.blue('\n📚 Improve Commands:\n'));
414
+ console.log(chalk_1.default.cyan(' aqe improve status') + chalk_1.default.gray(' - View improvement status'));
415
+ console.log(chalk_1.default.cyan(' aqe improve start') + chalk_1.default.gray(' - Start improvement loop'));
416
+ console.log(chalk_1.default.cyan(' aqe improve stop') + chalk_1.default.gray(' - Stop improvement loop'));
417
+ console.log(chalk_1.default.cyan(' aqe improve history') + chalk_1.default.gray(' - View improvement history'));
418
+ console.log(chalk_1.default.cyan(' aqe improve ab-test') + chalk_1.default.gray(' - Run A/B test'));
419
+ console.log(chalk_1.default.cyan(' aqe improve failures') + chalk_1.default.gray(' - View failure patterns'));
420
+ console.log(chalk_1.default.cyan(' aqe improve apply <id>') + chalk_1.default.gray(' - Apply recommendation'));
421
+ console.log(chalk_1.default.cyan(' aqe improve report') + chalk_1.default.gray(' - Generate improvement report'));
422
+ console.log(chalk_1.default.blue('\nOptions:\n'));
423
+ console.log(chalk_1.default.gray(' --agent <id> - Target specific agent'));
424
+ console.log(chalk_1.default.gray(' --days <number> - Time period for history'));
425
+ console.log(chalk_1.default.gray(' --strategy-a <name> - First strategy for A/B test'));
426
+ console.log(chalk_1.default.gray(' --strategy-b <name> - Second strategy for A/B test'));
427
+ console.log(chalk_1.default.gray(' --limit <number> - Limit results'));
428
+ console.log(chalk_1.default.gray(' --dry-run - Preview without applying'));
429
+ console.log(chalk_1.default.gray(' --format <format> - Report format (html, json, text)'));
430
+ console.log(chalk_1.default.gray(' --output <file> - Output file path'));
431
+ console.log(chalk_1.default.blue('\nExamples:\n'));
432
+ console.log(chalk_1.default.gray(' aqe improve status --agent test-gen'));
433
+ console.log(chalk_1.default.gray(' aqe improve start'));
434
+ console.log(chalk_1.default.gray(' aqe improve ab-test --strategy-a parallel --strategy-b sequential'));
435
+ console.log(chalk_1.default.gray(' aqe improve report --format html --output report.html'));
436
+ console.log();
437
+ }
438
+ // Helper methods
439
+ static formatImprovement(rate) {
440
+ const formatted = rate >= 0 ? `+${rate.toFixed(1)}%` : `${rate.toFixed(1)}%`;
441
+ if (rate >= 20)
442
+ return chalk_1.default.green(formatted);
443
+ if (rate >= 10)
444
+ return chalk_1.default.cyan(formatted);
445
+ if (rate >= 0)
446
+ return chalk_1.default.yellow(formatted);
447
+ return chalk_1.default.red(formatted);
448
+ }
449
+ static formatConfidence(confidence) {
450
+ const percentage = (confidence * 100).toFixed(0) + '%';
451
+ if (confidence >= 0.9)
452
+ return chalk_1.default.green(percentage);
453
+ if (confidence >= 0.7)
454
+ return chalk_1.default.cyan(percentage);
455
+ return chalk_1.default.yellow(percentage);
456
+ }
457
+ static formatTimeAgo(timestamp) {
458
+ if (!timestamp)
459
+ return 'never';
460
+ const diff = Date.now() - timestamp;
461
+ const minutes = Math.floor(diff / 60000);
462
+ const hours = Math.floor(minutes / 60);
463
+ if (hours > 0)
464
+ return `${hours} hours ago`;
465
+ if (minutes > 0)
466
+ return `${minutes} minutes ago`;
467
+ return 'just now';
468
+ }
469
+ static formatNextCycle(lastCycle) {
470
+ if (!lastCycle)
471
+ return 'soon';
472
+ const nextCycle = lastCycle + (60 * 60 * 1000); // 1 hour
473
+ const diff = nextCycle - Date.now();
474
+ if (diff <= 0)
475
+ return 'now';
476
+ const minutes = Math.floor(diff / 60000);
477
+ const hours = Math.floor(minutes / 60);
478
+ if (hours > 0)
479
+ return `in ${hours}h ${minutes % 60}m`;
480
+ return `in ${minutes}m`;
481
+ }
482
+ static formatProgress(results, sampleSize) {
483
+ const total = results.reduce((sum, r) => sum + r.sampleCount, 0);
484
+ const percentage = (total / sampleSize * 100).toFixed(0);
485
+ return `${total}/${sampleSize} (${percentage}%)`;
486
+ }
487
+ static generateHTMLReport(report) {
488
+ return `<!DOCTYPE html>
489
+ <html>
490
+ <head>
491
+ <title>Improvement Report</title>
492
+ <style>
493
+ body { font-family: Arial, sans-serif; margin: 40px; }
494
+ h1 { color: #2c3e50; }
495
+ .summary { background: #ecf0f1; padding: 20px; border-radius: 5px; }
496
+ .trends { margin-top: 20px; }
497
+ .recommendations { margin-top: 20px; }
498
+ ul { list-style: none; padding: 0; }
499
+ li { margin: 10px 0; }
500
+ </style>
501
+ </head>
502
+ <body>
503
+ <h1>Improvement Report</h1>
504
+ <div class="summary">
505
+ <h2>Summary</h2>
506
+ <p>${report.summary}</p>
507
+ </div>
508
+ <div class="trends">
509
+ <h2>Trends</h2>
510
+ <ul>
511
+ ${report.trends?.map((t) => `<li>${t.metric}: ${t.changeRate.toFixed(1)}% ${t.direction}</li>`).join('') || ''}
512
+ </ul>
513
+ </div>
514
+ <div class="recommendations">
515
+ <h2>Recommendations</h2>
516
+ <ul>
517
+ ${report.recommendations.map((r) => `<li>${r}</li>`).join('')}
518
+ </ul>
519
+ </div>
520
+ </body>
521
+ </html>`;
522
+ }
523
+ }
524
+ exports.ImproveCommand = ImproveCommand;
525
+ ImproveCommand.memoryPath = '.agentic-qe/data/swarm-memory.db';
526
+ // Export command functions for CLI registration
527
+ async function improveCommand(subcommand, args, options) {
528
+ await ImproveCommand.execute(subcommand, args, options);
529
+ }
530
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/improve/index.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,14 @@ export declare class InitCommand {
4
4
  private static createDirectoryStructure;
5
5
  private static copyAgentTemplates;
6
6
  private static createBasicAgents;
7
+ private static createMissingAgents;
7
8
  private static countAgentFiles;
8
9
  private static writeFleetConfig;
10
+ /**
11
+ * Sanitize config object by removing undefined values and ensuring all properties are serializable
12
+ */
13
+ private static sanitizeConfig;
14
+ private static writeRoutingConfig;
9
15
  private static generateAgentConfigs;
10
16
  private static getAgentCapabilities;
11
17
  private static generateEnvironmentConfigs;
@@ -13,5 +19,33 @@ export declare class InitCommand {
13
19
  private static spawnInitialAgents;
14
20
  private static initializeCoordination;
15
21
  private static createClaudeMd;
22
+ /**
23
+ * Initialize Phase 2 Pattern Bank Database
24
+ */
25
+ private static initializePatternDatabase;
26
+ /**
27
+ * Initialize Phase 2 Memory Database (SwarmMemoryManager)
28
+ */
29
+ private static initializeMemoryDatabase;
30
+ /**
31
+ * Initialize Phase 2 Learning System
32
+ */
33
+ private static initializeLearningSystem;
34
+ /**
35
+ * Get inline Pattern Bank schema (fallback if schema file not found)
36
+ */
37
+ private static getPatternBankSchema;
38
+ /**
39
+ * Initialize Phase 2 Improvement Loop
40
+ */
41
+ private static initializeImprovementLoop;
42
+ /**
43
+ * Create comprehensive config.json with all Phase 1 and Phase 2 settings
44
+ */
45
+ private static createComprehensiveConfig;
46
+ /**
47
+ * Display comprehensive initialization summary
48
+ */
49
+ private static displayComprehensiveSummary;
16
50
  }
17
51
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAe,MAAM,aAAa,CAAC;AAEvD,qBAAa,WAAW;WACT,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;mBA+HpC,wBAAwB;mBAyBxB,kBAAkB;mBAgClB,iBAAiB;mBAqJjB,eAAe;mBAMf,gBAAgB;IAarC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA0BnC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAWnC,OAAO,CAAC,MAAM,CAAC,0BAA0B;mBAuBpB,0BAA0B;mBAoC1B,kBAAkB;mBAclB,sBAAsB;mBAgDtB,cAAc;CAyOpC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAe,MAAM,aAAa,CAAC;AAEvD,qBAAa,WAAW;WACT,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;mBA0MpC,wBAAwB;mBA+BxB,kBAAkB;mBAsElB,iBAAiB;mBAyNjB,mBAAmB;mBAsEnB,eAAe;mBAMf,gBAAgB;IAyBrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;mBA4BR,kBAAkB;IAkDvC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA0BnC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAWnC,OAAO,CAAC,MAAM,CAAC,0BAA0B;mBAuBpB,0BAA0B;mBAoC1B,kBAAkB;mBAclB,sBAAsB;mBAoDtB,cAAc;IAoVnC;;OAEG;mBACkB,yBAAyB;IAoC9C;;OAEG;mBACkB,wBAAwB;IAsB7C;;OAEG;mBACkB,wBAAwB;IAqC7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA8GnC;;OAEG;mBACkB,yBAAyB;IA2C9C;;OAEG;mBACkB,yBAAyB;IA6F9C;;OAEG;mBACkB,2BAA2B;CAmGjD"}