atlas-pipeline-mcp 1.0.20 → 1.0.22

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 (43) hide show
  1. package/dist/mcp.js +191 -0
  2. package/dist/mcp.js.map +1 -1
  3. package/dist/tools/advanced-testgen.d.ts +93 -0
  4. package/dist/tools/advanced-testgen.d.ts.map +1 -0
  5. package/dist/tools/advanced-testgen.js +382 -0
  6. package/dist/tools/advanced-testgen.js.map +1 -0
  7. package/dist/tools/architecture-advisor.d.ts +174 -0
  8. package/dist/tools/architecture-advisor.d.ts.map +1 -0
  9. package/dist/tools/architecture-advisor.js +509 -0
  10. package/dist/tools/architecture-advisor.js.map +1 -0
  11. package/dist/tools/code-migration.d.ts +86 -0
  12. package/dist/tools/code-migration.d.ts.map +1 -0
  13. package/dist/tools/code-migration.js +339 -0
  14. package/dist/tools/code-migration.js.map +1 -0
  15. package/dist/tools/dashboard.d.ts +107 -0
  16. package/dist/tools/dashboard.d.ts.map +1 -0
  17. package/dist/tools/dashboard.js +544 -0
  18. package/dist/tools/dashboard.js.map +1 -0
  19. package/dist/tools/dependencies.d.ts +105 -0
  20. package/dist/tools/dependencies.d.ts.map +1 -0
  21. package/dist/tools/dependencies.js +410 -0
  22. package/dist/tools/dependencies.js.map +1 -0
  23. package/dist/tools/ml-predictor.d.ts +84 -0
  24. package/dist/tools/ml-predictor.d.ts.map +1 -0
  25. package/dist/tools/ml-predictor.js +407 -0
  26. package/dist/tools/ml-predictor.js.map +1 -0
  27. package/dist/tools/profiler.d.ts +83 -0
  28. package/dist/tools/profiler.d.ts.map +1 -0
  29. package/dist/tools/profiler.js +385 -0
  30. package/dist/tools/profiler.js.map +1 -0
  31. package/dist/tools/rag-search.d.ts +88 -0
  32. package/dist/tools/rag-search.d.ts.map +1 -0
  33. package/dist/tools/rag-search.js +338 -0
  34. package/dist/tools/rag-search.js.map +1 -0
  35. package/dist/tools/refactor.d.ts +63 -0
  36. package/dist/tools/refactor.d.ts.map +1 -0
  37. package/dist/tools/refactor.js +308 -0
  38. package/dist/tools/refactor.js.map +1 -0
  39. package/dist/tools/review.d.ts +98 -0
  40. package/dist/tools/review.d.ts.map +1 -0
  41. package/dist/tools/review.js +428 -0
  42. package/dist/tools/review.js.map +1 -0
  43. package/package.json +2 -2
