code-auditor-mcp 1.20.0 → 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 (180) hide show
  1. package/dist/adapters/GoAdapter.d.ts +53 -0
  2. package/dist/adapters/GoAdapter.d.ts.map +1 -0
  3. package/dist/adapters/GoAdapter.js +602 -0
  4. package/dist/adapters/GoAdapter.js.map +1 -0
  5. package/dist/adapters/GoConfig.d.ts +35 -0
  6. package/dist/adapters/GoConfig.d.ts.map +1 -0
  7. package/dist/adapters/GoConfig.js +155 -0
  8. package/dist/adapters/GoConfig.js.map +1 -0
  9. package/dist/adapters/LanguageAdapter.d.ts +135 -0
  10. package/dist/adapters/LanguageAdapter.d.ts.map +1 -0
  11. package/dist/adapters/LanguageAdapter.js +47 -0
  12. package/dist/adapters/LanguageAdapter.js.map +1 -0
  13. package/dist/adapters/TypeScriptAdapter.d.ts +43 -0
  14. package/dist/adapters/TypeScriptAdapter.d.ts.map +1 -0
  15. package/dist/adapters/TypeScriptAdapter.js +386 -0
  16. package/dist/adapters/TypeScriptAdapter.js.map +1 -0
  17. package/dist/adapters/UniversalAnalyzer.d.ts +42 -0
  18. package/dist/adapters/UniversalAnalyzer.d.ts.map +1 -0
  19. package/dist/adapters/UniversalAnalyzer.js +103 -0
  20. package/dist/adapters/UniversalAnalyzer.js.map +1 -0
  21. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +48 -0
  22. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +1 -0
  23. package/dist/adapters/UniversalSOLIDAnalyzer.js +178 -0
  24. package/dist/adapters/UniversalSOLIDAnalyzer.js.map +1 -0
  25. package/dist/adapters/solidAnalyzerCompat.d.ts +21 -0
  26. package/dist/adapters/solidAnalyzerCompat.d.ts.map +1 -0
  27. package/dist/adapters/solidAnalyzerCompat.js +78 -0
  28. package/dist/adapters/solidAnalyzerCompat.js.map +1 -0
  29. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +103 -0
  30. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -0
  31. package/dist/analyzers/cross-language/APIContractAnalyzer.js +425 -0
  32. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -0
  33. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts +117 -0
  34. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -0
  35. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js +618 -0
  36. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -0
  37. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +129 -0
  38. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -0
  39. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +473 -0
  40. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -0
  41. package/dist/analyzers/cross-language/SchemaValidator.d.ts +126 -0
  42. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -0
  43. package/dist/analyzers/cross-language/SchemaValidator.js +522 -0
  44. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -0
  45. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +20 -0
  46. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +1 -0
  47. package/dist/analyzers/dataAccessAnalyzerCompat.js +59 -0
  48. package/dist/analyzers/dataAccessAnalyzerCompat.js.map +1 -0
  49. package/dist/analyzers/documentationAnalyzerCompat.d.ts +20 -0
  50. package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +1 -0
  51. package/dist/analyzers/documentationAnalyzerCompat.js +52 -0
  52. package/dist/analyzers/documentationAnalyzerCompat.js.map +1 -0
  53. package/dist/analyzers/dryAnalyzerCompat.d.ts +20 -0
  54. package/dist/analyzers/dryAnalyzerCompat.d.ts.map +1 -0
  55. package/dist/analyzers/dryAnalyzerCompat.js +44 -0
  56. package/dist/analyzers/dryAnalyzerCompat.js.map +1 -0
  57. package/dist/analyzers/schemaAnalyzer.d.ts +21 -0
  58. package/dist/analyzers/schemaAnalyzer.d.ts.map +1 -0
  59. package/dist/analyzers/schemaAnalyzer.js +405 -0
  60. package/dist/analyzers/schemaAnalyzer.js.map +1 -0
  61. package/dist/analyzers/schemaAnalyzerCompat.d.ts +20 -0
  62. package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +1 -0
  63. package/dist/analyzers/schemaAnalyzerCompat.js +69 -0
  64. package/dist/analyzers/schemaAnalyzerCompat.js.map +1 -0
  65. package/dist/analyzers/solidAnalyzerCompat.d.ts +20 -0
  66. package/dist/analyzers/solidAnalyzerCompat.d.ts.map +1 -0
  67. package/dist/analyzers/solidAnalyzerCompat.js +78 -0
  68. package/dist/analyzers/solidAnalyzerCompat.js.map +1 -0
  69. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +71 -0
  70. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -0
  71. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +276 -0
  72. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -0
  73. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +82 -0
  74. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -0
  75. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +489 -0
  76. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -0
  77. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +48 -0
  78. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -0
  79. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +175 -0
  80. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -0
  81. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +64 -0
  82. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -0
  83. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +286 -0
  84. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -0
  85. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +119 -0
  86. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -0
  87. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +812 -0
  88. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -0
  89. package/dist/auditRunner.d.ts.map +1 -1
  90. package/dist/auditRunner.js +23 -7
  91. package/dist/auditRunner.js.map +1 -1
  92. package/dist/codeIndexDB-enhanced.d.ts +80 -0
  93. package/dist/codeIndexDB-enhanced.d.ts.map +1 -0
  94. package/dist/codeIndexDB-enhanced.js +488 -0
  95. package/dist/codeIndexDB-enhanced.js.map +1 -0
  96. package/dist/codeIndexDb.d.ts +70 -1
  97. package/dist/codeIndexDb.d.ts.map +1 -1
  98. package/dist/codeIndexDb.js +199 -2
  99. package/dist/codeIndexDb.js.map +1 -1
  100. package/dist/config/defaults.js +1 -1
  101. package/dist/config/defaults.js.map +1 -1
  102. package/dist/languages/LanguageOrchestrator.d.ts +181 -0
  103. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -0
  104. package/dist/languages/LanguageOrchestrator.js +365 -0
  105. package/dist/languages/LanguageOrchestrator.js.map +1 -0
  106. package/dist/languages/LanguageRegistry.d.ts +43 -0
  107. package/dist/languages/LanguageRegistry.d.ts.map +1 -0
  108. package/dist/languages/LanguageRegistry.js +86 -0
  109. package/dist/languages/LanguageRegistry.js.map +1 -0
  110. package/dist/languages/RuntimeManager.d.ts +181 -0
  111. package/dist/languages/RuntimeManager.d.ts.map +1 -0
  112. package/dist/languages/RuntimeManager.js +841 -0
  113. package/dist/languages/RuntimeManager.js.map +1 -0
  114. package/dist/languages/UniversalAnalyzer.d.ts +37 -0
  115. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -0
  116. package/dist/languages/UniversalAnalyzer.js +101 -0
  117. package/dist/languages/UniversalAnalyzer.js.map +1 -0
  118. package/dist/languages/go/GoAdapter.d.ts +57 -0
  119. package/dist/languages/go/GoAdapter.d.ts.map +1 -0
  120. package/dist/languages/go/GoAdapter.js +360 -0
  121. package/dist/languages/go/GoAdapter.js.map +1 -0
  122. package/dist/languages/index.d.ts +13 -0
  123. package/dist/languages/index.d.ts.map +1 -0
  124. package/dist/languages/index.js +23 -0
  125. package/dist/languages/index.js.map +1 -0
  126. package/dist/languages/types.d.ts +182 -0
  127. package/dist/languages/types.d.ts.map +1 -0
  128. package/dist/languages/types.js +5 -0
  129. package/dist/languages/types.js.map +1 -0
  130. package/dist/languages/typescript/TypeScriptAdapter.d.ts +108 -0
  131. package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +1 -0
  132. package/dist/languages/typescript/TypeScriptAdapter.js +567 -0
  133. package/dist/languages/typescript/TypeScriptAdapter.js.map +1 -0
  134. package/dist/languages/typescript/test-extraction.d.ts +2 -0
  135. package/dist/languages/typescript/test-extraction.d.ts.map +1 -0
  136. package/dist/languages/typescript/test-extraction.js +36 -0
  137. package/dist/languages/typescript/test-extraction.js.map +1 -0
  138. package/dist/mcp-hybrid.d.ts +10 -0
  139. package/dist/mcp-hybrid.d.ts.map +1 -0
  140. package/dist/mcp-hybrid.js +41 -0
  141. package/dist/mcp-hybrid.js.map +1 -0
  142. package/dist/mcp-index.d.ts +11 -0
  143. package/dist/mcp-index.d.ts.map +1 -0
  144. package/dist/mcp-index.js +101 -0
  145. package/dist/mcp-index.js.map +1 -0
  146. package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
  147. package/dist/mcp-tools/workflowGuide.js +67 -10
  148. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  149. package/dist/mcp-tools-shared.d.ts +49 -0
  150. package/dist/mcp-tools-shared.d.ts.map +1 -0
  151. package/dist/mcp-tools-shared.js +1282 -0
  152. package/dist/mcp-tools-shared.js.map +1 -0
  153. package/dist/mcp-ui-server.d.ts +27 -0
  154. package/dist/mcp-ui-server.d.ts.map +1 -0
  155. package/dist/mcp-ui-server.js +484 -0
  156. package/dist/mcp-ui-server.js.map +1 -0
  157. package/dist/mcp-ui-simple.d.ts +27 -0
  158. package/dist/mcp-ui-simple.d.ts.map +1 -0
  159. package/dist/mcp-ui-simple.js +425 -0
  160. package/dist/mcp-ui-simple.js.map +1 -0
  161. package/dist/mcp.js +7 -4
  162. package/dist/mcp.js.map +1 -1
  163. package/dist/services/SchemaParser.d.ts +89 -0
  164. package/dist/services/SchemaParser.d.ts.map +1 -0
  165. package/dist/services/SchemaParser.js +434 -0
  166. package/dist/services/SchemaParser.js.map +1 -0
  167. package/dist/types/crossLanguage.d.ts +267 -0
  168. package/dist/types/crossLanguage.d.ts.map +1 -0
  169. package/dist/types/crossLanguage.js +6 -0
  170. package/dist/types/crossLanguage.js.map +1 -0
  171. package/dist/types.d.ts +128 -0
  172. package/dist/types.d.ts.map +1 -1
  173. package/dist/types.js.map +1 -1
  174. package/dist/utils/fileDiscovery.d.ts +6 -0
  175. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  176. package/dist/utils/fileDiscovery.js +12 -1
  177. package/dist/utils/fileDiscovery.js.map +1 -1
  178. package/examples/schema-example.json +364 -0
  179. package/examples/schema-example.yaml +137 -0
  180. package/package.json +10 -3
