agentic-qe 2.3.3 → 2.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +122 -0
- package/README.md +1 -1
- package/dist/agents/ApiContractValidatorAgent.d.ts +5 -0
- package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -1
- package/dist/agents/ApiContractValidatorAgent.js +41 -0
- package/dist/agents/ApiContractValidatorAgent.js.map +1 -1
- package/dist/agents/BaseAgent.d.ts +10 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +113 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CodeComplexityAnalyzerAgent.d.ts +5 -0
- package/dist/agents/CodeComplexityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CodeComplexityAnalyzerAgent.js +47 -0
- package/dist/agents/CodeComplexityAnalyzerAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +26 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +149 -1
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.d.ts +5 -0
- package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.js +41 -0
- package/dist/agents/DeploymentReadinessAgent.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 +40 -0
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/FleetCommanderAgent.d.ts +5 -0
- package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
- package/dist/agents/FleetCommanderAgent.js +51 -0
- package/dist/agents/FleetCommanderAgent.js.map +1 -1
- package/dist/agents/PerformanceTesterAgent.d.ts +5 -0
- package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
- package/dist/agents/PerformanceTesterAgent.js +44 -0
- package/dist/agents/PerformanceTesterAgent.js.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.d.ts +5 -0
- package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.js +46 -0
- package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
- package/dist/agents/QXPartnerAgent.js +52 -0
- package/dist/agents/QXPartnerAgent.js.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts +5 -0
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.js +45 -0
- package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
- package/dist/agents/QualityGateAgent.d.ts +40 -0
- package/dist/agents/QualityGateAgent.d.ts.map +1 -1
- package/dist/agents/QualityGateAgent.js +227 -1
- package/dist/agents/QualityGateAgent.js.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +5 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.js +46 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.d.ts +5 -0
- package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.js +42 -0
- package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.d.ts +5 -0
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +39 -0
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- package/dist/agents/TestDataArchitectAgent.d.ts +5 -0
- package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
- package/dist/agents/TestDataArchitectAgent.js +46 -0
- package/dist/agents/TestDataArchitectAgent.js.map +1 -1
- package/dist/agents/TestExecutorAgent.d.ts +5 -0
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
- package/dist/agents/TestExecutorAgent.js +48 -0
- package/dist/agents/TestExecutorAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +5 -0
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +36 -0
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.js +5 -2
- package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
- package/dist/cli/commands/dream/index.d.ts +50 -0
- package/dist/cli/commands/dream/index.d.ts.map +1 -0
- package/dist/cli/commands/dream/index.js +282 -0
- package/dist/cli/commands/dream/index.js.map +1 -0
- package/dist/cli/commands/learn/index.d.ts +31 -5
- package/dist/cli/commands/learn/index.d.ts.map +1 -1
- package/dist/cli/commands/learn/index.js +183 -50
- package/dist/cli/commands/learn/index.js.map +1 -1
- package/dist/cli/commands/transfer/index.d.ts +55 -0
- package/dist/cli/commands/transfer/index.d.ts.map +1 -0
- package/dist/cli/commands/transfer/index.js +317 -0
- package/dist/cli/commands/transfer/index.js.map +1 -0
- package/dist/cli/index.js +224 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +12 -4
- package/dist/cli/init/index.js.map +1 -1
- package/dist/cli/init/learning-init.d.ts +39 -0
- package/dist/cli/init/learning-init.d.ts.map +1 -0
- package/dist/cli/init/learning-init.js +239 -0
- package/dist/cli/init/learning-init.js.map +1 -0
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/learning/baselines/BaselineCollector.d.ts +178 -0
- package/dist/learning/baselines/BaselineCollector.d.ts.map +1 -0
- package/dist/learning/baselines/BaselineCollector.js +398 -0
- package/dist/learning/baselines/BaselineCollector.js.map +1 -0
- package/dist/learning/baselines/StandardTaskSuite.d.ts +88 -0
- package/dist/learning/baselines/StandardTaskSuite.d.ts.map +1 -0
- package/dist/learning/baselines/StandardTaskSuite.js +801 -0
- package/dist/learning/baselines/StandardTaskSuite.js.map +1 -0
- package/dist/learning/baselines/index.d.ts +10 -0
- package/dist/learning/baselines/index.d.ts.map +1 -0
- package/dist/learning/baselines/index.js +15 -0
- package/dist/learning/baselines/index.js.map +1 -0
- package/dist/learning/capture/ExecutionRecorder.d.ts +97 -0
- package/dist/learning/capture/ExecutionRecorder.d.ts.map +1 -0
- package/dist/learning/capture/ExecutionRecorder.js +195 -0
- package/dist/learning/capture/ExecutionRecorder.js.map +1 -0
- package/dist/learning/capture/ExperienceCapture.d.ts +177 -0
- package/dist/learning/capture/ExperienceCapture.d.ts.map +1 -0
- package/dist/learning/capture/ExperienceCapture.js +432 -0
- package/dist/learning/capture/ExperienceCapture.js.map +1 -0
- package/dist/learning/capture/ExperienceExtractor.d.ts +219 -0
- package/dist/learning/capture/ExperienceExtractor.d.ts.map +1 -0
- package/dist/learning/capture/ExperienceExtractor.js +536 -0
- package/dist/learning/capture/ExperienceExtractor.js.map +1 -0
- package/dist/learning/capture/ExperienceStore.d.ts +196 -0
- package/dist/learning/capture/ExperienceStore.d.ts.map +1 -0
- package/dist/learning/capture/ExperienceStore.js +453 -0
- package/dist/learning/capture/ExperienceStore.js.map +1 -0
- package/dist/learning/capture/index.d.ts +12 -0
- package/dist/learning/capture/index.d.ts.map +1 -0
- package/dist/learning/capture/index.js +17 -0
- package/dist/learning/capture/index.js.map +1 -0
- package/dist/learning/dashboard/MetricsDashboard.d.ts +63 -0
- package/dist/learning/dashboard/MetricsDashboard.d.ts.map +1 -0
- package/dist/learning/dashboard/MetricsDashboard.js +230 -0
- package/dist/learning/dashboard/MetricsDashboard.js.map +1 -0
- package/dist/learning/dashboard/index.d.ts +7 -0
- package/dist/learning/dashboard/index.d.ts.map +1 -0
- package/dist/learning/dashboard/index.js +23 -0
- package/dist/learning/dashboard/index.js.map +1 -0
- package/dist/learning/dream/ConceptGraph.d.ts +160 -0
- package/dist/learning/dream/ConceptGraph.d.ts.map +1 -0
- package/dist/learning/dream/ConceptGraph.js +445 -0
- package/dist/learning/dream/ConceptGraph.js.map +1 -0
- package/dist/learning/dream/DreamEngine.d.ts +150 -0
- package/dist/learning/dream/DreamEngine.d.ts.map +1 -0
- package/dist/learning/dream/DreamEngine.js +551 -0
- package/dist/learning/dream/DreamEngine.js.map +1 -0
- package/dist/learning/dream/InsightGenerator.d.ts +152 -0
- package/dist/learning/dream/InsightGenerator.d.ts.map +1 -0
- package/dist/learning/dream/InsightGenerator.js +463 -0
- package/dist/learning/dream/InsightGenerator.js.map +1 -0
- package/dist/learning/dream/SpreadingActivation.d.ts +138 -0
- package/dist/learning/dream/SpreadingActivation.d.ts.map +1 -0
- package/dist/learning/dream/SpreadingActivation.js +320 -0
- package/dist/learning/dream/SpreadingActivation.js.map +1 -0
- package/dist/learning/dream/index.d.ts +14 -0
- package/dist/learning/dream/index.d.ts.map +1 -0
- package/dist/learning/dream/index.js +22 -0
- package/dist/learning/dream/index.js.map +1 -0
- package/dist/learning/metrics/AlertManager.d.ts +107 -0
- package/dist/learning/metrics/AlertManager.d.ts.map +1 -0
- package/dist/learning/metrics/AlertManager.js +246 -0
- package/dist/learning/metrics/AlertManager.js.map +1 -0
- package/dist/learning/metrics/LearningMetrics.d.ts +184 -0
- package/dist/learning/metrics/LearningMetrics.d.ts.map +1 -0
- package/dist/learning/metrics/LearningMetrics.js +754 -0
- package/dist/learning/metrics/LearningMetrics.js.map +1 -0
- package/dist/learning/metrics/MetricsCollector.d.ts +108 -0
- package/dist/learning/metrics/MetricsCollector.d.ts.map +1 -0
- package/dist/learning/metrics/MetricsCollector.js +240 -0
- package/dist/learning/metrics/MetricsCollector.js.map +1 -0
- package/dist/learning/metrics/MetricsStore.d.ts +149 -0
- package/dist/learning/metrics/MetricsStore.d.ts.map +1 -0
- package/dist/learning/metrics/MetricsStore.js +502 -0
- package/dist/learning/metrics/MetricsStore.js.map +1 -0
- package/dist/learning/metrics/TrendAnalyzer.d.ts +85 -0
- package/dist/learning/metrics/TrendAnalyzer.d.ts.map +1 -0
- package/dist/learning/metrics/TrendAnalyzer.js +210 -0
- package/dist/learning/metrics/TrendAnalyzer.js.map +1 -0
- package/dist/learning/metrics/index.d.ts +13 -0
- package/dist/learning/metrics/index.d.ts.map +1 -0
- package/dist/learning/metrics/index.js +39 -0
- package/dist/learning/metrics/index.js.map +1 -0
- package/dist/learning/scheduler/IdleDetector.d.ts +126 -0
- package/dist/learning/scheduler/IdleDetector.d.ts.map +1 -0
- package/dist/learning/scheduler/IdleDetector.js +281 -0
- package/dist/learning/scheduler/IdleDetector.js.map +1 -0
- package/dist/learning/scheduler/SleepCycle.d.ts +150 -0
- package/dist/learning/scheduler/SleepCycle.d.ts.map +1 -0
- package/dist/learning/scheduler/SleepCycle.js +506 -0
- package/dist/learning/scheduler/SleepCycle.js.map +1 -0
- package/dist/learning/scheduler/SleepScheduler.d.ts +133 -0
- package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -0
- package/dist/learning/scheduler/SleepScheduler.js +301 -0
- package/dist/learning/scheduler/SleepScheduler.js.map +1 -0
- package/dist/learning/scheduler/TimeBasedTrigger.d.ts +108 -0
- package/dist/learning/scheduler/TimeBasedTrigger.d.ts.map +1 -0
- package/dist/learning/scheduler/TimeBasedTrigger.js +222 -0
- package/dist/learning/scheduler/TimeBasedTrigger.js.map +1 -0
- package/dist/learning/scheduler/index.d.ts +16 -0
- package/dist/learning/scheduler/index.d.ts.map +1 -0
- package/dist/learning/scheduler/index.js +23 -0
- package/dist/learning/scheduler/index.js.map +1 -0
- package/dist/learning/synthesis/ClusteringEngine.d.ts +122 -0
- package/dist/learning/synthesis/ClusteringEngine.d.ts.map +1 -0
- package/dist/learning/synthesis/ClusteringEngine.js +356 -0
- package/dist/learning/synthesis/ClusteringEngine.js.map +1 -0
- package/dist/learning/synthesis/PatternSynthesis.d.ts +162 -0
- package/dist/learning/synthesis/PatternSynthesis.d.ts.map +1 -0
- package/dist/learning/synthesis/PatternSynthesis.js +479 -0
- package/dist/learning/synthesis/PatternSynthesis.js.map +1 -0
- package/dist/learning/synthesis/index.d.ts +10 -0
- package/dist/learning/synthesis/index.d.ts.map +1 -0
- package/dist/learning/synthesis/index.js +14 -0
- package/dist/learning/synthesis/index.js.map +1 -0
- package/dist/learning/transfer/CompatibilityScorer.d.ts +115 -0
- package/dist/learning/transfer/CompatibilityScorer.d.ts.map +1 -0
- package/dist/learning/transfer/CompatibilityScorer.js +319 -0
- package/dist/learning/transfer/CompatibilityScorer.js.map +1 -0
- package/dist/learning/transfer/TransferProtocol.d.ts +172 -0
- package/dist/learning/transfer/TransferProtocol.d.ts.map +1 -0
- package/dist/learning/transfer/TransferProtocol.js +611 -0
- package/dist/learning/transfer/TransferProtocol.js.map +1 -0
- package/dist/learning/transfer/TransferPrototype.d.ts +93 -0
- package/dist/learning/transfer/TransferPrototype.d.ts.map +1 -0
- package/dist/learning/transfer/TransferPrototype.js +433 -0
- package/dist/learning/transfer/TransferPrototype.js.map +1 -0
- package/dist/learning/transfer/TransferRegistry.d.ts +245 -0
- package/dist/learning/transfer/TransferRegistry.d.ts.map +1 -0
- package/dist/learning/transfer/TransferRegistry.js +410 -0
- package/dist/learning/transfer/TransferRegistry.js.map +1 -0
- package/dist/learning/transfer/TransferValidator.d.ts +140 -0
- package/dist/learning/transfer/TransferValidator.d.ts.map +1 -0
- package/dist/learning/transfer/TransferValidator.js +413 -0
- package/dist/learning/transfer/TransferValidator.js.map +1 -0
- package/dist/learning/transfer/index.d.ts +14 -0
- package/dist/learning/transfer/index.d.ts.map +1 -0
- package/dist/learning/transfer/index.js +22 -0
- package/dist/learning/transfer/index.js.map +1 -0
- package/dist/mcp/handlers/task-orchestrate.d.ts +11 -0
- package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
- package/dist/mcp/handlers/task-orchestrate.js +297 -4
- package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts +26 -2
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.js +159 -27
- package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/services/AgentRegistry.d.ts +6 -1
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +34 -3
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1,801 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* StandardTaskSuite - Standard tasks for baseline measurement
|
|
4
|
+
*
|
|
5
|
+
* Defines representative tasks for each of the 19 QE agents to ensure
|
|
6
|
+
* consistent and reproducible baseline measurements.
|
|
7
|
+
*
|
|
8
|
+
* Each agent type has 10 standard tasks covering typical workloads.
|
|
9
|
+
*
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
* @module src/learning/baselines/StandardTaskSuite
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.StandardTaskSuite = void 0;
|
|
15
|
+
const types_1 = require("../../types");
|
|
16
|
+
/**
|
|
17
|
+
* Task complexity to expected duration mapping
|
|
18
|
+
*/
|
|
19
|
+
const COMPLEXITY_DURATION = {
|
|
20
|
+
low: 1000, // 1 second
|
|
21
|
+
medium: 3000, // 3 seconds
|
|
22
|
+
high: 5000, // 5 seconds
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* StandardTaskSuite provides standard tasks for baseline measurement
|
|
26
|
+
*/
|
|
27
|
+
class StandardTaskSuite {
|
|
28
|
+
constructor() {
|
|
29
|
+
/**
|
|
30
|
+
* Track current agent type being initialized
|
|
31
|
+
*/
|
|
32
|
+
this.currentAgentType = null;
|
|
33
|
+
this.tasks = new Map();
|
|
34
|
+
this.initializeTasks();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Initialize standard tasks for all agent types
|
|
38
|
+
*/
|
|
39
|
+
initializeTasks() {
|
|
40
|
+
// Test Generator
|
|
41
|
+
this.addTasks(types_1.QEAgentType.TEST_GENERATOR, this.createTestGeneratorTasks());
|
|
42
|
+
this.initializeOtherAgents();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Create tasks for Test Generator
|
|
46
|
+
*/
|
|
47
|
+
createTestGeneratorTasks() {
|
|
48
|
+
const agentType = types_1.QEAgentType.TEST_GENERATOR;
|
|
49
|
+
return [
|
|
50
|
+
this.createTaskDirect(agentType, 'unit-test-generation', 'Generate Unit Tests', 'medium', {
|
|
51
|
+
sourceFile: 'UserService.ts',
|
|
52
|
+
coverage: 80,
|
|
53
|
+
}),
|
|
54
|
+
this.createTaskDirect(agentType, 'integration-test-generation', 'Generate Integration Tests', 'high', {
|
|
55
|
+
module: 'AuthModule',
|
|
56
|
+
endpoints: 3,
|
|
57
|
+
}),
|
|
58
|
+
this.createTaskDirect(agentType, 'e2e-test-generation', 'Generate E2E Tests', 'high', {
|
|
59
|
+
userFlow: 'checkout',
|
|
60
|
+
steps: 5,
|
|
61
|
+
}),
|
|
62
|
+
this.createTaskDirect(agentType, 'snapshot-test-generation', 'Generate Snapshot Tests', 'low', {
|
|
63
|
+
component: 'Button',
|
|
64
|
+
}),
|
|
65
|
+
this.createTaskDirect(agentType, 'api-test-generation', 'Generate API Tests', 'medium', {
|
|
66
|
+
endpoint: '/api/users',
|
|
67
|
+
methods: ['GET', 'POST'],
|
|
68
|
+
}),
|
|
69
|
+
this.createTaskDirect(agentType, 'regression-test-generation', 'Generate Regression Tests', 'medium', {
|
|
70
|
+
issueId: 'ISSUE-123',
|
|
71
|
+
area: 'authentication',
|
|
72
|
+
}),
|
|
73
|
+
this.createTaskDirect(agentType, 'edge-case-test-generation', 'Generate Edge Case Tests', 'high', {
|
|
74
|
+
functionName: 'calculateDiscount',
|
|
75
|
+
scenarios: 8,
|
|
76
|
+
}),
|
|
77
|
+
this.createTaskDirect(agentType, 'property-based-test-generation', 'Generate Property Tests', 'high', {
|
|
78
|
+
property: 'associativity',
|
|
79
|
+
functionName: 'merge',
|
|
80
|
+
}),
|
|
81
|
+
this.createTaskDirect(agentType, 'mutation-test-generation', 'Generate Mutation Tests', 'medium', {
|
|
82
|
+
sourceFile: 'Calculator.ts',
|
|
83
|
+
mutations: 10,
|
|
84
|
+
}),
|
|
85
|
+
this.createTaskDirect(agentType, 'contract-test-generation', 'Generate Contract Tests', 'medium', {
|
|
86
|
+
service: 'PaymentService',
|
|
87
|
+
contract: 'payment-api-v1',
|
|
88
|
+
}),
|
|
89
|
+
];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Initialize other agent types
|
|
93
|
+
*/
|
|
94
|
+
initializeOtherAgents() {
|
|
95
|
+
// Coverage Analyzer
|
|
96
|
+
this.addTasks(types_1.QEAgentType.COVERAGE_ANALYZER, [
|
|
97
|
+
this.createTaskDirect(types_1.QEAgentType.COVERAGE_ANALYZER, 'line-coverage-analysis', 'Analyze Line Coverage', 'low', {
|
|
98
|
+
testSuite: 'unit-tests',
|
|
99
|
+
}),
|
|
100
|
+
this.createTaskDirect(types_1.QEAgentType.COVERAGE_ANALYZER, 'branch-coverage-analysis', 'Analyze Branch Coverage', 'medium', {
|
|
101
|
+
testSuite: 'integration-tests',
|
|
102
|
+
}),
|
|
103
|
+
this.createTaskDirect(types_1.QEAgentType.COVERAGE_ANALYZER, 'function-coverage-analysis', 'Analyze Function Coverage', 'low', {
|
|
104
|
+
module: 'UserModule',
|
|
105
|
+
}),
|
|
106
|
+
this.createTaskDirect(types_1.QEAgentType.COVERAGE_ANALYZER, 'statement-coverage-analysis', 'Analyze Statement Coverage', 'medium', {
|
|
107
|
+
file: 'PaymentProcessor.ts',
|
|
108
|
+
}),
|
|
109
|
+
this.createTaskDirect(types_1.QEAgentType.COVERAGE_ANALYZER, 'coverage-gap-identification', 'Identify Coverage Gaps', 'high', {
|
|
110
|
+
threshold: 80,
|
|
111
|
+
critical: true,
|
|
112
|
+
}),
|
|
113
|
+
this.createTaskDirect(types_1.QEAgentType.COVERAGE_ANALYZER, 'coverage-trend-analysis', 'Analyze Coverage Trends', 'medium', {
|
|
114
|
+
period: '7d',
|
|
115
|
+
}),
|
|
116
|
+
this.createTaskDirect(types_1.QEAgentType.COVERAGE_ANALYZER, 'file-coverage-ranking', 'Rank Files by Coverage', 'low', {
|
|
117
|
+
sortBy: 'coverage',
|
|
118
|
+
}),
|
|
119
|
+
this.createTaskDirect(types_1.QEAgentType.COVERAGE_ANALYZER, 'untested-code-detection', 'Detect Untested Code', 'medium', {
|
|
120
|
+
severity: 'high',
|
|
121
|
+
}),
|
|
122
|
+
this.createTaskDirect(types_1.QEAgentType.COVERAGE_ANALYZER, 'coverage-report-generation', 'Generate Coverage Report', 'low', {
|
|
123
|
+
format: 'html',
|
|
124
|
+
}),
|
|
125
|
+
this.createTaskDirect(types_1.QEAgentType.COVERAGE_ANALYZER, 'differential-coverage-analysis', 'Analyze Differential Coverage', 'high', {
|
|
126
|
+
baseBranch: 'main',
|
|
127
|
+
headBranch: 'feature',
|
|
128
|
+
}),
|
|
129
|
+
]);
|
|
130
|
+
// Quality Gate
|
|
131
|
+
this.addTasks(types_1.QEAgentType.QUALITY_GATE, [
|
|
132
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_GATE, 'quality-gate-evaluation', 'Evaluate Quality Gate', 'medium', {
|
|
133
|
+
metrics: ['coverage', 'bugs', 'vulnerabilities'],
|
|
134
|
+
}),
|
|
135
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_GATE, 'coverage-gate-check', 'Check Coverage Gate', 'low', {
|
|
136
|
+
threshold: 80,
|
|
137
|
+
type: 'line',
|
|
138
|
+
}),
|
|
139
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_GATE, 'bug-density-check', 'Check Bug Density', 'medium', {
|
|
140
|
+
threshold: 5,
|
|
141
|
+
severity: 'high',
|
|
142
|
+
}),
|
|
143
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_GATE, 'code-smell-gate', 'Check Code Smells', 'medium', {
|
|
144
|
+
maxSmells: 10,
|
|
145
|
+
}),
|
|
146
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_GATE, 'security-gate-check', 'Check Security Gate', 'high', {
|
|
147
|
+
maxVulnerabilities: 0,
|
|
148
|
+
severity: 'critical',
|
|
149
|
+
}),
|
|
150
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_GATE, 'performance-gate-check', 'Check Performance Gate', 'medium', {
|
|
151
|
+
maxResponseTime: 200,
|
|
152
|
+
}),
|
|
153
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_GATE, 'complexity-gate-check', 'Check Complexity Gate', 'low', {
|
|
154
|
+
maxComplexity: 10,
|
|
155
|
+
}),
|
|
156
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_GATE, 'duplication-gate-check', 'Check Duplication Gate', 'low', {
|
|
157
|
+
maxDuplication: 3,
|
|
158
|
+
}),
|
|
159
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_GATE, 'maintainability-gate-check', 'Check Maintainability Gate', 'medium', {
|
|
160
|
+
minMaintainability: 'A',
|
|
161
|
+
}),
|
|
162
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_GATE, 'custom-gate-evaluation', 'Evaluate Custom Gate', 'high', {
|
|
163
|
+
rules: ['custom-rule-1', 'custom-rule-2'],
|
|
164
|
+
}),
|
|
165
|
+
]);
|
|
166
|
+
// Performance Tester
|
|
167
|
+
this.addTasks(types_1.QEAgentType.PERFORMANCE_TESTER, [
|
|
168
|
+
this.createTaskDirect(types_1.QEAgentType.PERFORMANCE_TESTER, 'load-test', 'Execute Load Test', 'high', {
|
|
169
|
+
users: 100,
|
|
170
|
+
duration: '5m',
|
|
171
|
+
}),
|
|
172
|
+
this.createTaskDirect(types_1.QEAgentType.PERFORMANCE_TESTER, 'stress-test', 'Execute Stress Test', 'high', {
|
|
173
|
+
rampUp: 200,
|
|
174
|
+
duration: '10m',
|
|
175
|
+
}),
|
|
176
|
+
this.createTaskDirect(types_1.QEAgentType.PERFORMANCE_TESTER, 'spike-test', 'Execute Spike Test', 'high', {
|
|
177
|
+
baseline: 50,
|
|
178
|
+
spike: 500,
|
|
179
|
+
}),
|
|
180
|
+
this.createTaskDirect(types_1.QEAgentType.PERFORMANCE_TESTER, 'endurance-test', 'Execute Endurance Test', 'high', {
|
|
181
|
+
users: 50,
|
|
182
|
+
duration: '30m',
|
|
183
|
+
}),
|
|
184
|
+
this.createTaskDirect(types_1.QEAgentType.PERFORMANCE_TESTER, 'scalability-test', 'Execute Scalability Test', 'high', {
|
|
185
|
+
minUsers: 10,
|
|
186
|
+
maxUsers: 1000,
|
|
187
|
+
}),
|
|
188
|
+
this.createTaskDirect(types_1.QEAgentType.PERFORMANCE_TESTER, 'response-time-test', 'Test Response Time', 'medium', {
|
|
189
|
+
endpoint: '/api/search',
|
|
190
|
+
target: 200,
|
|
191
|
+
}),
|
|
192
|
+
this.createTaskDirect(types_1.QEAgentType.PERFORMANCE_TESTER, 'throughput-test', 'Test Throughput', 'medium', {
|
|
193
|
+
target: 1000,
|
|
194
|
+
metric: 'rps',
|
|
195
|
+
}),
|
|
196
|
+
this.createTaskDirect(types_1.QEAgentType.PERFORMANCE_TESTER, 'concurrency-test', 'Test Concurrency', 'high', {
|
|
197
|
+
concurrent: 100,
|
|
198
|
+
}),
|
|
199
|
+
this.createTaskDirect(types_1.QEAgentType.PERFORMANCE_TESTER, 'resource-utilization-test', 'Test Resource Utilization', 'medium', {
|
|
200
|
+
metrics: ['cpu', 'memory', 'disk'],
|
|
201
|
+
}),
|
|
202
|
+
this.createTaskDirect(types_1.QEAgentType.PERFORMANCE_TESTER, 'performance-baseline-test', 'Establish Performance Baseline', 'medium', {
|
|
203
|
+
scenarios: 5,
|
|
204
|
+
}),
|
|
205
|
+
]);
|
|
206
|
+
// Security Scanner
|
|
207
|
+
this.addTasks(types_1.QEAgentType.SECURITY_SCANNER, [
|
|
208
|
+
this.createTaskDirect(types_1.QEAgentType.SECURITY_SCANNER, 'vulnerability-scan', 'Scan for Vulnerabilities', 'high', {
|
|
209
|
+
target: 'web-app',
|
|
210
|
+
depth: 'full',
|
|
211
|
+
}),
|
|
212
|
+
this.createTaskDirect(types_1.QEAgentType.SECURITY_SCANNER, 'dependency-audit', 'Audit Dependencies', 'medium', {
|
|
213
|
+
manifest: 'package.json',
|
|
214
|
+
severity: 'high',
|
|
215
|
+
}),
|
|
216
|
+
this.createTaskDirect(types_1.QEAgentType.SECURITY_SCANNER, 'sql-injection-test', 'Test SQL Injection', 'medium', {
|
|
217
|
+
endpoints: ['/api/search', '/api/login'],
|
|
218
|
+
}),
|
|
219
|
+
this.createTaskDirect(types_1.QEAgentType.SECURITY_SCANNER, 'xss-vulnerability-test', 'Test XSS Vulnerabilities', 'medium', {
|
|
220
|
+
forms: ['search', 'comment'],
|
|
221
|
+
}),
|
|
222
|
+
this.createTaskDirect(types_1.QEAgentType.SECURITY_SCANNER, 'authentication-audit', 'Audit Authentication', 'high', {
|
|
223
|
+
flows: ['login', 'oauth', 'jwt'],
|
|
224
|
+
}),
|
|
225
|
+
this.createTaskDirect(types_1.QEAgentType.SECURITY_SCANNER, 'authorization-test', 'Test Authorization', 'high', {
|
|
226
|
+
roles: ['user', 'admin', 'guest'],
|
|
227
|
+
}),
|
|
228
|
+
this.createTaskDirect(types_1.QEAgentType.SECURITY_SCANNER, 'secrets-detection', 'Detect Exposed Secrets', 'medium', {
|
|
229
|
+
scope: 'repository',
|
|
230
|
+
}),
|
|
231
|
+
this.createTaskDirect(types_1.QEAgentType.SECURITY_SCANNER, 'api-security-scan', 'Scan API Security', 'high', {
|
|
232
|
+
endpoints: 10,
|
|
233
|
+
methods: ['GET', 'POST', 'PUT', 'DELETE'],
|
|
234
|
+
}),
|
|
235
|
+
this.createTaskDirect(types_1.QEAgentType.SECURITY_SCANNER, 'container-security-scan', 'Scan Container Security', 'high', {
|
|
236
|
+
image: 'app:latest',
|
|
237
|
+
}),
|
|
238
|
+
this.createTaskDirect(types_1.QEAgentType.SECURITY_SCANNER, 'compliance-check', 'Check Compliance', 'high', {
|
|
239
|
+
standards: ['OWASP', 'PCI-DSS'],
|
|
240
|
+
}),
|
|
241
|
+
]);
|
|
242
|
+
// Chaos Engineer
|
|
243
|
+
this.addTasks(types_1.QEAgentType.CHAOS_ENGINEER, [
|
|
244
|
+
this.createTaskDirect(types_1.QEAgentType.CHAOS_ENGINEER, 'network-latency-injection', 'Inject Network Latency', 'medium', {
|
|
245
|
+
delay: 1000,
|
|
246
|
+
target: 'api-service',
|
|
247
|
+
}),
|
|
248
|
+
this.createTaskDirect(types_1.QEAgentType.CHAOS_ENGINEER, 'service-failure-injection', 'Inject Service Failure', 'high', {
|
|
249
|
+
service: 'database',
|
|
250
|
+
duration: '30s',
|
|
251
|
+
}),
|
|
252
|
+
this.createTaskDirect(types_1.QEAgentType.CHAOS_ENGINEER, 'cpu-stress-injection', 'Inject CPU Stress', 'high', {
|
|
253
|
+
percentage: 90,
|
|
254
|
+
duration: '1m',
|
|
255
|
+
}),
|
|
256
|
+
this.createTaskDirect(types_1.QEAgentType.CHAOS_ENGINEER, 'memory-pressure-injection', 'Inject Memory Pressure', 'high', {
|
|
257
|
+
percentage: 85,
|
|
258
|
+
duration: '1m',
|
|
259
|
+
}),
|
|
260
|
+
this.createTaskDirect(types_1.QEAgentType.CHAOS_ENGINEER, 'disk-fill-injection', 'Inject Disk Fill', 'high', {
|
|
261
|
+
percentage: 95,
|
|
262
|
+
duration: '30s',
|
|
263
|
+
}),
|
|
264
|
+
this.createTaskDirect(types_1.QEAgentType.CHAOS_ENGINEER, 'packet-loss-injection', 'Inject Packet Loss', 'medium', {
|
|
265
|
+
percentage: 10,
|
|
266
|
+
target: 'api-gateway',
|
|
267
|
+
}),
|
|
268
|
+
this.createTaskDirect(types_1.QEAgentType.CHAOS_ENGINEER, 'pod-kill-injection', 'Inject Pod Kill', 'high', {
|
|
269
|
+
namespace: 'production',
|
|
270
|
+
target: 'web-app',
|
|
271
|
+
}),
|
|
272
|
+
this.createTaskDirect(types_1.QEAgentType.CHAOS_ENGINEER, 'dns-failure-injection', 'Inject DNS Failure', 'medium', {
|
|
273
|
+
target: 'external-api',
|
|
274
|
+
duration: '30s',
|
|
275
|
+
}),
|
|
276
|
+
this.createTaskDirect(types_1.QEAgentType.CHAOS_ENGINEER, 'clock-skew-injection', 'Inject Clock Skew', 'medium', {
|
|
277
|
+
offset: '5m',
|
|
278
|
+
target: 'auth-service',
|
|
279
|
+
}),
|
|
280
|
+
this.createTaskDirect(types_1.QEAgentType.CHAOS_ENGINEER, 'cascading-failure-simulation', 'Simulate Cascading Failure', 'high', {
|
|
281
|
+
startService: 'cache',
|
|
282
|
+
propagation: true,
|
|
283
|
+
}),
|
|
284
|
+
]);
|
|
285
|
+
// Visual Tester
|
|
286
|
+
this.addTasks(types_1.QEAgentType.VISUAL_TESTER, [
|
|
287
|
+
this.createTaskDirect(types_1.QEAgentType.VISUAL_TESTER, 'screenshot-comparison', 'Compare Screenshots', 'medium', {
|
|
288
|
+
baseline: 'baseline.png',
|
|
289
|
+
current: 'current.png',
|
|
290
|
+
}),
|
|
291
|
+
this.createTaskDirect(types_1.QEAgentType.VISUAL_TESTER, 'responsive-layout-test', 'Test Responsive Layout', 'high', {
|
|
292
|
+
breakpoints: [320, 768, 1024, 1920],
|
|
293
|
+
}),
|
|
294
|
+
this.createTaskDirect(types_1.QEAgentType.VISUAL_TESTER, 'cross-browser-visual-test', 'Test Cross-Browser Visual', 'high', {
|
|
295
|
+
browsers: ['chrome', 'firefox', 'safari'],
|
|
296
|
+
}),
|
|
297
|
+
this.createTaskDirect(types_1.QEAgentType.VISUAL_TESTER, 'component-visual-regression', 'Test Component Visual Regression', 'medium', {
|
|
298
|
+
component: 'Button',
|
|
299
|
+
states: ['default', 'hover', 'active'],
|
|
300
|
+
}),
|
|
301
|
+
this.createTaskDirect(types_1.QEAgentType.VISUAL_TESTER, 'page-visual-regression', 'Test Page Visual Regression', 'high', {
|
|
302
|
+
page: '/dashboard',
|
|
303
|
+
scenarios: 5,
|
|
304
|
+
}),
|
|
305
|
+
this.createTaskDirect(types_1.QEAgentType.VISUAL_TESTER, 'color-contrast-check', 'Check Color Contrast', 'low', {
|
|
306
|
+
standard: 'WCAG-AA',
|
|
307
|
+
}),
|
|
308
|
+
this.createTaskDirect(types_1.QEAgentType.VISUAL_TESTER, 'font-rendering-test', 'Test Font Rendering', 'medium', {
|
|
309
|
+
fonts: ['Roboto', 'Open Sans'],
|
|
310
|
+
}),
|
|
311
|
+
this.createTaskDirect(types_1.QEAgentType.VISUAL_TESTER, 'animation-test', 'Test Animations', 'medium', {
|
|
312
|
+
animations: ['fade', 'slide', 'zoom'],
|
|
313
|
+
}),
|
|
314
|
+
this.createTaskDirect(types_1.QEAgentType.VISUAL_TESTER, 'image-optimization-check', 'Check Image Optimization', 'low', {
|
|
315
|
+
format: 'webp',
|
|
316
|
+
quality: 80,
|
|
317
|
+
}),
|
|
318
|
+
this.createTaskDirect(types_1.QEAgentType.VISUAL_TESTER, 'dark-mode-visual-test', 'Test Dark Mode Visual', 'medium', {
|
|
319
|
+
pages: ['/home', '/dashboard'],
|
|
320
|
+
}),
|
|
321
|
+
]);
|
|
322
|
+
// Flaky Test Hunter
|
|
323
|
+
this.addTasks(types_1.QEAgentType.FLAKY_TEST_HUNTER, [
|
|
324
|
+
this.createTaskDirect(types_1.QEAgentType.FLAKY_TEST_HUNTER, 'flaky-test-detection', 'Detect Flaky Tests', 'high', {
|
|
325
|
+
runs: 50,
|
|
326
|
+
threshold: 0.95,
|
|
327
|
+
}),
|
|
328
|
+
this.createTaskDirect(types_1.QEAgentType.FLAKY_TEST_HUNTER, 'test-stability-analysis', 'Analyze Test Stability', 'medium', {
|
|
329
|
+
period: '7d',
|
|
330
|
+
testSuite: 'integration',
|
|
331
|
+
}),
|
|
332
|
+
this.createTaskDirect(types_1.QEAgentType.FLAKY_TEST_HUNTER, 'timing-issue-detection', 'Detect Timing Issues', 'high', {
|
|
333
|
+
testFile: 'auth.test.ts',
|
|
334
|
+
}),
|
|
335
|
+
this.createTaskDirect(types_1.QEAgentType.FLAKY_TEST_HUNTER, 'race-condition-detection', 'Detect Race Conditions', 'high', {
|
|
336
|
+
concurrentTests: true,
|
|
337
|
+
}),
|
|
338
|
+
this.createTaskDirect(types_1.QEAgentType.FLAKY_TEST_HUNTER, 'environmental-flake-detection', 'Detect Environmental Flakes', 'high', {
|
|
339
|
+
environments: ['dev', 'staging', 'prod'],
|
|
340
|
+
}),
|
|
341
|
+
this.createTaskDirect(types_1.QEAgentType.FLAKY_TEST_HUNTER, 'dependency-flake-detection', 'Detect Dependency Flakes', 'medium', {
|
|
342
|
+
externalServices: ['api', 'database'],
|
|
343
|
+
}),
|
|
344
|
+
this.createTaskDirect(types_1.QEAgentType.FLAKY_TEST_HUNTER, 'test-isolation-check', 'Check Test Isolation', 'medium', {
|
|
345
|
+
testSuite: 'unit-tests',
|
|
346
|
+
}),
|
|
347
|
+
this.createTaskDirect(types_1.QEAgentType.FLAKY_TEST_HUNTER, 'flake-pattern-analysis', 'Analyze Flake Patterns', 'high', {
|
|
348
|
+
period: '30d',
|
|
349
|
+
}),
|
|
350
|
+
this.createTaskDirect(types_1.QEAgentType.FLAKY_TEST_HUNTER, 'flake-fix-recommendation', 'Recommend Flake Fixes', 'high', {
|
|
351
|
+
testId: 'TEST-123',
|
|
352
|
+
}),
|
|
353
|
+
this.createTaskDirect(types_1.QEAgentType.FLAKY_TEST_HUNTER, 'flake-impact-assessment', 'Assess Flake Impact', 'medium', {
|
|
354
|
+
metric: 'build-time',
|
|
355
|
+
}),
|
|
356
|
+
]);
|
|
357
|
+
// API Contract Validator
|
|
358
|
+
this.addTasks(types_1.QEAgentType.API_CONTRACT_VALIDATOR, [
|
|
359
|
+
this.createTaskDirect(types_1.QEAgentType.API_CONTRACT_VALIDATOR, 'contract-schema-validation', 'Validate Contract Schema', 'medium', {
|
|
360
|
+
contract: 'openapi-3.0.json',
|
|
361
|
+
}),
|
|
362
|
+
this.createTaskDirect(types_1.QEAgentType.API_CONTRACT_VALIDATOR, 'request-validation', 'Validate API Requests', 'medium', {
|
|
363
|
+
endpoint: '/api/users',
|
|
364
|
+
method: 'POST',
|
|
365
|
+
}),
|
|
366
|
+
this.createTaskDirect(types_1.QEAgentType.API_CONTRACT_VALIDATOR, 'response-validation', 'Validate API Responses', 'medium', {
|
|
367
|
+
endpoint: '/api/products',
|
|
368
|
+
expectedStatus: 200,
|
|
369
|
+
}),
|
|
370
|
+
this.createTaskDirect(types_1.QEAgentType.API_CONTRACT_VALIDATOR, 'contract-compatibility-check', 'Check Contract Compatibility', 'high', {
|
|
371
|
+
oldVersion: 'v1',
|
|
372
|
+
newVersion: 'v2',
|
|
373
|
+
}),
|
|
374
|
+
this.createTaskDirect(types_1.QEAgentType.API_CONTRACT_VALIDATOR, 'breaking-change-detection', 'Detect Breaking Changes', 'high', {
|
|
375
|
+
baseline: 'v1.0.0',
|
|
376
|
+
current: 'v1.1.0',
|
|
377
|
+
}),
|
|
378
|
+
this.createTaskDirect(types_1.QEAgentType.API_CONTRACT_VALIDATOR, 'contract-versioning-validation', 'Validate Contract Versioning', 'medium', {
|
|
379
|
+
versions: ['v1', 'v2', 'v3'],
|
|
380
|
+
}),
|
|
381
|
+
this.createTaskDirect(types_1.QEAgentType.API_CONTRACT_VALIDATOR, 'consumer-contract-test', 'Test Consumer Contract', 'high', {
|
|
382
|
+
consumer: 'mobile-app',
|
|
383
|
+
provider: 'api-service',
|
|
384
|
+
}),
|
|
385
|
+
this.createTaskDirect(types_1.QEAgentType.API_CONTRACT_VALIDATOR, 'provider-contract-test', 'Test Provider Contract', 'high', {
|
|
386
|
+
provider: 'payment-service',
|
|
387
|
+
consumers: 3,
|
|
388
|
+
}),
|
|
389
|
+
this.createTaskDirect(types_1.QEAgentType.API_CONTRACT_VALIDATOR, 'contract-mock-generation', 'Generate Contract Mocks', 'medium', {
|
|
390
|
+
contract: 'payment-api.yaml',
|
|
391
|
+
}),
|
|
392
|
+
this.createTaskDirect(types_1.QEAgentType.API_CONTRACT_VALIDATOR, 'contract-documentation-validation', 'Validate Contract Documentation', 'low', {
|
|
393
|
+
contract: 'api-spec.json',
|
|
394
|
+
}),
|
|
395
|
+
]);
|
|
396
|
+
// Deployment Readiness
|
|
397
|
+
this.addTasks(types_1.QEAgentType.DEPLOYMENT_READINESS, [
|
|
398
|
+
this.createTaskDirect(types_1.QEAgentType.DEPLOYMENT_READINESS, 'pre-deployment-checks', 'Execute Pre-Deployment Checks', 'high', {
|
|
399
|
+
environment: 'production',
|
|
400
|
+
checks: ['tests', 'security', 'performance'],
|
|
401
|
+
}),
|
|
402
|
+
this.createTaskDirect(types_1.QEAgentType.DEPLOYMENT_READINESS, 'smoke-test-execution', 'Execute Smoke Tests', 'medium', {
|
|
403
|
+
endpoints: ['/health', '/api/ping'],
|
|
404
|
+
}),
|
|
405
|
+
this.createTaskDirect(types_1.QEAgentType.DEPLOYMENT_READINESS, 'configuration-validation', 'Validate Configuration', 'medium', {
|
|
406
|
+
environment: 'staging',
|
|
407
|
+
}),
|
|
408
|
+
this.createTaskDirect(types_1.QEAgentType.DEPLOYMENT_READINESS, 'dependency-readiness-check', 'Check Dependency Readiness', 'high', {
|
|
409
|
+
services: ['database', 'cache', 'queue'],
|
|
410
|
+
}),
|
|
411
|
+
this.createTaskDirect(types_1.QEAgentType.DEPLOYMENT_READINESS, 'rollback-readiness-check', 'Check Rollback Readiness', 'high', {
|
|
412
|
+
version: 'v1.2.3',
|
|
413
|
+
}),
|
|
414
|
+
this.createTaskDirect(types_1.QEAgentType.DEPLOYMENT_READINESS, 'capacity-planning-check', 'Check Capacity Planning', 'medium', {
|
|
415
|
+
expectedLoad: 1000,
|
|
416
|
+
}),
|
|
417
|
+
this.createTaskDirect(types_1.QEAgentType.DEPLOYMENT_READINESS, 'monitoring-validation', 'Validate Monitoring', 'medium', {
|
|
418
|
+
metrics: ['cpu', 'memory', 'errors'],
|
|
419
|
+
}),
|
|
420
|
+
this.createTaskDirect(types_1.QEAgentType.DEPLOYMENT_READINESS, 'database-migration-validation', 'Validate Database Migration', 'high', {
|
|
421
|
+
migration: '20231201_add_users_table',
|
|
422
|
+
}),
|
|
423
|
+
this.createTaskDirect(types_1.QEAgentType.DEPLOYMENT_READINESS, 'feature-flag-validation', 'Validate Feature Flags', 'medium', {
|
|
424
|
+
flags: ['new-ui', 'beta-feature'],
|
|
425
|
+
}),
|
|
426
|
+
this.createTaskDirect(types_1.QEAgentType.DEPLOYMENT_READINESS, 'deployment-risk-assessment', 'Assess Deployment Risk', 'high', {
|
|
427
|
+
changeSize: 'large',
|
|
428
|
+
criticalChanges: true,
|
|
429
|
+
}),
|
|
430
|
+
]);
|
|
431
|
+
// Requirements Validator
|
|
432
|
+
this.addTasks(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, [
|
|
433
|
+
this.createTaskDirect(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, 'requirement-completeness-check', 'Check Requirement Completeness', 'medium', {
|
|
434
|
+
document: 'requirements.md',
|
|
435
|
+
}),
|
|
436
|
+
this.createTaskDirect(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, 'requirement-traceability', 'Trace Requirements', 'high', {
|
|
437
|
+
requirement: 'REQ-001',
|
|
438
|
+
toTests: true,
|
|
439
|
+
}),
|
|
440
|
+
this.createTaskDirect(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, 'acceptance-criteria-validation', 'Validate Acceptance Criteria', 'medium', {
|
|
441
|
+
story: 'USER-123',
|
|
442
|
+
}),
|
|
443
|
+
this.createTaskDirect(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, 'requirement-ambiguity-detection', 'Detect Requirement Ambiguity', 'high', {
|
|
444
|
+
document: 'spec.md',
|
|
445
|
+
}),
|
|
446
|
+
this.createTaskDirect(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, 'requirement-conflict-detection', 'Detect Requirement Conflicts', 'high', {
|
|
447
|
+
requirements: ['REQ-001', 'REQ-002'],
|
|
448
|
+
}),
|
|
449
|
+
this.createTaskDirect(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, 'requirement-coverage-analysis', 'Analyze Requirement Coverage', 'high', {
|
|
450
|
+
requirements: 50,
|
|
451
|
+
tests: 100,
|
|
452
|
+
}),
|
|
453
|
+
this.createTaskDirect(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, 'requirement-priority-validation', 'Validate Requirement Priority', 'low', {
|
|
454
|
+
priorities: ['P0', 'P1', 'P2'],
|
|
455
|
+
}),
|
|
456
|
+
this.createTaskDirect(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, 'requirement-feasibility-check', 'Check Requirement Feasibility', 'high', {
|
|
457
|
+
requirement: 'REQ-123',
|
|
458
|
+
constraints: ['time', 'resources'],
|
|
459
|
+
}),
|
|
460
|
+
this.createTaskDirect(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, 'requirement-change-impact-analysis', 'Analyze Requirement Change Impact', 'high', {
|
|
461
|
+
oldRequirement: 'REQ-001-v1',
|
|
462
|
+
newRequirement: 'REQ-001-v2',
|
|
463
|
+
}),
|
|
464
|
+
this.createTaskDirect(types_1.QEAgentType.REQUIREMENTS_VALIDATOR, 'requirement-documentation-quality', 'Check Documentation Quality', 'medium', {
|
|
465
|
+
standards: ['IEEE-830'],
|
|
466
|
+
}),
|
|
467
|
+
]);
|
|
468
|
+
// Production Intelligence
|
|
469
|
+
this.addTasks(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, [
|
|
470
|
+
this.createTaskDirect(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, 'production-error-analysis', 'Analyze Production Errors', 'high', {
|
|
471
|
+
period: '24h',
|
|
472
|
+
severity: 'error',
|
|
473
|
+
}),
|
|
474
|
+
this.createTaskDirect(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, 'performance-anomaly-detection', 'Detect Performance Anomalies', 'high', {
|
|
475
|
+
metric: 'response-time',
|
|
476
|
+
threshold: 'auto',
|
|
477
|
+
}),
|
|
478
|
+
this.createTaskDirect(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, 'user-behavior-analysis', 'Analyze User Behavior', 'medium', {
|
|
479
|
+
period: '7d',
|
|
480
|
+
segments: ['new', 'active', 'churned'],
|
|
481
|
+
}),
|
|
482
|
+
this.createTaskDirect(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, 'production-metric-correlation', 'Correlate Production Metrics', 'high', {
|
|
483
|
+
metrics: ['errors', 'latency', 'cpu'],
|
|
484
|
+
}),
|
|
485
|
+
this.createTaskDirect(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, 'incident-pattern-recognition', 'Recognize Incident Patterns', 'high', {
|
|
486
|
+
incidents: 20,
|
|
487
|
+
period: '30d',
|
|
488
|
+
}),
|
|
489
|
+
this.createTaskDirect(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, 'capacity-trend-analysis', 'Analyze Capacity Trends', 'medium', {
|
|
490
|
+
metric: 'requests-per-second',
|
|
491
|
+
forecast: '7d',
|
|
492
|
+
}),
|
|
493
|
+
this.createTaskDirect(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, 'availability-monitoring', 'Monitor Availability', 'medium', {
|
|
494
|
+
sla: 99.9,
|
|
495
|
+
period: '24h',
|
|
496
|
+
}),
|
|
497
|
+
this.createTaskDirect(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, 'user-experience-scoring', 'Score User Experience', 'medium', {
|
|
498
|
+
metrics: ['load-time', 'interactivity', 'stability'],
|
|
499
|
+
}),
|
|
500
|
+
this.createTaskDirect(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, 'production-feedback-loop', 'Analyze Production Feedback', 'high', {
|
|
501
|
+
sources: ['logs', 'metrics', 'traces'],
|
|
502
|
+
}),
|
|
503
|
+
this.createTaskDirect(types_1.QEAgentType.PRODUCTION_INTELLIGENCE, 'predictive-failure-analysis', 'Analyze Predictive Failures', 'high', {
|
|
504
|
+
signals: ['error-rate', 'memory-leaks', 'slow-queries'],
|
|
505
|
+
}),
|
|
506
|
+
]);
|
|
507
|
+
// Quality Analyzer
|
|
508
|
+
this.addTasks(types_1.QEAgentType.QUALITY_ANALYZER, [
|
|
509
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_ANALYZER, 'code-quality-analysis', 'Analyze Code Quality', 'medium', {
|
|
510
|
+
files: ['src/**/*.ts'],
|
|
511
|
+
}),
|
|
512
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_ANALYZER, 'test-quality-analysis', 'Analyze Test Quality', 'medium', {
|
|
513
|
+
testSuite: 'integration',
|
|
514
|
+
}),
|
|
515
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_ANALYZER, 'maintainability-index-calculation', 'Calculate Maintainability Index', 'low', {
|
|
516
|
+
module: 'UserModule',
|
|
517
|
+
}),
|
|
518
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_ANALYZER, 'technical-debt-assessment', 'Assess Technical Debt', 'high', {
|
|
519
|
+
scope: 'codebase',
|
|
520
|
+
}),
|
|
521
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_ANALYZER, 'code-duplication-analysis', 'Analyze Code Duplication', 'medium', {
|
|
522
|
+
threshold: 5,
|
|
523
|
+
}),
|
|
524
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_ANALYZER, 'complexity-analysis', 'Analyze Complexity', 'medium', {
|
|
525
|
+
metric: 'cyclomatic',
|
|
526
|
+
}),
|
|
527
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_ANALYZER, 'architecture-quality-check', 'Check Architecture Quality', 'high', {
|
|
528
|
+
patterns: ['layered', 'microservices'],
|
|
529
|
+
}),
|
|
530
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_ANALYZER, 'quality-trend-analysis', 'Analyze Quality Trends', 'medium', {
|
|
531
|
+
period: '30d',
|
|
532
|
+
}),
|
|
533
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_ANALYZER, 'best-practices-validation', 'Validate Best Practices', 'high', {
|
|
534
|
+
standards: ['clean-code', 'solid'],
|
|
535
|
+
}),
|
|
536
|
+
this.createTaskDirect(types_1.QEAgentType.QUALITY_ANALYZER, 'quality-gate-recommendation', 'Recommend Quality Gates', 'high', {
|
|
537
|
+
project: 'web-app',
|
|
538
|
+
}),
|
|
539
|
+
]);
|
|
540
|
+
// Test Executor
|
|
541
|
+
this.addTasks(types_1.QEAgentType.TEST_EXECUTOR, [
|
|
542
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_EXECUTOR, 'unit-test-execution', 'Execute Unit Tests', 'low', {
|
|
543
|
+
testSuite: 'unit',
|
|
544
|
+
}),
|
|
545
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_EXECUTOR, 'integration-test-execution', 'Execute Integration Tests', 'medium', {
|
|
546
|
+
testSuite: 'integration',
|
|
547
|
+
}),
|
|
548
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_EXECUTOR, 'e2e-test-execution', 'Execute E2E Tests', 'high', {
|
|
549
|
+
testSuite: 'e2e',
|
|
550
|
+
}),
|
|
551
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_EXECUTOR, 'parallel-test-execution', 'Execute Tests in Parallel', 'high', {
|
|
552
|
+
workers: 4,
|
|
553
|
+
}),
|
|
554
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_EXECUTOR, 'selective-test-execution', 'Execute Selective Tests', 'medium', {
|
|
555
|
+
changedFiles: ['UserService.ts'],
|
|
556
|
+
}),
|
|
557
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_EXECUTOR, 'test-retry-execution', 'Execute Test Retries', 'medium', {
|
|
558
|
+
maxRetries: 3,
|
|
559
|
+
}),
|
|
560
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_EXECUTOR, 'cross-environment-test-execution', 'Execute Cross-Environment Tests', 'high', {
|
|
561
|
+
environments: ['dev', 'staging'],
|
|
562
|
+
}),
|
|
563
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_EXECUTOR, 'smoke-test-execution', 'Execute Smoke Tests', 'low', {
|
|
564
|
+
critical: true,
|
|
565
|
+
}),
|
|
566
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_EXECUTOR, 'regression-test-execution', 'Execute Regression Tests', 'high', {
|
|
567
|
+
baseline: 'v1.0.0',
|
|
568
|
+
}),
|
|
569
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_EXECUTOR, 'test-result-aggregation', 'Aggregate Test Results', 'low', {
|
|
570
|
+
sources: ['junit', 'jest', 'cypress'],
|
|
571
|
+
}),
|
|
572
|
+
]);
|
|
573
|
+
// Fleet Commander
|
|
574
|
+
this.addTasks(types_1.QEAgentType.FLEET_COMMANDER, [
|
|
575
|
+
this.createTaskDirect(types_1.QEAgentType.FLEET_COMMANDER, 'fleet-orchestration', 'Orchestrate Fleet', 'high', {
|
|
576
|
+
agents: 19,
|
|
577
|
+
tasks: 50,
|
|
578
|
+
}),
|
|
579
|
+
this.createTaskDirect(types_1.QEAgentType.FLEET_COMMANDER, 'agent-allocation', 'Allocate Agents', 'medium', {
|
|
580
|
+
workload: 'high',
|
|
581
|
+
}),
|
|
582
|
+
this.createTaskDirect(types_1.QEAgentType.FLEET_COMMANDER, 'task-prioritization', 'Prioritize Tasks', 'medium', {
|
|
583
|
+
tasks: 20,
|
|
584
|
+
}),
|
|
585
|
+
this.createTaskDirect(types_1.QEAgentType.FLEET_COMMANDER, 'resource-optimization', 'Optimize Resources', 'high', {
|
|
586
|
+
utilization: 'target-80',
|
|
587
|
+
}),
|
|
588
|
+
this.createTaskDirect(types_1.QEAgentType.FLEET_COMMANDER, 'agent-health-monitoring', 'Monitor Agent Health', 'medium', {
|
|
589
|
+
agents: 19,
|
|
590
|
+
}),
|
|
591
|
+
this.createTaskDirect(types_1.QEAgentType.FLEET_COMMANDER, 'workload-balancing', 'Balance Workload', 'high', {
|
|
592
|
+
strategy: 'round-robin',
|
|
593
|
+
}),
|
|
594
|
+
this.createTaskDirect(types_1.QEAgentType.FLEET_COMMANDER, 'coordination-strategy-selection', 'Select Coordination Strategy', 'high', {
|
|
595
|
+
topology: 'adaptive',
|
|
596
|
+
}),
|
|
597
|
+
this.createTaskDirect(types_1.QEAgentType.FLEET_COMMANDER, 'performance-optimization', 'Optimize Performance', 'high', {
|
|
598
|
+
metric: 'throughput',
|
|
599
|
+
}),
|
|
600
|
+
this.createTaskDirect(types_1.QEAgentType.FLEET_COMMANDER, 'failure-recovery', 'Recover from Failures', 'high', {
|
|
601
|
+
failedAgents: 2,
|
|
602
|
+
}),
|
|
603
|
+
this.createTaskDirect(types_1.QEAgentType.FLEET_COMMANDER, 'fleet-analytics', 'Analyze Fleet Analytics', 'medium', {
|
|
604
|
+
period: '7d',
|
|
605
|
+
}),
|
|
606
|
+
]);
|
|
607
|
+
// QX Partner
|
|
608
|
+
this.addTasks(types_1.QEAgentType.QX_PARTNER, [
|
|
609
|
+
this.createTaskDirect(types_1.QEAgentType.QX_PARTNER, 'quality-experience-analysis', 'Analyze Quality Experience', 'high', {
|
|
610
|
+
dimensions: ['reliability', 'performance', 'usability'],
|
|
611
|
+
}),
|
|
612
|
+
this.createTaskDirect(types_1.QEAgentType.QX_PARTNER, 'user-satisfaction-scoring', 'Score User Satisfaction', 'medium', {
|
|
613
|
+
surveys: 100,
|
|
614
|
+
}),
|
|
615
|
+
this.createTaskDirect(types_1.QEAgentType.QX_PARTNER, 'quality-journey-mapping', 'Map Quality Journey', 'high', {
|
|
616
|
+
touchpoints: ['dev', 'test', 'prod'],
|
|
617
|
+
}),
|
|
618
|
+
this.createTaskDirect(types_1.QEAgentType.QX_PARTNER, 'feedback-integration', 'Integrate Feedback', 'medium', {
|
|
619
|
+
sources: ['users', 'stakeholders', 'metrics'],
|
|
620
|
+
}),
|
|
621
|
+
this.createTaskDirect(types_1.QEAgentType.QX_PARTNER, 'quality-improvement-recommendations', 'Recommend Quality Improvements', 'high', {
|
|
622
|
+
focus: 'user-experience',
|
|
623
|
+
}),
|
|
624
|
+
this.createTaskDirect(types_1.QEAgentType.QX_PARTNER, 'quality-metric-correlation', 'Correlate Quality Metrics', 'high', {
|
|
625
|
+
metrics: ['nps', 'coverage', 'bugs'],
|
|
626
|
+
}),
|
|
627
|
+
this.createTaskDirect(types_1.QEAgentType.QX_PARTNER, 'stakeholder-communication', 'Communicate with Stakeholders', 'medium', {
|
|
628
|
+
report: 'quality-summary',
|
|
629
|
+
}),
|
|
630
|
+
this.createTaskDirect(types_1.QEAgentType.QX_PARTNER, 'quality-culture-assessment', 'Assess Quality Culture', 'high', {
|
|
631
|
+
team: 'engineering',
|
|
632
|
+
}),
|
|
633
|
+
this.createTaskDirect(types_1.QEAgentType.QX_PARTNER, 'continuous-improvement-tracking', 'Track Continuous Improvement', 'medium', {
|
|
634
|
+
period: '30d',
|
|
635
|
+
}),
|
|
636
|
+
this.createTaskDirect(types_1.QEAgentType.QX_PARTNER, 'quality-risk-mitigation', 'Mitigate Quality Risks', 'high', {
|
|
637
|
+
risks: ['regression', 'security', 'performance'],
|
|
638
|
+
}),
|
|
639
|
+
]);
|
|
640
|
+
// Regression Risk Analyzer (future)
|
|
641
|
+
this.addTasks(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, [
|
|
642
|
+
this.createTaskDirect(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, 'regression-risk-assessment', 'Assess Regression Risk', 'high', {
|
|
643
|
+
changes: 10,
|
|
644
|
+
criticalPaths: 3,
|
|
645
|
+
}),
|
|
646
|
+
this.createTaskDirect(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, 'change-impact-analysis', 'Analyze Change Impact', 'high', {
|
|
647
|
+
changedFiles: ['UserService.ts'],
|
|
648
|
+
}),
|
|
649
|
+
this.createTaskDirect(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, 'test-selection-prioritization', 'Prioritize Test Selection', 'high', {
|
|
650
|
+
risk: 'high',
|
|
651
|
+
}),
|
|
652
|
+
this.createTaskDirect(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, 'historical-regression-analysis', 'Analyze Historical Regressions', 'medium', {
|
|
653
|
+
period: '90d',
|
|
654
|
+
}),
|
|
655
|
+
this.createTaskDirect(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, 'risk-heat-map-generation', 'Generate Risk Heat Map', 'medium', {
|
|
656
|
+
modules: 10,
|
|
657
|
+
}),
|
|
658
|
+
this.createTaskDirect(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, 'regression-prediction', 'Predict Regressions', 'high', {
|
|
659
|
+
model: 'ml-based',
|
|
660
|
+
}),
|
|
661
|
+
this.createTaskDirect(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, 'critical-path-identification', 'Identify Critical Paths', 'high', {
|
|
662
|
+
flows: ['checkout', 'login'],
|
|
663
|
+
}),
|
|
664
|
+
this.createTaskDirect(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, 'regression-cost-estimation', 'Estimate Regression Cost', 'medium', {
|
|
665
|
+
scenario: 'worst-case',
|
|
666
|
+
}),
|
|
667
|
+
this.createTaskDirect(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, 'mitigation-strategy-recommendation', 'Recommend Mitigation Strategies', 'high', {
|
|
668
|
+
risk: 'critical',
|
|
669
|
+
}),
|
|
670
|
+
this.createTaskDirect(types_1.QEAgentType.REGRESSION_RISK_ANALYZER, 'regression-trend-analysis', 'Analyze Regression Trends', 'medium', {
|
|
671
|
+
period: '6m',
|
|
672
|
+
}),
|
|
673
|
+
]);
|
|
674
|
+
// Test Data Architect (future)
|
|
675
|
+
this.addTasks(types_1.QEAgentType.TEST_DATA_ARCHITECT, [
|
|
676
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_DATA_ARCHITECT, 'test-data-generation', 'Generate Test Data', 'medium', {
|
|
677
|
+
schema: 'users',
|
|
678
|
+
records: 1000,
|
|
679
|
+
}),
|
|
680
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_DATA_ARCHITECT, 'data-anonymization', 'Anonymize Data', 'high', {
|
|
681
|
+
dataset: 'production-users',
|
|
682
|
+
}),
|
|
683
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_DATA_ARCHITECT, 'synthetic-data-creation', 'Create Synthetic Data', 'high', {
|
|
684
|
+
model: 'user-behavior',
|
|
685
|
+
}),
|
|
686
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_DATA_ARCHITECT, 'test-data-versioning', 'Version Test Data', 'medium', {
|
|
687
|
+
dataset: 'baseline-v1',
|
|
688
|
+
}),
|
|
689
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_DATA_ARCHITECT, 'data-subset-generation', 'Generate Data Subset', 'medium', {
|
|
690
|
+
criteria: 'active-users',
|
|
691
|
+
size: 100,
|
|
692
|
+
}),
|
|
693
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_DATA_ARCHITECT, 'data-quality-validation', 'Validate Data Quality', 'medium', {
|
|
694
|
+
dataset: 'test-users',
|
|
695
|
+
}),
|
|
696
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_DATA_ARCHITECT, 'referential-integrity-check', 'Check Referential Integrity', 'high', {
|
|
697
|
+
tables: ['users', 'orders'],
|
|
698
|
+
}),
|
|
699
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_DATA_ARCHITECT, 'data-masking', 'Mask Sensitive Data', 'high', {
|
|
700
|
+
fields: ['email', 'ssn'],
|
|
701
|
+
}),
|
|
702
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_DATA_ARCHITECT, 'test-data-cleanup', 'Cleanup Test Data', 'low', {
|
|
703
|
+
age: '30d',
|
|
704
|
+
}),
|
|
705
|
+
this.createTaskDirect(types_1.QEAgentType.TEST_DATA_ARCHITECT, 'data-seeding-strategy', 'Define Data Seeding Strategy', 'high', {
|
|
706
|
+
environment: 'staging',
|
|
707
|
+
}),
|
|
708
|
+
]);
|
|
709
|
+
}
|
|
710
|
+
/**
|
|
711
|
+
* Helper to create a standard task (for use with currentAgentType)
|
|
712
|
+
*/
|
|
713
|
+
createTask(taskType, name, complexity, input) {
|
|
714
|
+
const agentType = this.getCurrentAgentType();
|
|
715
|
+
return this.createTaskDirect(agentType, taskType, name, complexity, input);
|
|
716
|
+
}
|
|
717
|
+
/**
|
|
718
|
+
* Helper to create a standard task directly with agent type
|
|
719
|
+
*/
|
|
720
|
+
createTaskDirect(agentType, taskType, name, complexity, input) {
|
|
721
|
+
return {
|
|
722
|
+
id: `${agentType}-${taskType}-${Date.now()}-${Math.floor(Math.random() * 10000)}`,
|
|
723
|
+
agentType,
|
|
724
|
+
taskType,
|
|
725
|
+
name,
|
|
726
|
+
description: `Standard task for ${taskType} benchmarking`,
|
|
727
|
+
complexity,
|
|
728
|
+
expectedDuration: COMPLEXITY_DURATION[complexity],
|
|
729
|
+
input,
|
|
730
|
+
};
|
|
731
|
+
}
|
|
732
|
+
getCurrentAgentType() {
|
|
733
|
+
if (!this.currentAgentType) {
|
|
734
|
+
throw new Error('No agent type set');
|
|
735
|
+
}
|
|
736
|
+
return this.currentAgentType;
|
|
737
|
+
}
|
|
738
|
+
/**
|
|
739
|
+
* Add tasks for an agent type
|
|
740
|
+
*/
|
|
741
|
+
addTasks(agentType, tasks) {
|
|
742
|
+
this.tasks.set(agentType, tasks);
|
|
743
|
+
}
|
|
744
|
+
/**
|
|
745
|
+
* Get all tasks for an agent type
|
|
746
|
+
*/
|
|
747
|
+
getTasksForAgent(agentType, taskType) {
|
|
748
|
+
const tasks = this.tasks.get(agentType) || [];
|
|
749
|
+
if (taskType) {
|
|
750
|
+
return tasks.filter(t => t.taskType === taskType);
|
|
751
|
+
}
|
|
752
|
+
return tasks;
|
|
753
|
+
}
|
|
754
|
+
/**
|
|
755
|
+
* Get all task types for an agent
|
|
756
|
+
*/
|
|
757
|
+
getTaskTypesForAgent(agentType) {
|
|
758
|
+
const tasks = this.tasks.get(agentType) || [];
|
|
759
|
+
return [...new Set(tasks.map(t => t.taskType))];
|
|
760
|
+
}
|
|
761
|
+
/**
|
|
762
|
+
* Get a specific task by ID
|
|
763
|
+
*/
|
|
764
|
+
getTask(taskId) {
|
|
765
|
+
for (const tasks of this.tasks.values()) {
|
|
766
|
+
const task = tasks.find(t => t.id === taskId);
|
|
767
|
+
if (task)
|
|
768
|
+
return task;
|
|
769
|
+
}
|
|
770
|
+
return undefined;
|
|
771
|
+
}
|
|
772
|
+
/**
|
|
773
|
+
* Get all tasks across all agents
|
|
774
|
+
*/
|
|
775
|
+
getAllTasks() {
|
|
776
|
+
const allTasks = [];
|
|
777
|
+
for (const tasks of this.tasks.values()) {
|
|
778
|
+
allTasks.push(...tasks);
|
|
779
|
+
}
|
|
780
|
+
return allTasks;
|
|
781
|
+
}
|
|
782
|
+
/**
|
|
783
|
+
* Get task count by agent type
|
|
784
|
+
*/
|
|
785
|
+
getTaskCount(agentType) {
|
|
786
|
+
return (this.tasks.get(agentType) || []).length;
|
|
787
|
+
}
|
|
788
|
+
/**
|
|
789
|
+
* Get total task count
|
|
790
|
+
*/
|
|
791
|
+
getTotalTaskCount() {
|
|
792
|
+
let count = 0;
|
|
793
|
+
for (const tasks of this.tasks.values()) {
|
|
794
|
+
count += tasks.length;
|
|
795
|
+
}
|
|
796
|
+
return count;
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
exports.StandardTaskSuite = StandardTaskSuite;
|
|
800
|
+
exports.default = StandardTaskSuite;
|
|
801
|
+
//# sourceMappingURL=StandardTaskSuite.js.map
|