codeatlas-mcp-server 2.20.2

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 (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +338 -0
  3. package/dist/index.js +261 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/analyzer/parser.js +1072 -0
  6. package/dist/src/analyzer/parser.js.map +1 -0
  7. package/dist/src/analyzer/parser.test.js +73 -0
  8. package/dist/src/analyzer/parser.test.js.map +1 -0
  9. package/dist/src/analyzer/phpParser.js +147 -0
  10. package/dist/src/analyzer/phpParser.js.map +1 -0
  11. package/dist/src/analyzer/pythonParser.js +185 -0
  12. package/dist/src/analyzer/pythonParser.js.map +1 -0
  13. package/dist/src/analyzer/types.js +2 -0
  14. package/dist/src/analyzer/types.js.map +1 -0
  15. package/dist/src/context.js +3 -0
  16. package/dist/src/context.js.map +1 -0
  17. package/dist/src/memoryGenerator.js +293 -0
  18. package/dist/src/memoryGenerator.js.map +1 -0
  19. package/dist/src/oracleDatabase.js +298 -0
  20. package/dist/src/oracleDatabase.js.map +1 -0
  21. package/dist/src/presentation/httpServer.js +306 -0
  22. package/dist/src/presentation/httpServer.js.map +1 -0
  23. package/dist/src/presentation/mcpServer.js +1487 -0
  24. package/dist/src/presentation/mcpServer.js.map +1 -0
  25. package/dist/src/repositories.js +144 -0
  26. package/dist/src/repositories.js.map +1 -0
  27. package/dist/src/securityScanner.js +69 -0
  28. package/dist/src/securityScanner.js.map +1 -0
  29. package/dist/src/services/authService.js +24 -0
  30. package/dist/src/services/authService.js.map +1 -0
  31. package/dist/src/services/dreamingService.js +119 -0
  32. package/dist/src/services/dreamingService.js.map +1 -0
  33. package/dist/src/services/dreamingService.test.js +179 -0
  34. package/dist/src/services/dreamingService.test.js.map +1 -0
  35. package/dist/src/services/projectService.js +1068 -0
  36. package/dist/src/services/projectService.js.map +1 -0
  37. package/dist/src/services/projectService.test.js +217 -0
  38. package/dist/src/services/projectService.test.js.map +1 -0
  39. package/dist/src/services/watcherService.js +164 -0
  40. package/dist/src/services/watcherService.js.map +1 -0
  41. package/dist/src/services/watcherService.test.js +65 -0
  42. package/dist/src/services/watcherService.test.js.map +1 -0
  43. package/dist/src/types.js +2 -0
  44. package/dist/src/types.js.map +1 -0
  45. package/package.json +61 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/analyzer/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { describe, it, before, after } from "node:test";
2
+ import * as assert from "node:assert";
3
+ import * as fs from "fs";
4
+ import * as path from "path";
5
+ import { CodeAnalyzer } from "./parser.js";
6
+ const TEST_DIR = path.resolve("./temp_test_workspace");
7
+ describe("CodeAnalyzer .gitignore support", () => {
8
+ before(() => {
9
+ if (fs.existsSync(TEST_DIR)) {
10
+ fs.rmSync(TEST_DIR, { recursive: true, force: true });
11
+ }
12
+ fs.mkdirSync(TEST_DIR);
13
+ // Create folders and files
14
+ fs.mkdirSync(path.join(TEST_DIR, "src"));
15
+ fs.mkdirSync(path.join(TEST_DIR, "build"));
16
+ fs.mkdirSync(path.join(TEST_DIR, "dist"));
17
+ fs.writeFileSync(path.join(TEST_DIR, "src/main.py"), "print('hello')");
18
+ fs.writeFileSync(path.join(TEST_DIR, "src/utils.ts"), "export const a = 1;");
19
+ fs.writeFileSync(path.join(TEST_DIR, "build/index.js"), "console.log('built')");
20
+ fs.writeFileSync(path.join(TEST_DIR, "dist/index.js"), "console.log('dist')");
21
+ fs.writeFileSync(path.join(TEST_DIR, "src/ignored.pyc"), "binary content");
22
+ // Create .gitignore
23
+ fs.writeFileSync(path.join(TEST_DIR, ".gitignore"), `
24
+ # ignores build folder
25
+ build/
26
+ # ignores all .pyc files
27
+ *.pyc
28
+ `);
29
+ });
30
+ after(() => {
31
+ if (fs.existsSync(TEST_DIR)) {
32
+ fs.rmSync(TEST_DIR, { recursive: true, force: true });
33
+ }
34
+ });
35
+ it("should index only non-ignored files", async () => {
36
+ const analyzer = new CodeAnalyzer(TEST_DIR);
37
+ const result = await analyzer.analyzeProject();
38
+ const nodeIds = Array.from(analyzer.nodes.keys());
39
+ const indexedFiles = nodeIds
40
+ .map(id => {
41
+ const filePath = analyzer.nodes.get(id).filePath;
42
+ if (!filePath)
43
+ return null;
44
+ return path.resolve(TEST_DIR, filePath);
45
+ })
46
+ .filter(Boolean)
47
+ .map(p => path.relative(TEST_DIR, p).replace(/\\/g, "/"));
48
+ assert.ok(indexedFiles.includes("src/main.py"), "Should include src/main.py");
49
+ assert.ok(indexedFiles.includes("src/utils.ts"), "Should include src/utils.ts");
50
+ assert.strictEqual(indexedFiles.includes("build/index.js"), false, "Should ignore build/index.js");
51
+ assert.strictEqual(indexedFiles.includes("dist/index.js"), false, "Should ignore dist/index.js");
52
+ assert.strictEqual(indexedFiles.includes("src/ignored.pyc"), false, "Should ignore src/ignored.pyc");
53
+ });
54
+ it("should exclude external modules and resolve local python imports", async () => {
55
+ fs.writeFileSync(path.join(TEST_DIR, "src/main.py"), "import json\nimport requests\nfrom src.utils import helper");
56
+ fs.writeFileSync(path.join(TEST_DIR, "src/utils.py"), "def helper():\n return 42");
57
+ const analyzer = new CodeAnalyzer(TEST_DIR);
58
+ await analyzer.analyzeProject();
59
+ const nodeIds = Array.from(analyzer.nodes.keys());
60
+ const links = analyzer.links;
61
+ assert.ok(nodeIds.includes("module:src/main.py"), "Should include module:src/main.py");
62
+ assert.ok(nodeIds.includes("module:src/utils.py"), "Should include module:src/utils.py");
63
+ assert.strictEqual(nodeIds.includes("external:json"), false, "Should exclude external:json");
64
+ assert.strictEqual(nodeIds.includes("external:requests"), false, "Should exclude external:requests");
65
+ const hasLocalImportLink = links.some((l) => l.source === "module:src/main.py" &&
66
+ l.target === "module:src/utils.py" &&
67
+ l.type === "import");
68
+ assert.ok(hasLocalImportLink, "Should link main.py to utils.py");
69
+ const hasExternalLink = links.some((l) => l.source.startsWith("external:") || l.target.startsWith("external:"));
70
+ assert.strictEqual(hasExternalLink, false, "Should have no links to external libraries");
71
+ });
72
+ });
73
+ //# sourceMappingURL=parser.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../../src/analyzer/parser.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * PHP file parser that uses regular expressions to extract structure
3
+ * from PHP code: classes, functions, namespaces, use statements,
4
+ * traits, interfaces, and Blade template directives.
5
+ */
6
+ export class PhpParser {
7
+ static phpKeywords = new Set([
8
+ 'if', 'else', 'elseif', 'while', 'for', 'foreach', 'switch', 'case',
9
+ 'return', 'echo', 'print', 'isset', 'unset', 'empty', 'array',
10
+ 'list', 'die', 'exit', 'eval', 'include', 'require',
11
+ 'include_once', 'require_once', 'new', 'throw', 'catch', 'try',
12
+ 'finally', 'match', 'fn', 'static', 'self', 'parent'
13
+ ]);
14
+ /**
15
+ * Parses PHP code to extract classes, functions, variables, imports (use), and namespace.
16
+ */
17
+ parseFile(filePath, code) {
18
+ let namespace = '';
19
+ const classes = [];
20
+ const functions = [];
21
+ const variables = [];
22
+ const imports = [];
23
+ const calls = [];
24
+ const lines = code.split(/\r?\n/);
25
+ for (let i = 0; i < lines.length; i++) {
26
+ const line = lines[i].trim();
27
+ const lineNumber = i + 1;
28
+ // Skip comments
29
+ if (line.startsWith('//') || line.startsWith('*') || line.startsWith('/*') || line.startsWith('#')) {
30
+ continue;
31
+ }
32
+ // Namespace
33
+ const nsMatch = /^namespace\s+([^;]+);/.exec(line);
34
+ if (nsMatch) {
35
+ namespace = nsMatch[1].trim();
36
+ continue;
37
+ }
38
+ // Use statements (imports)
39
+ const useMatch = /^use\s+([^;]+);/.exec(line);
40
+ if (useMatch) {
41
+ const useStr = useMatch[1].trim();
42
+ // Handle "use App\Models\User as UserModel;"
43
+ const aliasParts = useStr.split(/\s+as\s+/);
44
+ const source = aliasParts[0].trim();
45
+ const alias = aliasParts[1] ? aliasParts[1].trim() : source.split('\\').pop() || source;
46
+ imports.push({ source, alias, line: lineNumber });
47
+ continue;
48
+ }
49
+ // Classes, Interfaces, Traits, Enums
50
+ const classMatch = /^(?:abstract\s+|final\s+)?(?:readonly\s+)?(class|interface|trait|enum)\s+(\w+)(?:\s+extends\s+([\w\\]+))?(?:\s+implements\s+(.+?))?(?:\s*\{|\s*$)/.exec(line);
51
+ if (classMatch) {
52
+ const type = classMatch[1];
53
+ const name = classMatch[2];
54
+ const parents = classMatch[3] ? [classMatch[3].split('\\').pop() || classMatch[3]] : [];
55
+ const implementsList = classMatch[4]
56
+ ? classMatch[4].split(',').map(s => {
57
+ const trimmed = s.trim();
58
+ return trimmed.split('\\').pop() || trimmed;
59
+ })
60
+ : [];
61
+ classes.push({ name, parents, implements: implementsList, type, line: lineNumber });
62
+ continue;
63
+ }
64
+ // Functions and methods
65
+ const funcMatch = /^(?:public|protected|private|static|\s)*function\s+(\w+)\s*\(/.exec(line);
66
+ if (funcMatch) {
67
+ const funcName = funcMatch[1];
68
+ if (funcName !== '__construct' && funcName !== '__destruct') {
69
+ functions.push({ name: funcName, line: lineNumber });
70
+ }
71
+ continue;
72
+ }
73
+ // Class properties (public/protected/private $var)
74
+ const propMatch = /^(?:public|protected|private)\s+(?:static\s+)?(?:readonly\s+)?(?:\?\w+\s+|\w+\s+)?(\$\w+)/.exec(line);
75
+ if (propMatch) {
76
+ variables.push({ name: propMatch[1].replace('$', ''), line: lineNumber });
77
+ continue;
78
+ }
79
+ // Constants
80
+ const constMatch = /^(?:public|protected|private)?\s*const\s+(\w+)\s*=/.exec(line);
81
+ if (constMatch) {
82
+ variables.push({ name: constMatch[1], line: lineNumber });
83
+ continue;
84
+ }
85
+ // Static/instance method calls: ClassName::method() or $this->method()
86
+ const callRegex = /(?:(\w+)::(\w+)|->(\w+))\s*\(/g;
87
+ let callMatch;
88
+ while ((callMatch = callRegex.exec(line)) !== null) {
89
+ const callName = callMatch[2] || callMatch[3];
90
+ if (callName && !PhpParser.phpKeywords.has(callName)) {
91
+ calls.push({ name: callName, line: lineNumber });
92
+ }
93
+ }
94
+ // Standalone function calls: func_name()
95
+ const standaloneCallRegex = /\b(\w+)\s*\(/g;
96
+ let scMatch;
97
+ while ((scMatch = standaloneCallRegex.exec(line)) !== null) {
98
+ const name = scMatch[1];
99
+ if (!PhpParser.phpKeywords.has(name) &&
100
+ !['function', 'class', 'interface', 'trait', 'enum', 'namespace', 'use'].includes(name) &&
101
+ name !== name.toLowerCase().replace(/[^a-z]/g, '')) {
102
+ // Only capture PascalCase or camelCase calls (likely class/method calls)
103
+ }
104
+ }
105
+ }
106
+ return { namespace, classes, functions, variables, imports, calls };
107
+ }
108
+ /**
109
+ * Parses Blade template to extract directives: @extends, @include, @component, @section, @yield
110
+ */
111
+ parseBladeFile(filePath, code) {
112
+ const extendsArr = [];
113
+ const includes = [];
114
+ const components = [];
115
+ const sections = [];
116
+ const yields = [];
117
+ const lines = code.split(/\r?\n/);
118
+ for (const line of lines) {
119
+ // @extends('layout.app')
120
+ const extendsMatch = /@extends\s*\(\s*['"]([^'"]+)['"]\s*\)/.exec(line);
121
+ if (extendsMatch)
122
+ extendsArr.push(extendsMatch[1]);
123
+ // @include('partials.header')
124
+ const includeMatch = /@include\s*\(\s*['"]([^'"]+)['"]\s*\)/.exec(line);
125
+ if (includeMatch)
126
+ includes.push(includeMatch[1]);
127
+ // @component('components.alert') or <x-alert>
128
+ const componentMatch = /@component\s*\(\s*['"]([^'"]+)['"]\s*\)/.exec(line);
129
+ if (componentMatch)
130
+ components.push(componentMatch[1]);
131
+ // <x-component-name>
132
+ const xComponentMatch = /<x-([\w.-]+)/.exec(line);
133
+ if (xComponentMatch)
134
+ components.push(xComponentMatch[1]);
135
+ // @section('content')
136
+ const sectionMatch = /@section\s*\(\s*['"]([^'"]+)['"]\s*\)/.exec(line);
137
+ if (sectionMatch)
138
+ sections.push(sectionMatch[1]);
139
+ // @yield('content')
140
+ const yieldMatch = /@yield\s*\(\s*['"]([^'"]+)['"]\s*\)/.exec(line);
141
+ if (yieldMatch)
142
+ yields.push(yieldMatch[1]);
143
+ }
144
+ return { extends: extendsArr, includes, components, sections, yields };
145
+ }
146
+ }
147
+ //# sourceMappingURL=phpParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phpParser.js","sourceRoot":"","sources":["../../../src/analyzer/phpParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,185 @@
1
+ import { parse } from 'py-ast';
2
+ export class PythonParser {
3
+ parseFile(filePath, code) {
4
+ const classes = [];
5
+ const functions = [];
6
+ const variables = [];
7
+ const imports = [];
8
+ const calls = [];
9
+ try {
10
+ const ast = parse(code);
11
+ const traverse = (node) => {
12
+ if (!node || typeof node !== 'object')
13
+ return;
14
+ const type = node.type || node.nodeType;
15
+ if (type === 'ClassDef') {
16
+ classes.push({
17
+ name: node.name,
18
+ parents: node.bases.map((b) => b.id || 'object'),
19
+ line: node.lineno
20
+ });
21
+ }
22
+ if (type === 'FunctionDef' || type === 'AsyncFunctionDef') {
23
+ functions.push({
24
+ name: node.name,
25
+ line: node.lineno,
26
+ indent: node.col_offset
27
+ });
28
+ }
29
+ if (type === 'Assign') {
30
+ node.targets?.forEach((target) => {
31
+ const targetType = target.type || target.nodeType;
32
+ if (targetType === 'Name') {
33
+ variables.push({ name: target.id, line: node.lineno });
34
+ }
35
+ });
36
+ }
37
+ if (type === 'Import' || type === 'ImportFrom') {
38
+ imports.push({
39
+ source: node.module || '',
40
+ names: node.names?.map((n) => n.name) || [],
41
+ line: node.lineno
42
+ });
43
+ }
44
+ if (type === 'Call') {
45
+ const funcType = node.func?.type || node.func?.nodeType;
46
+ if (funcType === 'Name') {
47
+ calls.push({ name: node.func.id, line: node.lineno });
48
+ }
49
+ else if (funcType === 'Attribute') {
50
+ calls.push({ name: node.func.attr, line: node.lineno });
51
+ }
52
+ }
53
+ Object.values(node).forEach(child => {
54
+ if (Array.isArray(child)) {
55
+ child.forEach(c => traverse(c));
56
+ }
57
+ else {
58
+ traverse(child);
59
+ }
60
+ });
61
+ };
62
+ traverse(ast);
63
+ }
64
+ catch (e) {
65
+ console.warn(`[PythonParser] AST parse failed for ${filePath}, using robust regex fallback.`, e);
66
+ const lines = code.split('\n');
67
+ let inMultilineString = false;
68
+ let multilineQuoteChar = '';
69
+ for (let i = 0; i < lines.length; i++) {
70
+ let lineContent = lines[i];
71
+ const lineNum = i + 1;
72
+ // Handle multiline comments / strings in Python (''' or """)
73
+ if (inMultilineString) {
74
+ const endQuoteIdx = lineContent.indexOf(multilineQuoteChar);
75
+ if (endQuoteIdx !== -1) {
76
+ lineContent = lineContent.substring(endQuoteIdx + 3);
77
+ inMultilineString = false;
78
+ }
79
+ else {
80
+ continue; // Skip the entire line as it is inside a multiline string
81
+ }
82
+ }
83
+ const tripleSingleIdx = lineContent.indexOf("'''");
84
+ const tripleDoubleIdx = lineContent.indexOf('"""');
85
+ if (tripleSingleIdx !== -1) {
86
+ inMultilineString = true;
87
+ multilineQuoteChar = "'''";
88
+ lineContent = lineContent.substring(0, tripleSingleIdx);
89
+ }
90
+ else if (tripleDoubleIdx !== -1) {
91
+ inMultilineString = true;
92
+ multilineQuoteChar = '"""';
93
+ lineContent = lineContent.substring(0, tripleDoubleIdx);
94
+ }
95
+ const trimmed = lineContent.trim();
96
+ if (!trimmed || trimmed.startsWith('#'))
97
+ continue;
98
+ // Strip inline comments
99
+ const commentIdx = lineContent.indexOf('#');
100
+ let codePart = commentIdx !== -1 ? lineContent.substring(0, commentIdx) : lineContent;
101
+ const codeTrimmed = codePart.trim();
102
+ if (!codeTrimmed)
103
+ continue;
104
+ // 1. Detect Class declarations
105
+ const classMatch = codePart.match(/^\s*class\s+([a-zA-Z0-9_]+)(?:\(([^)]+)\))?\s*:/);
106
+ if (classMatch) {
107
+ const className = classMatch[1];
108
+ const parentsStr = classMatch[2] || '';
109
+ const parents = parentsStr.split(',')
110
+ .map(p => p.trim())
111
+ .filter(p => p.length > 0 && !p.startsWith('*'));
112
+ classes.push({
113
+ name: className,
114
+ parents: parents.length > 0 ? parents : ['object'],
115
+ line: lineNum
116
+ });
117
+ continue;
118
+ }
119
+ // 2. Detect Function declarations
120
+ const funcMatch = codePart.match(/^(\s*)(?:async\s+)?def\s+([a-zA-Z0-9_]+)\s*\(/);
121
+ if (funcMatch) {
122
+ const indentStr = funcMatch[1] || '';
123
+ const funcName = funcMatch[2];
124
+ functions.push({
125
+ name: funcName,
126
+ line: lineNum,
127
+ indent: indentStr.length
128
+ });
129
+ continue;
130
+ }
131
+ // 3. Detect Imports
132
+ const importFromMatch = codePart.match(/^\s*from\s+([a-zA-Z0-9_.]+)\s+import\s+(.+)$/);
133
+ if (importFromMatch) {
134
+ const source = importFromMatch[1];
135
+ const namesStr = importFromMatch[2];
136
+ const names = namesStr.split(',')
137
+ .map(n => n.trim().split(/\s+as\s+/)[0].trim())
138
+ .filter(n => n.length > 0 && n !== '*' && !n.startsWith('(') && !n.endsWith(')'));
139
+ imports.push({
140
+ source,
141
+ names,
142
+ line: lineNum
143
+ });
144
+ continue;
145
+ }
146
+ const importMatch = codePart.match(/^\s*import\s+(.+)$/);
147
+ if (importMatch) {
148
+ const namesStr = importMatch[1];
149
+ const names = namesStr.split(',')
150
+ .map(n => n.trim().split(/\s+as\s+/)[0].trim())
151
+ .filter(n => n.length > 0);
152
+ imports.push({
153
+ source: '',
154
+ names,
155
+ line: lineNum
156
+ });
157
+ continue;
158
+ }
159
+ // 4. Detect Variables (Top-level uppercase constants)
160
+ const varMatch = codePart.match(/^([A-Z_][A-Z0-9_]*)\s*=\s*/);
161
+ if (varMatch) {
162
+ variables.push({
163
+ name: varMatch[1],
164
+ line: lineNum
165
+ });
166
+ }
167
+ // 5. Detect Calls
168
+ const callRegex = /\b([a-zA-Z_][a-zA-Z0-9_]*)\s*\(/g;
169
+ let match;
170
+ const keywords = new Set(['if', 'elif', 'while', 'for', 'def', 'class', 'with', 'assert', 'return', 'raise', 'and', 'or', 'not', 'in', 'is', 'try', 'except', 'finally']);
171
+ while ((match = callRegex.exec(codePart)) !== null) {
172
+ const callName = match[1];
173
+ if (!keywords.has(callName)) {
174
+ calls.push({
175
+ name: callName,
176
+ line: lineNum
177
+ });
178
+ }
179
+ }
180
+ }
181
+ }
182
+ return { classes, functions, variables, imports, calls };
183
+ }
184
+ }
185
+ //# sourceMappingURL=pythonParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pythonParser.js","sourceRoot":"","sources":["../../../src/analyzer/pythonParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/analyzer/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ export const authStorage = new AsyncLocalStorage();
3
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAUrD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAe,CAAC"}