agentic-qe 2.3.2 → 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 (283) hide show
  1. package/CHANGELOG.md +140 -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/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  8. package/dist/agents/CoverageAnalyzerAgent.js +53 -27
  9. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  10. package/dist/agents/FlakyTestHunterAgent.d.ts +5 -0
  11. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  12. package/dist/agents/FlakyTestHunterAgent.js +20 -5
  13. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  14. package/dist/agents/QualityGateAgent.js +44 -6
  15. package/dist/agents/QualityGateAgent.js.map +1 -1
  16. package/dist/cli/commands/dream/index.d.ts +50 -0
  17. package/dist/cli/commands/dream/index.d.ts.map +1 -0
  18. package/dist/cli/commands/dream/index.js +282 -0
  19. package/dist/cli/commands/dream/index.js.map +1 -0
  20. package/dist/cli/commands/learn/index.d.ts +31 -5
  21. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  22. package/dist/cli/commands/learn/index.js +183 -50
  23. package/dist/cli/commands/learn/index.js.map +1 -1
  24. package/dist/cli/commands/transfer/index.d.ts +55 -0
  25. package/dist/cli/commands/transfer/index.d.ts.map +1 -0
  26. package/dist/cli/commands/transfer/index.js +317 -0
  27. package/dist/cli/commands/transfer/index.js.map +1 -0
  28. package/dist/cli/index.js +156 -3
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/cli/init/database-init.js +5 -0
  31. package/dist/cli/init/database-init.js.map +1 -1
  32. package/dist/cli/init/index.d.ts.map +1 -1
  33. package/dist/cli/init/index.js +12 -4
  34. package/dist/cli/init/index.js.map +1 -1
  35. package/dist/cli/init/learning-init.d.ts +39 -0
  36. package/dist/cli/init/learning-init.d.ts.map +1 -0
  37. package/dist/cli/init/learning-init.js +239 -0
  38. package/dist/cli/init/learning-init.js.map +1 -0
  39. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  40. package/dist/learning/PerformanceTracker.d.ts +9 -0
  41. package/dist/learning/PerformanceTracker.d.ts.map +1 -1
  42. package/dist/learning/PerformanceTracker.js +26 -2
  43. package/dist/learning/PerformanceTracker.js.map +1 -1
  44. package/dist/learning/baselines/BaselineCollector.d.ts +178 -0
  45. package/dist/learning/baselines/BaselineCollector.d.ts.map +1 -0
  46. package/dist/learning/baselines/BaselineCollector.js +398 -0
  47. package/dist/learning/baselines/BaselineCollector.js.map +1 -0
  48. package/dist/learning/baselines/StandardTaskSuite.d.ts +88 -0
  49. package/dist/learning/baselines/StandardTaskSuite.d.ts.map +1 -0
  50. package/dist/learning/baselines/StandardTaskSuite.js +801 -0
  51. package/dist/learning/baselines/StandardTaskSuite.js.map +1 -0
  52. package/dist/learning/baselines/index.d.ts +10 -0
  53. package/dist/learning/baselines/index.d.ts.map +1 -0
  54. package/dist/learning/baselines/index.js +15 -0
  55. package/dist/learning/baselines/index.js.map +1 -0
  56. package/dist/learning/capture/ExecutionRecorder.d.ts +97 -0
  57. package/dist/learning/capture/ExecutionRecorder.d.ts.map +1 -0
  58. package/dist/learning/capture/ExecutionRecorder.js +195 -0
  59. package/dist/learning/capture/ExecutionRecorder.js.map +1 -0
  60. package/dist/learning/capture/ExperienceCapture.d.ts +177 -0
  61. package/dist/learning/capture/ExperienceCapture.d.ts.map +1 -0
  62. package/dist/learning/capture/ExperienceCapture.js +432 -0
  63. package/dist/learning/capture/ExperienceCapture.js.map +1 -0
  64. package/dist/learning/capture/index.d.ts +12 -0
  65. package/dist/learning/capture/index.d.ts.map +1 -0
  66. package/dist/learning/capture/index.js +17 -0
  67. package/dist/learning/capture/index.js.map +1 -0
  68. package/dist/learning/dashboard/MetricsDashboard.d.ts +63 -0
  69. package/dist/learning/dashboard/MetricsDashboard.d.ts.map +1 -0
  70. package/dist/learning/dashboard/MetricsDashboard.js +230 -0
  71. package/dist/learning/dashboard/MetricsDashboard.js.map +1 -0
  72. package/dist/learning/dashboard/index.d.ts +7 -0
  73. package/dist/learning/dashboard/index.d.ts.map +1 -0
  74. package/dist/learning/dashboard/index.js +23 -0
  75. package/dist/learning/dashboard/index.js.map +1 -0
  76. package/dist/learning/dream/ConceptGraph.d.ts +160 -0
  77. package/dist/learning/dream/ConceptGraph.d.ts.map +1 -0
  78. package/dist/learning/dream/ConceptGraph.js +445 -0
  79. package/dist/learning/dream/ConceptGraph.js.map +1 -0
  80. package/dist/learning/dream/DreamEngine.d.ts +150 -0
  81. package/dist/learning/dream/DreamEngine.d.ts.map +1 -0
  82. package/dist/learning/dream/DreamEngine.js +551 -0
  83. package/dist/learning/dream/DreamEngine.js.map +1 -0
  84. package/dist/learning/dream/InsightGenerator.d.ts +152 -0
  85. package/dist/learning/dream/InsightGenerator.d.ts.map +1 -0
  86. package/dist/learning/dream/InsightGenerator.js +463 -0
  87. package/dist/learning/dream/InsightGenerator.js.map +1 -0
  88. package/dist/learning/dream/SpreadingActivation.d.ts +138 -0
  89. package/dist/learning/dream/SpreadingActivation.d.ts.map +1 -0
  90. package/dist/learning/dream/SpreadingActivation.js +320 -0
  91. package/dist/learning/dream/SpreadingActivation.js.map +1 -0
  92. package/dist/learning/dream/index.d.ts +14 -0
  93. package/dist/learning/dream/index.d.ts.map +1 -0
  94. package/dist/learning/dream/index.js +22 -0
  95. package/dist/learning/dream/index.js.map +1 -0
  96. package/dist/learning/metrics/AlertManager.d.ts +107 -0
  97. package/dist/learning/metrics/AlertManager.d.ts.map +1 -0
  98. package/dist/learning/metrics/AlertManager.js +246 -0
  99. package/dist/learning/metrics/AlertManager.js.map +1 -0
  100. package/dist/learning/metrics/LearningMetrics.d.ts +184 -0
  101. package/dist/learning/metrics/LearningMetrics.d.ts.map +1 -0
  102. package/dist/learning/metrics/LearningMetrics.js +754 -0
  103. package/dist/learning/metrics/LearningMetrics.js.map +1 -0
  104. package/dist/learning/metrics/MetricsCollector.d.ts +108 -0
  105. package/dist/learning/metrics/MetricsCollector.d.ts.map +1 -0
  106. package/dist/learning/metrics/MetricsCollector.js +240 -0
  107. package/dist/learning/metrics/MetricsCollector.js.map +1 -0
  108. package/dist/learning/metrics/MetricsStore.d.ts +149 -0
  109. package/dist/learning/metrics/MetricsStore.d.ts.map +1 -0
  110. package/dist/learning/metrics/MetricsStore.js +502 -0
  111. package/dist/learning/metrics/MetricsStore.js.map +1 -0
  112. package/dist/learning/metrics/TrendAnalyzer.d.ts +85 -0
  113. package/dist/learning/metrics/TrendAnalyzer.d.ts.map +1 -0
  114. package/dist/learning/metrics/TrendAnalyzer.js +210 -0
  115. package/dist/learning/metrics/TrendAnalyzer.js.map +1 -0
  116. package/dist/learning/metrics/index.d.ts +13 -0
  117. package/dist/learning/metrics/index.d.ts.map +1 -0
  118. package/dist/learning/metrics/index.js +39 -0
  119. package/dist/learning/metrics/index.js.map +1 -0
  120. package/dist/learning/scheduler/IdleDetector.d.ts +126 -0
  121. package/dist/learning/scheduler/IdleDetector.d.ts.map +1 -0
  122. package/dist/learning/scheduler/IdleDetector.js +281 -0
  123. package/dist/learning/scheduler/IdleDetector.js.map +1 -0
  124. package/dist/learning/scheduler/SleepCycle.d.ts +150 -0
  125. package/dist/learning/scheduler/SleepCycle.d.ts.map +1 -0
  126. package/dist/learning/scheduler/SleepCycle.js +506 -0
  127. package/dist/learning/scheduler/SleepCycle.js.map +1 -0
  128. package/dist/learning/scheduler/SleepScheduler.d.ts +131 -0
  129. package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -0
  130. package/dist/learning/scheduler/SleepScheduler.js +299 -0
  131. package/dist/learning/scheduler/SleepScheduler.js.map +1 -0
  132. package/dist/learning/scheduler/TimeBasedTrigger.d.ts +108 -0
  133. package/dist/learning/scheduler/TimeBasedTrigger.d.ts.map +1 -0
  134. package/dist/learning/scheduler/TimeBasedTrigger.js +222 -0
  135. package/dist/learning/scheduler/TimeBasedTrigger.js.map +1 -0
  136. package/dist/learning/scheduler/index.d.ts +16 -0
  137. package/dist/learning/scheduler/index.d.ts.map +1 -0
  138. package/dist/learning/scheduler/index.js +23 -0
  139. package/dist/learning/scheduler/index.js.map +1 -0
  140. package/dist/learning/synthesis/PatternSynthesis.d.ts +162 -0
  141. package/dist/learning/synthesis/PatternSynthesis.d.ts.map +1 -0
  142. package/dist/learning/synthesis/PatternSynthesis.js +479 -0
  143. package/dist/learning/synthesis/PatternSynthesis.js.map +1 -0
  144. package/dist/learning/synthesis/index.d.ts +10 -0
  145. package/dist/learning/synthesis/index.d.ts.map +1 -0
  146. package/dist/learning/synthesis/index.js +14 -0
  147. package/dist/learning/synthesis/index.js.map +1 -0
  148. package/dist/learning/transfer/CompatibilityScorer.d.ts +115 -0
  149. package/dist/learning/transfer/CompatibilityScorer.d.ts.map +1 -0
  150. package/dist/learning/transfer/CompatibilityScorer.js +319 -0
  151. package/dist/learning/transfer/CompatibilityScorer.js.map +1 -0
  152. package/dist/learning/transfer/TransferProtocol.d.ts +172 -0
  153. package/dist/learning/transfer/TransferProtocol.d.ts.map +1 -0
  154. package/dist/learning/transfer/TransferProtocol.js +611 -0
  155. package/dist/learning/transfer/TransferProtocol.js.map +1 -0
  156. package/dist/learning/transfer/TransferPrototype.d.ts +93 -0
  157. package/dist/learning/transfer/TransferPrototype.d.ts.map +1 -0
  158. package/dist/learning/transfer/TransferPrototype.js +433 -0
  159. package/dist/learning/transfer/TransferPrototype.js.map +1 -0
  160. package/dist/learning/transfer/TransferValidator.d.ts +140 -0
  161. package/dist/learning/transfer/TransferValidator.d.ts.map +1 -0
  162. package/dist/learning/transfer/TransferValidator.js +413 -0
  163. package/dist/learning/transfer/TransferValidator.js.map +1 -0
  164. package/dist/learning/transfer/index.d.ts +14 -0
  165. package/dist/learning/transfer/index.d.ts.map +1 -0
  166. package/dist/learning/transfer/index.js +22 -0
  167. package/dist/learning/transfer/index.js.map +1 -0
  168. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts +26 -2
  169. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
  170. package/dist/mcp/handlers/test/test-generate-enhanced.js +159 -27
  171. package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
  172. package/dist/mcp/server-instructions.d.ts +1 -1
  173. package/dist/mcp/server-instructions.js +1 -1
  174. package/dist/mcp/server.d.ts.map +1 -1
  175. package/dist/mcp/server.js +2 -1
  176. package/dist/mcp/server.js.map +1 -1
  177. package/package.json +7 -2
  178. package/scripts/README.md +352 -0
  179. package/scripts/hooks/capture-task-learning.js +191 -0
  180. package/scripts/hooks/emit-task-complete.sh +35 -0
  181. package/scripts/hooks/emit-task-spawn.sh +27 -0
  182. package/.claude/agents/failing-agent.json +0 -9
  183. package/.claude/agents/test-agent.json +0 -9
  184. package/dist/App.d.ts +0 -5
  185. package/dist/App.d.ts.map +0 -1
  186. package/dist/App.js +0 -15
  187. package/dist/App.js.map +0 -1
  188. package/dist/cli/init/utils.d.ts +0 -183
  189. package/dist/cli/init/utils.d.ts.map +0 -1
  190. package/dist/cli/init/utils.js +0 -354
  191. package/dist/cli/init/utils.js.map +0 -1
  192. package/dist/components/Dashboard/Dashboard.d.ts +0 -4
  193. package/dist/components/Dashboard/Dashboard.d.ts.map +0 -1
  194. package/dist/components/Dashboard/Dashboard.js +0 -148
  195. package/dist/components/Dashboard/Dashboard.js.map +0 -1
  196. package/dist/components/Dashboard/DashboardHeader.d.ts +0 -4
  197. package/dist/components/Dashboard/DashboardHeader.d.ts.map +0 -1
  198. package/dist/components/Dashboard/DashboardHeader.js +0 -138
  199. package/dist/components/Dashboard/DashboardHeader.js.map +0 -1
  200. package/dist/contexts/DashboardContext.d.ts +0 -41
  201. package/dist/contexts/DashboardContext.d.ts.map +0 -1
  202. package/dist/contexts/DashboardContext.js +0 -187
  203. package/dist/contexts/DashboardContext.js.map +0 -1
  204. package/dist/core/transport/QUICTransport.d.ts +0 -320
  205. package/dist/core/transport/QUICTransport.d.ts.map +0 -1
  206. package/dist/core/transport/QUICTransport.js +0 -711
  207. package/dist/core/transport/QUICTransport.js.map +0 -1
  208. package/dist/learning/LearningPersistenceAdapter.d.ts +0 -84
  209. package/dist/learning/LearningPersistenceAdapter.d.ts.map +0 -1
  210. package/dist/learning/LearningPersistenceAdapter.js +0 -202
  211. package/dist/learning/LearningPersistenceAdapter.js.map +0 -1
  212. package/dist/learning/algorithms/QLearning.d.ts +0 -68
  213. package/dist/learning/algorithms/QLearning.d.ts.map +0 -1
  214. package/dist/learning/algorithms/QLearning.js +0 -116
  215. package/dist/learning/algorithms/QLearning.js.map +0 -1
  216. package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts +0 -7
  217. package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts.map +0 -1
  218. package/dist/mcp/handlers/advanced/requirements-generate-bdd.js +0 -267
  219. package/dist/mcp/handlers/advanced/requirements-generate-bdd.js.map +0 -1
  220. package/dist/mcp/handlers/advanced/requirements-validate.d.ts +0 -7
  221. package/dist/mcp/handlers/advanced/requirements-validate.d.ts.map +0 -1
  222. package/dist/mcp/handlers/advanced/requirements-validate.js +0 -175
  223. package/dist/mcp/handlers/advanced/requirements-validate.js.map +0 -1
  224. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts +0 -15
  225. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +0 -1
  226. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +0 -43
  227. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +0 -1
  228. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts +0 -58
  229. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +0 -1
  230. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +0 -188
  231. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +0 -1
  232. package/dist/mcp/handlers/optimize-tests.d.ts +0 -219
  233. package/dist/mcp/handlers/optimize-tests.d.ts.map +0 -1
  234. package/dist/mcp/handlers/optimize-tests.js +0 -533
  235. package/dist/mcp/handlers/optimize-tests.js.map +0 -1
  236. package/dist/mcp/handlers/predict-defects.d.ts +0 -194
  237. package/dist/mcp/handlers/predict-defects.d.ts.map +0 -1
  238. package/dist/mcp/handlers/predict-defects.js +0 -722
  239. package/dist/mcp/handlers/predict-defects.js.map +0 -1
  240. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts +0 -199
  241. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +0 -1
  242. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +0 -471
  243. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +0 -1
  244. package/dist/mcp/handlers/quality/quality-decision-make.d.ts +0 -104
  245. package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +0 -1
  246. package/dist/mcp/handlers/quality/quality-decision-make.js +0 -408
  247. package/dist/mcp/handlers/quality/quality-decision-make.js.map +0 -1
  248. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts +0 -160
  249. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +0 -1
  250. package/dist/mcp/handlers/quality/quality-gate-execute.js +0 -412
  251. package/dist/mcp/handlers/quality/quality-gate-execute.js.map +0 -1
  252. package/dist/mcp/handlers/quality/quality-policy-check.d.ts +0 -163
  253. package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +0 -1
  254. package/dist/mcp/handlers/quality/quality-policy-check.js +0 -455
  255. package/dist/mcp/handlers/quality/quality-policy-check.js.map +0 -1
  256. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts +0 -123
  257. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +0 -1
  258. package/dist/mcp/handlers/quality/quality-risk-assess.js +0 -522
  259. package/dist/mcp/handlers/quality/quality-risk-assess.js.map +0 -1
  260. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts +0 -117
  261. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +0 -1
  262. package/dist/mcp/handlers/quality/quality-validate-metrics.js +0 -288
  263. package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +0 -1
  264. package/dist/mcp/handlers/quality-analyze.d.ts +0 -279
  265. package/dist/mcp/handlers/quality-analyze.d.ts.map +0 -1
  266. package/dist/mcp/handlers/quality-analyze.js +0 -720
  267. package/dist/mcp/handlers/quality-analyze.js.map +0 -1
  268. package/dist/mcp/handlers/security/check-authz.d.ts +0 -152
  269. package/dist/mcp/handlers/security/check-authz.d.ts.map +0 -1
  270. package/dist/mcp/handlers/security/check-authz.js +0 -434
  271. package/dist/mcp/handlers/security/check-authz.js.map +0 -1
  272. package/dist/mcp/handlers/security/scan-dependencies.d.ts +0 -148
  273. package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +0 -1
  274. package/dist/mcp/handlers/security/scan-dependencies.js +0 -354
  275. package/dist/mcp/handlers/security/scan-dependencies.js.map +0 -1
  276. package/dist/mcp/handlers/security/validate-auth.d.ts +0 -128
  277. package/dist/mcp/handlers/security/validate-auth.d.ts.map +0 -1
  278. package/dist/mcp/handlers/security/validate-auth.js +0 -294
  279. package/dist/mcp/handlers/security/validate-auth.js.map +0 -1
  280. package/dist/mcp/handlers/test-generate.d.ts +0 -107
  281. package/dist/mcp/handlers/test-generate.d.ts.map +0 -1
  282. package/dist/mcp/handlers/test-generate.js +0 -454
  283. package/dist/mcp/handlers/test-generate.js.map +0 -1