@@ -0,0 +1,425 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Simple MCP-UI HTTP Server for Code Auditor
4
+ *
5
+ * This provides HTTP endpoints that return UI resources for interactive dashboards
6
+ * while reusing all the existing audit tool logic.
7
+ */
8
+ import express from 'express';
9
+ import cors from 'cors';
10
+ import { randomUUID } from 'crypto';
11
+ import { createUIResource } from '@mcp-ui/server';
12
+ import { ToolHandlers } from './mcp-tools-shared.js';
13
+ import chalk from 'chalk';
14
+ const app = express();
15
+ const PORT = process.env.MCP_UI_PORT || 3001;
16
+ // Middleware
17
+ app.use(express.json());
18
+ app.use(cors({
19
+ origin: '*',
20
+ exposedHeaders: ['Content-Type'],
21
+ allowedHeaders: ['Content-Type', 'Authorization'],
22
+ }));
23
+ /**
24
+ * API endpoint to run audit and return UI resource
25
+ */
26
+ app.post('/api/audit-dashboard', async (req, res) => {
27
+ try {
28
+ const args = req.body || {};
29
+ // Run the audit using shared handler
30
+ const auditResult = await ToolHandlers.handleAudit(args);
31
+ // Create session-specific data storage key
32
+ const sessionKey = randomUUID();
33
+ // Store audit results for dashboard access
34
+ global.auditSessions = global.auditSessions || new Map();
35
+ global.auditSessions.set(sessionKey, {
36
+ auditResult,
37
+ timestamp: new Date().toISOString(),
38
+ path: args.path || '.'
39
+ });
40
+ // Generate UI resource pointing to dashboard
41
+ const uiResource = createUIResource({
42
+ uri: `ui://code-auditor/dashboard/${sessionKey}`,
43
+ content: {
44
+ type: 'externalUrl',
45
+ iframeUrl: `http://localhost:${PORT}/dashboard/${sessionKey}`
46
+ },
47
+ encoding: 'text'
48
+ });
49
+ res.json({
50
+ success: true,
51
+ uiResource,
52
+ sessionKey,
53
+ summary: auditResult.summary
54
+ });
55
+ }
56
+ catch (error) {
57
+ console.error(chalk.red('[API ERROR]'), 'Audit dashboard failed:', error);
58
+ res.status(500).json({
59
+ success: false,
60
+ error: error instanceof Error ? error.message : 'Unknown error'
61
+ });
62
+ }
63
+ });
64
+ /**
65
+ * API endpoint to run code map and return UI resource
66
+ */
67
+ app.post('/api/code-map-viewer', async (req, res) => {
68
+ try {
69
+ const args = req.body || {};
70
+ // Generate audit result to get code map
71
+ const auditResult = await ToolHandlers.handleAudit({
72
+ ...args,
73
+ generateCodeMap: true,
74
+ indexFunctions: true
75
+ });
76
+ const sessionKey = randomUUID();
77
+ global.codeMapSessions = global.codeMapSessions || new Map();
78
+ global.codeMapSessions.set(sessionKey, {
79
+ codeMap: auditResult.codeMap,
80
+ timestamp: new Date().toISOString(),
81
+ path: args.path || '.'
82
+ });
83
+ const uiResource = createUIResource({
84
+ uri: `ui://code-auditor/codemap/${sessionKey}`,
85
+ content: {
86
+ type: 'externalUrl',
87
+ iframeUrl: `http://localhost:${PORT}/codemap/${sessionKey}`
88
+ },
89
+ encoding: 'text'
90
+ });
91
+ res.json({
92
+ success: true,
93
+ uiResource,
94
+ sessionKey,
95
+ codeMap: auditResult.codeMap?.summary
96
+ });
97
+ }
98
+ catch (error) {
99
+ console.error(chalk.red('[API ERROR]'), 'Code map viewer failed:', error);
100
+ res.status(500).json({
101
+ success: false,
102
+ error: error instanceof Error ? error.message : 'Unknown error'
103
+ });
104
+ }
105
+ });
106
+ /**
107
+ * Dashboard route - serves the interactive audit dashboard
108
+ */
109
+ app.get('/dashboard/:sessionKey', (req, res) => {
110
+ const { sessionKey } = req.params;
111
+ const sessionData = global.auditSessions?.get(sessionKey);
112
+ if (!sessionData) {
113
+ return res.status(404).send(`
114
+ <html><body>
115
+ <h1>Audit Session Not Found</h1>
116
+ <p>Session key: ${sessionKey}</p>
117
+ <p>This session may have expired or been cleaned up.</p>
118
+ </body></html>
119
+ `);
120
+ }
121
+ const { auditResult } = sessionData;
122
+ const violations = ToolHandlers.getAllViolations(auditResult).slice(0, 50);
123
+ // Enhanced dashboard HTML
124
+ const dashboardHtml = `
125
+ <!DOCTYPE html>
126
+ <html lang="en">
127
+ <head>
128
+ <meta charset="UTF-8">
129
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
130
+ <title>Code Audit Dashboard</title>
131
+ <style>
132
+ * { margin: 0; padding: 0; box-sizing: border-box; }
133
+ body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: #f8fafc; color: #2d3748; }
134
+ .container { max-width: 1200px; margin: 0 auto; padding: 20px; }
135
+ .header {
136
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
137
+ color: white; padding: 30px; border-radius: 12px; margin-bottom: 30px;
138
+ box-shadow: 0 10px 25px rgba(0,0,0,0.1);
139
+ }
140
+ .header h1 { font-size: 2.5rem; margin-bottom: 10px; }
141
+ .header p { font-size: 1.1rem; opacity: 0.9; }
142
+ .stats-grid {
143
+ display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
144
+ gap: 20px; margin-bottom: 30px;
145
+ }
146
+ .stat-card {
147
+ background: white; padding: 25px; border-radius: 12px;
148
+ box-shadow: 0 4px 15px rgba(0,0,0,0.08); border-left: 4px solid #667eea;
149
+ transition: transform 0.2s;
150
+ }
151
+ .stat-card:hover { transform: translateY(-2px); }
152
+ .stat-card h3 { color: #4a5568; margin-bottom: 15px; font-size: 1.1rem; }
153
+ .stat-value { font-size: 2rem; font-weight: bold; color: #2d3748; margin-bottom: 5px; }
154
+ .stat-label { color: #718096; font-size: 0.9rem; }
155
+ .severity-critical { border-left-color: #e53e3e; }
156
+ .severity-warning { border-left-color: #dd6b20; }
157
+ .severity-info { border-left-color: #3182ce; }
158
+ .violations-section {
159
+ background: white; border-radius: 12px;
160
+ box-shadow: 0 4px 15px rgba(0,0,0,0.08); overflow: hidden;
161
+ }
162
+ .section-header {
163
+ background: #f7fafc; padding: 20px; border-bottom: 1px solid #e2e8f0;
164
+ }
165
+ .section-header h2 { color: #2d3748; font-size: 1.5rem; }
166
+ .filters { display: flex; gap: 10px; margin-top: 15px; flex-wrap: wrap; }
167
+ .filter-btn {
168
+ padding: 8px 16px; border: 1px solid #e2e8f0; background: white;
169
+ border-radius: 6px; cursor: pointer; transition: all 0.2s;
170
+ }
171
+ .filter-btn:hover, .filter-btn.active {
172
+ background: #667eea; color: white; border-color: #667eea;
173
+ }
174
+ .violations-list { max-height: 600px; overflow-y: auto; }
175
+ .violation {
176
+ padding: 20px; border-bottom: 1px solid #f1f5f9; transition: background 0.2s;
177
+ }
178
+ .violation:hover { background: #f8fafc; }
179
+ .violation:last-child { border-bottom: none; }
180
+ .violation-title {
181
+ font-weight: 600; color: #2d3748; font-size: 1.1rem; margin-bottom: 5px;
182
+ }
183
+ .violation-meta {
184
+ display: flex; gap: 15px; font-size: 0.9rem; color: #718096; margin-bottom: 10px;
185
+ }
186
+ .violation-file {
187
+ font-family: 'Monaco', 'Menlo', monospace; background: #f7fafc;
188
+ padding: 4px 8px; border-radius: 4px;
189
+ }
190
+ .severity-badge {
191
+ padding: 4px 8px; border-radius: 4px; font-size: 0.8rem;
192
+ font-weight: 600; text-transform: uppercase;
193
+ }
194
+ .severity-critical { background: #fed7d7; color: #c53030; }
195
+ .severity-warning { background: #feebc8; color: #c05621; }
196
+ .severity-info { background: #bee3f8; color: #2c5aa0; }
197
+ .recommendation {
198
+ background: #f0fff4; border: 1px solid #9ae6b4; border-radius: 6px;
199
+ padding: 12px; margin-top: 10px;
200
+ }
201
+ .recommendation::before { content: "💡 "; font-size: 1.2rem; }
202
+ .health-score { text-align: center; padding: 20px; }
203
+ .health-circle {
204
+ width: 120px; height: 120px; border-radius: 50%; margin: 0 auto 15px;
205
+ display: flex; align-items: center; justify-content: center;
206
+ font-size: 2rem; font-weight: bold; color: white;
207
+ }
208
+ .loading { text-align: center; padding: 40px; color: #718096; }
209
+ </style>
210
+ </head>
211
+ <body>
212
+ <div class="container">
213
+ <div class="header">
214
+ <h1>🔍 Code Audit Dashboard</h1>
215
+ <p>Interactive analysis results for ${sessionData.path} • ${auditResult.summary?.filesAnalyzed || 0} files analyzed</p>
216
+ </div>
217
+
218
+ <div class="stats-grid">
219
+ <div class="stat-card">
220
+ <h3>📊 Health Score</h3>
221
+ <div class="health-score">
222
+ <div class="health-circle" style="background: ${(auditResult.summary?.healthScore || 0) >= 80 ? '#48bb78' : (auditResult.summary?.healthScore || 0) >= 60 ? '#ed8936' : '#f56565'}">
223
+ ${auditResult.summary?.healthScore || 0}%
224
+ </div>
225
+ <div class="stat-label">Overall code quality</div>
226
+ </div>
227
+ </div>
228
+
229
+ <div class="stat-card severity-critical">
230
+ <h3>🚨 Critical Issues</h3>
231
+ <div class="stat-value">${auditResult.summary?.criticalIssues || 0}</div>
232
+ <div class="stat-label">Requires immediate attention</div>
233
+ </div>
234
+
235
+ <div class="stat-card severity-warning">
236
+ <h3>⚠️ Warnings</h3>
237
+ <div class="stat-value">${auditResult.summary?.warnings || 0}</div>
238
+ <div class="stat-label">Should be addressed</div>
239
+ </div>
240
+
241
+ <div class="stat-card severity-info">
242
+ <h3>💡 Suggestions</h3>
243
+ <div class="stat-value">${auditResult.summary?.suggestions || 0}</div>
244
+ <div class="stat-label">Improvement opportunities</div>
245
+ </div>
246
+ </div>
247
+
248
+ <div class="violations-section">
249
+ <div class="section-header">
250
+ <h2>🚨 Violations</h2>
251
+ <div class="filters">
252
+ <button class="filter-btn active" onclick="filterViolations('all')">All</button>
253
+ <button class="filter-btn" onclick="filterViolations('critical')">Critical</button>
254
+ <button class="filter-btn" onclick="filterViolations('warning')">Warnings</button>
255
+ <button class="filter-btn" onclick="filterViolations('info')">Info</button>
256
+ </div>
257
+ </div>
258
+
259
+ <div class="violations-list" id="violations-list">
260
+ ${violations.length === 0 ? '<div class="loading">No violations found! 🎉</div>' :
261
+ violations.map(violation => `
262
+ <div class="violation" data-severity="${violation.severity}">
263
+ <div class="violation-title">${violation.message}</div>
264
+ <div class="violation-meta">
265
+ <span class="violation-file">${violation.file}:${violation.line}:${violation.column}</span>
266
+ <span class="severity-badge severity-${violation.severity}">${violation.severity}</span>
267
+ <span>Analyzer: ${violation.analyzer}</span>
268
+ </div>
269
+ ${violation.recommendation ? `<div class="recommendation">${violation.recommendation}</div>` : ''}
270
+ </div>
271
+ `).join('')}
272
+ </div>
273
+ </div>
274
+ </div>
275
+
276
+ <script>
277
+ let allViolations = ${JSON.stringify(violations)};
278
+
279
+ function filterViolations(severity) {
280
+ const buttons = document.querySelectorAll('.filter-btn');
281
+ buttons.forEach(btn => btn.classList.remove('active'));
282
+ event.target.classList.add('active');
283
+
284
+ const violationsList = document.getElementById('violations-list');
285
+ let filteredViolations = severity === 'all' ? allViolations : allViolations.filter(v => v.severity === severity);
286
+
287
+ violationsList.innerHTML = filteredViolations.length === 0
288
+ ? '<div class="loading">No violations found for this filter.</div>'
289
+ : filteredViolations.map(violation => createViolationHTML(violation)).join('');
290
+ }
291
+
292
+ function createViolationHTML(violation) {
293
+ return \`
294
+ <div class="violation" data-severity="\${violation.severity}">
295
+ <div class="violation-title">\${violation.message}</div>
296
+ <div class="violation-meta">
297
+ <span class="violation-file">\${violation.file}:\${violation.line}:\${violation.column}</span>
298
+ <span class="severity-badge severity-\${violation.severity}">\${violation.severity}</span>
299
+ <span>Analyzer: \${violation.analyzer}</span>
300
+ </div>
301
+ \${violation.recommendation ? \`<div class="recommendation">\${violation.recommendation}</div>\` : ''}
302
+ </div>
303
+ \`;
304
+ }
305
+
306
+ console.log('🎯 Interactive Audit Dashboard Loaded');
307
+ console.log('📊 Audit Data:', {
308
+ totalViolations: ${auditResult.summary?.totalViolations || 0},
309
+ healthScore: ${auditResult.summary?.healthScore || 0},
310
+ filesAnalyzed: ${auditResult.summary?.filesAnalyzed || 0}
311
+ });
312
+ </script>
313
+ </body>
314
+ </html>
315
+ `;
316
+ res.send(dashboardHtml);
317
+ });
318
+ /**
319
+ * Code map viewer route
320
+ */
321
+ app.get('/codemap/:sessionKey', (req, res) => {
322
+ const { sessionKey } = req.params;
323
+ const sessionData = global.codeMapSessions?.get(sessionKey);
324
+ if (!sessionData) {
325
+ return res.status(404).send(`
326
+ <html><body>
327
+ <h1>Code Map Session Not Found</h1>
328
+ <p>Session key: ${sessionKey}</p>
329
+ </body></html>
330
+ `);
331
+ }
332
+ const { codeMap } = sessionData;
333
+ const codeMapHtml = `
334
+ <!DOCTYPE html>
335
+ <html lang="en">
336
+ <head>
337
+ <meta charset="UTF-8">
338
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
339
+ <title>Interactive Code Map</title>
340
+ <style>
341
+ body { font-family: Arial, sans-serif; margin: 20px; background: #f5f5f5; }
342
+ .header { background: #059669; color: white; padding: 20px; border-radius: 8px; margin-bottom: 20px; }
343
+ .content { background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
344
+ pre { background: #f8f9fa; padding: 15px; border-radius: 4px; overflow-x: auto; }
345
+ </style>
346
+ </head>
347
+ <body>
348
+ <div class="header">
349
+ <h1>🗺️ Interactive Code Map</h1>
350
+ <p>Navigable codebase structure and analysis</p>
351
+ </div>
352
+
353
+ <div class="content">
354
+ <h2>📊 Map Summary</h2>
355
+ <p><strong>Map ID:</strong> ${codeMap?.mapId || 'N/A'}</p>
356
+ <p><strong>Total Sections:</strong> ${codeMap?.summary?.totalSections || 0}</p>
357
+
358
+ <h2>🔍 Quick Preview</h2>
359
+ <pre>${codeMap?.quickPreview || 'No preview available'}</pre>
360
+
361
+ ${codeMap?.summary?.sectionsAvailable ? `
362
+ <h2>📑 Available Sections</h2>
363
+ ${codeMap.summary.sectionsAvailable.map(section => `
364
+ <div style="margin: 10px 0; padding: 10px; background: #f8f9fa; border-radius: 4px;">
365
+ <strong>${section.type}</strong> (${section.size} characters)<br>
366
+ <em>${section.description}</em>
367
+ </div>
368
+ `).join('')}
369
+ ` : ''}
370
+ </div>
371
+
372
+ <script>
373
+ console.log('🗺️ Code Map Viewer Loaded');
374
+ </script>
375
+ </body>
376
+ </html>
377
+ `;
378
+ res.send(codeMapHtml);
379
+ });
380
+ /**
381
+ * Health check endpoint
382
+ */
383
+ app.get('/health', (req, res) => {
384
+ res.json({
385
+ status: 'healthy',
386
+ timestamp: new Date().toISOString(),
387
+ version: '1.0.0',
388
+ mode: 'ui-server'
389
+ });
390
+ });
391
+ /**
392
+ * API endpoint to get audit data as JSON
393
+ */
394
+ app.get('/api/audit/:sessionKey', (req, res) => {
395
+ const { sessionKey } = req.params;
396
+ const sessionData = global.auditSessions?.get(sessionKey);
397
+ if (!sessionData) {
398
+ return res.status(404).json({ error: 'Audit session not found' });
399
+ }
400
+ res.json(sessionData);
401
+ });
402
+ /**
403
+ * Start the MCP-UI HTTP server
404
+ */
405
+ export function startMcpUIServer() {
406
+ app.listen(PORT, () => {
407
+ console.error(chalk.green('🚀 MCP-UI Code Auditor Server running on'), chalk.cyan(`http://localhost:${PORT}`));
408
+ console.error(chalk.blue('📡 API endpoints:'));
409
+ console.error(chalk.blue(' POST'), chalk.cyan(`http://localhost:${PORT}/api/audit-dashboard`));
410
+ console.error(chalk.blue(' POST'), chalk.cyan(`http://localhost:${PORT}/api/code-map-viewer`));
411
+ console.error(chalk.blue('❤️ Health check:'), chalk.cyan(`http://localhost:${PORT}/health`));
412
+ console.error(chalk.gray('Ready to serve interactive audit interfaces...'));
413
+ });
414
+ // Graceful shutdown
415
+ process.on('SIGINT', () => {
416
+ console.error(chalk.yellow('\n🛑 Shutting down MCP-UI server...'));
417
+ process.exit(0);
418
+ });
419
+ }
420
+ // Start the server if this file is run directly
421
+ if (import.meta.url === `file://${process.argv[1]}`) {
422
+ startMcpUIServer();
423
+ }
424
+ export { app };
425
+ //# sourceMappingURL=mcp-ui-simple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-ui-simple.js","sourceRoot":"","sources":["../src/mcp-ui-simple.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAkB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,GAAG,GAAwB,OAAO,EAAE,CAAC;AAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC;AAE7C,aAAa;AACb,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACxB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IACX,MAAM,EAAE,GAAG;IACX,cAAc,EAAE,CAAC,cAAc,CAAC;IAChC,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;CAClD,CAAC,CAAC,CAAC;AAEJ;;GAEG;AACH,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAClD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAE5B,qCAAqC;QACrC,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEzD,2CAA2C;QAC3C,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;QAEhC,2CAA2C;QAC3C,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,IAAI,GAAG,EAAE,CAAC;QACzD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE;YACnC,WAAW;YACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,GAAG;SACvB,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,GAAG,EAAE,+BAA+B,UAAU,EAAE;YAChD,OAAO,EAAE;gBACP,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,oBAAoB,IAAI,cAAc,UAAU,EAAE;aAC9D;YACD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,UAAU;YACV,UAAU;YACV,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC1E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAClD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAE5B,wCAAwC;QACxC,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC;YACjD,GAAG,IAAI;YACP,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;QAEhC,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,GAAG,EAAE,CAAC;QAC7D,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE;YACrC,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,GAAG;SACvB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,GAAG,EAAE,6BAA6B,UAAU,EAAE;YAC9C,OAAO,EAAE;gBACP,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,oBAAoB,IAAI,YAAY,UAAU,EAAE;aAC5D;YACD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,UAAU;YACV,UAAU;YACV,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO;SACtC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC1E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC7C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;;;0BAGN,UAAU;;;KAG/B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;IACpC,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3E,0BAA0B;IAC1B,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDA2F8B,WAAW,CAAC,IAAI,MAAM,WAAW,CAAC,OAAO,EAAE,aAAa,IAAI,CAAC;;;;;;;wEAO3C,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;8BAC3K,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC;;;;;;;;8CAQrB,WAAW,CAAC,OAAO,EAAE,cAAc,IAAI,CAAC;;;;;;8CAMxC,WAAW,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC;;;;;;8CAMlC,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC;;;;;;;;;;;;;;;;;sBAiB7D,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC;QAChF,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gEACc,SAAS,CAAC,QAAQ;2DACvB,SAAS,CAAC,OAAO;;+DAEb,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM;uEAC5C,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;kDAC9D,SAAS,CAAC,QAAQ;;8BAEtC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,+BAA+B,SAAS,CAAC,cAAc,QAAQ,CAAC,CAAC,CAAC,EAAE;;uBAEtG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;kCAMC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA+BzB,WAAW,CAAC,OAAO,EAAE,eAAe,IAAI,CAAC;+BAC7C,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC;iCACnC,WAAW,CAAC,OAAO,EAAE,aAAa,IAAI,CAAC;;;;;GAKrE,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAE5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;;;0BAGN,UAAU;;KAE/B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAEhC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;0CAsBoB,OAAO,EAAE,KAAK,IAAI,KAAK;kDACf,OAAO,EAAE,OAAO,EAAE,aAAa,IAAI,CAAC;;;mBAGnE,OAAO,EAAE,YAAY,IAAI,sBAAsB;;cAEpD,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;;cAEtC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;;8BAEjC,OAAO,CAAC,IAAI,cAAc,OAAO,CAAC,IAAI;0BAC1C,OAAO,CAAC,WAAW;;aAEhC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;aACV,CAAC,CAAC,CAAC,EAAE;;;;;;;;GAQf,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC9B,GAAG,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC7C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/G,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,sBAAsB,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,sBAAsB,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,SAAS,CAAC,CAAC,CAAC;QAC9F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD,gDAAgD;AAChD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,OAAO,EAAE,GAAG,EAAE,CAAC"}
package/dist/mcp.js CHANGED
@@ -58,8 +58,8 @@ const tools = [
58
58
  name: 'analyzers',
59
59
  type: 'array',
60
60
  required: false,
61
- description: 'List of analyzers to run (solid, dry, security, react, data-access)',
62
- default: ['solid', 'dry'],
61
+ description: 'List of analyzers to run (solid, dry, documentation, react, data-access)',
62
+ default: ['solid', 'dry', 'documentation', 'react', 'data-access'],
63
63
  },
