atlas-pipeline-mcp 1.0.23 → 1.0.26

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 (66) hide show
  1. package/README.md +117 -4
  2. package/dist/common/error-handling.d.ts +86 -0
  3. package/dist/common/error-handling.d.ts.map +1 -0
  4. package/dist/common/error-handling.js +226 -0
  5. package/dist/common/error-handling.js.map +1 -0
  6. package/dist/mcp.js +232 -0
  7. package/dist/mcp.js.map +1 -1
  8. package/dist/tools/animation-studio.d.ts +83 -0
  9. package/dist/tools/animation-studio.d.ts.map +1 -0
  10. package/dist/tools/animation-studio.js +1064 -0
  11. package/dist/tools/animation-studio.js.map +1 -0
  12. package/dist/tools/api-design-consultant.d.ts +92 -0
  13. package/dist/tools/api-design-consultant.d.ts.map +1 -0
  14. package/dist/tools/api-design-consultant.js +374 -0
  15. package/dist/tools/api-design-consultant.js.map +1 -0
  16. package/dist/tools/api-integration-helper.d.ts +141 -0
  17. package/dist/tools/api-integration-helper.d.ts.map +1 -0
  18. package/dist/tools/api-integration-helper.js +907 -0
  19. package/dist/tools/api-integration-helper.js.map +1 -0
  20. package/dist/tools/css-architecture-wizard.d.ts +86 -0
  21. package/dist/tools/css-architecture-wizard.d.ts.map +1 -0
  22. package/dist/tools/css-architecture-wizard.js +790 -0
  23. package/dist/tools/css-architecture-wizard.js.map +1 -0
  24. package/dist/tools/debug/error-classifier.d.ts +14 -0
  25. package/dist/tools/debug/error-classifier.d.ts.map +1 -0
  26. package/dist/tools/debug/error-classifier.js +40 -0
  27. package/dist/tools/debug/error-classifier.js.map +1 -0
  28. package/dist/tools/debug/language-detector.d.ts +16 -0
  29. package/dist/tools/debug/language-detector.d.ts.map +1 -0
  30. package/dist/tools/debug/language-detector.js +67 -0
  31. package/dist/tools/debug/language-detector.js.map +1 -0
  32. package/dist/tools/debug/stack-parser.d.ts +25 -0
  33. package/dist/tools/debug/stack-parser.d.ts.map +1 -0
  34. package/dist/tools/debug/stack-parser.js +122 -0
  35. package/dist/tools/debug/stack-parser.js.map +1 -0
  36. package/dist/tools/dependencies.d.ts.map +1 -1
  37. package/dist/tools/dependencies.js +50 -25
  38. package/dist/tools/dependencies.js.map +1 -1
  39. package/dist/tools/frontend-performance-doctor.d.ts +108 -0
  40. package/dist/tools/frontend-performance-doctor.d.ts.map +1 -0
  41. package/dist/tools/frontend-performance-doctor.js +731 -0
  42. package/dist/tools/frontend-performance-doctor.js.map +1 -0
  43. package/dist/tools/performance-optimizer.d.ts +97 -0
  44. package/dist/tools/performance-optimizer.d.ts.map +1 -0
  45. package/dist/tools/performance-optimizer.js +295 -0
  46. package/dist/tools/performance-optimizer.js.map +1 -0
  47. package/dist/tools/security-scanner.d.ts +74 -0
  48. package/dist/tools/security-scanner.d.ts.map +1 -0
  49. package/dist/tools/security-scanner.js +290 -0
  50. package/dist/tools/security-scanner.js.map +1 -0
  51. package/dist/tools/senior-mentor.d.ts +81 -0
  52. package/dist/tools/senior-mentor.d.ts.map +1 -0
  53. package/dist/tools/senior-mentor.js +308 -0
  54. package/dist/tools/senior-mentor.js.map +1 -0
  55. package/dist/tools/state-management-architect.d.ts +77 -0
  56. package/dist/tools/state-management-architect.d.ts.map +1 -0
  57. package/dist/tools/state-management-architect.js +323 -0
  58. package/dist/tools/state-management-architect.js.map +1 -0
  59. package/dist/tools/test-utils.d.ts.map +1 -1
  60. package/dist/tools/test-utils.js +109 -56
  61. package/dist/tools/test-utils.js.map +1 -1
  62. package/dist/tools/ui-ux-designer.d.ts +91 -0
  63. package/dist/tools/ui-ux-designer.d.ts.map +1 -0
  64. package/dist/tools/ui-ux-designer.js +907 -0
  65. package/dist/tools/ui-ux-designer.js.map +1 -0
  66. package/package.json +3 -2
