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.
- package/.claude/agents/qe-quality-analyzer.md +405 -0
- package/CHANGELOG.md +109 -0
- package/CONTRIBUTING.md +51 -0
- package/README.md +690 -134
- package/bin/aqe +90 -938
- package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
- package/dist/adapters/MemoryStoreAdapter.js +6 -0
- package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +58 -3
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +316 -48
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.d.ts +48 -4
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +217 -10
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/LearningAgent.d.ts +75 -0
- package/dist/agents/LearningAgent.d.ts.map +1 -0
- package/dist/agents/LearningAgent.js +177 -0
- package/dist/agents/LearningAgent.js.map +1 -0
- package/dist/agents/TestGeneratorAgent.d.ts +42 -2
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +232 -13
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/cli/commands/improve/index.d.ts +70 -0
- package/dist/cli/commands/improve/index.d.ts.map +1 -0
- package/dist/cli/commands/improve/index.js +530 -0
- package/dist/cli/commands/improve/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +34 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +875 -42
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learn/index.d.ts +68 -0
- package/dist/cli/commands/learn/index.d.ts.map +1 -0
- package/dist/cli/commands/learn/index.js +431 -0
- package/dist/cli/commands/learn/index.js.map +1 -0
- package/dist/cli/commands/patterns/index.d.ts +75 -0
- package/dist/cli/commands/patterns/index.d.ts.map +1 -0
- package/dist/cli/commands/patterns/index.js +502 -0
- package/dist/cli/commands/patterns/index.js.map +1 -0
- package/dist/cli/commands/routing/index.d.ts +95 -0
- package/dist/cli/commands/routing/index.d.ts.map +1 -0
- package/dist/cli/commands/routing/index.js +399 -0
- package/dist/cli/commands/routing/index.js.map +1 -0
- package/dist/cli/index.js +455 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.d.ts +5 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +7 -0
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/core/routing/AdaptiveModelRouter.d.ts +86 -0
- package/dist/core/routing/AdaptiveModelRouter.d.ts.map +1 -0
- package/dist/core/routing/AdaptiveModelRouter.js +264 -0
- package/dist/core/routing/AdaptiveModelRouter.js.map +1 -0
- package/dist/core/routing/ComplexityAnalyzer.d.ts +49 -0
- package/dist/core/routing/ComplexityAnalyzer.d.ts.map +1 -0
- package/dist/core/routing/ComplexityAnalyzer.js +182 -0
- package/dist/core/routing/ComplexityAnalyzer.js.map +1 -0
- package/dist/core/routing/CostTracker.d.ts +55 -0
- package/dist/core/routing/CostTracker.d.ts.map +1 -0
- package/dist/core/routing/CostTracker.js +210 -0
- package/dist/core/routing/CostTracker.js.map +1 -0
- package/dist/core/routing/FleetManagerIntegration.d.ts +68 -0
- package/dist/core/routing/FleetManagerIntegration.d.ts.map +1 -0
- package/dist/core/routing/FleetManagerIntegration.js +170 -0
- package/dist/core/routing/FleetManagerIntegration.js.map +1 -0
- package/dist/core/routing/ModelRules.d.ts +38 -0
- package/dist/core/routing/ModelRules.d.ts.map +1 -0
- package/dist/core/routing/ModelRules.js +170 -0
- package/dist/core/routing/ModelRules.js.map +1 -0
- package/dist/core/routing/QETask.d.ts +12 -0
- package/dist/core/routing/QETask.d.ts.map +1 -0
- package/dist/core/routing/QETask.js +21 -0
- package/dist/core/routing/QETask.js.map +1 -0
- package/dist/core/routing/index.d.ts +19 -0
- package/dist/core/routing/index.d.ts.map +1 -0
- package/dist/core/routing/index.js +50 -0
- package/dist/core/routing/index.js.map +1 -0
- package/dist/core/routing/types.d.ts +136 -0
- package/dist/core/routing/types.d.ts.map +1 -0
- package/dist/core/routing/types.js +28 -0
- package/dist/core/routing/types.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/learning/FlakyFixRecommendations.d.ts +40 -0
- package/dist/learning/FlakyFixRecommendations.d.ts.map +1 -0
- package/dist/learning/FlakyFixRecommendations.js +247 -0
- package/dist/learning/FlakyFixRecommendations.js.map +1 -0
- package/dist/learning/FlakyPredictionModel.d.ts +57 -0
- package/dist/learning/FlakyPredictionModel.d.ts.map +1 -0
- package/dist/learning/FlakyPredictionModel.js +289 -0
- package/dist/learning/FlakyPredictionModel.js.map +1 -0
- package/dist/learning/FlakyTestDetector.d.ts +46 -0
- package/dist/learning/FlakyTestDetector.d.ts.map +1 -0
- package/dist/learning/FlakyTestDetector.js +215 -0
- package/dist/learning/FlakyTestDetector.js.map +1 -0
- package/dist/learning/ImprovementLoop.d.ts +119 -0
- package/dist/learning/ImprovementLoop.d.ts.map +1 -0
- package/dist/learning/ImprovementLoop.js +353 -0
- package/dist/learning/ImprovementLoop.js.map +1 -0
- package/dist/learning/LearningEngine.d.ts +144 -0
- package/dist/learning/LearningEngine.d.ts.map +1 -0
- package/dist/learning/LearningEngine.js +531 -0
- package/dist/learning/LearningEngine.js.map +1 -0
- package/dist/learning/PerformanceTracker.d.ts +118 -0
- package/dist/learning/PerformanceTracker.d.ts.map +1 -0
- package/dist/learning/PerformanceTracker.js +376 -0
- package/dist/learning/PerformanceTracker.js.map +1 -0
- package/dist/learning/StatisticalAnalysis.d.ts +47 -0
- package/dist/learning/StatisticalAnalysis.d.ts.map +1 -0
- package/dist/learning/StatisticalAnalysis.js +170 -0
- package/dist/learning/StatisticalAnalysis.js.map +1 -0
- package/dist/learning/SwarmIntegration.d.ts +107 -0
- package/dist/learning/SwarmIntegration.d.ts.map +1 -0
- package/dist/learning/SwarmIntegration.js +191 -0
- package/dist/learning/SwarmIntegration.js.map +1 -0
- package/dist/learning/index.d.ts +10 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +16 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/types.d.ts +288 -0
- package/dist/learning/types.d.ts.map +1 -0
- package/dist/learning/types.js +9 -0
- package/dist/learning/types.js.map +1 -0
- package/dist/mcp/handlers/phase2/Phase2Tools.d.ts +175 -0
- package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -0
- package/dist/mcp/handlers/phase2/Phase2Tools.js +693 -0
- package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +171 -9
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts +112 -0
- package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts.map +1 -0
- package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js +341 -0
- package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js.map +1 -0
- package/dist/mcp/streaming/StreamingMCPTool.d.ts +80 -0
- package/dist/mcp/streaming/StreamingMCPTool.d.ts.map +1 -0
- package/dist/mcp/streaming/StreamingMCPTool.js +276 -0
- package/dist/mcp/streaming/StreamingMCPTool.js.map +1 -0
- package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts +73 -0
- package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts.map +1 -0
- package/dist/mcp/streaming/TestExecuteStreamHandler.js +436 -0
- package/dist/mcp/streaming/TestExecuteStreamHandler.js.map +1 -0
- package/dist/mcp/streaming/index.d.ts +14 -0
- package/dist/mcp/streaming/index.d.ts.map +1 -0
- package/dist/mcp/streaming/index.js +30 -0
- package/dist/mcp/streaming/index.js.map +1 -0
- package/dist/mcp/streaming/types.d.ts +117 -0
- package/dist/mcp/streaming/types.d.ts.map +1 -0
- package/dist/mcp/streaming/types.js +88 -0
- package/dist/mcp/streaming/types.js.map +1 -0
- package/dist/mcp/tools.d.ts +18 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +123 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/reasoning/CodeSignatureGenerator.d.ts +98 -0
- package/dist/reasoning/CodeSignatureGenerator.d.ts.map +1 -0
- package/dist/reasoning/CodeSignatureGenerator.js +427 -0
- package/dist/reasoning/CodeSignatureGenerator.js.map +1 -0
- package/dist/reasoning/PatternClassifier.d.ts +98 -0
- package/dist/reasoning/PatternClassifier.d.ts.map +1 -0
- package/dist/reasoning/PatternClassifier.js +345 -0
- package/dist/reasoning/PatternClassifier.js.map +1 -0
- package/dist/reasoning/PatternExtractor.d.ts +131 -0
- package/dist/reasoning/PatternExtractor.d.ts.map +1 -0
- package/dist/reasoning/PatternExtractor.js +539 -0
- package/dist/reasoning/PatternExtractor.js.map +1 -0
- package/dist/reasoning/PatternMemoryIntegration.d.ts +102 -0
- package/dist/reasoning/PatternMemoryIntegration.d.ts.map +1 -0
- package/dist/reasoning/PatternMemoryIntegration.js +336 -0
- package/dist/reasoning/PatternMemoryIntegration.js.map +1 -0
- package/dist/reasoning/QEReasoningBank.d.ts +121 -0
- package/dist/reasoning/QEReasoningBank.d.ts.map +1 -0
- package/dist/reasoning/QEReasoningBank.js +235 -0
- package/dist/reasoning/QEReasoningBank.js.map +1 -0
- package/dist/reasoning/TestTemplateCreator.d.ts +95 -0
- package/dist/reasoning/TestTemplateCreator.d.ts.map +1 -0
- package/dist/reasoning/TestTemplateCreator.js +535 -0
- package/dist/reasoning/TestTemplateCreator.js.map +1 -0
- package/dist/reasoning/index.d.ts +10 -0
- package/dist/reasoning/index.d.ts.map +1 -0
- package/dist/reasoning/index.js +31 -0
- package/dist/reasoning/index.js.map +1 -0
- package/dist/reasoning/types.d.ts +717 -0
- package/dist/reasoning/types.d.ts.map +1 -0
- package/dist/reasoning/types.js +57 -0
- package/dist/reasoning/types.js.map +1 -0
- package/dist/types/index.d.ts +20 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/pattern.types.d.ts +364 -0
- package/dist/types/pattern.types.d.ts.map +1 -0
- package/dist/types/pattern.types.js +60 -0
- package/dist/types/pattern.types.js.map +1 -0
- 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":"AAAA;;;GAGG;AAEH,OAAO,EAAqB,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC,CAAC;CACxH;AAED,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,SAAS,CAAS;gBAGxB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,GAAE,qBAA0B,EACnC,SAAS,GAAE,MAAiB;IAO9B;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAwBjE;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC;QAC/B,KAAK,EAAE,SAAS,EAAE,CAAC;QACnB,UAAU,EAAE,GAAG,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IAMT;;OAEG;IACG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAOvE;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAS7D;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC;QACtC,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAyBF;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjF;;OAEG;IACG,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IAcF;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;YAaH,YAAY;YAQZ,iBAAiB;YAQjB,oBAAoB;CASnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,qBAAqB,GAAG,yBAAyB,GAAG,eAAe,CAAC;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;CACX;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,gBAAgB,GAC5B,OAAO,CAAC,8BAA8B,CAAC,CAczC"}
|
|
@@ -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"}
|