test-genie-mcp 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/README.md +219 -0
  2. package/dist/analyzers/astAnalyzer.d.ts +108 -0
  3. package/dist/analyzers/astAnalyzer.d.ts.map +1 -0
  4. package/dist/analyzers/astAnalyzer.js +800 -0
  5. package/dist/analyzers/astAnalyzer.js.map +1 -0
  6. package/dist/analyzers/performanceAnalyzer.d.ts +90 -0
  7. package/dist/analyzers/performanceAnalyzer.d.ts.map +1 -0
  8. package/dist/analyzers/performanceAnalyzer.js +647 -0
  9. package/dist/analyzers/performanceAnalyzer.js.map +1 -0
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +683 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/platforms/android/index.d.ts +90 -0
  15. package/dist/platforms/android/index.d.ts.map +1 -0
  16. package/dist/platforms/android/index.js +519 -0
  17. package/dist/platforms/android/index.js.map +1 -0
  18. package/dist/platforms/flutter/index.d.ts +105 -0
  19. package/dist/platforms/flutter/index.d.ts.map +1 -0
  20. package/dist/platforms/flutter/index.js +533 -0
  21. package/dist/platforms/flutter/index.js.map +1 -0
  22. package/dist/platforms/ios/index.d.ts +79 -0
  23. package/dist/platforms/ios/index.d.ts.map +1 -0
  24. package/dist/platforms/ios/index.js +393 -0
  25. package/dist/platforms/ios/index.js.map +1 -0
  26. package/dist/platforms/react-native/index.d.ts +160 -0
  27. package/dist/platforms/react-native/index.d.ts.map +1 -0
  28. package/dist/platforms/react-native/index.js +602 -0
  29. package/dist/platforms/react-native/index.js.map +1 -0
  30. package/dist/platforms/web/index.d.ts +177 -0
  31. package/dist/platforms/web/index.d.ts.map +1 -0
  32. package/dist/platforms/web/index.js +637 -0
  33. package/dist/platforms/web/index.js.map +1 -0
  34. package/dist/storage/index.d.ts +35 -0
  35. package/dist/storage/index.d.ts.map +1 -0
  36. package/dist/storage/index.js +351 -0
  37. package/dist/storage/index.js.map +1 -0
  38. package/dist/tools/analysis/analyzeAppStructure.d.ts +9 -0
  39. package/dist/tools/analysis/analyzeAppStructure.d.ts.map +1 -0
  40. package/dist/tools/analysis/analyzeAppStructure.js +289 -0
  41. package/dist/tools/analysis/analyzeAppStructure.js.map +1 -0
  42. package/dist/tools/analysis/createTestPlan.d.ts +21 -0
  43. package/dist/tools/analysis/createTestPlan.d.ts.map +1 -0
  44. package/dist/tools/analysis/createTestPlan.js +214 -0
  45. package/dist/tools/analysis/createTestPlan.js.map +1 -0
  46. package/dist/tools/analysis/generateScenarios.d.ts +21 -0
  47. package/dist/tools/analysis/generateScenarios.d.ts.map +1 -0
  48. package/dist/tools/analysis/generateScenarios.js +567 -0
  49. package/dist/tools/analysis/generateScenarios.js.map +1 -0
  50. package/dist/tools/automation/cicdIntegration.d.ts +41 -0
  51. package/dist/tools/automation/cicdIntegration.d.ts.map +1 -0
  52. package/dist/tools/automation/cicdIntegration.js +825 -0
  53. package/dist/tools/automation/cicdIntegration.js.map +1 -0
  54. package/dist/tools/automation/generateReport.d.ts +16 -0
  55. package/dist/tools/automation/generateReport.d.ts.map +1 -0
  56. package/dist/tools/automation/generateReport.js +406 -0
  57. package/dist/tools/automation/generateReport.js.map +1 -0
  58. package/dist/tools/automation/runFullAutomation.d.ts +25 -0
  59. package/dist/tools/automation/runFullAutomation.d.ts.map +1 -0
  60. package/dist/tools/automation/runFullAutomation.js +296 -0
  61. package/dist/tools/automation/runFullAutomation.js.map +1 -0
  62. package/dist/tools/detection/detectLogicErrors.d.ts +18 -0
  63. package/dist/tools/detection/detectLogicErrors.d.ts.map +1 -0
  64. package/dist/tools/detection/detectLogicErrors.js +470 -0
  65. package/dist/tools/detection/detectLogicErrors.js.map +1 -0
  66. package/dist/tools/detection/detectMemoryLeaks.d.ts +23 -0
  67. package/dist/tools/detection/detectMemoryLeaks.d.ts.map +1 -0
  68. package/dist/tools/detection/detectMemoryLeaks.js +453 -0
  69. package/dist/tools/detection/detectMemoryLeaks.js.map +1 -0
  70. package/dist/tools/execution/runScenarioTest.d.ts +34 -0
  71. package/dist/tools/execution/runScenarioTest.d.ts.map +1 -0
  72. package/dist/tools/execution/runScenarioTest.js +334 -0
  73. package/dist/tools/execution/runScenarioTest.js.map +1 -0
  74. package/dist/tools/execution/runSimulation.d.ts +17 -0
  75. package/dist/tools/execution/runSimulation.d.ts.map +1 -0
  76. package/dist/tools/execution/runSimulation.js +250 -0
  77. package/dist/tools/execution/runSimulation.js.map +1 -0
  78. package/dist/tools/execution/runStressTest.d.ts +52 -0
  79. package/dist/tools/execution/runStressTest.d.ts.map +1 -0
  80. package/dist/tools/execution/runStressTest.js +176 -0
  81. package/dist/tools/execution/runStressTest.js.map +1 -0
  82. package/dist/tools/fixing/applyFix.d.ts +44 -0
  83. package/dist/tools/fixing/applyFix.d.ts.map +1 -0
  84. package/dist/tools/fixing/applyFix.js +399 -0
  85. package/dist/tools/fixing/applyFix.js.map +1 -0
  86. package/dist/tools/fixing/confirmFix.d.ts +31 -0
  87. package/dist/tools/fixing/confirmFix.d.ts.map +1 -0
  88. package/dist/tools/fixing/confirmFix.js +136 -0
  89. package/dist/tools/fixing/confirmFix.js.map +1 -0
  90. package/dist/tools/fixing/suggestFixes.d.ts +23 -0
  91. package/dist/tools/fixing/suggestFixes.d.ts.map +1 -0
  92. package/dist/tools/fixing/suggestFixes.js +349 -0
  93. package/dist/tools/fixing/suggestFixes.js.map +1 -0
  94. package/dist/types.d.ts +322 -0
  95. package/dist/types.d.ts.map +1 -0
  96. package/dist/types.js +6 -0
  97. package/dist/types.js.map +1 -0
  98. package/dist/utils/codeParser.d.ts +12 -0
  99. package/dist/utils/codeParser.d.ts.map +1 -0
  100. package/dist/utils/codeParser.js +487 -0
  101. package/dist/utils/codeParser.js.map +1 -0
  102. package/package.json +68 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cicdIntegration.js","sourceRoot":"","sources":["../../../src/tools/automation/cicdIntegration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { TestReport, AutomationResult } from '../../types.js';
