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,107 @@
1
+ /**
2
+ * SwarmMemoryManager Integration for Flaky Test Detection
3
+ * Coordinates flaky test detection across the agent swarm
4
+ */
5
+ import { FlakyDetectionOptions } from './FlakyTestDetector';
6
+ import { TestResult, FlakyTest } from './types';
7
+ export interface SwarmMemoryStore {
8
+ store(key: string, value: any, options?: {
9
+ partition?: string;
10
+ ttl?: number;
11
+ }): Promise<void>;
12
+ retrieve(key: string, options?: {
13
+ partition?: string;
14
+ }): Promise<any>;
15
+ delete(key: string, options?: {
16
+ partition?: string;
17
+ }): Promise<void>;
18
+ search(pattern: string, options?: {
19
+ partition?: string;
20
+ limit?: number;
21
+ }): Promise<Array<{
22
+ key: string;
23
+ value: any;
24
+ }>>;
25
+ }
26
+ export declare class FlakyDetectionSwarmCoordinator {
27
+ private detector;
28
+ private memoryStore;
29
+ private namespace;
30
+ constructor(memoryStore: SwarmMemoryStore, options?: FlakyDetectionOptions, namespace?: string);
31
+ /**
32
+ * Detect flaky tests and store results in swarm memory
33
+ */
34
+ detectAndStore(history: TestResult[]): Promise<FlakyTest[]>;
35
+ /**
36
+ * Train model with data from swarm memory
37
+ */
38
+ trainFromSwarmMemory(): Promise<void>;
39
+ /**
40
+ * Retrieve flaky test results from swarm memory
41
+ */
42
+ retrieveResults(): Promise<{
43
+ tests: FlakyTest[];
44
+ statistics: any;
45
+ timestamp: number;
46
+ } | null>;
47
+ /**
48
+ * Retrieve specific test analysis
49
+ */
50
+ retrieveTestAnalysis(testName: string): Promise<FlakyTest | null>;
51
+ /**
52
+ * Search for flaky tests by pattern
53
+ */
54
+ searchFlakyTests(pattern: string): Promise<FlakyTest[]>;
55
+ /**
56
+ * Get aggregate statistics across all agents
57
+ */
58
+ getAggregateStatistics(): Promise<{
59
+ totalFlaky: number;
60
+ bySeverity: Record<string, number>;
61
+ byPattern: Record<string, number>;
62
+ recentDetections: number;
63
+ }>;
64
+ /**
65
+ * Subscribe to flaky test events (EventBus integration)
66
+ */
67
+ subscribeToEvents(callback: (event: FlakyTestEvent) => void): Promise<void>;
68
+ /**
69
+ * Emit flaky test detected event
70
+ */
71
+ emitFlakyTestEvent(test: FlakyTest): Promise<void>;
72
+ /**
73
+ * Create checkpoint for continuous learning
74
+ */
75
+ createCheckpoint(sessionId: string): Promise<void>;
76
+ /**
77
+ * Export metrics for performance tracking
78
+ */
79
+ exportMetrics(): Promise<{
80
+ detectionCount: number;
81
+ accuracy: number;
82
+ falsePositiveRate: number;
83
+ processingTime: number;
84
+ }>;
85
+ /**
86
+ * Store performance metrics
87
+ */
88
+ storeMetrics(metrics: {
89
+ detectionCount: number;
90
+ accuracy: number;
91
+ falsePositiveRate: number;
92
+ processingTime: number;
93
+ }): Promise<void>;
94
+ private storeResults;
95
+ private storeTestAnalysis;
96
+ private retrieveTrainingData;
97
+ }
98
+ export interface FlakyTestEvent {
99
+ type: 'test:flaky-detected' | 'test:pattern-identified' | 'model:trained';
100
+ timestamp: number;
101
+ data: any;
102
+ }
103
+ /**
104
+ * Example usage with SwarmMemoryManager
105
+ */
106
+ export declare function setupFlakyDetection(memoryStore: SwarmMemoryStore): Promise<FlakyDetectionSwarmCoordinator>;
107
+ //# sourceMappingURL=SwarmIntegration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwarmIntegration.d.ts","sourceRoot":"","sources":["../../src/learning/SwarmIntegration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ /**
3
+ * SwarmMemoryManager Integration for Flaky Test Detection
4
+ * Coordinates flaky test detection across the agent swarm
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.FlakyDetectionSwarmCoordinator = void 0;
8
+ exports.setupFlakyDetection = setupFlakyDetection;
9
+ const FlakyTestDetector_1 = require("./FlakyTestDetector");
10
+ class FlakyDetectionSwarmCoordinator {
11
+ constructor(memoryStore, options = {}, namespace = 'phase2') {
12
+ this.detector = new FlakyTestDetector_1.FlakyTestDetector(options);
13
+ this.memoryStore = memoryStore;
14
+ this.namespace = namespace;
15
+ }
16
+ /**
17
+ * Detect flaky tests and store results in swarm memory
18
+ */
19
+ async detectAndStore(history) {
20
+ // Detect flaky tests
21
+ const flakyTests = await this.detector.detectFlakyTests(history);
22
+ // Get statistics
23
+ const statistics = this.detector.getStatistics(flakyTests);
24
+ // Store in swarm memory
25
+ await this.storeResults({
26
+ tests: flakyTests,
27
+ statistics,
28
+ timestamp: Date.now(),
29
+ totalTestResults: history.length,
30
+ detectorVersion: '1.0.0'
31
+ });
32
+ // Store individual test analyses
33
+ for (const test of flakyTests) {
34
+ await this.storeTestAnalysis(test);
35
+ }
36
+ return flakyTests;
37
+ }
38
+ /**
39
+ * Train model with data from swarm memory
40
+ */
41
+ async trainFromSwarmMemory() {
42
+ const trainingData = new Map();
43
+ const labels = new Map();
44
+ // Retrieve training data from memory
45
+ const stored = await this.retrieveTrainingData();
46
+ if (stored) {
47
+ for (const [testName, data] of Object.entries(stored)) {
48
+ trainingData.set(testName, data.results);
49
+ labels.set(testName, data.isFlaky);
50
+ }
51
+ await this.detector.trainModel(trainingData, labels);
52
+ // Store training completion event
53
+ await this.memoryStore.store(`${this.namespace}/model-training`, {
54
+ timestamp: Date.now(),
55
+ trainingSamples: trainingData.size,
56
+ status: 'completed'
57
+ }, { partition: 'coordination', ttl: 86400 });
58
+ }
59
+ }
60
+ /**
61
+ * Retrieve flaky test results from swarm memory
62
+ */
63
+ async retrieveResults() {
64
+ return await this.memoryStore.retrieve(`${this.namespace}/flaky-tests`, {
65
+ partition: 'coordination'
66
+ });
67
+ }
68
+ /**
69
+ * Retrieve specific test analysis
70
+ */
71
+ async retrieveTestAnalysis(testName) {
72
+ return await this.memoryStore.retrieve(`${this.namespace}/test-analysis/${testName}`, { partition: 'coordination' });
73
+ }
74
+ /**
75
+ * Search for flaky tests by pattern
76
+ */
77
+ async searchFlakyTests(pattern) {
78
+ const results = await this.memoryStore.search(`${this.namespace}/test-analysis/${pattern}`, { partition: 'coordination', limit: 100 });
79
+ return results.map(r => r.value);
80
+ }
81
+ /**
82
+ * Get aggregate statistics across all agents
83
+ */
84
+ async getAggregateStatistics() {
85
+ const stored = await this.retrieveResults();
86
+ if (!stored) {
87
+ return {
88
+ totalFlaky: 0,
89
+ bySeverity: { critical: 0, high: 0, medium: 0, low: 0 },
90
+ byPattern: { intermittent: 0, environmental: 0, timing: 0, resource: 0 },
91
+ recentDetections: 0
92
+ };
93
+ }
94
+ const recentThreshold = Date.now() - 86400000; // 24 hours
95
+ const recentDetections = stored.tests.filter(t => t.firstDetected > recentThreshold).length;
96
+ return {
97
+ totalFlaky: stored.statistics.total,
98
+ bySeverity: stored.statistics.bySeverity,
99
+ byPattern: stored.statistics.byPattern,
100
+ recentDetections
101
+ };
102
+ }
103
+ /**
104
+ * Subscribe to flaky test events (EventBus integration)
105
+ */
106
+ async subscribeToEvents(callback) {
107
+ // This would integrate with EventBus from coordination system
108
+ // For now, we'll store event subscription metadata
109
+ await this.memoryStore.store(`${this.namespace}/event-subscriptions`, {
110
+ timestamp: Date.now(),
111
+ subscriber: 'flaky-detection-coordinator',
112
+ events: ['test:flaky-detected', 'test:pattern-identified', 'model:trained']
113
+ }, { partition: 'coordination', ttl: 3600 });
114
+ }
115
+ /**
116
+ * Emit flaky test detected event
117
+ */
118
+ async emitFlakyTestEvent(test) {
119
+ await this.memoryStore.store(`${this.namespace}/events/flaky-detected/${test.name}`, {
120
+ type: 'test:flaky-detected',
121
+ timestamp: Date.now(),
122
+ test,
123
+ severity: test.severity,
124
+ pattern: test.failurePattern
125
+ }, { partition: 'coordination', ttl: 86400 });
126
+ }
127
+ /**
128
+ * Create checkpoint for continuous learning
129
+ */
130
+ async createCheckpoint(sessionId) {
131
+ const results = await this.retrieveResults();
132
+ if (results) {
133
+ await this.memoryStore.store(`${this.namespace}/checkpoints/${sessionId}`, {
134
+ timestamp: Date.now(),
135
+ sessionId,
136
+ results: results.tests,
137
+ statistics: results.statistics
138
+ }, { partition: 'coordination', ttl: 604800 } // 7 days
139
+ );
140
+ }
141
+ }
142
+ /**
143
+ * Export metrics for performance tracking
144
+ */
145
+ async exportMetrics() {
146
+ const metrics = await this.memoryStore.retrieve(`${this.namespace}/metrics`, { partition: 'coordination' });
147
+ return metrics || {
148
+ detectionCount: 0,
149
+ accuracy: 0,
150
+ falsePositiveRate: 0,
151
+ processingTime: 0
152
+ };
153
+ }
154
+ /**
155
+ * Store performance metrics
156
+ */
157
+ async storeMetrics(metrics) {
158
+ await this.memoryStore.store(`${this.namespace}/metrics`, {
159
+ ...metrics,
160
+ timestamp: Date.now()
161
+ }, { partition: 'coordination', ttl: 86400 });
162
+ }
163
+ // Private helper methods
164
+ async storeResults(data) {
165
+ await this.memoryStore.store(`${this.namespace}/flaky-tests`, data, { partition: 'coordination', ttl: 86400 });
166
+ }
167
+ async storeTestAnalysis(test) {
168
+ await this.memoryStore.store(`${this.namespace}/test-analysis/${test.name}`, test, { partition: 'coordination', ttl: 86400 });
169
+ }
170
+ async retrieveTrainingData() {
171
+ return await this.memoryStore.retrieve(`${this.namespace}/training-data`, { partition: 'coordination' });
172
+ }
173
+ }
174
+ exports.FlakyDetectionSwarmCoordinator = FlakyDetectionSwarmCoordinator;
175
+ /**
176
+ * Example usage with SwarmMemoryManager
177
+ */
178
+ async function setupFlakyDetection(memoryStore) {
179
+ const coordinator = new FlakyDetectionSwarmCoordinator(memoryStore, {
180
+ minRuns: 5,
181
+ passRateThreshold: 0.8,
182
+ confidenceThreshold: 0.7,
183
+ useMLModel: true
184
+ });
185
+ // Subscribe to events
186
+ await coordinator.subscribeToEvents(async (event) => {
187
+ console.log('Flaky test event:', event);
188
+ });
189
+ return coordinator;
190
+ }
191
+ //# sourceMappingURL=SwarmIntegration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwarmIntegration.js","sourceRoot":"","sources":["../../src/learning/SwarmIntegration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Flaky Test Detection System - Public API
3
+ * Export all components for external use
4
+ */
5
+ export { FlakyTestDetector, FlakyDetectionOptions } from './FlakyTestDetector';
6
+ export { FlakyPredictionModel } from './FlakyPredictionModel';
7
+ export { StatisticalAnalysis } from './StatisticalAnalysis';
8
+ export { FlakyFixRecommendations } from './FlakyFixRecommendations';
9
+ export type { TestResult, FlakyTest, FlakyFixRecommendation, StatisticalMetrics, FlakyPrediction, ModelTrainingData, ModelMetrics } from './types';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/learning/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,YAAY,EACV,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACb,MAAM,SAAS,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * Flaky Test Detection System - Public API
4
+ * Export all components for external use
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.FlakyFixRecommendations = exports.StatisticalAnalysis = exports.FlakyPredictionModel = exports.FlakyTestDetector = void 0;
8
+ var FlakyTestDetector_1 = require("./FlakyTestDetector");
9
+ Object.defineProperty(exports, "FlakyTestDetector", { enumerable: true, get: function () { return FlakyTestDetector_1.FlakyTestDetector; } });
10
+ var FlakyPredictionModel_1 = require("./FlakyPredictionModel");
11
+ Object.defineProperty(exports, "FlakyPredictionModel", { enumerable: true, get: function () { return FlakyPredictionModel_1.FlakyPredictionModel; } });
12
+ var StatisticalAnalysis_1 = require("./StatisticalAnalysis");
13
+ Object.defineProperty(exports, "StatisticalAnalysis", { enumerable: true, get: function () { return StatisticalAnalysis_1.StatisticalAnalysis; } });
14
+ var FlakyFixRecommendations_1 = require("./FlakyFixRecommendations");
15
+ Object.defineProperty(exports, "FlakyFixRecommendations", { enumerable: true, get: function () { return FlakyFixRecommendations_1.FlakyFixRecommendations; } });
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/learning/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yDAA+E;AAAtE,sHAAA,iBAAiB,OAAA;AAC1B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA"}
@@ -0,0 +1,288 @@
1
+ /**
2
+ * Learning System Types - Phase 2 (Milestone 2.2)
3
+ *
4
+ * Defines interfaces and types for the Agent Learning System
5
+ * with reinforcement learning capabilities.
6
+ */
7
+ /**
8
+ * Learning configuration for agents
9
+ */
10
+ export interface LearningConfig {
11
+ enabled: boolean;
12
+ learningRate: number;
13
+ discountFactor: number;
14
+ explorationRate: number;
15
+ explorationDecay: number;
16
+ minExplorationRate: number;
17
+ maxMemorySize: number;
18
+ batchSize: number;
19
+ updateFrequency: number;
20
+ }
21
+ /**
22
+ * Task execution experience for learning
23
+ */
24
+ export interface TaskExperience {
25
+ taskId: string;
26
+ taskType: string;
27
+ state: TaskState;
28
+ action: AgentAction;
29
+ reward: number;
30
+ nextState: TaskState;
31
+ timestamp: Date;
32
+ agentId: string;
33
+ }
34
+ /**
35
+ * State representation for reinforcement learning
36
+ */
37
+ export interface TaskState {
38
+ taskComplexity: number;
39
+ requiredCapabilities: string[];
40
+ contextFeatures: Record<string, any>;
41
+ previousAttempts: number;
42
+ availableResources: number;
43
+ timeConstraint?: number;
44
+ }
45
+ /**
46
+ * Action taken by agent during task execution
47
+ */
48
+ export interface AgentAction {
49
+ strategy: string;
50
+ toolsUsed: string[];
51
+ parallelization: number;
52
+ retryPolicy: string;
53
+ resourceAllocation: number;
54
+ }
55
+ /**
56
+ * Feedback from user or system
57
+ */
58
+ export interface LearningFeedback {
59
+ taskId: string;
60
+ rating: number;
61
+ issues: string[];
62
+ suggestions: string[];
63
+ timestamp: Date;
64
+ source: 'user' | 'system' | 'peer';
65
+ }
66
+ /**
67
+ * Learning outcome from a training session
68
+ */
69
+ export interface LearningOutcome {
70
+ improved: boolean;
71
+ previousPerformance: number;
72
+ newPerformance: number;
73
+ improvementRate: number;
74
+ confidence: number;
75
+ patterns: LearnedPattern[];
76
+ timestamp: Date;
77
+ }
78
+ /**
79
+ * Pattern learned from experiences
80
+ */
81
+ export interface LearnedPattern {
82
+ id: string;
83
+ pattern: string;
84
+ confidence: number;
85
+ successRate: number;
86
+ usageCount: number;
87
+ contexts: string[];
88
+ createdAt: Date;
89
+ lastUsedAt: Date;
90
+ }
91
+ /**
92
+ * Performance metrics for tracking
93
+ */
94
+ export interface PerformanceMetrics {
95
+ agentId: string;
96
+ period: {
97
+ start: Date;
98
+ end: Date;
99
+ };
100
+ metrics: {
101
+ tasksCompleted: number;
102
+ successRate: number;
103
+ averageExecutionTime: number;
104
+ errorRate: number;
105
+ userSatisfaction: number;
106
+ resourceEfficiency: number;
107
+ };
108
+ trends: {
109
+ metric: string;
110
+ direction: 'up' | 'down' | 'stable';
111
+ changeRate: number;
112
+ }[];
113
+ }
114
+ /**
115
+ * Performance improvement data
116
+ */
117
+ export interface ImprovementData {
118
+ agentId: string;
119
+ baseline: PerformanceMetrics;
120
+ current: PerformanceMetrics;
121
+ improvementRate: number;
122
+ daysElapsed: number;
123
+ targetAchieved: boolean;
124
+ }
125
+ /**
126
+ * Strategy recommendation from learning system
127
+ */
128
+ export interface StrategyRecommendation {
129
+ strategy: string;
130
+ confidence: number;
131
+ expectedImprovement: number;
132
+ reasoning: string;
133
+ alternatives: {
134
+ strategy: string;
135
+ confidence: number;
136
+ }[];
137
+ }
138
+ /**
139
+ * A/B test configuration
140
+ */
141
+ export interface ABTest {
142
+ id: string;
143
+ name: string;
144
+ strategies: {
145
+ name: string;
146
+ config: any;
147
+ }[];
148
+ sampleSize: number;
149
+ results: {
150
+ strategy: string;
151
+ successRate: number;
152
+ averageTime: number;
153
+ sampleCount: number;
154
+ }[];
155
+ winner?: string;
156
+ status: 'running' | 'completed' | 'cancelled';
157
+ startedAt: Date;
158
+ completedAt?: Date;
159
+ }
160
+ /**
161
+ * Learning model state for persistence
162
+ */
163
+ export interface LearningModelState {
164
+ agentId: string;
165
+ qTable: Record<string, Record<string, number>>;
166
+ experiences: TaskExperience[];
167
+ patterns: LearnedPattern[];
168
+ config: LearningConfig;
169
+ performance: PerformanceMetrics;
170
+ version: string;
171
+ lastUpdated: Date;
172
+ size: number;
173
+ }
174
+ /**
175
+ * Common failure pattern identified by learning system
176
+ */
177
+ export interface FailurePattern {
178
+ id: string;
179
+ pattern: string;
180
+ frequency: number;
181
+ contexts: string[];
182
+ rootCause?: string;
183
+ mitigation?: string;
184
+ confidence: number;
185
+ identifiedAt: Date;
186
+ }
187
+ /**
188
+ * Learning event for tracking
189
+ */
190
+ export interface LearningEvent {
191
+ id: string;
192
+ type: 'training' | 'improvement' | 'pattern_discovered' | 'strategy_changed';
193
+ agentId: string;
194
+ data: any;
195
+ timestamp: Date;
196
+ }
197
+ /**
198
+ * Flaky Test Detection Types
199
+ */
200
+ /**
201
+ * Test result from execution
202
+ */
203
+ export interface TestResult {
204
+ name: string;
205
+ passed: boolean;
206
+ status?: 'passed' | 'failed';
207
+ duration: number;
208
+ timestamp: number;
209
+ error?: string;
210
+ environment?: Record<string, any>;
211
+ retryCount?: number;
212
+ }
213
+ /**
214
+ * Detected flaky test
215
+ */
216
+ export interface FlakyTest {
217
+ name: string;
218
+ passRate: number;
219
+ variance: number;
220
+ confidence: number;
221
+ totalRuns: number;
222
+ failurePattern: 'intermittent' | 'environmental' | 'timing' | 'resource';
223
+ recommendation: FlakyFixRecommendation;
224
+ severity: 'low' | 'medium' | 'high' | 'critical';
225
+ firstDetected: number;
226
+ lastSeen: number;
227
+ }
228
+ /**
229
+ * Fix recommendation for flaky test
230
+ */
231
+ export interface FlakyFixRecommendation {
232
+ priority: 'low' | 'medium' | 'high' | 'critical';
233
+ category: 'timing' | 'resource' | 'environmental' | 'concurrency' | 'data' | 'external';
234
+ recommendation: string;
235
+ codeExample?: string;
236
+ estimatedEffort: 'low' | 'medium' | 'high';
237
+ }
238
+ /**
239
+ * Statistical metrics
240
+ */
241
+ export interface StatisticalMetrics {
242
+ mean: number;
243
+ median: number;
244
+ stdDev: number;
245
+ min: number;
246
+ max: number;
247
+ variance: number;
248
+ coefficientOfVariation: number;
249
+ outliers: number[];
250
+ }
251
+ /**
252
+ * Flaky test prediction
253
+ */
254
+ export interface FlakyPrediction {
255
+ testName: string;
256
+ isFlaky: boolean;
257
+ probability: number;
258
+ confidence: number;
259
+ features: Record<string, number>;
260
+ explanation: string;
261
+ reasoning?: string;
262
+ }
263
+ /**
264
+ * Model training data
265
+ */
266
+ export interface ModelTrainingData {
267
+ testName: string;
268
+ results: TestResult[];
269
+ isFlaky: boolean;
270
+ }
271
+ /**
272
+ * Model performance metrics
273
+ */
274
+ export interface ModelMetrics {
275
+ accuracy: number;
276
+ precision: number;
277
+ recall: number;
278
+ f1Score: number;
279
+ falsePositiveRate: number;
280
+ truePositiveRate: number;
281
+ confusionMatrix: {
282
+ truePositive: number;
283
+ trueNegative: number;
284
+ falsePositive: number;
285
+ falseNegative: number;
286
+ } | number[][];
287
+ }
288
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/learning/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Learning System Types - Phase 2 (Milestone 2.2)
4
+ *
5
+ * Defines interfaces and types for the Agent Learning System
6
+ * with reinforcement learning capabilities.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/learning/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}