@@ -0,0 +1,290 @@
1
+ /**
2
+ * Atlas Server - Advanced Security & Vulnerability Scanner\n *
3
+ * Enterprise-grade security analysis for frontend applications
4
+ * - Dependency vulnerability scanning
5
+ * - Code-level security vulnerabilities
6
+ * - XSS/CSRF/Injection prevention
7
+ * - Authentication/Authorization issues
8
+ * - API security recommendations
9
+ * - Data exposure risks
10
+ *
11
+ * @module security-scanner
12
+ * @author Nishant Unavane
13
+ * @version 1.0.0
14
+ */
15
+ import { getActiveProvider, isNoLLMMode } from '../providers/index.js';
16
+ import { logger, createTimer } from '../utils.js';
17
+ import { z } from 'zod';
18
+ // ============================================================================
19
+ // Validation Schema
20
+ // ============================================================================
21
+ const SecurityScanRequestSchema = z.object({
22
+ codeBase: z.string().optional(),
23
+ dependencies: z.array(z.string()).optional(),
24
+ apiEndpoints: z.array(z.object({
25
+ method: z.string(),
26
+ path: z.string(),
27
+ authentication: z.string(),
28
+ inputValidation: z.string().optional(),
29
+ rateLimit: z.string().optional(),
30
+ })).optional(),
31
+ authMethod: z.string().optional(),
32
+ dataHandling: z.string().optional(),
33
+ frameworks: z.array(z.string()).optional(),
34
+ environmentVariables: z.array(z.string()).optional(),
35
+ });
36
+ // ============================================================================
37
+ // Security Scanning
38
+ // ============================================================================
39
+ /**
40
+ * Perform comprehensive security scan
41
+ */
42
+ export async function scanSecurity(request) {
43
+ const timer = createTimer();
44
+ SecurityScanRequestSchema.parse(request);
45
+ logger.info({ frameworks: request.frameworks }, 'Starting security scan');
46
+ const vulnerabilities = await findVulnerabilities(request);
47
+ const riskScore = calculateRiskScore(vulnerabilities);
48
+ const recommendations = generateRecommendations(vulnerabilities, request);
49
+ const compliance = assessCompliance(request);
50
+ logger.info({ vulnerabilityCount: vulnerabilities.length, riskScore, timeMs: timer.elapsed() }, 'Security scan complete');
51
+ return {
52
+ vulnerabilities,
53
+ riskScore,
54
+ riskLevel: riskScore >= 80 ? 'critical'
55
+ : riskScore >= 60 ? 'high'
56
+ : riskScore >= 40 ? 'medium'
57
+ : 'low',
58
+ summary: generateScanSummary(vulnerabilities),
59
+ recommendations,
60
+ complianceStatus: compliance,
61
+ generatedAt: new Date().toISOString(),
62
+ };
63
+ }
64
+ /**
65
+ * Find vulnerabilities in codebase
66
+ */
67
+ async function findVulnerabilities(request) {
68
+ if (!isNoLLMMode()) {
69
+ try {
70
+ return await scanWithAI(request);
71
+ }
72
+ catch (error) {
73
+ logger.warn({ error }, 'AI scan failed, using heuristic scanning');
74
+ return heuristicScan(request);
75
+ }
76
+ }
77
+ return heuristicScan(request);
78
+ }
79
+ /**
80
+ * AI-powered security scanning
81
+ */
82
+ async function scanWithAI(request) {
83
+ const provider = await getActiveProvider();
84
+ const prompt = `You are a senior security engineer. Scan this frontend application for vulnerabilities:
85
+
86
+ ${request.codeBase ? `Code:\n${request.codeBase}` : ''}
87
+ ${request.frameworks?.length ? `Frameworks: ${request.frameworks.join(', ')}` : ''}
88
+ ${request.authMethod ? `Auth: ${request.authMethod}` : ''}
89
+ ${request.dataHandling ? `Data Handling: ${request.dataHandling}` : ''}
90
+
91
+ Identify:
92
+ 1. XSS vulnerabilities
93
+ 2. CSRF issues
94
+ 3. Injection attacks
95
+ 4. Insecure authentication
96
+ 5. Data exposure risks
97
+ 6. API security issues
98
+ 7. Dependency vulnerabilities
99
+
100
+ For each, provide:
101
+ - Severity level
102
+ - Impact
103
+ - Remediation steps
104
+ - Exploitability`;
105
+ const result = await provider.completeJson(prompt);
106
+ return result.data || [];
107
+ }
108
+ /**
109
+ * Heuristic security scanning
110
+ */
111
+ function heuristicScan(request) {
112
+ const vulnerabilities = [];
113
+ // Check for common vulnerabilities
114
+ if (request.codeBase) {
115
+ if (request.codeBase.includes('innerHTML') && !request.codeBase.includes('DOMPurify')) {
116
+ vulnerabilities.push({
117
+ id: 'XSS-001',
118
+ title: 'Potential XSS via innerHTML',
119
+ severity: 'high',
120
+ type: 'xss',
121
+ description: 'Using innerHTML without sanitization can lead to XSS attacks',
122
+ affectedArea: 'HTML rendering',
123
+ impact: 'Attackers can execute arbitrary JavaScript in user browsers',
124
+ remediation: 'Use textContent instead or use DOMPurify for sanitization',
125
+ exploitability: 'high',
126
+ });
127
+ }
128
+ if (request.codeBase.includes('eval(') || request.codeBase.includes('Function(')) {
129
+ vulnerabilities.push({
130
+ id: 'INJ-001',
131
+ title: 'Code Injection via eval()',
132
+ severity: 'critical',
133
+ type: 'injection',
134
+ description: 'Using eval() is extremely dangerous',
135
+ affectedArea: 'Dynamic code execution',
136
+ impact: 'Complete application compromise',
137
+ remediation: 'Never use eval(). Use JSON.parse() or alternatives.',
138
+ exploitability: 'high',
139
+ });
140
+ }
141
+ if (request.codeBase.includes('localStorage') && !request.codeBase.includes('secure')) {
142
+ vulnerabilities.push({
143
+ id: 'SEC-001',
144
+ title: 'Sensitive data in localStorage',
145
+ severity: 'high',
146
+ type: 'insecure-data-storage',
147
+ description: 'localStorage is not secure for sensitive data',
148
+ affectedArea: 'Data storage',
149
+ impact: 'User credentials and tokens can be stolen via XSS',
150
+ remediation: 'Use httpOnly cookies for auth tokens. Only store non-sensitive data.',
151
+ exploitability: 'high',
152
+ });
153
+ }
154
+ }
155
+ // Check dependencies for known vulnerabilities
156
+ if (request.dependencies?.includes('lodash@<4.17.21')) {
157
+ vulnerabilities.push({
158
+ id: 'DEP-001',
159
+ title: 'Vulnerable lodash version',
160
+ severity: 'medium',
161
+ type: 'dependency-vulnerability',
162
+ description: 'lodash < 4.17.21 has prototype pollution vulnerability',
163
+ affectedArea: 'Dependency',
164
+ cveId: 'CVE-2021-23337',
165
+ impact: 'Code execution, DoS',
166
+ remediation: 'Update lodash to >= 4.17.21',
167
+ exploitability: 'medium',
168
+ });
169
+ }
170
+ // Check API endpoints
171
+ if (request.apiEndpoints) {
172
+ for (const endpoint of request.apiEndpoints) {
173
+ if (endpoint.authentication === 'none' && endpoint.path.includes('admin')) {
174
+ vulnerabilities.push({
175
+ id: 'API-001',
176
+ title: 'Unprotected admin endpoint',
177
+ severity: 'critical',
178
+ type: 'broken-access-control',
179
+ description: `Admin endpoint ${endpoint.path} has no authentication`,
180
+ affectedArea: endpoint.path,
181
+ impact: 'Unauthorized access to admin functions',
182
+ remediation: 'Require authentication and authorization checks',
183
+ exploitability: 'high',
184
+ });
185
+ }
186
+ if (!endpoint.rateLimit) {
187
+ vulnerabilities.push({
188
+ id: 'API-002',
189
+ title: 'Missing rate limiting',
190
+ severity: 'medium',
191
+ type: 'security-misconfiguration',
192
+ description: `Endpoint ${endpoint.path} has no rate limiting`,
193
+ affectedArea: endpoint.path,
194
+ impact: 'Brute force attacks, DoS',
195
+ remediation: 'Implement rate limiting per IP/user',
196
+ exploitability: 'medium',
197
+ });
198
+ }
199
+ }
200
+ }
201
+ return vulnerabilities;
202
+ }
203
+ /**
204
+ * Calculate overall risk score
205
+ */
206
+ function calculateRiskScore(vulnerabilities) {
207
+ let score = 0;
208
+ for (const vuln of vulnerabilities) {
209
+ const severityScore = vuln.severity === 'critical' ? 30
210
+ : vuln.severity === 'high' ? 20
211
+ : vuln.severity === 'medium' ? 10
212
+ : 3;
213
+ const exploitabilityScore = vuln.exploitability === 'high' ? 1
214
+ : vuln.exploitability === 'medium' ? 0.7
215
+ : 0.3;
216
+ score += severityScore * exploitabilityScore;
217
+ }
218
+ return Math.min(score, 100);
219
+ }
220
+ /**
221
+ * Generate remediation recommendations
222
+ */
223
+ function generateRecommendations(vulnerabilities, request) {
224
+ const recommendations = [];
225
+ // Add recommendations based on vulnerabilities
226
+ if (vulnerabilities.some(v => v.type === 'xss')) {
227
+ recommendations.push({
228
+ priority: 'critical',
229
+ category: 'XSS Prevention',
230
+ recommendation: 'Implement Content Security Policy (CSP) headers',
231
+ implementation: 'Set CSP headers that restrict script sources',
232
+ effort: '2-4 hours',
233
+ benefit: 'Blocks inline scripts and untrusted external scripts',
234
+ });
235
+ }
236
+ if (vulnerabilities.some(v => v.type === 'dependency-vulnerability')) {
237
+ recommendations.push({
238
+ priority: 'high',
239
+ category: 'Dependency Management',
240
+ recommendation: 'Implement automated dependency updates',
241
+ implementation: 'Use Dependabot or Renovate for automated PRs',
242
+ effort: '1 hour setup',
243
+ benefit: 'Stay ahead of known vulnerabilities',
244
+ });
245
+ }
246
+ recommendations.push({
247
+ priority: 'high',
248
+ category: 'Security Testing',
249
+ recommendation: 'Add SAST (Static Application Security Testing)',
250
+ implementation: 'Integrate tools like Snyk, SonarQube, or ESLint security plugins',
251
+ effort: '4-8 hours',
252
+ benefit: 'Catch vulnerabilities during development',
253
+ });
254
+ recommendations.push({
255
+ priority: 'medium',
256
+ category: 'Security Headers',
257
+ recommendation: 'Implement security headers',
258
+ implementation: 'Add X-Frame-Options, X-Content-Type-Options, Strict-Transport-Security',
259
+ effort: '2 hours',
260
+ benefit: 'Prevent clickjacking and MIME sniffing attacks',
261
+ });
262
+ return recommendations;
263
+ }
264
+ /**
265
+ * Assess compliance status
266
+ */
267
+ function assessCompliance(request) {
268
+ return {
269
+ gdpr: 'partial',
270
+ ccpa: 'partial',
271
+ hipaa: 'non-compliant',
272
+ pciDss: 'partial',
273
+ owasp: 'Top 10 vulnerabilities may be present - full audit recommended',
274
+ };
275
+ }
276
+ /**
277
+ * Generate scan summary
278
+ */
279
+ function generateScanSummary(vulnerabilities) {
280
+ const critical = vulnerabilities.filter(v => v.severity === 'critical').length;
281
+ const high = vulnerabilities.filter(v => v.severity === 'high').length;
282
+ const medium = vulnerabilities.filter(v => v.severity === 'medium').length;
283
+ return `Security scan found ${vulnerabilities.length} issues: ${critical} critical, ${high} high, ${medium} medium. ` +
284
+ (critical > 0 ? 'URGENT: Address critical vulnerabilities immediately.' : 'Review and remediate high-severity issues.');
285
+ }
286
+ // ============================================================================
287
+ // Export
288
+ // ============================================================================
289
+ export default scanSecurity;
290
+ //# sourceMappingURL=security-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-scanner.js","sourceRoot":"","sources":["../../src/tools/security-scanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Atlas Server - Senior Developer Mentor Tool
3
+ *
4
+ * Helps junior/mid-level developers think like senior engineers
5
+ * - Architectural decision analysis
6
+ * - Code design patterns and trade-offs
7
+ * - Performance optimization strategies
8
+ * - Best practices and conventions
9
+ * - Technical debt assessment
10
+ *
11
+ * @module senior-mentor
12
+ * @author Nishant Unavane
13
+ * @version 1.0.0
14
+ */
15
+ export interface SeniorMentorRequest {
16
+ problem: string;
17
+ context?: string;
18
+ code?: string;
19
+ language?: string;
20
+ framework?: string;
21
+ constraints?: string[];
22
+ desiredOutcome?: string;
23
+ currentApproach?: string;
24
+ }
25
+ export interface ArchitectureAnalysis {
26
+ currentApproach: string;
27
+ issues: ArchitectureIssue[];
28
+ seniorPerspective: string;
29
+ alternativeApproaches: AlternativeApproach[];
30
+ recommendedPath: string;
31
+ reasoning: string;
32
+ }
33
+ export interface ArchitectureIssue {
34
+ severity: 'critical' | 'major' | 'minor';
35
+ title: string;
36
+ explanation: string;
37
+ longTermImpact: string;
38
+ }
39
+ export interface AlternativeApproach {
40
+ name: string;
41
+ description: string;
42
+ pros: string[];
43
+ cons: string[];
44
+ complexity: 'low' | 'medium' | 'high';
45
+ scalability: 'poor' | 'good' | 'excellent';
46
+ maintainability: 'poor' | 'fair' | 'good' | 'excellent';
47
+ seniorRating: number;
48
+ }
49
+ export interface MentorResult {
50
+ analysis: ArchitectureAnalysis;
51
+ seniorLessons: SeniorLesson[];
52
+ actionItems: ActionItem[];
53
+ readingRecommendations: Recommendation[];
54
+ generatedAt: string;
55
+ }
56
+ export interface SeniorLesson {
57
+ title: string;
58
+ lesson: string;
59
+ realWorldExample: string;
60
+ whenToApply: string;
61
+ }
62
+ export interface ActionItem {
63
+ priority: 'high' | 'medium' | 'low';
64
+ action: string;
65
+ expectedBenefit: string;
66
+ estimatedEffort: string;
67
+ timeline: string;
68
+ }
69
+ export interface Recommendation {
70
+ title: string;
71
+ author?: string;
72
+ type: 'article' | 'book' | 'course' | 'talk';
73
+ relevance: number;
74
+ url?: string;
75
+ }
76
+ /**
77
+ * Analyze a problem from a senior developer's perspective
78
+ */
79
+ export declare function getMentorAnalysis(request: SeniorMentorRequest): Promise<MentorResult>;
80
+ export default getMentorAnalysis;
81
+ //# sourceMappingURL=senior-mentor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"senior-mentor.d.ts","sourceRoot":"","sources":["../../src/tools/senior-mentor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3C,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IACxD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,sBAAsB,EAAE,cAAc,EAAE,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAqBD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,YAAY,CAAC,CAwBvB;AA+RD,eAAe,iBAAiB,CAAC"}