agentic-qe 2.3.1 → 2.3.3
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/CHANGELOG.md +53 -0
- package/README.md +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +53 -27
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.d.ts +5 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +20 -5
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/QualityGateAgent.js +44 -6
- package/dist/agents/QualityGateAgent.js.map +1 -1
- package/dist/cli/index.js +0 -0
- package/dist/cli/init/database-init.js +5 -0
- package/dist/cli/init/database-init.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/learning/PerformanceTracker.d.ts +9 -0
- package/dist/learning/PerformanceTracker.d.ts.map +1 -1
- package/dist/learning/PerformanceTracker.js +26 -2
- package/dist/learning/PerformanceTracker.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/package.json +4 -2
- package/scripts/README.md +352 -0
- package/scripts/hooks/capture-task-learning.js +191 -0
- package/scripts/hooks/emit-task-complete.sh +35 -0
- package/scripts/hooks/emit-task-spawn.sh +27 -0
- package/.claude/agents/failing-agent.json +0 -9
- package/.claude/agents/test-agent.json +0 -9
- package/dist/App.d.ts +0 -5
- package/dist/App.d.ts.map +0 -1
- package/dist/App.js +0 -15
- package/dist/App.js.map +0 -1
- package/dist/cli/init/utils.d.ts +0 -183
- package/dist/cli/init/utils.d.ts.map +0 -1
- package/dist/cli/init/utils.js +0 -354
- package/dist/cli/init/utils.js.map +0 -1
- package/dist/components/Dashboard/Dashboard.d.ts +0 -4
- package/dist/components/Dashboard/Dashboard.d.ts.map +0 -1
- package/dist/components/Dashboard/Dashboard.js +0 -148
- package/dist/components/Dashboard/Dashboard.js.map +0 -1
- package/dist/components/Dashboard/DashboardHeader.d.ts +0 -4
- package/dist/components/Dashboard/DashboardHeader.d.ts.map +0 -1
- package/dist/components/Dashboard/DashboardHeader.js +0 -138
- package/dist/components/Dashboard/DashboardHeader.js.map +0 -1
- package/dist/contexts/DashboardContext.d.ts +0 -41
- package/dist/contexts/DashboardContext.d.ts.map +0 -1
- package/dist/contexts/DashboardContext.js +0 -187
- package/dist/contexts/DashboardContext.js.map +0 -1
- package/dist/core/transport/QUICTransport.d.ts +0 -320
- package/dist/core/transport/QUICTransport.d.ts.map +0 -1
- package/dist/core/transport/QUICTransport.js +0 -711
- package/dist/core/transport/QUICTransport.js.map +0 -1
- package/dist/learning/LearningPersistenceAdapter.d.ts +0 -84
- package/dist/learning/LearningPersistenceAdapter.d.ts.map +0 -1
- package/dist/learning/LearningPersistenceAdapter.js +0 -202
- package/dist/learning/LearningPersistenceAdapter.js.map +0 -1
- package/dist/learning/algorithms/QLearning.d.ts +0 -68
- package/dist/learning/algorithms/QLearning.d.ts.map +0 -1
- package/dist/learning/algorithms/QLearning.js +0 -116
- package/dist/learning/algorithms/QLearning.js.map +0 -1
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts +0 -7
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts.map +0 -1
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.js +0 -267
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.js.map +0 -1
- package/dist/mcp/handlers/advanced/requirements-validate.d.ts +0 -7
- package/dist/mcp/handlers/advanced/requirements-validate.d.ts.map +0 -1
- package/dist/mcp/handlers/advanced/requirements-validate.js +0 -175
- package/dist/mcp/handlers/advanced/requirements-validate.js.map +0 -1
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts +0 -15
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +0 -1
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +0 -43
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +0 -1
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts +0 -58
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +0 -1
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +0 -188
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +0 -1
- package/dist/mcp/handlers/optimize-tests.d.ts +0 -219
- package/dist/mcp/handlers/optimize-tests.d.ts.map +0 -1
- package/dist/mcp/handlers/optimize-tests.js +0 -533
- package/dist/mcp/handlers/optimize-tests.js.map +0 -1
- package/dist/mcp/handlers/predict-defects.d.ts +0 -194
- package/dist/mcp/handlers/predict-defects.d.ts.map +0 -1
- package/dist/mcp/handlers/predict-defects.js +0 -722
- package/dist/mcp/handlers/predict-defects.js.map +0 -1
- package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts +0 -199
- package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +0 -1
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js +0 -471
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +0 -1
- package/dist/mcp/handlers/quality/quality-decision-make.d.ts +0 -104
- package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +0 -1
- package/dist/mcp/handlers/quality/quality-decision-make.js +0 -408
- package/dist/mcp/handlers/quality/quality-decision-make.js.map +0 -1
- package/dist/mcp/handlers/quality/quality-gate-execute.d.ts +0 -160
- package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +0 -1
- package/dist/mcp/handlers/quality/quality-gate-execute.js +0 -412
- package/dist/mcp/handlers/quality/quality-gate-execute.js.map +0 -1
- package/dist/mcp/handlers/quality/quality-policy-check.d.ts +0 -163
- package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +0 -1
- package/dist/mcp/handlers/quality/quality-policy-check.js +0 -455
- package/dist/mcp/handlers/quality/quality-policy-check.js.map +0 -1
- package/dist/mcp/handlers/quality/quality-risk-assess.d.ts +0 -123
- package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +0 -1
- package/dist/mcp/handlers/quality/quality-risk-assess.js +0 -522
- package/dist/mcp/handlers/quality/quality-risk-assess.js.map +0 -1
- package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts +0 -117
- package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +0 -1
- package/dist/mcp/handlers/quality/quality-validate-metrics.js +0 -288
- package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +0 -1
- package/dist/mcp/handlers/quality-analyze.d.ts +0 -279
- package/dist/mcp/handlers/quality-analyze.d.ts.map +0 -1
- package/dist/mcp/handlers/quality-analyze.js +0 -720
- package/dist/mcp/handlers/quality-analyze.js.map +0 -1
- package/dist/mcp/handlers/security/check-authz.d.ts +0 -152
- package/dist/mcp/handlers/security/check-authz.d.ts.map +0 -1
- package/dist/mcp/handlers/security/check-authz.js +0 -434
- package/dist/mcp/handlers/security/check-authz.js.map +0 -1
- package/dist/mcp/handlers/security/scan-dependencies.d.ts +0 -148
- package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +0 -1
- package/dist/mcp/handlers/security/scan-dependencies.js +0 -354
- package/dist/mcp/handlers/security/scan-dependencies.js.map +0 -1
- package/dist/mcp/handlers/security/validate-auth.d.ts +0 -128
- package/dist/mcp/handlers/security/validate-auth.d.ts.map +0 -1
- package/dist/mcp/handlers/security/validate-auth.js +0 -294
- package/dist/mcp/handlers/security/validate-auth.js.map +0 -1
- package/dist/mcp/handlers/test-generate.d.ts +0 -107
- package/dist/mcp/handlers/test-generate.d.ts.map +0 -1
- package/dist/mcp/handlers/test-generate.js +0 -454
- package/dist/mcp/handlers/test-generate.js.map +0 -1
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Performance Benchmark Runner
|
|
4
|
-
* Executes comprehensive performance benchmarks with statistical analysis
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.performanceBenchmarkRun = performanceBenchmarkRun;
|
|
8
|
-
const SecureRandom_js_1 = require("../../../utils/SecureRandom.js");
|
|
9
|
-
/**
|
|
10
|
-
* Run performance benchmarks with statistical analysis
|
|
11
|
-
*/
|
|
12
|
-
async function performanceBenchmarkRun(params) {
|
|
13
|
-
const { targets, iterations = 100, warmupRuns = 10, concurrency = 1, timeout = 30000, metricsToCollect = ['latency', 'throughput', 'cpu', 'memory'], baselineComparison = false } = params;
|
|
14
|
-
const startTime = Date.now();
|
|
15
|
-
// Run warmup
|
|
16
|
-
await runWarmup(targets, warmupRuns);
|
|
17
|
-
// Execute benchmarks
|
|
18
|
-
const benchmarks = await Promise.all(targets.map(target => runBenchmark(target, iterations, concurrency, timeout, metricsToCollect)));
|
|
19
|
-
// Compare with baseline if requested
|
|
20
|
-
let comparison;
|
|
21
|
-
if (baselineComparison) {
|
|
22
|
-
comparison = await compareWithBaseline(benchmarks);
|
|
23
|
-
}
|
|
24
|
-
// Generate recommendations
|
|
25
|
-
const recommendations = generatePerformanceRecommendations(benchmarks);
|
|
26
|
-
// Calculate summary
|
|
27
|
-
const summary = {
|
|
28
|
-
totalTests: benchmarks.length,
|
|
29
|
-
passed: benchmarks.filter(b => b.status === 'pass').length,
|
|
30
|
-
failed: benchmarks.filter(b => b.status === 'fail').length,
|
|
31
|
-
warnings: benchmarks.filter(b => b.status === 'warning').length,
|
|
32
|
-
totalDuration: Date.now() - startTime
|
|
33
|
-
};
|
|
34
|
-
return {
|
|
35
|
-
benchmarks,
|
|
36
|
-
summary,
|
|
37
|
-
comparison,
|
|
38
|
-
recommendations,
|
|
39
|
-
timestamp: new Date().toISOString()
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
async function runWarmup(targets, warmupRuns) {
|
|
43
|
-
// Simulate warmup to stabilize performance metrics
|
|
44
|
-
for (let i = 0; i < warmupRuns; i++) {
|
|
45
|
-
await Promise.all(targets.map(target => simulateExecution(target)));
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
async function runBenchmark(target, iterations, concurrency, timeout, metricsToCollect) {
|
|
49
|
-
const results = {
|
|
50
|
-
latency: [],
|
|
51
|
-
throughput: [],
|
|
52
|
-
cpu: [],
|
|
53
|
-
memory: [],
|
|
54
|
-
io: [],
|
|
55
|
-
network: []
|
|
56
|
-
};
|
|
57
|
-
// Collect metrics over iterations
|
|
58
|
-
for (let i = 0; i < iterations; i++) {
|
|
59
|
-
const metrics = await collectMetrics(target, metricsToCollect);
|
|
60
|
-
metricsToCollect.forEach(metric => {
|
|
61
|
-
if (metrics[metric] !== undefined) {
|
|
62
|
-
results[metric].push(metrics[metric]);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
// Calculate statistics
|
|
67
|
-
const benchmarkMetrics = {};
|
|
68
|
-
metricsToCollect.forEach(metric => {
|
|
69
|
-
if (results[metric].length > 0) {
|
|
70
|
-
benchmarkMetrics[metric] = calculateStatistics(results[metric]);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
// Determine status
|
|
74
|
-
const { status, issues } = evaluatePerformance(benchmarkMetrics);
|
|
75
|
-
return {
|
|
76
|
-
target,
|
|
77
|
-
metrics: benchmarkMetrics,
|
|
78
|
-
status,
|
|
79
|
-
issues
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
async function simulateExecution(target) {
|
|
83
|
-
// Simulate target execution
|
|
84
|
-
await new Promise(resolve => setTimeout(resolve, SecureRandom_js_1.SecureRandom.randomFloat() * 10));
|
|
85
|
-
}
|
|
86
|
-
async function collectMetrics(target, metricsToCollect) {
|
|
87
|
-
const metrics = {};
|
|
88
|
-
metricsToCollect.forEach(metric => {
|
|
89
|
-
switch (metric) {
|
|
90
|
-
case 'latency':
|
|
91
|
-
metrics.latency = SecureRandom_js_1.SecureRandom.randomFloat() * 100 + 10; // 10-110ms
|
|
92
|
-
break;
|
|
93
|
-
case 'throughput':
|
|
94
|
-
metrics.throughput = SecureRandom_js_1.SecureRandom.randomFloat() * 1000 + 100; // 100-1100 req/s
|
|
95
|
-
break;
|
|
96
|
-
case 'cpu':
|
|
97
|
-
metrics.cpu = SecureRandom_js_1.SecureRandom.randomFloat() * 80 + 10; // 10-90%
|
|
98
|
-
break;
|
|
99
|
-
case 'memory':
|
|
100
|
-
metrics.memory = SecureRandom_js_1.SecureRandom.randomFloat() * 500 + 50; // 50-550 MB
|
|
101
|
-
break;
|
|
102
|
-
case 'io':
|
|
103
|
-
metrics.io = SecureRandom_js_1.SecureRandom.randomFloat() * 1000 + 100; // 100-1100 ops/s
|
|
104
|
-
break;
|
|
105
|
-
case 'network':
|
|
106
|
-
metrics.network = SecureRandom_js_1.SecureRandom.randomFloat() * 100 + 10; // 10-110 Mbps
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
return metrics;
|
|
111
|
-
}
|
|
112
|
-
function calculateStatistics(values) {
|
|
113
|
-
const sorted = [...values].sort((a, b) => a - b);
|
|
114
|
-
const mean = values.reduce((sum, val) => sum + val, 0) / values.length;
|
|
115
|
-
const variance = values.reduce((sum, val) => sum + Math.pow(val - mean, 2), 0) / values.length;
|
|
116
|
-
const stdDev = Math.sqrt(variance);
|
|
117
|
-
return {
|
|
118
|
-
mean: Math.round(mean * 100) / 100,
|
|
119
|
-
median: sorted[Math.floor(sorted.length / 2)],
|
|
120
|
-
stdDev: Math.round(stdDev * 100) / 100,
|
|
121
|
-
min: Math.min(...values),
|
|
122
|
-
max: Math.max(...values),
|
|
123
|
-
p50: sorted[Math.floor(sorted.length * 0.5)],
|
|
124
|
-
p95: sorted[Math.floor(sorted.length * 0.95)],
|
|
125
|
-
p99: sorted[Math.floor(sorted.length * 0.99)]
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
function evaluatePerformance(metrics) {
|
|
129
|
-
const issues = [];
|
|
130
|
-
// Check latency
|
|
131
|
-
if (metrics.latency) {
|
|
132
|
-
if (metrics.latency.p99 > 500) {
|
|
133
|
-
issues.push(`High P99 latency: ${metrics.latency.p99}ms`);
|
|
134
|
-
}
|
|
135
|
-
if (metrics.latency.stdDev > metrics.latency.mean * 0.5) {
|
|
136
|
-
issues.push('High latency variance detected');
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
// Check CPU
|
|
140
|
-
if (metrics.cpu && metrics.cpu.mean > 80) {
|
|
141
|
-
issues.push(`High CPU usage: ${metrics.cpu.mean}%`);
|
|
142
|
-
}
|
|
143
|
-
// Check memory
|
|
144
|
-
if (metrics.memory && metrics.memory.max > 1000) {
|
|
145
|
-
issues.push(`High memory usage: ${metrics.memory.max}MB`);
|
|
146
|
-
}
|
|
147
|
-
if (issues.length === 0) {
|
|
148
|
-
return { status: 'pass' };
|
|
149
|
-
}
|
|
150
|
-
else if (issues.length < 2) {
|
|
151
|
-
return { status: 'warning', issues };
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
return { status: 'fail', issues };
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
async function compareWithBaseline(benchmarks) {
|
|
158
|
-
// Simulate baseline comparison
|
|
159
|
-
const improvement = Math.floor(benchmarks.length * 0.3);
|
|
160
|
-
const regression = Math.floor(benchmarks.length * 0.1);
|
|
161
|
-
const neutral = benchmarks.length - improvement - regression;
|
|
162
|
-
return {
|
|
163
|
-
target: 'baseline-v1.0',
|
|
164
|
-
improvement,
|
|
165
|
-
regression,
|
|
166
|
-
neutral
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
function generatePerformanceRecommendations(benchmarks) {
|
|
170
|
-
const recommendations = [];
|
|
171
|
-
const failedBenchmarks = benchmarks.filter(b => b.status === 'fail');
|
|
172
|
-
if (failedBenchmarks.length > 0) {
|
|
173
|
-
recommendations.push(`${failedBenchmarks.length} benchmarks failed. Review performance bottlenecks.`);
|
|
174
|
-
}
|
|
175
|
-
const highLatencyBenchmarks = benchmarks.filter(b => b.metrics.latency && b.metrics.latency.p99 > 300);
|
|
176
|
-
if (highLatencyBenchmarks.length > 0) {
|
|
177
|
-
recommendations.push('High latency detected. Consider caching or query optimization.');
|
|
178
|
-
}
|
|
179
|
-
const highCpuBenchmarks = benchmarks.filter(b => b.metrics.cpu && b.metrics.cpu.mean > 70);
|
|
180
|
-
if (highCpuBenchmarks.length > 0) {
|
|
181
|
-
recommendations.push('High CPU usage detected. Profile code for optimization opportunities.');
|
|
182
|
-
}
|
|
183
|
-
if (recommendations.length === 0) {
|
|
184
|
-
recommendations.push('All benchmarks passed. Performance is within acceptable limits.');
|
|
185
|
-
}
|
|
186
|
-
return recommendations;
|
|
187
|
-
}
|
|
188
|
-
//# sourceMappingURL=performanceBenchmarkRun.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"performanceBenchmarkRun.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performanceBenchmarkRun.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test Optimization Handler
|
|
3
|
-
*
|
|
4
|
-
* Handles test suite optimization using sublinear algorithms.
|
|
5
|
-
* Integrates with sublinear-core for mathematical optimization.
|
|
6
|
-
*
|
|
7
|
-
* @version 1.0.0
|
|
8
|
-
* @author Agentic QE Team
|
|
9
|
-
*/
|
|
10
|
-
import { BaseHandler, HandlerResponse } from './base-handler.js';
|
|
11
|
-
import { AgentRegistry } from '../services/AgentRegistry.js';
|
|
12
|
-
import { HookExecutor } from '../services/HookExecutor.js';
|
|
13
|
-
export interface OptimizeTestsArgs {
|
|
14
|
-
optimization: {
|
|
15
|
-
algorithm: 'sublinear' | 'johnson-lindenstrauss' | 'temporal-advantage';
|
|
16
|
-
targetMetric: 'execution-time' | 'coverage' | 'cost' | 'reliability';
|
|
17
|
-
constraints?: {
|
|
18
|
-
maxExecutionTime?: number;
|
|
19
|
-
minCoverage?: number;
|
|
20
|
-
maxCost?: number;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
testSuite?: {
|
|
24
|
-
size?: number;
|
|
25
|
-
characteristics?: string[];
|
|
26
|
-
historical_performance?: any;
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
export interface TestOptimization {
|
|
30
|
-
id: string;
|
|
31
|
-
algorithm: string;
|
|
32
|
-
targetMetric: string;
|
|
33
|
-
optimizedAt: string;
|
|
34
|
-
originalSuite: TestSuiteMetrics;
|
|
35
|
-
optimizedSuite: TestSuiteMetrics;
|
|
36
|
-
optimization: OptimizationResults;
|
|
37
|
-
recommendations: OptimizationRecommendation[];
|
|
38
|
-
implementation: ImplementationPlan;
|
|
39
|
-
performance: OptimizationPerformance;
|
|
40
|
-
}
|
|
41
|
-
export interface TestSuiteMetrics {
|
|
42
|
-
totalTests: number;
|
|
43
|
-
executionTime: number;
|
|
44
|
-
coverage: number;
|
|
45
|
-
cost: number;
|
|
46
|
-
reliability: number;
|
|
47
|
-
characteristics: TestCharacteristics;
|
|
48
|
-
}
|
|
49
|
-
export interface TestCharacteristics {
|
|
50
|
-
complexityDistribution: Record<string, number>;
|
|
51
|
-
typeDistribution: Record<string, number>;
|
|
52
|
-
dependencyGraph: DependencyNode[];
|
|
53
|
-
parallelizationPotential: number;
|
|
54
|
-
}
|
|
55
|
-
export interface DependencyNode {
|
|
56
|
-
testId: string;
|
|
57
|
-
dependencies: string[];
|
|
58
|
-
weight: number;
|
|
59
|
-
}
|
|
60
|
-
export interface OptimizationResults {
|
|
61
|
-
improvements: Record<string, number>;
|
|
62
|
-
selectedTests: SelectedTest[];
|
|
63
|
-
executionPlan: ExecutionPlan;
|
|
64
|
-
algorithmMetrics: AlgorithmMetrics;
|
|
65
|
-
tradeoffs: Tradeoff[];
|
|
66
|
-
}
|
|
67
|
-
export interface SelectedTest {
|
|
68
|
-
testId: string;
|
|
69
|
-
priority: number;
|
|
70
|
-
executionOrder: number;
|
|
71
|
-
reason: string;
|
|
72
|
-
estimatedImpact: number;
|
|
73
|
-
}
|
|
74
|
-
export interface ExecutionPlan {
|
|
75
|
-
phases: ExecutionPhase[];
|
|
76
|
-
parallelization: ParallelizationStrategy;
|
|
77
|
-
estimatedDuration: number;
|
|
78
|
-
resourceRequirements: ResourceRequirement[];
|
|
79
|
-
}
|
|
80
|
-
export interface ExecutionPhase {
|
|
81
|
-
phaseId: string;
|
|
82
|
-
tests: string[];
|
|
83
|
-
estimatedDuration: number;
|
|
84
|
-
dependencies: string[];
|
|
85
|
-
parallelizable: boolean;
|
|
86
|
-
}
|
|
87
|
-
export interface ParallelizationStrategy {
|
|
88
|
-
maxParallelTests: number;
|
|
89
|
-
batchSize: number;
|
|
90
|
-
loadBalancing: 'round-robin' | 'weighted' | 'adaptive';
|
|
91
|
-
resourceSharing: boolean;
|
|
92
|
-
}
|
|
93
|
-
export interface ResourceRequirement {
|
|
94
|
-
type: 'cpu' | 'memory' | 'network' | 'storage';
|
|
95
|
-
amount: number;
|
|
96
|
-
duration: number;
|
|
97
|
-
critical: boolean;
|
|
98
|
-
}
|
|
99
|
-
export interface AlgorithmMetrics {
|
|
100
|
-
complexity: string;
|
|
101
|
-
convergenceTime: number;
|
|
102
|
-
memoryUsage: number;
|
|
103
|
-
accuracy: number;
|
|
104
|
-
stability: number;
|
|
105
|
-
}
|
|
106
|
-
export interface Tradeoff {
|
|
107
|
-
metric: string;
|
|
108
|
-
originalValue: number;
|
|
109
|
-
optimizedValue: number;
|
|
110
|
-
tradeoffRatio: number;
|
|
111
|
-
impact: 'positive' | 'negative' | 'neutral';
|
|
112
|
-
}
|
|
113
|
-
export interface OptimizationRecommendation {
|
|
114
|
-
id: string;
|
|
115
|
-
category: string;
|
|
116
|
-
title: string;
|
|
117
|
-
description: string;
|
|
118
|
-
impact: number;
|
|
119
|
-
effort: 'low' | 'medium' | 'high';
|
|
120
|
-
priority: 'low' | 'medium' | 'high';
|
|
121
|
-
actions: RecommendationAction[];
|
|
122
|
-
}
|
|
123
|
-
export interface RecommendationAction {
|
|
124
|
-
type: 'test-removal' | 'test-modification' | 'test-addition' | 'infrastructure-change';
|
|
125
|
-
description: string;
|
|
126
|
-
testIds?: string[];
|
|
127
|
-
automated: boolean;
|
|
128
|
-
}
|
|
129
|
-
export interface ImplementationPlan {
|
|
130
|
-
phases: ImplementationPhase[];
|
|
131
|
-
rollbackPlan: RollbackStep[];
|
|
132
|
-
validation: ValidationStep[];
|
|
133
|
-
estimatedEffort: number;
|
|
134
|
-
}
|
|
135
|
-
export interface ImplementationPhase {
|
|
136
|
-
phaseId: string;
|
|
137
|
-
name: string;
|
|
138
|
-
description: string;
|
|
139
|
-
tasks: ImplementationTask[];
|
|
140
|
-
estimatedDuration: number;
|
|
141
|
-
dependencies: string[];
|
|
142
|
-
}
|
|
143
|
-
export interface ImplementationTask {
|
|
144
|
-
taskId: string;
|
|
145
|
-
description: string;
|
|
146
|
-
type: 'configuration' | 'code-change' | 'infrastructure' | 'testing';
|
|
147
|
-
effort: number;
|
|
148
|
-
automated: boolean;
|
|
149
|
-
}
|
|
150
|
-
export interface RollbackStep {
|
|
151
|
-
stepId: string;
|
|
152
|
-
description: string;
|
|
153
|
-
automated: boolean;
|
|
154
|
-
estimatedTime: number;
|
|
155
|
-
}
|
|
156
|
-
export interface ValidationStep {
|
|
157
|
-
stepId: string;
|
|
158
|
-
description: string;
|
|
159
|
-
criteria: string[];
|
|
160
|
-
automated: boolean;
|
|
161
|
-
}
|
|
162
|
-
export interface OptimizationPerformance {
|
|
163
|
-
algorithmExecutionTime: number;
|
|
164
|
-
memoryUsed: number;
|
|
165
|
-
optimizationRatio: number;
|
|
166
|
-
confidenceScore: number;
|
|
167
|
-
temporalAdvantage?: TemporalAdvantage;
|
|
168
|
-
}
|
|
169
|
-
export interface TemporalAdvantage {
|
|
170
|
-
enabled: boolean;
|
|
171
|
-
lightTravelTime: number;
|
|
172
|
-
computationTime: number;
|
|
173
|
-
advantage: number;
|
|
174
|
-
scenario: string;
|
|
175
|
-
}
|
|
176
|
-
export declare class OptimizeTestsHandler extends BaseHandler {
|
|
177
|
-
private optimizationHistory;
|
|
178
|
-
private algorithms;
|
|
179
|
-
private registry;
|
|
180
|
-
private hookExecutor;
|
|
181
|
-
constructor(registry: AgentRegistry, hookExecutor: HookExecutor);
|
|
182
|
-
handle(args: OptimizeTestsArgs): Promise<HandlerResponse>;
|
|
183
|
-
private initializeAlgorithms;
|
|
184
|
-
private validateOptimizationSpec;
|
|
185
|
-
private optimizeTestSuite;
|
|
186
|
-
private analyzeTestSuite;
|
|
187
|
-
private analyzeTestCharacteristics;
|
|
188
|
-
private generateDependencyGraph;
|
|
189
|
-
private applyOptimizationAlgorithm;
|
|
190
|
-
private simulateAlgorithmExecution;
|
|
191
|
-
private calculateImprovements;
|
|
192
|
-
private selectOptimalTests;
|
|
193
|
-
private getSelectionReason;
|
|
194
|
-
private createExecutionPlan;
|
|
195
|
-
private calculateResourceRequirements;
|
|
196
|
-
private calculateAlgorithmMetrics;
|
|
197
|
-
private identifyTradeoffs;
|
|
198
|
-
private calculateOptimizedMetrics;
|
|
199
|
-
private generateOptimizationRecommendations;
|
|
200
|
-
private createImplementationPlan;
|
|
201
|
-
private calculateOptimizationPerformance;
|
|
202
|
-
/**
|
|
203
|
-
* Get optimization by ID
|
|
204
|
-
*/
|
|
205
|
-
getOptimization(optimizationId: string): TestOptimization | undefined;
|
|
206
|
-
/**
|
|
207
|
-
* List all optimizations
|
|
208
|
-
*/
|
|
209
|
-
listOptimizations(): TestOptimization[];
|
|
210
|
-
/**
|
|
211
|
-
* Get algorithm information
|
|
212
|
-
*/
|
|
213
|
-
getAlgorithmInfo(algorithmName: string): any;
|
|
214
|
-
/**
|
|
215
|
-
* List available algorithms
|
|
216
|
-
*/
|
|
217
|
-
listAlgorithms(): any[];
|
|
218
|
-
}
|
|
219
|
-
//# sourceMappingURL=optimize-tests.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"optimize-tests.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/optimize-tests.ts"],"names":[],"mappings":"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"}
|