atlas-pipeline-mcp 1.0.21 → 1.0.23
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.
- package/README.md +249 -49
- package/dist/tools/advanced-testgen.d.ts +93 -0
- package/dist/tools/advanced-testgen.d.ts.map +1 -0
- package/dist/tools/advanced-testgen.js +382 -0
- package/dist/tools/advanced-testgen.js.map +1 -0
- package/dist/tools/architecture-advisor.d.ts +174 -0
- package/dist/tools/architecture-advisor.d.ts.map +1 -0
- package/dist/tools/architecture-advisor.js +509 -0
- package/dist/tools/architecture-advisor.js.map +1 -0
- package/dist/tools/code-migration.d.ts +86 -0
- package/dist/tools/code-migration.d.ts.map +1 -0
- package/dist/tools/code-migration.js +339 -0
- package/dist/tools/code-migration.js.map +1 -0
- package/dist/tools/ml-predictor.d.ts +84 -0
- package/dist/tools/ml-predictor.d.ts.map +1 -0
- package/dist/tools/ml-predictor.js +407 -0
- package/dist/tools/ml-predictor.js.map +1 -0
- package/dist/tools/rag-search.d.ts +88 -0
- package/dist/tools/rag-search.d.ts.map +1 -0
- package/dist/tools/rag-search.js +338 -0
- package/dist/tools/rag-search.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas Server - RAG-Powered Codebase Search & Understanding
|
|
3
|
+
*
|
|
4
|
+
* Semantic code search using vector embeddings and RAG:
|
|
5
|
+
* - Natural language queries to find code
|
|
6
|
+
* - Semantic similarity matching (not just keyword search)
|
|
7
|
+
* - Code understanding through embeddings
|
|
8
|
+
* - Cross-file dependency discovery
|
|
9
|
+
* - Architecture pattern detection
|
|
10
|
+
* - Similar code detection
|
|
11
|
+
* - Knowledge graph construction
|
|
12
|
+
* - Multi-modal code analysis (code + docs + comments)
|
|
13
|
+
*
|
|
14
|
+
* @module rag-search
|
|
15
|
+
* @author Nishant Unavane
|
|
16
|
+
* @version 1.0.0
|
|
17
|
+
*/
|
|
18
|
+
import { promises as fs } from 'fs';
|
|
19
|
+
import { join, relative, extname } from 'path';
|
|
20
|
+
import { getActiveProvider, isNoLLMMode } from '../providers/index.js';
|
|
21
|
+
import { logger, createTimer } from '../utils.js';
|
|
22
|
+
import { z } from 'zod';
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Validation Schema
|
|
25
|
+
// ============================================================================
|
|
26
|
+
const RAGSearchOptionsSchema = z.object({
|
|
27
|
+
projectPath: z.string().min(1),
|
|
28
|
+
query: z.string().min(1),
|
|
29
|
+
searchType: z.enum(['semantic', 'keyword', 'hybrid']).optional(),
|
|
30
|
+
maxResults: z.number().min(1).max(100).optional(),
|
|
31
|
+
minSimilarity: z.number().min(0).max(1).optional(),
|
|
32
|
+
fileTypes: z.array(z.string()).optional(),
|
|
33
|
+
excludePaths: z.array(z.string()).optional(),
|
|
34
|
+
includeTests: z.boolean().optional(),
|
|
35
|
+
includeDocs: z.boolean().optional(),
|
|
36
|
+
chunkSize: z.number().optional(),
|
|
37
|
+
overlapSize: z.number().optional(),
|
|
38
|
+
useCache: z.boolean().optional(),
|
|
39
|
+
});
|
|
40
|
+
// ============================================================================
|
|
41
|
+
// Code Indexing
|
|
42
|
+
// ============================================================================
|
|
43
|
+
/**
|
|
44
|
+
* Find all source files in project
|
|
45
|
+
*/
|
|
46
|
+
async function findSourceFiles(projectPath, fileTypes, excludePaths) {
|
|
47
|
+
const files = [];
|
|
48
|
+
async function scan(dir) {
|
|
49
|
+
try {
|
|
50
|
+
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
51
|
+
for (const entry of entries) {
|
|
52
|
+
const fullPath = join(dir, entry.name);
|
|
53
|
+
const relativePath = relative(projectPath, fullPath);
|
|
54
|
+
// Check if excluded
|
|
55
|
+
if (excludePaths.some(exclude => relativePath.startsWith(exclude))) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (entry.isDirectory()) {
|
|
59
|
+
if (!['node_modules', '.git', 'dist', 'build', 'coverage'].includes(entry.name)) {
|
|
60
|
+
await scan(fullPath);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if (entry.isFile()) {
|
|
64
|
+
const ext = extname(entry.name);
|
|
65
|
+
if (fileTypes.includes(ext)) {
|
|
66
|
+
files.push(fullPath);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
logger.debug({ error, dir }, 'Error scanning directory');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
await scan(projectPath);
|
|
76
|
+
return files;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Extract code chunks from file
|
|
80
|
+
*/
|
|
81
|
+
async function extractCodeChunks(filePath, chunkSize, overlapSize) {
|
|
82
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
83
|
+
const lines = content.split('\n');
|
|
84
|
+
const chunks = [];
|
|
85
|
+
for (let i = 0; i < lines.length; i += chunkSize - overlapSize) {
|
|
86
|
+
const endLine = Math.min(i + chunkSize, lines.length);
|
|
87
|
+
const chunkLines = lines.slice(i, endLine);
|
|
88
|
+
chunks.push({
|
|
89
|
+
content: chunkLines.join('\n'),
|
|
90
|
+
lineStart: i + 1,
|
|
91
|
+
lineEnd: endLine,
|
|
92
|
+
});
|
|
93
|
+
if (endLine >= lines.length)
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
return chunks;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Simple keyword-based search (fallback when no LLM)
|
|
100
|
+
*/
|
|
101
|
+
function keywordSearch(query, files) {
|
|
102
|
+
const matches = [];
|
|
103
|
+
const queryWords = query.toLowerCase().split(/\s+/).filter(Boolean);
|
|
104
|
+
for (const file of files) {
|
|
105
|
+
const lines = file.content.split('\n');
|
|
106
|
+
const contentLower = file.content.toLowerCase();
|
|
107
|
+
// Calculate relevance score
|
|
108
|
+
let score = 0;
|
|
109
|
+
for (const word of queryWords) {
|
|
110
|
+
const count = (contentLower.match(new RegExp(word, 'g')) || []).length;
|
|
111
|
+
score += count;
|
|
112
|
+
}
|
|
113
|
+
if (score > 0) {
|
|
114
|
+
// Find best matching snippet
|
|
115
|
+
for (let i = 0; i < lines.length; i++) {
|
|
116
|
+
const currentLine = lines[i];
|
|
117
|
+
if (!currentLine)
|
|
118
|
+
continue;
|
|
119
|
+
const lineLower = currentLine.toLowerCase();
|
|
120
|
+
const lineScore = queryWords.filter(word => lineLower.includes(word)).length;
|
|
121
|
+
if (lineScore > 0) {
|
|
122
|
+
const contextStart = Math.max(0, i - 2);
|
|
123
|
+
const contextEnd = Math.min(lines.length, i + 3);
|
|
124
|
+
matches.push({
|
|
125
|
+
filePath: file.path,
|
|
126
|
+
snippet: currentLine,
|
|
127
|
+
context: lines.slice(contextStart, contextEnd).join('\n'),
|
|
128
|
+
similarity: lineScore / queryWords.length,
|
|
129
|
+
explanation: `Contains keywords: ${queryWords.join(', ')}`,
|
|
130
|
+
lineStart: i + 1,
|
|
131
|
+
lineEnd: i + 1,
|
|
132
|
+
matchType: 'partial',
|
|
133
|
+
metadata: {
|
|
134
|
+
language: extname(file.path).substring(1),
|
|
135
|
+
fileSize: file.content.length,
|
|
136
|
+
lastModified: new Date(),
|
|
137
|
+
category: detectCategory(currentLine),
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return matches.sort((a, b) => b.similarity - a.similarity);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Detect code category from line
|
|
148
|
+
*/
|
|
149
|
+
function detectCategory(line) {
|
|
150
|
+
const trimmed = line.trim();
|
|
151
|
+
if (trimmed.startsWith('function ') || trimmed.includes('=> '))
|
|
152
|
+
return 'function';
|
|
153
|
+
if (trimmed.startsWith('class '))
|
|
154
|
+
return 'class';
|
|
155
|
+
if (trimmed.startsWith('interface '))
|
|
156
|
+
return 'interface';
|
|
157
|
+
if (trimmed.startsWith('type '))
|
|
158
|
+
return 'type';
|
|
159
|
+
if (trimmed.startsWith('import ') || trimmed.startsWith('from '))
|
|
160
|
+
return 'import';
|
|
161
|
+
if (trimmed.startsWith('//') || trimmed.startsWith('/*') || trimmed.startsWith('*'))
|
|
162
|
+
return 'comment';
|
|
163
|
+
return 'variable';
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Build simple knowledge graph
|
|
167
|
+
*/
|
|
168
|
+
function buildKnowledgeGraph(files) {
|
|
169
|
+
const nodes = [];
|
|
170
|
+
const edges = [];
|
|
171
|
+
// Extract imports and exports
|
|
172
|
+
for (const file of files) {
|
|
173
|
+
const lines = file.content.split('\n');
|
|
174
|
+
for (let i = 0; i < lines.length; i++) {
|
|
175
|
+
const currentLine = lines[i];
|
|
176
|
+
if (!currentLine)
|
|
177
|
+
continue;
|
|
178
|
+
const line = currentLine.trim();
|
|
179
|
+
// Detect imports
|
|
180
|
+
const importMatch = line.match(/import\s+.*\s+from\s+['"](.+)['"]/);
|
|
181
|
+
if (importMatch && importMatch[1]) {
|
|
182
|
+
edges.push({
|
|
183
|
+
from: file.path,
|
|
184
|
+
to: importMatch[1],
|
|
185
|
+
type: 'imports',
|
|
186
|
+
weight: 1,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
// Detect function definitions
|
|
190
|
+
const funcMatch = line.match(/(?:function|const|let|var)\s+(\w+)/);
|
|
191
|
+
if (funcMatch && funcMatch[1]) {
|
|
192
|
+
nodes.push({
|
|
193
|
+
id: `${file.path}:${funcMatch[1]}`,
|
|
194
|
+
label: funcMatch[1],
|
|
195
|
+
type: 'function',
|
|
196
|
+
filePath: file.path,
|
|
197
|
+
importance: 0.5,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
// Detect class definitions
|
|
201
|
+
const classMatch = line.match(/class\s+(\w+)/);
|
|
202
|
+
if (classMatch && classMatch[1]) {
|
|
203
|
+
nodes.push({
|
|
204
|
+
id: `${file.path}:${classMatch[1]}`,
|
|
205
|
+
label: classMatch[1],
|
|
206
|
+
type: 'class',
|
|
207
|
+
filePath: file.path,
|
|
208
|
+
importance: 0.8,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
nodes,
|
|
215
|
+
edges,
|
|
216
|
+
clusters: [],
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
// ============================================================================
|
|
220
|
+
// Main RAG Search Function
|
|
221
|
+
// ============================================================================
|
|
222
|
+
/**
|
|
223
|
+
* RAG-powered semantic code search
|
|
224
|
+
*/
|
|
225
|
+
export async function searchCodebase(options) {
|
|
226
|
+
const timer = createTimer();
|
|
227
|
+
const { projectPath, query, searchType = 'hybrid', maxResults = 10, minSimilarity = 0.3, fileTypes = ['.ts', '.tsx', '.js', '.jsx', '.py', '.java', '.go', '.rs'], excludePaths = ['node_modules', 'dist', 'build', '.git'], includeTests = false, includeDocs = true, chunkSize = 50, overlapSize = 5, useCache = true, } = RAGSearchOptionsSchema.parse(options);
|
|
228
|
+
logger.info({ query, projectPath, searchType }, 'Starting RAG code search');
|
|
229
|
+
// Find all source files
|
|
230
|
+
const files = await findSourceFiles(projectPath, fileTypes, excludePaths);
|
|
231
|
+
logger.info({ fileCount: files.length }, 'Source files indexed');
|
|
232
|
+
// Load file contents
|
|
233
|
+
const fileContents = await Promise.all(files.slice(0, 100).map(async (path) => ({
|
|
234
|
+
path,
|
|
235
|
+
content: await fs.readFile(path, 'utf-8').catch(() => ''),
|
|
236
|
+
})));
|
|
237
|
+
let results = [];
|
|
238
|
+
let semanticSearch = false;
|
|
239
|
+
// Try semantic search with LLM
|
|
240
|
+
if (!isNoLLMMode() && (searchType === 'semantic' || searchType === 'hybrid')) {
|
|
241
|
+
try {
|
|
242
|
+
const provider = await getActiveProvider();
|
|
243
|
+
semanticSearch = true;
|
|
244
|
+
// Use LLM to understand the query and find relevant code
|
|
245
|
+
const prompt = `You are a code search expert. Find code snippets that match this query: "${query}"
|
|
246
|
+
|
|
247
|
+
Available files (showing first 5):
|
|
248
|
+
${fileContents.slice(0, 5).map(f => `\n--- ${f.path} ---\n${f.content.substring(0, 500)}...`).join('\n')}
|
|
249
|
+
|
|
250
|
+
Identify the TOP 5 most relevant code snippets. For each match, provide:
|
|
251
|
+
1. File path
|
|
252
|
+
2. Line numbers (estimate)
|
|
253
|
+
3. Similarity score (0-1)
|
|
254
|
+
4. Brief explanation of why it matches
|
|
255
|
+
|
|
256
|
+
Format as JSON array:
|
|
257
|
+
[
|
|
258
|
+
{
|
|
259
|
+
"filePath": "path/to/file.ts",
|
|
260
|
+
"lineStart": 10,
|
|
261
|
+
"lineEnd": 15,
|
|
262
|
+
"similarity": 0.95,
|
|
263
|
+
"explanation": "This function handles user authentication"
|
|
264
|
+
}
|
|
265
|
+
]`;
|
|
266
|
+
const response = await provider.complete(prompt, {
|
|
267
|
+
temperature: 0.2,
|
|
268
|
+
maxTokens: 1000,
|
|
269
|
+
});
|
|
270
|
+
// Parse LLM response
|
|
271
|
+
const jsonMatch = response.text.match(/\[[\s\S]*\]/);
|
|
272
|
+
if (jsonMatch) {
|
|
273
|
+
const llmResults = JSON.parse(jsonMatch[0]);
|
|
274
|
+
for (const result of llmResults) {
|
|
275
|
+
const fileContent = fileContents.find(f => f.path.includes(result.filePath));
|
|
276
|
+
if (fileContent) {
|
|
277
|
+
const lines = fileContent.content.split('\n');
|
|
278
|
+
const snippet = lines.slice(result.lineStart - 1, result.lineEnd).join('\n');
|
|
279
|
+
const contextStart = Math.max(0, result.lineStart - 3);
|
|
280
|
+
const contextEnd = Math.min(lines.length, result.lineEnd + 3);
|
|
281
|
+
results.push({
|
|
282
|
+
filePath: fileContent.path,
|
|
283
|
+
snippet,
|
|
284
|
+
context: lines.slice(contextStart, contextEnd).join('\n'),
|
|
285
|
+
similarity: result.similarity || 0.7,
|
|
286
|
+
explanation: result.explanation || '',
|
|
287
|
+
lineStart: result.lineStart || 1,
|
|
288
|
+
lineEnd: result.lineEnd || 1,
|
|
289
|
+
matchType: 'semantic',
|
|
290
|
+
metadata: {
|
|
291
|
+
language: extname(fileContent.path).substring(1),
|
|
292
|
+
fileSize: fileContent.content.length,
|
|
293
|
+
lastModified: new Date(),
|
|
294
|
+
category: 'function',
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
logger.warn({ error }, 'Semantic search failed, falling back to keyword search');
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
// Fallback to keyword search
|
|
306
|
+
if (results.length === 0 || searchType === 'keyword' || searchType === 'hybrid') {
|
|
307
|
+
const keywordResults = keywordSearch(query, fileContents);
|
|
308
|
+
results = results.concat(keywordResults);
|
|
309
|
+
}
|
|
310
|
+
// Remove duplicates and apply filters
|
|
311
|
+
const uniqueResults = Array.from(new Map(results.map(r => [`${r.filePath}:${r.lineStart}`, r])).values());
|
|
312
|
+
const filteredResults = uniqueResults
|
|
313
|
+
.filter(r => r.similarity >= minSimilarity)
|
|
314
|
+
.sort((a, b) => b.similarity - a.similarity)
|
|
315
|
+
.slice(0, maxResults);
|
|
316
|
+
// Build knowledge graph
|
|
317
|
+
const knowledgeGraph = buildKnowledgeGraph(fileContents);
|
|
318
|
+
const searchTimeMs = timer.elapsed();
|
|
319
|
+
logger.info({
|
|
320
|
+
matches: filteredResults.length,
|
|
321
|
+
semanticSearch,
|
|
322
|
+
searchTimeMs
|
|
323
|
+
}, 'RAG search completed');
|
|
324
|
+
return {
|
|
325
|
+
query,
|
|
326
|
+
results: filteredResults,
|
|
327
|
+
totalMatches: uniqueResults.length,
|
|
328
|
+
searchTimeMs,
|
|
329
|
+
indexedFiles: files.length,
|
|
330
|
+
semanticSearch,
|
|
331
|
+
knowledgeGraph,
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
// ============================================================================
|
|
335
|
+
// Export
|
|
336
|
+
// ============================================================================
|
|
337
|
+
export default searchCodebase;
|
|
338
|
+
//# sourceMappingURL=rag-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rag-search.js","sourceRoot":"","sources":["../../src/tools/rag-search.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "atlas-pipeline-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.23",
|
|
4
4
|
"mcpName": "io.github.IamNishant51/atlas-pipeline",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Advanced AI/ML-powered MCP server with RAG search, ML bug prediction, intelligent code migration, and advanced test generation. Works with any LLM (Ollama, OpenAI, Anthropic). 13 professional tools + 4 cutting-edge AI/ML tools. Compatible with Cursor, Windsurf, Claude Desktop.",
|
|
6
6
|
"main": "dist/server.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"atlas-pipeline-mcp": "./dist/mcp.js",
|