64
64
  {
65
65
  name: 'minSeverity',
@@ -423,15 +423,18 @@ async function startMcpServer() {
423
423
  };
424
424
  const options = {
425
425
  projectRoot: isFile ? path.dirname(auditPath) : auditPath,
426
- enabledAnalyzers: args.analyzers || ['solid', 'dry', 'security'],
426
+ enabledAnalyzers: args.analyzers || ['solid', 'dry', 'documentation', 'react', 'data-access'],
427
427
  minSeverity: (args.minSeverity || 'warning'),
428
428
  verbose: false,
429
429
  indexFunctions,
430
430
  ...(isFile && { includePaths: [auditPath] }),
431
431
  ...(Object.keys(analyzerConfigs).length > 0 && { analyzerConfigs }),
432
432
  };
433
+ console.error(chalk.blue('[DEBUG]'), 'Creating audit runner with options:', JSON.stringify(options, null, 2));
433
434
  const runner = createAuditRunner(options);
435
+ console.error(chalk.blue('[DEBUG]'), 'About to run audit...');
434
436
  const auditResult = await runner.run();
437
+ console.error(chalk.blue('[DEBUG]'), 'Audit completed, result summary:', auditResult.summary);
435
438
  // Handle function indexing if enabled and functions were collected
436
439
  let indexingResult = null;
437
440
  if (indexFunctions && auditResult.metadata.fileToFunctionsMap) {
@@ -541,7 +544,7 @@ async function startMcpServer() {
541
544
  };
542
545
  const runner = createAuditRunner({
543
546
  projectRoot: auditPath,
544
- enabledAnalyzers: ['solid', 'dry', 'security'],
547
+ enabledAnalyzers: ['solid', 'dry', 'documentation', 'react', 'data-access'],
545
548
  minSeverity: 'warning',
546
549
  verbose: false,
547
550
  indexFunctions, // Pass the flag to the runner
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}