@@ -0,0 +1,339 @@
1
+ /**
2
+ * Atlas Server - Intelligent Code Migration Assistant
3
+ *
4
+ * AI-powered code migration and modernization:
5
+ * - Framework upgrades (React 17→18, Vue 2→3, etc.)
6
+ * - Language conversion (JS→TS, Python 2→3)
7
+ * - API migration (deprecated→modern APIs)
8
+ * - Dependency upgrades with breaking change handling
9
+ * - Architecture modernization (Class→Functional, Callbacks→Promises→Async/Await)
10
+ * - Build tool migration (Webpack→Vite, etc.)
11
+ * - Database migration generation
12
+ * - CI/CD pipeline modernization
13
+ *
14
+ * @module code-migration
15
+ * @author Nishant Unavane
16
+ * @version 1.0.0
17
+ */
18
+ import { promises as fs } from 'fs';
19
+ import { join } from 'path';
20
+ import { logger, createTimer } from '../utils.js';
21
+ import { z } from 'zod';
22
+ // ============================================================================
23
+ // Validation Schema
24
+ // ============================================================================
25
+ const MigrationOptionsSchema = z.object({
26
+ projectPath: z.string().min(1),
27
+ migrationType: z.enum([
28
+ 'javascript-to-typescript',
29
+ 'react-upgrade',
30
+ 'vue-upgrade',
31
+ 'python-2-to-3',
32
+ 'class-to-functional',
33
+ 'callback-to-async',
34
+ 'webpack-to-vite',
35
+ 'jest-to-vitest',
36
+ 'commonjs-to-esm',
37
+ 'api-migration',
38
+ 'database-migration',
39
+ 'custom',
40
+ ]),
41
+ from: z.string(),
42
+ to: z.string(),
43
+ files: z.array(z.string()).optional(),
44
+ filePattern: z.string().optional(),
45
+ strategy: z.enum(['safe', 'aggressive', 'manual']).optional(),
46
+ preserveComments: z.boolean().optional(),
47
+ createBackup: z.boolean().optional(),
48
+ dryRun: z.boolean().optional(),
49
+ handleBreakingChanges: z.boolean().optional(),
50
+ updateDependencies: z.boolean().optional(),
51
+ generateTests: z.boolean().optional(),
52
+ });
53
+ // ============================================================================
54
+ // Migration Strategies
55
+ // ============================================================================
56
+ /**
57
+ * Migrate JavaScript to TypeScript
58
+ */
59
+ async function migrateJSToTS(code, filePath) {
60
+ const changes = [];
61
+ const lines = code.split('\n');
62
+ // Add type annotations to function parameters
63
+ const functionPattern = /function\s+(\w+)\s*\(([^)]*)\)/g;
64
+ let match;
65
+ while ((match = functionPattern.exec(code)) !== null) {
66
+ const funcName = match[1];
67
+ const params = match[2];
68
+ if (params && !params.includes(':')) {
69
+ const typedParams = params.split(',').map(p => `${p.trim()}: any`).join(', ');
70
+ const before = match[0];
71
+ const after = `function ${funcName}(${typedParams}): any`;
72
+ changes.push({
73
+ filePath,
74
+ changeType: 'type-annotation',
75
+ description: `Added type annotations to function ${funcName}`,
76
+ before,
77
+ after,
78
+ automated: true,
79
+ confidence: 0.7,
80
+ });
81
+ }
82
+ }
83
+ // Convert var to let/const
84
+ const varPattern = /\bvar\s+(\w+)/g;
85
+ while ((match = varPattern.exec(code)) !== null) {
86
+ changes.push({
87
+ filePath,
88
+ changeType: 'syntax',
89
+ description: 'Converted var to const/let',
90
+ before: `var ${match[1]}`,
91
+ after: `const ${match[1]}`,
92
+ automated: true,
93
+ confidence: 0.9,
94
+ });
95
+ }
96
+ return changes;
97
+ }
98
+ /**
99
+ * Migrate from callbacks to async/await
100
+ */
101
+ async function migrateCallbackToAsync(code, filePath) {
102
+ const changes = [];
103
+ // Detect callback patterns
104
+ const callbackPattern = /(\w+)\s*\([^)]*,\s*function\s*\(([^)]*)\)\s*{([^}]*)}/g;
105
+ let match;
106
+ while ((match = callbackPattern.exec(code)) !== null) {
107
+ const funcName = match[1];
108
+ const params = match[2];
109
+ const body = match[3];
110
+ if (!funcName || !body)
111
+ continue;
112
+ // Convert to async/await
113
+ const before = match[0];
114
+ const after = `const result = await ${funcName}Async();\n// Process: ${body.trim()}`;
115
+ changes.push({
116
+ filePath,
117
+ changeType: 'syntax',
118
+ description: `Converted callback to async/await for ${funcName}`,
119
+ before,
120
+ after,
121
+ automated: false, // Requires manual verification
122
+ confidence: 0.6,
123
+ });
124
+ }
125
+ return changes;
126
+ }
127
+ /**
128
+ * Migrate React class components to functional
129
+ */
130
+ async function migrateReactClassToFunctional(code, filePath) {
131
+ const changes = [];
132
+ // Detect class components
133
+ if (/class\s+\w+\s+extends\s+React\.Component/.test(code)) {
134
+ changes.push({
135
+ filePath,
136
+ changeType: 'structure',
137
+ description: 'Convert class component to functional component with hooks',
138
+ before: code.substring(0, 100) + '...',
139
+ after: '// Converted to functional component\nconst Component = () => {\n // Use useState, useEffect hooks\n}',
140
+ automated: false,
141
+ confidence: 0.5,
142
+ });
143
+ }
144
+ // Convert this.state to useState
145
+ const statePattern = /this\.state\.(\w+)/g;
146
+ let match;
147
+ const stateVars = new Set();
148
+ while ((match = statePattern.exec(code)) !== null) {
149
+ if (match[1]) {
150
+ stateVars.add(match[1]);
151
+ }
152
+ }
153
+ if (stateVars.size > 0) {
154
+ changes.push({
155
+ filePath,
156
+ changeType: 'api',
157
+ description: `Convert ${stateVars.size} state variables to useState hooks`,
158
+ before: `this.state = { ${Array.from(stateVars).join(', ')} }`,
159
+ after: Array.from(stateVars).map(v => `const [${v}, set${v.charAt(0).toUpperCase() + v.slice(1)}] = useState()`).join('\n'),
160
+ automated: false,
161
+ confidence: 0.7,
162
+ });
163
+ }
164
+ return changes;
165
+ }
166
+ /**
167
+ * Migrate CommonJS to ESM
168
+ */
169
+ async function migrateCommonJSToESM(code, filePath) {
170
+ const changes = [];
171
+ // Convert require to import
172
+ const requirePattern = /const\s+(\w+)\s*=\s*require\(['"]([^'"]+)['"]\)/g;
173
+ let match;
174
+ while ((match = requirePattern.exec(code)) !== null) {
175
+ const varName = match[1];
176
+ const modulePath = match[2];
177
+ changes.push({
178
+ filePath,
179
+ changeType: 'import',
180
+ description: 'Convert require to import',
181
+ before: match[0],
182
+ after: `import ${varName} from '${modulePath}'`,
183
+ automated: true,
184
+ confidence: 0.95,
185
+ });
186
+ }
187
+ // Convert module.exports to export
188
+ if (/module\.exports\s*=/.test(code)) {
189
+ changes.push({
190
+ filePath,
191
+ changeType: 'export',
192
+ description: 'Convert module.exports to export default',
193
+ before: 'module.exports = ',
194
+ after: 'export default ',
195
+ automated: true,
196
+ confidence: 0.9,
197
+ });
198
+ }
199
+ return changes;
200
+ }
201
+ /**
202
+ * Detect breaking changes
203
+ */
204
+ function detectBreakingChanges(changes, migrationType) {
205
+ const breakingChanges = [];
206
+ // API changes with low confidence are potential breaking changes
207
+ const riskyChanges = changes.filter(c => c.changeType === 'api' && c.confidence < 0.8);
208
+ for (const change of riskyChanges) {
209
+ breakingChanges.push({
210
+ filePath: change.filePath,
211
+ issue: change.description,
212
+ impact: 'medium',
213
+ manualAction: 'Review and test this change carefully',
214
+ documentation: 'Check official migration guide',
215
+ });
216
+ }
217
+ return breakingChanges;
218
+ }
219
+ // ============================================================================
220
+ // Main Migration Function
221
+ // ============================================================================
222
+ /**
223
+ * Intelligent code migration
224
+ */
225
+ export async function migrateCode(options) {
226
+ const timer = createTimer();
227
+ const { projectPath, migrationType, from, to, files = [], strategy = 'safe', preserveComments = true, createBackup = true, dryRun = false, handleBreakingChanges = true, } = MigrationOptionsSchema.parse(options);
228
+ logger.info({ migrationType, from, to, dryRun }, 'Starting code migration');
229
+ // Collect files to migrate
230
+ const targetFiles = files.length > 0 ? files : [
231
+ join(projectPath, 'src', 'index.ts'),
232
+ ];
233
+ let allChanges = [];
234
+ let filesAnalyzed = 0;
235
+ let filesMigrated = 0;
236
+ let filesSkipped = 0;
237
+ // Process each file
238
+ for (const filePath of targetFiles) {
239
+ try {
240
+ const code = await fs.readFile(filePath, 'utf-8');
241
+ filesAnalyzed++;
242
+ let changes = [];
243
+ // Apply migration strategy
244
+ switch (migrationType) {
245
+ case 'javascript-to-typescript':
246
+ changes = await migrateJSToTS(code, filePath);
247
+ break;
248
+ case 'callback-to-async':
249
+ changes = await migrateCallbackToAsync(code, filePath);
250
+ break;
251
+ case 'class-to-functional':
252
+ changes = await migrateReactClassToFunctional(code, filePath);
253
+ break;
254
+ case 'commonjs-to-esm':
255
+ changes = await migrateCommonJSToESM(code, filePath);
256
+ break;
257
+ default:
258
+ logger.warn({ migrationType }, 'Migration type not yet implemented');
259
+ }
260
+ if (changes.length > 0) {
261
+ allChanges = allChanges.concat(changes);
262
+ filesMigrated++;
263
+ // Apply changes if not dry run
264
+ if (!dryRun && strategy === 'aggressive') {
265
+ let newCode = code;
266
+ for (const change of changes.filter(c => c.automated)) {
267
+ newCode = newCode.replace(change.before, change.after);
268
+ }
269
+ if (createBackup) {
270
+ await fs.writeFile(`${filePath}.backup`, code);
271
+ }
272
+ await fs.writeFile(filePath, newCode);
273
+ }
274
+ }
275
+ else {
276
+ filesSkipped++;
277
+ }
278
+ }
279
+ catch (error) {
280
+ logger.error({ error, filePath }, 'Error processing file');
281
+ filesSkipped++;
282
+ }
283
+ }
284
+ // Detect breaking changes
285
+ const breakingChanges = handleBreakingChanges
286
+ ? detectBreakingChanges(allChanges, migrationType)
287
+ : [];
288
+ // Generate warnings
289
+ const warnings = [];
290
+ if (allChanges.some(c => !c.automated)) {
291
+ warnings.push({
292
+ filePath: 'multiple',
293
+ message: 'Some changes require manual intervention',
294
+ severity: 'warning',
295
+ suggestion: 'Review all changes marked as manual',
296
+ });
297
+ }
298
+ const stats = {
299
+ linesChanged: allChanges.length,
300
+ apiCallsUpdated: allChanges.filter(c => c.changeType === 'api').length,
301
+ dependenciesUpdated: 0,
302
+ testsGenerated: 0,
303
+ backupsCreated: createBackup ? filesMigrated : 0,
304
+ };
305
+ const recommendations = [
306
+ 'Run all tests after migration',
307
+ 'Review breaking changes carefully',
308
+ 'Update documentation to reflect changes',
309
+ 'Consider gradual rollout of migrated code',
310
+ ];
311
+ const migrationTimeMs = timer.elapsed();
312
+ logger.info({
313
+ filesMigrated,
314
+ changesCount: allChanges.length,
315
+ breakingChanges: breakingChanges.length,
316
+ migrationTimeMs
317
+ }, 'Migration completed');
318
+ return {
319
+ success: true,
320
+ migrationType,
321
+ from,
322
+ to,
323
+ filesAnalyzed,
324
+ filesMigrated,
325
+ filesSkipped,
326
+ changes: allChanges,
327
+ breakingChanges,
328
+ warnings,
329
+ stats,
330
+ recommendations,
331
+ migrationTimeMs,
332
+ dryRun,
333
+ };
334
+ }
335
+ // ============================================================================
336
+ // Export
337
+ // ============================================================================
338
+ export default migrateCode;
339
+ //# sourceMappingURL=code-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-migration.js","sourceRoot":"","sources":["../../src/tools/code-migration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Atlas Server - Live Code Metrics Dashboard Generator
3
+ *
4
+ * Generate beautiful, real-time HTML dashboards for code metrics:
5
+ * - Interactive visualizations
6
+ * - Complexity trends over time
7
+ * - Dependency graphs
8
+ * - Test coverage maps
9
+ * - Performance hotspots
10
+ * - Security audit results
11
+ * - Team velocity metrics
12
+ * - Technical debt tracking
13
+ *
14
+ * @module dashboard
15
+ * @author Nishant Unavane
16
+ * @version 1.0.0
17
+ */
18
+ export interface DashboardOptions {
19
+ projectPath: string;
20
+ outputPath?: string;
21
+ includeComplexity?: boolean;
22
+ includeCoverage?: boolean;
23
+ includeDependencies?: boolean;
24
+ includeSecurity?: boolean;
25
+ includePerformance?: boolean;
26
+ includeGitStats?: boolean;
27
+ metricsData?: ProjectMetrics;
28
+ historicalData?: HistoricalMetrics[];
29
+ title?: string;
30
+ theme?: 'light' | 'dark' | 'auto';
31
+ refreshInterval?: number;
32
+ }
33
+ export interface ProjectMetrics {
34
+ timestamp: string;
35
+ complexity: ComplexityMetrics;
36
+ coverage: CoverageMetrics;
37
+ dependencies: DependencyMetrics;
38
+ security: SecurityMetrics;
39
+ performance: PerformanceMetrics;
40
+ git: GitMetrics;
41
+ }
42
+ export interface ComplexityMetrics {
43
+ averageCyclomaticComplexity: number;
44
+ maxComplexity: number;
45
+ filesAboveThreshold: number;
46
+ maintainabilityIndex: number;
47
+ technicalDebt: {
48
+ hours: number;
49
+ cost: string;
50
+ };
51
+ }
52
+ export interface CoverageMetrics {
53
+ lineCoverage: number;
54
+ branchCoverage: number;
55
+ functionCoverage: number;
56
+ uncoveredFiles: number;
57
+ totalStatements: number;
58
+ coveredStatements: number;
59
+ }
60
+ export interface DependencyMetrics {
61
+ total: number;
62
+ direct: number;
63
+ transitive: number;
64
+ outdated: number;
65
+ vulnerable: number;
66
+ totalSize: number;
67
+ }
68
+ export interface SecurityMetrics {
69
+ vulnerabilities: {
70
+ critical: number;
71
+ high: number;
72
+ medium: number;
73
+ low: number;
74
+ };
75
+ score: number;
76
+ lastScanDate: string;
77
+ }
78
+ export interface PerformanceMetrics {
79
+ buildTime: number;
80
+ bundleSize: number;
81
+ loadTime: number;
82
+ memoryUsage: number;
83
+ }
84
+ export interface GitMetrics {
85
+ totalCommits: number;
86
+ contributors: number;
87
+ filesChanged: number;
88
+ linesAdded: number;
89
+ linesDeleted: number;
90
+ branchCount: number;
91
+ }
92
+ export interface HistoricalMetrics {
93
+ date: string;
94
+ metrics: ProjectMetrics;
95
+ }
96
+ export interface DashboardResult {
97
+ htmlPath: string;
98
+ htmlContent: string;
99
+ metrics: ProjectMetrics;
100
+ executionTimeMs: number;
101
+ }
102
+ /**
103
+ * Generate interactive HTML dashboard
104
+ */
105
+ export declare function generateDashboard(options: DashboardOptions): Promise<DashboardResult>;
106
+ export default generateDashboard;
107
+ //# sourceMappingURL=dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/tools/dashboard.ts"],"names":[],"mappings":"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"}