agentic-qe 2.3.3 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/README.md +1 -1
  3. package/dist/agents/BaseAgent.d.ts +10 -0
  4. package/dist/agents/BaseAgent.d.ts.map +1 -1
  5. package/dist/agents/BaseAgent.js +113 -0
  6. package/dist/agents/BaseAgent.js.map +1 -1
  7. package/dist/cli/commands/dream/index.d.ts +50 -0
  8. package/dist/cli/commands/dream/index.d.ts.map +1 -0
  9. package/dist/cli/commands/dream/index.js +282 -0
  10. package/dist/cli/commands/dream/index.js.map +1 -0
  11. package/dist/cli/commands/learn/index.d.ts +31 -5
  12. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  13. package/dist/cli/commands/learn/index.js +183 -50
  14. package/dist/cli/commands/learn/index.js.map +1 -1
  15. package/dist/cli/commands/transfer/index.d.ts +55 -0
  16. package/dist/cli/commands/transfer/index.d.ts.map +1 -0
  17. package/dist/cli/commands/transfer/index.js +317 -0
  18. package/dist/cli/commands/transfer/index.js.map +1 -0
  19. package/dist/cli/index.js +156 -3
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/cli/init/index.d.ts.map +1 -1
  22. package/dist/cli/init/index.js +12 -4
  23. package/dist/cli/init/index.js.map +1 -1
  24. package/dist/cli/init/learning-init.d.ts +39 -0
  25. package/dist/cli/init/learning-init.d.ts.map +1 -0
  26. package/dist/cli/init/learning-init.js +239 -0
  27. package/dist/cli/init/learning-init.js.map +1 -0
  28. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  29. package/dist/learning/baselines/BaselineCollector.d.ts +178 -0
  30. package/dist/learning/baselines/BaselineCollector.d.ts.map +1 -0
  31. package/dist/learning/baselines/BaselineCollector.js +398 -0
  32. package/dist/learning/baselines/BaselineCollector.js.map +1 -0
  33. package/dist/learning/baselines/StandardTaskSuite.d.ts +88 -0
  34. package/dist/learning/baselines/StandardTaskSuite.d.ts.map +1 -0
  35. package/dist/learning/baselines/StandardTaskSuite.js +801 -0
  36. package/dist/learning/baselines/StandardTaskSuite.js.map +1 -0
  37. package/dist/learning/baselines/index.d.ts +10 -0
  38. package/dist/learning/baselines/index.d.ts.map +1 -0
  39. package/dist/learning/baselines/index.js +15 -0
  40. package/dist/learning/baselines/index.js.map +1 -0
  41. package/dist/learning/capture/ExecutionRecorder.d.ts +97 -0
  42. package/dist/learning/capture/ExecutionRecorder.d.ts.map +1 -0
  43. package/dist/learning/capture/ExecutionRecorder.js +195 -0
  44. package/dist/learning/capture/ExecutionRecorder.js.map +1 -0
  45. package/dist/learning/capture/ExperienceCapture.d.ts +177 -0
  46. package/dist/learning/capture/ExperienceCapture.d.ts.map +1 -0
  47. package/dist/learning/capture/ExperienceCapture.js +432 -0
  48. package/dist/learning/capture/ExperienceCapture.js.map +1 -0
  49. package/dist/learning/capture/index.d.ts +12 -0
  50. package/dist/learning/capture/index.d.ts.map +1 -0
  51. package/dist/learning/capture/index.js +17 -0
  52. package/dist/learning/capture/index.js.map +1 -0
  53. package/dist/learning/dashboard/MetricsDashboard.d.ts +63 -0
  54. package/dist/learning/dashboard/MetricsDashboard.d.ts.map +1 -0
  55. package/dist/learning/dashboard/MetricsDashboard.js +230 -0
  56. package/dist/learning/dashboard/MetricsDashboard.js.map +1 -0
  57. package/dist/learning/dashboard/index.d.ts +7 -0
  58. package/dist/learning/dashboard/index.d.ts.map +1 -0
  59. package/dist/learning/dashboard/index.js +23 -0
  60. package/dist/learning/dashboard/index.js.map +1 -0
  61. package/dist/learning/dream/ConceptGraph.d.ts +160 -0
  62. package/dist/learning/dream/ConceptGraph.d.ts.map +1 -0
  63. package/dist/learning/dream/ConceptGraph.js +445 -0
  64. package/dist/learning/dream/ConceptGraph.js.map +1 -0
  65. package/dist/learning/dream/DreamEngine.d.ts +150 -0
  66. package/dist/learning/dream/DreamEngine.d.ts.map +1 -0
  67. package/dist/learning/dream/DreamEngine.js +551 -0
  68. package/dist/learning/dream/DreamEngine.js.map +1 -0
  69. package/dist/learning/dream/InsightGenerator.d.ts +152 -0
  70. package/dist/learning/dream/InsightGenerator.d.ts.map +1 -0
  71. package/dist/learning/dream/InsightGenerator.js +463 -0
  72. package/dist/learning/dream/InsightGenerator.js.map +1 -0
  73. package/dist/learning/dream/SpreadingActivation.d.ts +138 -0
  74. package/dist/learning/dream/SpreadingActivation.d.ts.map +1 -0
  75. package/dist/learning/dream/SpreadingActivation.js +320 -0
  76. package/dist/learning/dream/SpreadingActivation.js.map +1 -0
  77. package/dist/learning/dream/index.d.ts +14 -0
  78. package/dist/learning/dream/index.d.ts.map +1 -0
  79. package/dist/learning/dream/index.js +22 -0
  80. package/dist/learning/dream/index.js.map +1 -0
  81. package/dist/learning/metrics/AlertManager.d.ts +107 -0
  82. package/dist/learning/metrics/AlertManager.d.ts.map +1 -0
  83. package/dist/learning/metrics/AlertManager.js +246 -0
  84. package/dist/learning/metrics/AlertManager.js.map +1 -0
  85. package/dist/learning/metrics/LearningMetrics.d.ts +184 -0
  86. package/dist/learning/metrics/LearningMetrics.d.ts.map +1 -0
  87. package/dist/learning/metrics/LearningMetrics.js +754 -0
  88. package/dist/learning/metrics/LearningMetrics.js.map +1 -0
  89. package/dist/learning/metrics/MetricsCollector.d.ts +108 -0
  90. package/dist/learning/metrics/MetricsCollector.d.ts.map +1 -0
  91. package/dist/learning/metrics/MetricsCollector.js +240 -0
  92. package/dist/learning/metrics/MetricsCollector.js.map +1 -0
  93. package/dist/learning/metrics/MetricsStore.d.ts +149 -0
  94. package/dist/learning/metrics/MetricsStore.d.ts.map +1 -0
  95. package/dist/learning/metrics/MetricsStore.js +502 -0
  96. package/dist/learning/metrics/MetricsStore.js.map +1 -0
  97. package/dist/learning/metrics/TrendAnalyzer.d.ts +85 -0
  98. package/dist/learning/metrics/TrendAnalyzer.d.ts.map +1 -0
  99. package/dist/learning/metrics/TrendAnalyzer.js +210 -0
  100. package/dist/learning/metrics/TrendAnalyzer.js.map +1 -0
  101. package/dist/learning/metrics/index.d.ts +13 -0
  102. package/dist/learning/metrics/index.d.ts.map +1 -0
  103. package/dist/learning/metrics/index.js +39 -0
  104. package/dist/learning/metrics/index.js.map +1 -0
  105. package/dist/learning/scheduler/IdleDetector.d.ts +126 -0
  106. package/dist/learning/scheduler/IdleDetector.d.ts.map +1 -0
  107. package/dist/learning/scheduler/IdleDetector.js +281 -0
  108. package/dist/learning/scheduler/IdleDetector.js.map +1 -0
  109. package/dist/learning/scheduler/SleepCycle.d.ts +150 -0
  110. package/dist/learning/scheduler/SleepCycle.d.ts.map +1 -0
  111. package/dist/learning/scheduler/SleepCycle.js +506 -0
  112. package/dist/learning/scheduler/SleepCycle.js.map +1 -0
  113. package/dist/learning/scheduler/SleepScheduler.d.ts +131 -0
  114. package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -0
  115. package/dist/learning/scheduler/SleepScheduler.js +299 -0
  116. package/dist/learning/scheduler/SleepScheduler.js.map +1 -0
  117. package/dist/learning/scheduler/TimeBasedTrigger.d.ts +108 -0
  118. package/dist/learning/scheduler/TimeBasedTrigger.d.ts.map +1 -0
  119. package/dist/learning/scheduler/TimeBasedTrigger.js +222 -0
  120. package/dist/learning/scheduler/TimeBasedTrigger.js.map +1 -0
  121. package/dist/learning/scheduler/index.d.ts +16 -0
  122. package/dist/learning/scheduler/index.d.ts.map +1 -0
  123. package/dist/learning/scheduler/index.js +23 -0
  124. package/dist/learning/scheduler/index.js.map +1 -0
  125. package/dist/learning/synthesis/PatternSynthesis.d.ts +162 -0
  126. package/dist/learning/synthesis/PatternSynthesis.d.ts.map +1 -0
  127. package/dist/learning/synthesis/PatternSynthesis.js +479 -0
  128. package/dist/learning/synthesis/PatternSynthesis.js.map +1 -0
  129. package/dist/learning/synthesis/index.d.ts +10 -0
  130. package/dist/learning/synthesis/index.d.ts.map +1 -0
  131. package/dist/learning/synthesis/index.js +14 -0
  132. package/dist/learning/synthesis/index.js.map +1 -0
  133. package/dist/learning/transfer/CompatibilityScorer.d.ts +115 -0
  134. package/dist/learning/transfer/CompatibilityScorer.d.ts.map +1 -0
  135. package/dist/learning/transfer/CompatibilityScorer.js +319 -0
  136. package/dist/learning/transfer/CompatibilityScorer.js.map +1 -0
  137. package/dist/learning/transfer/TransferProtocol.d.ts +172 -0
  138. package/dist/learning/transfer/TransferProtocol.d.ts.map +1 -0
  139. package/dist/learning/transfer/TransferProtocol.js +611 -0
  140. package/dist/learning/transfer/TransferProtocol.js.map +1 -0
  141. package/dist/learning/transfer/TransferPrototype.d.ts +93 -0
  142. package/dist/learning/transfer/TransferPrototype.d.ts.map +1 -0
  143. package/dist/learning/transfer/TransferPrototype.js +433 -0
  144. package/dist/learning/transfer/TransferPrototype.js.map +1 -0
  145. package/dist/learning/transfer/TransferValidator.d.ts +140 -0
  146. package/dist/learning/transfer/TransferValidator.d.ts.map +1 -0
  147. package/dist/learning/transfer/TransferValidator.js +413 -0
  148. package/dist/learning/transfer/TransferValidator.js.map +1 -0
  149. package/dist/learning/transfer/index.d.ts +14 -0
  150. package/dist/learning/transfer/index.d.ts.map +1 -0
  151. package/dist/learning/transfer/index.js +22 -0
  152. package/dist/learning/transfer/index.js.map +1 -0
  153. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts +26 -2
  154. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
  155. package/dist/mcp/handlers/test/test-generate-enhanced.js +159 -27
  156. package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
  157. package/dist/mcp/server-instructions.d.ts +1 -1
  158. package/dist/mcp/server-instructions.js +1 -1
  159. package/dist/mcp/server.d.ts.map +1 -1
  160. package/dist/mcp/server.js +2 -1
  161. package/dist/mcp/server.js.map +1 -1
  162. 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