@@ -1,267 +0,0 @@
1
- "use strict";
2
- /**
3
- * BDD Scenario Generation Handler with REAL Analysis
4
- * Generates Given-When-Then scenarios from natural language requirements
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.requirementsGenerateBDD = requirementsGenerateBDD;
8
- async function requirementsGenerateBDD(params) {
9
- const { requirement, format = 'gherkin', includeEdgeCases = false, generateTestCode = false, framework = 'jest', extractTestData = false } = params;
10
- const scenarios = await generateScenarios(requirement, includeEdgeCases);
11
- // Ensure at least one scenario is generated
12
- if (scenarios.length === 0) {
13
- scenarios.push(generateMainScenario(requirement, 'System Feature'));
14
- }
15
- let cucumberFeature;
16
- if (format === 'cucumber' || format === 'gherkin') {
17
- cucumberFeature = generateCucumberFormat(scenarios, requirement);
18
- }
19
- let testCode;
20
- if (generateTestCode) {
21
- testCode = generateTestCodeForFramework(scenarios, framework);
22
- }
23
- let testData;
24
- if (extractTestData) {
25
- testData = extractTestDataFromRequirement(requirement);
26
- }
27
- return {
28
- scenarios,
29
- cucumberFeature,
30
- testCode,
31
- testData
32
- };
33
- }
34
- async function generateScenarios(requirement, includeEdgeCases) {
35
- const scenarios = [];
36
- const lower = requirement.toLowerCase();
37
- // Determine feature from requirement
38
- const feature = extractFeatureName(requirement);
39
- // Generate main happy path scenario
40
- const mainScenario = generateMainScenario(requirement, feature);
41
- scenarios.push(mainScenario);
42
- // Generate error scenarios
43
- if (lower.includes('authenticate') || lower.includes('login')) {
44
- scenarios.push(generateErrorScenario('Invalid credentials', feature));
45
- }
46
- if (lower.includes('api') || lower.includes('return')) {
47
- scenarios.push(generateErrorScenario('Invalid request', feature));
48
- }
49
- // Generate edge cases if requested
50
- if (includeEdgeCases) {
51
- scenarios.push(...generateEdgeCaseScenarios(requirement, feature));
52
- }
53
- return scenarios;
54
- }
55
- function extractFeatureName(requirement) {
56
- const lower = requirement.toLowerCase();
57
- if (lower.includes('login') || lower.includes('authenticate')) {
58
- return 'User Authentication';
59
- }
60
- else if (lower.includes('api')) {
61
- return 'API Integration';
62
- }
63
- else if (lower.includes('export') || lower.includes('download')) {
64
- return 'Data Export';
65
- }
66
- else if (lower.includes('search')) {
67
- return 'Search Functionality';
68
- }
69
- else if (lower.includes('payment') || lower.includes('checkout')) {
70
- return 'Payment Processing';
71
- }
72
- else if (lower.includes('email') || lower.includes('validate')) {
73
- return 'Input Validation';
74
- }
75
- else {
76
- return 'System Feature';
77
- }
78
- }
79
- function generateMainScenario(requirement, feature) {
80
- const lower = requirement.toLowerCase();
81
- let given = [];
82
- let when = [];
83
- let then = [];
84
- // Authentication scenarios
85
- if (lower.includes('login') || lower.includes('authenticate')) {
86
- given = ['I am a registered user', 'I have valid credentials'];
87
- when = ['I submit my username and password', 'I click the login button'];
88
- then = ['I should be authenticated', 'I should see my dashboard'];
89
- }
90
- // API scenarios
91
- else if (lower.includes('api') || lower.includes('return')) {
92
- given = ['I have a valid API token', 'The API service is running'];
93
- when = ['I make a request to the endpoint'];
94
- then = ['I should receive a successful response', 'The response should contain valid data'];
95
- }
96
- // Export scenarios
97
- else if (lower.includes('export')) {
98
- given = ['I have data to export'];
99
- when = ['I click the export button'];
100
- then = ['A file should be downloaded', 'The file should contain my data'];
101
- }
102
- // Generic scenario
103
- else {
104
- given = ['The system is initialized', 'All prerequisites are met'];
105
- when = ['I perform the required action'];
106
- then = ['The expected outcome should occur', 'No errors should be displayed'];
107
- }
108
- return {
109
- title: 'Successful operation',
110
- feature,
111
- given,
112
- when,
113
- then,
114
- tags: ['@happy-path', '@smoke']
115
- };
116
- }
117
- function generateErrorScenario(errorType, feature) {
118
- let given = [];
119
- let when = [];
120
- let then = [];
121
- if (errorType === 'Invalid credentials') {
122
- given = ['I am on the login page'];
123
- when = ['I enter invalid username or password', 'I click the login button'];
124
- then = ['I should see an error message', 'I should remain on the login page'];
125
- }
126
- else if (errorType === 'Invalid request') {
127
- given = ['I have an API client'];
128
- when = ['I send a malformed request'];
129
- then = ['I should receive a 400 Bad Request response', 'The response should include error details'];
130
- }
131
- return {
132
- title: `Error handling: ${errorType}`,
133
- feature,
134
- given,
135
- when,
136
- then,
137
- tags: ['@error', '@negative']
138
- };
139
- }
140
- function generateEdgeCaseScenarios(requirement, feature) {
141
- const scenarios = [];
142
- // Boundary condition
143
- scenarios.push({
144
- title: 'Boundary condition test',
145
- feature,
146
- given: ['The system has reached a boundary value'],
147
- when: ['I attempt an operation at the boundary'],
148
- then: ['The system should handle it gracefully'],
149
- tags: ['@edge-case', '@boundary']
150
- });
151
- // Concurrent access
152
- if (requirement.toLowerCase().includes('concurrent') || requirement.toLowerCase().includes('user')) {
153
- scenarios.push({
154
- title: 'Concurrent access',
155
- feature,
156
- given: ['Multiple users are accessing the system'],
157
- when: ['They perform actions simultaneously'],
158
- then: ['Each action should complete without interference', 'Data consistency should be maintained'],
159
- tags: ['@edge-case', '@concurrency']
160
- });
161
- }
162
- return scenarios;
163
- }
164
- function generateCucumberFormat(scenarios, requirement) {
165
- let cucumber = `Feature: ${scenarios[0].feature}\n`;
166
- cucumber += ` ${requirement}\n\n`;
167
- for (const scenario of scenarios) {
168
- cucumber += ` ${scenario.tags ? scenario.tags.join(' ') + '\n ' : ''}`;
169
- cucumber += `Scenario: ${scenario.title}\n`;
170
- for (const given of scenario.given) {
171
- cucumber += ` Given ${given}\n`;
172
- }
173
- for (const when of scenario.when) {
174
- cucumber += ` When ${when}\n`;
175
- }
176
- for (const then of scenario.then) {
177
- cucumber += ` Then ${then}\n`;
178
- }
179
- cucumber += '\n';
180
- }
181
- return cucumber;
182
- }
183
- function generateTestCodeForFramework(scenarios, framework) {
184
- if (framework === 'jest' || framework === 'mocha' || framework === 'jasmine') {
185
- return generateJestCode(scenarios);
186
- }
187
- else if (framework === 'cucumber-js') {
188
- return generateCucumberJsCode(scenarios);
189
- }
190
- return generateJestCode(scenarios);
191
- }
192
- function generateJestCode(scenarios) {
193
- let code = `describe('${scenarios[0].feature}', () => {\n`;
194
- for (const scenario of scenarios) {
195
- code += ` it('${scenario.title}', async () => {\n`;
196
- code += ` // Given\n`;
197
- for (const given of scenario.given) {
198
- code += ` // ${given}\n`;
199
- }
200
- code += `\n // When\n`;
201
- for (const when of scenario.when) {
202
- code += ` // ${when}\n`;
203
- }
204
- code += `\n // Then\n`;
205
- for (const then of scenario.then) {
206
- code += ` // ${then}\n`;
207
- code += ` expect(result).toBeDefined();\n`;
208
- }
209
- code += ` });\n\n`;
210
- }
211
- code += `});\n`;
212
- return code;
213
- }
214
- function generateCucumberJsCode(scenarios) {
215
- let code = `const { Given, When, Then } = require('@cucumber/cucumber');\n\n`;
216
- const allGivens = new Set();
217
- const allWhens = new Set();
218
- const allThens = new Set();
219
- for (const scenario of scenarios) {
220
- scenario.given.forEach(g => allGivens.add(g));
221
- scenario.when.forEach(w => allWhens.add(w));
222
- scenario.then.forEach(t => allThens.add(t));
223
- }
224
- for (const given of allGivens) {
225
- code += `Given('${given}', async function() {\n // TODO: Implement\n});\n\n`;
226
- }
227
- for (const when of allWhens) {
228
- code += `When('${when}', async function() {\n // TODO: Implement\n});\n\n`;
229
- }
230
- for (const then of allThens) {
231
- code += `Then('${then}', async function() {\n // TODO: Implement\n});\n\n`;
232
- }
233
- return code;
234
- }
235
- function extractTestDataFromRequirement(requirement) {
236
- const validExamples = [];
237
- const invalidExamples = [];
238
- const edgeCases = [];
239
- const lower = requirement.toLowerCase();
240
- // Password requirements
241
- if (lower.includes('password') && lower.includes('8')) {
242
- validExamples.push('Password123', 'SecureP@ss1');
243
- invalidExamples.push('pass', '12345', 'password');
244
- edgeCases.push('A1234567', 'Passwor1'); // Exactly 8 characters
245
- }
246
- // Email validation
247
- if (lower.includes('email')) {
248
- validExamples.push('user@example.com', 'test.user@domain.co.uk');
249
- invalidExamples.push('invalid', 'user@', '@domain.com');
250
- edgeCases.push('user+tag@example.com', 'user@sub.sub.example.com');
251
- }
252
- // Numeric ranges
253
- const rangeMatch = requirement.match(/(\d+)\s*to\s*(\d+)|between\s*(\d+)\s*and\s*(\d+)/i);
254
- if (rangeMatch) {
255
- const min = parseInt(rangeMatch[1] || rangeMatch[3]);
256
- const max = parseInt(rangeMatch[2] || rangeMatch[4]);
257
- validExamples.push(min + 1, max - 1);
258
- invalidExamples.push(min - 1, max + 1);
259
- edgeCases.push(min, max);
260
- }
261
- return {
262
- validExamples,
263
- invalidExamples,
264
- edgeCases
265
- };
266
- }
267
- //# sourceMappingURL=requirements-generate-bdd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requirements-generate-bdd.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/advanced/requirements-generate-bdd.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Requirements Validation Handler with REAL Analysis
3
- * Uses NLP patterns and heuristics to validate requirement testability
4
- */
5
- import type { RequirementsValidateParams, RequirementsValidateResult } from '../../types/advanced';
6
- export declare function requirementsValidate(params: RequirementsValidateParams): Promise<RequirementsValidateResult>;
7
- //# sourceMappingURL=requirements-validate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requirements-validate.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/advanced/requirements-validate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAG3B,MAAM,sBAAsB,CAAC;AAQ9B,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAkCrC"}
@@ -1,175 +0,0 @@
1
- "use strict";
2
- /**
3
- * Requirements Validation Handler with REAL Analysis
4
- * Uses NLP patterns and heuristics to validate requirement testability
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.requirementsValidate = requirementsValidate;
8
- // Testability keywords and patterns
9
- const TESTABLE_VERBS = ['shall', 'must', 'will', 'should', 'can', 'authenticate', 'validate', 'return', 'display', 'save', 'delete', 'update'];
10
- const MEASURABLE_TERMS = ['within', 'at least', 'no more than', 'maximum', 'minimum', 'exactly', 'between'];
11
- const VAGUE_TERMS = ['fast', 'slow', 'good', 'bad', 'properly', 'correctly', 'appropriately', 'efficiently'];
12
- const AMBIGUOUS_TERMS = ['some', 'few', 'many', 'several', 'various', 'adequate', 'reasonable'];
13
- async function requirementsValidate(params) {
14
- const { requirements, strictMode = false, generateTestSuggestions = false } = params;
15
- if (requirements.length === 0) {
16
- return {
17
- totalRequirements: 0,
18
- testableCount: 0,
19
- validationResults: [],
20
- overallScore: 0,
21
- recommendations: ['No requirements provided for validation']
22
- };
23
- }
24
- const validationResults = [];
25
- let testableCount = 0;
26
- for (const requirement of requirements) {
27
- const result = validateRequirement(requirement, strictMode, generateTestSuggestions);
28
- validationResults.push(result);
29
- if (result.isTestable) {
30
- testableCount++;
31
- }
32
- }
33
- const overallScore = validationResults.reduce((sum, r) => sum + r.testabilityScore, 0) / requirements.length;
34
- const recommendations = generateRecommendations(validationResults, overallScore);
35
- return {
36
- totalRequirements: requirements.length,
37
- testableCount,
38
- validationResults,
39
- overallScore,
40
- recommendations
41
- };
42
- }
43
- function validateRequirement(requirement, strictMode, generateSuggestions) {
44
- const issues = [];
45
- let testabilityScore = 1.0;
46
- // Check for testable verbs
47
- const hasTestableVerb = TESTABLE_VERBS.some(verb => requirement.toLowerCase().includes(verb));
48
- if (!hasTestableVerb) {
49
- issues.push({
50
- type: 'untestable',
51
- message: 'Requirement lacks clear action verb',
52
- severity: 'high',
53
- suggestion: 'Use verbs like "shall", "must", "will" to specify behavior'
54
- });
55
- testabilityScore -= 0.3;
56
- }
57
- // Check for vague terms (match whole words only)
58
- const vagueTerm = VAGUE_TERMS.find(term => {
59
- const regex = new RegExp(`\\b${term}\\b`, 'i');
60
- return regex.test(requirement);
61
- });
62
- if (vagueTerm) {
63
- issues.push({
64
- type: 'vague',
65
- message: `Contains vague term: "${vagueTerm}"`,
66
- severity: 'high',
67
- suggestion: `Replace "${vagueTerm}" with specific, measurable criteria`
68
- });
69
- testabilityScore -= 0.4;
70
- }
71
- // Check for ambiguous terms (match whole words only)
72
- const ambiguousTerm = AMBIGUOUS_TERMS.find(term => {
73
- const regex = new RegExp(`\\b${term}\\b`, 'i');
74
- return regex.test(requirement);
75
- });
76
- if (ambiguousTerm) {
77
- issues.push({
78
- type: 'ambiguity',
79
- message: `Contains ambiguous term: "${ambiguousTerm}"`,
80
- severity: 'medium',
81
- suggestion: `Specify exact quantities instead of "${ambiguousTerm}"`
82
- });
83
- testabilityScore -= 0.2;
84
- }
85
- // Check for measurability in performance requirements
86
- const hasMeasurableMetric = MEASURABLE_TERMS.some(term => requirement.toLowerCase().includes(term));
87
- const seemsLikePerformanceReq = requirement.toLowerCase().match(/time|speed|latency|throughput|concurrent/);
88
- if (seemsLikePerformanceReq && !hasMeasurableMetric) {
89
- issues.push({
90
- type: 'missing-criteria',
91
- message: 'Performance requirement lacks measurable criteria',
92
- severity: 'high',
93
- suggestion: 'Add specific metrics (e.g., "within 200ms", "at least 1000 requests/sec")'
94
- });
95
- testabilityScore -= 0.3;
96
- }
97
- // Check for acceptance criteria markers
98
- const hasAcceptanceCriteria = requirement.includes('Given') || requirement.includes('When') || requirement.includes('Then');
99
- if (strictMode && !hasAcceptanceCriteria) {
100
- issues.push({
101
- type: 'missing-criteria',
102
- message: 'Missing explicit acceptance criteria',
103
- severity: 'medium',
104
- suggestion: 'Add Given-When-Then scenarios or specify exact expected outcomes'
105
- });
106
- testabilityScore -= 0.1;
107
- }
108
- // Ensure score doesn't go negative
109
- testabilityScore = Math.max(0, testabilityScore);
110
- const isTestable = testabilityScore >= 0.6;
111
- let testSuggestions;
112
- if (generateSuggestions && isTestable) {
113
- testSuggestions = generateTestSuggestions(requirement);
114
- }
115
- return {
116
- requirement,
117
- isTestable,
118
- testabilityScore,
119
- issues,
120
- testSuggestions
121
- };
122
- }
123
- function generateTestSuggestions(requirement) {
124
- const suggestions = [];
125
- const lower = requirement.toLowerCase();
126
- if (lower.includes('login') || lower.includes('authenticate')) {
127
- suggestions.push('Test valid credentials');
128
- suggestions.push('Test invalid credentials');
129
- suggestions.push('Test locked account scenario');
130
- }
131
- if (lower.includes('api') || lower.includes('endpoint')) {
132
- suggestions.push('Test successful response');
133
- suggestions.push('Test error handling (4xx, 5xx)');
134
- suggestions.push('Test input validation');
135
- }
136
- if (lower.includes('within') || lower.includes('performance')) {
137
- suggestions.push('Load test with expected volume');
138
- suggestions.push('Measure response time distribution');
139
- suggestions.push('Test under degraded conditions');
140
- }
141
- if (lower.includes('validate') || lower.includes('check')) {
142
- suggestions.push('Test valid input');
143
- suggestions.push('Test invalid input');
144
- suggestions.push('Test boundary conditions');
145
- }
146
- if (suggestions.length === 0) {
147
- suggestions.push('Create positive test case');
148
- suggestions.push('Create negative test case');
149
- suggestions.push('Test edge cases');
150
- }
151
- return suggestions;
152
- }
153
- function generateRecommendations(validationResults, overallScore) {
154
- const recommendations = [];
155
- const highIssuesCount = validationResults.reduce((count, r) => count + r.issues.filter(i => i.severity === 'high').length, 0);
156
- if (overallScore < 0.5) {
157
- recommendations.push('Critical: Most requirements are not testable. Consider a requirements workshop to refine them.');
158
- }
159
- else if (overallScore < 0.7) {
160
- recommendations.push('Moderate: Several requirements need clarification to improve testability.');
161
- }
162
- else if (overallScore >= 0.9) {
163
- recommendations.push('Excellent: Requirements are well-defined and testable.');
164
- }
165
- if (highIssuesCount > 0) {
166
- recommendations.push(`${highIssuesCount} high-severity issues detected. Address vague and ambiguous terms first.`);
167
- }
168
- const untestableCount = validationResults.filter(r => !r.isTestable).length;
169
- if (untestableCount > 0) {
170
- recommendations.push(`${untestableCount} requirements are untestable. Add specific, measurable criteria.`);
171
- }
172
- recommendations.push('Consider using BDD format (Given-When-Then) for clearer acceptance criteria.');
173
- return recommendations;
174
- }
175
- //# sourceMappingURL=requirements-validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requirements-validate.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/advanced/requirements-validate.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Performance Benchmark Run Handler
3
- * Executes performance benchmarks
4
- */
5
- import { BaseHandler, HandlerResponse } from '../base-handler.js';
6
- export interface PerformanceBenchmarkRunParams {
7
- benchmarkSuite: string;
8
- iterations?: number;
9
- warmupIterations?: number;
10
- }
11
- export declare class PerformanceBenchmarkRunHandler extends BaseHandler {
12
- handle(args: PerformanceBenchmarkRunParams): Promise<HandlerResponse>;
13
- private runBenchmark;
14
- }
15
- //# sourceMappingURL=performance-benchmark-run-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"performance-benchmark-run-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performance-benchmark-run-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,8BAA+B,SAAQ,WAAW;IACvD,MAAM,CAAC,IAAI,EAAE,6BAA6B,GAAG,OAAO,CAAC,eAAe,CAAC;YAsB7D,YAAY;CAe3B"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- /**
3
- * Performance Benchmark Run Handler
4
- * Executes performance benchmarks
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.PerformanceBenchmarkRunHandler = void 0;
8
- const base_handler_js_1 = require("../base-handler.js");
9
- class PerformanceBenchmarkRunHandler extends base_handler_js_1.BaseHandler {
10
- async handle(args) {
11
- return this.safeHandle(async () => {
12
- const requestId = this.generateRequestId();
13
- this.log('info', 'Starting performance benchmark', { requestId, args });
14
- const iterations = args.iterations || 100;
15
- const warmupIterations = args.warmupIterations || 10;
16
- // Simulate benchmark execution
17
- const result = await this.runBenchmark(args.benchmarkSuite, iterations, warmupIterations);
18
- this.log('info', 'Performance benchmark completed', {
19
- requestId,
20
- avgTime: result.averageTime,
21
- throughput: result.throughput
22
- });
23
- return this.createSuccessResponse(result, requestId);
24
- });
25
- }
26
- async runBenchmark(suite, iterations, warmup) {
27
- // Placeholder implementation
28
- return {
29
- suite,
30
- iterations,
31
- averageTime: 45.2,
32
- medianTime: 44.1,
33
- minTime: 38.5,
34
- maxTime: 62.3,
35
- throughput: 22.1,
36
- standardDeviation: 5.3,
37
- completed: iterations,
38
- failed: 0
39
- };
40
- }
41
- }
42
- exports.PerformanceBenchmarkRunHandler = PerformanceBenchmarkRunHandler;
43
- //# sourceMappingURL=performance-benchmark-run-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"performance-benchmark-run-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performance-benchmark-run-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAQlE,MAAa,8BAA+B,SAAQ,6BAAW;IAC7D,KAAK,CAAC,MAAM,CAAC,IAAmC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,gCAAgC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAExE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;YAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAErD,+BAA+B;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAE1F,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iCAAiC,EAAE;gBAClD,SAAS;gBACT,OAAO,EAAE,MAAM,CAAC,WAAW;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,UAAkB,EAAE,MAAc;QAC1E,6BAA6B;QAC7B,OAAO;YACL,KAAK;YACL,UAAU;YACV,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,GAAG;YACtB,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;CACF;AAtCD,wEAsCC"}
@@ -1,58 +0,0 @@
1
- /**
2
- * Performance Benchmark Runner
3
- * Executes comprehensive performance benchmarks with statistical analysis
4
- */
5
- export interface PerformanceBenchmarkRunParams {
6
- targets: string[];
7
- iterations?: number;
8
- warmupRuns?: number;
9
- concurrency?: number;
10
- timeout?: number;
11
- metricsToCollect?: Array<'cpu' | 'memory' | 'io' | 'network' | 'latency' | 'throughput'>;
12
- baselineComparison?: boolean;
13
- }
14
- export interface BenchmarkMetrics {
15
- mean: number;
16
- median: number;
17
- stdDev: number;
18
- min: number;
19
- max: number;
20
- p50: number;
21
- p95: number;
22
- p99: number;
23
- }
24
- export interface PerformanceBenchmarkRunResult {
25
- benchmarks: Array<{
26
- target: string;
27
- metrics: {
28
- latency?: BenchmarkMetrics;
29
- throughput?: BenchmarkMetrics;
30
- cpu?: BenchmarkMetrics;
31
- memory?: BenchmarkMetrics;
32
- io?: BenchmarkMetrics;
33
- network?: BenchmarkMetrics;
34
- };
35
- status: 'pass' | 'fail' | 'warning';
36
- issues?: string[];
37
- }>;
38
- summary: {
39
- totalTests: number;
40
- passed: number;
41
- failed: number;
42
- warnings: number;
43
- totalDuration: number;
44
- };
45
- comparison?: {
46
- target: string;
47
- improvement: number;
48
- regression: number;
49
- neutral: number;
50
- };
51
- recommendations: string[];
52
- timestamp: string;
53
- }
54
- /**
55
- * Run performance benchmarks with statistical analysis
56
- */
57
- export declare function performanceBenchmarkRun(params: PerformanceBenchmarkRunParams): Promise<PerformanceBenchmarkRunResult>;
58
- //# sourceMappingURL=performanceBenchmarkRun.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"performanceBenchmarkRun.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performanceBenchmarkRun.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;IACzF,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,KAAK,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE;YACP,OAAO,CAAC,EAAE,gBAAgB,CAAC;YAC3B,UAAU,CAAC,EAAE,gBAAgB,CAAC;YAC9B,GAAG,CAAC,EAAE,gBAAgB,CAAC;YACvB,MAAM,CAAC,EAAE,gBAAgB,CAAC;YAC1B,EAAE,CAAC,EAAE,gBAAgB,CAAC;YACtB,OAAO,CAAC,EAAE,gBAAgB,CAAC;SAC5B,CAAC;QACF,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QACpC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,CAAC;IACH,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,6BAA6B,CAAC,CAgDxC"}