2
+ interface GenerateReportParams {
3
+ automationResult: AutomationResult;
4
+ format?: 'markdown' | 'html' | 'json';
5
+ sections?: ('summary' | 'details' | 'issues' | 'fixes' | 'recommendations')[];
6
+ outputPath?: string;
7
+ includeCharts?: boolean;
8
+ }
9
+ interface GenerateReportResult {
10
+ report: TestReport;
11
+ content: string;
12
+ outputPath?: string;
13
+ }
14
+ export declare function generateReport(params: GenerateReportParams): GenerateReportResult;
15
+ export default generateReport;
16
+ //# sourceMappingURL=generateReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateReport.d.ts","sourceRoot":"","sources":["../../../src/tools/automation/generateReport.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,UAAU,EAEV,gBAAgB,EAIjB,MAAM,gBAAgB,CAAC;AAExB,UAAU,oBAAoB;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,iBAAiB,CAAC,EAAE,CAAC;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CA0EjF;AA6VD,eAAe,cAAc,CAAC"}
@@ -0,0 +1,406 @@
1
+ "use strict";
2
+ // ============================================
3
+ // Generate Report Tool
4
+ // ============================================
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.generateReport = generateReport;
40
+ const uuid_1 = require("uuid");
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ function generateReport(params) {
44
+ const { automationResult, format = 'markdown', sections = ['summary', 'details', 'issues', 'fixes', 'recommendations'], outputPath, includeCharts = true, } = params;
45
+ const reportSections = [];
46
+ // Generate each section
47
+ if (sections.includes('summary')) {
48
+ reportSections.push(generateSummarySection(automationResult));
49
+ }
50
+ if (sections.includes('details')) {
51
+ reportSections.push(generateDetailsSection(automationResult));
52
+ }
53
+ if (sections.includes('issues')) {
54
+ reportSections.push(generateIssuesSection(automationResult));
55
+ }
56
+ if (sections.includes('fixes')) {
57
+ reportSections.push(generateFixesSection(automationResult));
58
+ }
59
+ if (sections.includes('recommendations')) {
60
+ reportSections.push(generateRecommendationsSection(automationResult));
61
+ }
62
+ const report = {
63
+ id: (0, uuid_1.v4)(),
64
+ title: `Test Automation Report - ${automationResult.config.platform}`,
65
+ format,
66
+ sections: reportSections,
67
+ generatedAt: new Date().toISOString(),
68
+ };
69
+ // Generate content based on format
70
+ let content;
71
+ switch (format) {
72
+ case 'html':
73
+ content = generateHtmlReport(report, automationResult, includeCharts);
74
+ break;
75
+ case 'json':
76
+ content = JSON.stringify({ report, automationResult }, null, 2);
77
+ break;
78
+ case 'markdown':
79
+ default:
80
+ content = generateMarkdownReport(report, automationResult);
81
+ break;
82
+ }
83
+ // Save to file if path provided
84
+ let savedPath;
85
+ if (outputPath) {
86
+ const extension = format === 'html' ? '.html' : format === 'json' ? '.json' : '.md';
87
+ savedPath = outputPath.endsWith(extension) ? outputPath : outputPath + extension;
88
+ const dir = path.dirname(savedPath);
89
+ if (!fs.existsSync(dir)) {
90
+ fs.mkdirSync(dir, { recursive: true });
91
+ }
92
+ fs.writeFileSync(savedPath, content);
93
+ }
94
+ return {
95
+ report,
96
+ content,
97
+ outputPath: savedPath,
98
+ };
99
+ }
100
+ function generateSummarySection(result) {
101
+ const { summary } = result;
102
+ const passRate = summary.totalScenarios > 0
103
+ ? ((summary.passedScenarios / summary.totalScenarios) * 100).toFixed(1)
104
+ : '0';
105
+ const content = `
106
+ ## Summary
107
+
108
+ | Metric | Value |
109
+ |--------|-------|
110
+ | Platform | ${result.config.platform} |
111
+ | Duration | ${summary.duration.toFixed(1)}s |
112
+ | Total Scenarios | ${summary.totalScenarios} |
113
+ | Passed | ${summary.passedScenarios} (${passRate}%) |
114
+ | Failed | ${summary.failedScenarios} |
115
+ | Issues Found | ${summary.totalIssues} |
116
+ | Critical Issues | ${summary.criticalIssues} |
117
+ | Fixes Applied | ${summary.fixesApplied} |
118
+ | Coverage | ${summary.coveragePercent}% |
119
+ `.trim();
120
+ return {
121
+ title: 'Summary',
122
+ type: 'summary',
123
+ content,
124
+ };
125
+ }
126
+ function generateDetailsSection(result) {
127
+ const { testResults } = result;
128
+ let content = `
129
+ ## Test Details
130
+
131
+ ### Test Results by Scenario
132
+
133
+ | Scenario | Status | Duration |
134
+ |----------|--------|----------|
135
+ `;
136
+ for (const test of testResults.slice(0, 50)) {
137
+ const statusIcon = test.status === 'passed' ? '✅' : test.status === 'failed' ? '❌' : '⏭️';
138
+ content += `| ${test.scenarioName.substring(0, 40)} | ${statusIcon} ${test.status} | ${test.duration}ms |\n`;
139
+ }
140
+ if (testResults.length > 50) {
141
+ content += `\n*... and ${testResults.length - 50} more scenarios*\n`;
142
+ }
143
+ // Failed tests details
144
+ const failedTests = testResults.filter(t => t.status === 'failed');
145
+ if (failedTests.length > 0) {
146
+ content += `
147
+ ### Failed Tests
148
+
149
+ `;
150
+ for (const test of failedTests.slice(0, 10)) {
151
+ content += `#### ${test.scenarioName}\n\n`;
152
+ content += `- **Error**: ${test.error?.message || 'Unknown error'}\n`;
153
+ content += `- **Failed Step**: ${test.steps.find(s => s.status === 'failed')?.action || 'Unknown'}\n`;
154
+ if (test.error?.stackTrace) {
155
+ content += `\n\`\`\`\n${test.error.stackTrace.substring(0, 500)}\n\`\`\`\n`;
156
+ }
157
+ content += '\n';
158
+ }
159
+ }
160
+ return {
161
+ title: 'Test Details',
162
+ type: 'details',
163
+ content: content.trim(),
164
+ };
165
+ }
166
+ function generateIssuesSection(result) {
167
+ const { detectedIssues } = result;
168
+ let content = `
169
+ ## Detected Issues
170
+
171
+ Total: ${detectedIssues.length} issues
172
+
173
+ ### By Severity
174
+
175
+ `;
176
+ const bySeverity = {};
177
+ for (const issue of detectedIssues) {
178
+ if (!bySeverity[issue.severity]) {
179
+ bySeverity[issue.severity] = [];
180
+ }
181
+ bySeverity[issue.severity].push(issue);
182
+ }
183
+ const severityOrder = ['critical', 'high', 'medium', 'low', 'info'];
184
+ const severityEmoji = {
185
+ critical: '🔴',
186
+ high: '🟠',
187
+ medium: '🟡',
188
+ low: '🟢',
189
+ info: '🔵',
190
+ };
191
+ for (const severity of severityOrder) {
192
+ const issues = bySeverity[severity];
193
+ if (issues && issues.length > 0) {
194
+ content += `#### ${severityEmoji[severity] || ''} ${severity.charAt(0).toUpperCase() + severity.slice(1)} (${issues.length})\n\n`;
195
+ for (const issue of issues.slice(0, 5)) {
196
+ content += `- **${issue.title}**\n`;
197
+ content += ` - File: \`${issue.file}:${issue.line}\`\n`;
198
+ content += ` - ${issue.description}\n`;
199
+ if (issue.suggestion) {
200
+ content += ` - 💡 ${issue.suggestion}\n`;
201
+ }
202
+ content += '\n';
203
+ }
204
+ if (issues.length > 5) {
205
+ content += `*... and ${issues.length - 5} more ${severity} issues*\n\n`;
206
+ }
207
+ }
208
+ }
209
+ return {
210
+ title: 'Detected Issues',
211
+ type: 'issues',
212
+ content: content.trim(),
213
+ };
214
+ }
215
+ function generateFixesSection(result) {
216
+ const { fixSuggestions, appliedFixes } = result;
217
+ let content = `
218
+ ## Fix Suggestions
219
+
220
+ Total Suggestions: ${fixSuggestions.length}
221
+ Applied: ${appliedFixes.length}
222
+
223
+ ### Applied Fixes
224
+
225
+ `;
226
+ const applied = fixSuggestions.filter(f => f.status === 'applied');
227
+ if (applied.length > 0) {
228
+ for (const fix of applied) {
229
+ content += `#### ✅ ${fix.title}\n\n`;
230
+ content += `- File: \`${fix.file}:${fix.line}\`\n`;
231
+ content += `- Confidence: ${fix.confidence}%\n`;
232
+ content += '\n```diff\n' + fix.diff + '\n```\n\n';
233
+ }
234
+ }
235
+ else {
236
+ content += '*No fixes have been applied yet.*\n\n';
237
+ }
238
+ // Pending fixes
239
+ const pending = fixSuggestions.filter(f => f.status === 'pending');
240
+ if (pending.length > 0) {
241
+ content += `### Pending Fixes (${pending.length})\n\n`;
242
+ for (const fix of pending.slice(0, 10)) {
243
+ content += `#### ⏳ ${fix.title}\n\n`;
244
+ content += `- File: \`${fix.file}:${fix.line}\`\n`;
245
+ content += `- Confidence: ${fix.confidence}%\n`;
246
+ content += `- Description: ${fix.description}\n`;
247
+ content += '\n';
248
+ }
249
+ if (pending.length > 10) {
250
+ content += `*... and ${pending.length - 10} more pending fixes*\n`;
251
+ }
252
+ }
253
+ return {
254
+ title: 'Fix Suggestions',
255
+ type: 'fixes',
256
+ content: content.trim(),
257
+ };
258
+ }
259
+ function generateRecommendationsSection(result) {
260
+ const recommendations = [];
261
+ const { summary, detectedIssues, testResults, simulationResult } = result;
262
+ // Test coverage recommendations
263
+ if (summary.coveragePercent < 80) {
264
+ recommendations.push(`📊 **Increase Test Coverage**: Current coverage is ${summary.coveragePercent}%. Aim for at least 80%.`);
265
+ }
266
+ // Failure rate recommendations
267
+ const failureRate = summary.totalScenarios > 0
268
+ ? (summary.failedScenarios / summary.totalScenarios) * 100
269
+ : 0;
270
+ if (failureRate > 10) {
271
+ recommendations.push(`🔴 **High Failure Rate**: ${failureRate.toFixed(1)}% of tests failed. Investigate and fix failing tests.`);
272
+ }
273
+ // Critical issues
274
+ if (summary.criticalIssues > 0) {
275
+ recommendations.push(`⚠️ **Critical Issues**: ${summary.criticalIssues} critical issues require immediate attention.`);
276
+ }
277
+ // Memory issues
278
+ const memoryIssues = detectedIssues.filter(i => i.type === 'memory_leak' || i.type === 'retain_cycle');
279
+ if (memoryIssues.length > 0) {
280
+ recommendations.push(`🧠 **Memory Management**: ${memoryIssues.length} memory-related issues found. Review cleanup and lifecycle methods.`);
281
+ }
282
+ // Performance
283
+ if (simulationResult && simulationResult.memoryPeakMB > 500) {
284
+ recommendations.push(`📈 **High Memory Usage**: Peak memory was ${simulationResult.memoryPeakMB}MB. Consider optimizing resource usage.`);
285
+ }
286
+ if (simulationResult && simulationResult.cpuPeakPercent > 80) {
287
+ recommendations.push(`⚡ **High CPU Usage**: Peak CPU was ${simulationResult.cpuPeakPercent}%. Optimize heavy computations.`);
288
+ }
289
+ // Pending fixes
290
+ const pendingFixes = result.fixSuggestions.filter(f => f.status === 'pending');
291
+ if (pendingFixes.length > 0) {
292
+ recommendations.push(`🔧 **Pending Fixes**: ${pendingFixes.length} fix suggestions are awaiting review.`);
293
+ }
294
+ // General best practices
295
+ recommendations.push(`📝 **Regular Testing**: Run automated tests regularly, ideally on every commit.`);
296
+ recommendations.push(`🔄 **CI/CD Integration**: Consider integrating this automation into your CI/CD pipeline.`);
297
+ let content = `
298
+ ## Recommendations
299
+
300
+ `;
301
+ for (let i = 0; i < recommendations.length; i++) {
302
+ content += `${i + 1}. ${recommendations[i]}\n\n`;
303
+ }
304
+ return {
305
+ title: 'Recommendations',
306
+ type: 'recommendations',
307
+ content: content.trim(),
308
+ };
309
+ }
310
+ function generateMarkdownReport(report, result) {
311
+ let content = `# ${report.title}
312
+
313
+ Generated: ${new Date(report.generatedAt).toLocaleString()}
314
+
315
+ ---
316
+
317
+ `;
318
+ for (const section of report.sections) {
319
+ content += section.content + '\n\n---\n\n';
320
+ }
321
+ content += `
322
+ ## Appendix
323
+
324
+ ### Configuration
325
+
326
+ \`\`\`json
327
+ ${JSON.stringify(result.config, null, 2)}
328
+ \`\`\`
329
+
330
+ ### Timestamps
331
+
332
+ - Started: ${result.startedAt}
333
+ - Completed: ${result.completedAt}
334
+ - Duration: ${result.summary.duration.toFixed(1)}s
335
+
336
+ ---
337
+
338
+ *Report generated by Test Genie MCP*
339
+ `;
340
+ return content;
341
+ }
342
+ function generateHtmlReport(report, result, includeCharts) {
343
+ const markdownContent = generateMarkdownReport(report, result);
344
+ // Convert markdown to simple HTML
345
+ let htmlContent = markdownContent
346
+ .replace(/^# (.+)$/gm, '<h1>$1</h1>')
347
+ .replace(/^## (.+)$/gm, '<h2>$1</h2>')
348
+ .replace(/^### (.+)$/gm, '<h3>$1</h3>')
349
+ .replace(/^#### (.+)$/gm, '<h4>$1</h4>')
350
+ .replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>')
351
+ .replace(/\*(.+?)\*/g, '<em>$1</em>')
352
+ .replace(/`([^`]+)`/g, '<code>$1</code>')
353
+ .replace(/```(\w*)\n([\s\S]*?)```/g, '<pre><code class="language-$1">$2</code></pre>')
354
+ .replace(/^\- (.+)$/gm, '<li>$1</li>')
355
+ .replace(/(<li>.*<\/li>)/s, '<ul>$1</ul>')
356
+ .replace(/\|(.+)\|/g, (match) => {
357
+ const cells = match.split('|').filter(c => c.trim());
358
+ return '<tr>' + cells.map(c => `<td>${c.trim()}</td>`).join('') + '</tr>';
359
+ })
360
+ .replace(/---/g, '<hr>')
361
+ .replace(/\n\n/g, '</p><p>');
362
+ // Wrap in basic HTML structure
363
+ return `<!DOCTYPE html>
364
+ <html lang="en">
365
+ <head>
366
+ <meta charset="UTF-8">
367
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
368
+ <title>${report.title}</title>
369
+ <style>
370
+ body {
371
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
372
+ max-width: 1200px;
373
+ margin: 0 auto;
374
+ padding: 20px;
375
+ background: #f5f5f5;
376
+ color: #333;
377
+ }
378
+ h1, h2, h3, h4 { color: #1a1a2e; }
379
+ h1 { border-bottom: 2px solid #4a90a4; padding-bottom: 10px; }
380
+ h2 { border-bottom: 1px solid #ddd; padding-bottom: 5px; margin-top: 30px; }
381
+ table { border-collapse: collapse; width: 100%; margin: 15px 0; }
382
+ th, td { border: 1px solid #ddd; padding: 10px; text-align: left; }
383
+ th { background: #4a90a4; color: white; }
384
+ tr:nth-child(even) { background: #f9f9f9; }
385
+ code { background: #e8e8e8; padding: 2px 6px; border-radius: 3px; font-family: 'Monaco', monospace; }
386
+ pre { background: #1a1a2e; color: #e8e8e8; padding: 15px; border-radius: 5px; overflow-x: auto; }
387
+ pre code { background: none; }
388
+ .summary-card { background: white; border-radius: 10px; padding: 20px; margin: 10px 0; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
389
+ .status-passed { color: #28a745; }
390
+ .status-failed { color: #dc3545; }
391
+ .severity-critical { color: #dc3545; font-weight: bold; }
392
+ .severity-high { color: #fd7e14; }
393
+ .severity-medium { color: #ffc107; }
394
+ .severity-low { color: #28a745; }
395
+ hr { border: none; border-top: 1px solid #ddd; margin: 30px 0; }
396
+ ul { padding-left: 20px; }
397
+ li { margin: 5px 0; }
398
+ </style>
399
+ </head>
400
+ <body>
401
+ ${htmlContent}
402
+ </body>
403
+ </html>`;
404
+ }
405
+ exports.default = generateReport;
406
+ //# sourceMappingURL=generateReport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateReport.js","sourceRoot":"","sources":["../../../src/tools/automation/generateReport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { AutomationResult, FixSuggestion, Platform } from '../../types.js';
2
+ interface RunFullAutomationParams {
3
+ projectPath: string;
4
+ platform?: Platform;
5
+ testTypes?: ('unit' | 'integration' | 'e2e' | 'performance' | 'memory')[];
6
+ autoFix?: boolean;
7
+ confirmMode?: 'auto' | 'interactive' | 'batch';
8
+ thresholds?: {
9
+ memoryLeakSizeMB?: number;
10
+ cpuUsagePercent?: number;
11
+ coveragePercent?: number;
12
+ };
13
+ skipPhases?: ('analysis' | 'scenarios' | 'execution' | 'detection' | 'fixing')[];
14
+ onProgress?: (phase: string, progress: number, message: string) => void;
15
+ onConfirmRequired?: (fix: FixSuggestion) => Promise<'approve' | 'reject' | 'modify'>;
16
+ }
17
+ interface RunFullAutomationResult {
18
+ result: AutomationResult;
19
+ success: boolean;
20
+ pendingConfirmations: FixSuggestion[];
21
+ summary: string;
22
+ }
23
+ export declare function runFullAutomation(params: RunFullAutomationParams): Promise<RunFullAutomationResult>;
24
+ export default runFullAutomation;
25
+ //# sourceMappingURL=runFullAutomation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runFullAutomation.d.ts","sourceRoot":"","sources":["../../../src/tools/automation/runFullAutomation.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,gBAAgB,EAOhB,aAAa,EAEb,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAYxB,UAAU,uBAAuB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,aAAa,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC;IAC/C,UAAU,CAAC,EAAE;QACX,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,UAAU,CAAC,EAAE,CAAC,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC;IACjF,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;CACtF;AAED,UAAU,uBAAuB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,aAAa,EAAE,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA0RzG;AAoDD,eAAe,iBAAiB,CAAC"}