@noyrax/documentation-system-plugin 1.0.4-beta.1 → 1.0.4-beta.3

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 (84) hide show
  1. package/docs/index/symbols.jsonl +78 -31
  2. package/docs/modules/mcp__src__tools__drift.ts.md +6 -2
  3. package/docs/modules/mcp__src__tools__impact.ts.md +3 -0
  4. package/docs/modules/package.json.md +10 -11
  5. package/docs/modules/scripts__verify-adrs.js.md +2 -2
  6. package/docs/modules/src__core__consolidation.ts.md +0 -1
  7. package/docs/modules/src__core__scanner.ts.md +0 -1
  8. package/docs/modules/src__index__index.ts.md +18 -0
  9. package/docs/modules/src__parsers__json-yaml.ts.md +16 -1
  10. package/docs/modules/src__parsers__types.ts.md +18 -0
  11. package/docs/system/CHANGE_REPORT.md +14 -7
  12. package/docs/system/DEPENDENCIES.md +0 -27
  13. package/docs/system/DEPENDENCY_GRAPH.md +267 -299
  14. package/docs/system/SYSTEM_METADATA.json +37 -0
  15. package/package.json +3 -4
  16. package/noyrax-5d-database-plugin-0.1.8.tgz +0 -0
  17. package/out/cache/ast-cache.js +0 -69
  18. package/out/cache/ast-cache.js.map +0 -1
  19. package/out/cache/dependencies-cache.js +0 -73
  20. package/out/cache/dependencies-cache.js.map +0 -1
  21. package/out/cache/output-cache.js +0 -69
  22. package/out/cache/output-cache.js.map +0 -1
  23. package/out/cache/signature-cache.js +0 -60
  24. package/out/cache/signature-cache.js.map +0 -1
  25. package/out/cli/generate-cli.js +0 -330
  26. package/out/cli/generate-cli.js.map +0 -1
  27. package/out/cli/scan-cli.js +0 -151
  28. package/out/cli/scan-cli.js.map +0 -1
  29. package/out/cli/validate-cli.js +0 -258
  30. package/out/cli/validate-cli.js.map +0 -1
  31. package/out/core/async.js +0 -38
  32. package/out/core/async.js.map +0 -1
  33. package/out/core/consolidation.js +0 -230
  34. package/out/core/consolidation.js.map +0 -1
  35. package/out/core/git.js +0 -48
  36. package/out/core/git.js.map +0 -1
  37. package/out/core/language-detection.js +0 -29
  38. package/out/core/language-detection.js.map +0 -1
  39. package/out/core/scanner.js +0 -179
  40. package/out/core/scanner.js.map +0 -1
  41. package/out/core/signature-formatter.js +0 -162
  42. package/out/core/signature-formatter.js.map +0 -1
  43. package/out/core/symbol-classifier.js +0 -96
  44. package/out/core/symbol-classifier.js.map +0 -1
  45. package/out/core/symbols.js +0 -24
  46. package/out/core/symbols.js.map +0 -1
  47. package/out/drift/index.js +0 -28
  48. package/out/drift/index.js.map +0 -1
  49. package/out/extension.js +0 -984
  50. package/out/extension.js.map +0 -1
  51. package/out/generator/adr-linker.js +0 -216
  52. package/out/generator/adr-linker.js.map +0 -1
  53. package/out/generator/change-report.js +0 -124
  54. package/out/generator/change-report.js.map +0 -1
  55. package/out/generator/dependency-graph.js +0 -98
  56. package/out/generator/dependency-graph.js.map +0 -1
  57. package/out/generator/index.js +0 -117
  58. package/out/generator/index.js.map +0 -1
  59. package/out/generator/module-doc.js +0 -438
  60. package/out/generator/module-doc.js.map +0 -1
  61. package/out/index/index.js +0 -147
  62. package/out/index/index.js.map +0 -1
  63. package/out/logging/index.js +0 -24
  64. package/out/logging/index.js.map +0 -1
  65. package/out/parsers/dependencies.js +0 -126
  66. package/out/parsers/dependencies.js.map +0 -1
  67. package/out/parsers/json-yaml.js +0 -90
  68. package/out/parsers/json-yaml.js.map +0 -1
  69. package/out/parsers/python.js +0 -160
  70. package/out/parsers/python.js.map +0 -1
  71. package/out/parsers/ts-js.js +0 -397
  72. package/out/parsers/ts-js.js.map +0 -1
  73. package/out/parsers/types.js +0 -3
  74. package/out/parsers/types.js.map +0 -1
  75. package/out/ui/commands-provider.js +0 -91
  76. package/out/ui/commands-provider.js.map +0 -1
  77. package/out/ui/status-bar.js +0 -85
  78. package/out/ui/status-bar.js.map +0 -1
  79. package/out/validator/index.js +0 -185
  80. package/out/validator/index.js.map +0 -1
  81. package/out/validator/signature-matching.js +0 -261
  82. package/out/validator/signature-matching.js.map +0 -1
  83. package/out/validator/status.js +0 -38
  84. package/out/validator/status.js.map +0 -1
@@ -1,147 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.readSymbolsFromIndex = exports.buildIndexFromSymbols = exports.writeJsonlIndex = void 0;
27
- const fs = __importStar(require("fs"));
28
- const path = __importStar(require("path"));
29
- const symbols_1 = require("../core/symbols");
30
- function writeJsonlIndex(rows, outFile) {
31
- const dir = path.dirname(outFile);
32
- if (!fs.existsSync(dir))
33
- fs.mkdirSync(dir, { recursive: true });
34
- const sorted = [...rows].sort((a, b) => (a.path === b.path ? a.symbol_id.localeCompare(b.symbol_id) : a.path.localeCompare(b.path)));
35
- const content = sorted.map(r => JSON.stringify(r)).join('\n') + '\n';
36
- fs.writeFileSync(outFile, content, 'utf8');
37
- }
38
- exports.writeJsonlIndex = writeJsonlIndex;
39
- function buildIndexFromSymbols(symbols, dependencies = []) {
40
- // Sammle Dependencies pro Quell-Datei und Zielmodul,
41
- // damit alle Symbolnamen je Modul zusammengeführt werden können.
42
- const depsByFile = new Map();
43
- for (const dep of dependencies) {
44
- if (!depsByFile.has(dep.from)) {
45
- depsByFile.set(dep.from, new Map());
46
- }
47
- const fileDeps = depsByFile.get(dep.from);
48
- const existing = fileDeps.get(dep.to);
49
- if (existing) {
50
- // Merge symbols
51
- if (dep.symbols && dep.symbols.length > 0) {
52
- existing.symbols.push(...dep.symbols);
53
- }
54
- // isTypeOnly bleibt nur true, wenn ALLE Imports type-only sind
55
- if (!dep.isTypeOnly) {
56
- existing.isTypeOnly = false;
57
- }
58
- // isReexport wird true, wenn mindestens ein Re-Export existiert
59
- if (dep.isReexport) {
60
- existing.isReexport = true;
61
- }
62
- }
63
- else {
64
- fileDeps.set(dep.to, {
65
- module: dep.to,
66
- symbols: dep.symbols && dep.symbols.length > 0 ? [...dep.symbols] : [],
67
- isTypeOnly: dep.isTypeOnly ?? false,
68
- isReexport: dep.isReexport ?? false,
69
- });
70
- }
71
- }
72
- return symbols.map(s => {
73
- const fileDeps = depsByFile.get(s.filePath);
74
- let dependencyEntries;
75
- if (fileDeps && fileDeps.size > 0) {
76
- // Erzeuge ein deterministisches Array:
77
- // 1. Sortiere nach Modulpfad
78
- // 2. Dedupliziere und sortiere Symbolnamen pro Modul
79
- const entries = Array.from(fileDeps.values()).map(acc => {
80
- const entry = { module: acc.module };
81
- if (acc.symbols.length > 0) {
82
- entry.symbols = Array.from(new Set(acc.symbols)).sort();
83
- }
84
- // Nur hinzufügen wenn true (spart Platz im JSON)
85
- if (acc.isTypeOnly) {
86
- entry.isTypeOnly = true;
87
- }
88
- if (acc.isReexport) {
89
- entry.isReexport = true;
90
- }
91
- return entry;
92
- });
93
- entries.sort((a, b) => a.module.localeCompare(b.module));
94
- dependencyEntries = entries;
95
- }
96
- return {
97
- symbol_id: (0, symbols_1.makeStableSymbolId)(s),
98
- path: s.filePath,
99
- kind: s.kind,
100
- name: s.fullyQualifiedName,
101
- signature: s.signature,
102
- dependencies: dependencyEntries,
103
- };
104
- });
105
- }
106
- exports.buildIndexFromSymbols = buildIndexFromSymbols;
107
- /**
108
- * @public
109
- * Reconstruct ParsedSymbol[] from a JSONL index file.
110
- * Wird sowohl vom Generate-Flow (als symbolsPrev) als auch vom Validator verwendet,
111
- * um eine gemeinsame Symbolbasis aus `docs/index/symbols.jsonl` herzustellen.
112
- */
113
- function readSymbolsFromIndex(indexFile) {
114
- if (!fs.existsSync(indexFile)) {
115
- return [];
116
- }
117
- try {
118
- const lines = fs.readFileSync(indexFile, 'utf8').split(/\r?\n/).filter(Boolean);
119
- const symbols = [];
120
- for (const line of lines) {
121
- try {
122
- const row = JSON.parse(line);
123
- symbols.push({
124
- language: 'unknown',
125
- filePath: row.path,
126
- fullyQualifiedName: row.name,
127
- kind: row.kind,
128
- signature: row.signature ?? {
129
- name: row.name,
130
- parameters: [],
131
- returnType: '',
132
- visibility: 'public',
133
- },
134
- });
135
- }
136
- catch {
137
- // Ignoriere defekte Zeilen – Validator/Generator arbeiten dann mit Teilmenge
138
- }
139
- }
140
- return symbols;
141
- }
142
- catch {
143
- return [];
144
- }
145
- }
146
- exports.readSymbolsFromIndex = readSymbolsFromIndex;
147
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index/index.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Logger = void 0;
4
- class Logger {
5
- constructor(options) {
6
- this.component = options.component;
7
- }
8
- info(message) {
9
- console.log(`[${this.component}] ${message}`);
10
- }
11
- warn(message) {
12
- console.warn(`[${this.component}] ${message}`);
13
- }
14
- error(message, err) {
15
- if (err) {
16
- console.error(`[${this.component}] ${message}:`, err);
17
- }
18
- else {
19
- console.error(`[${this.component}] ${message}`);
20
- }
21
- }
22
- }
23
- exports.Logger = Logger;
24
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":";;;AAMA,MAAa,MAAM;IAGf,YAAY,OAAsB;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,OAAe;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,OAAe;QAChB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAa;QAChC,IAAI,GAAG,EAAE;YACL,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;SACzD;aAAM;YACH,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC;SACnD;IACL,CAAC;CACJ;AAtBD,wBAsBC"}
@@ -1,126 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractPythonDependencies = exports.extractTsJsDependencies = void 0;
4
- /**
5
- * @public
6
- * Extract dependencies from TypeScript/JavaScript files
7
- */
8
- function extractTsJsDependencies(sourceFile, repoRelPath) {
9
- const deps = [];
10
- // Import declarations
11
- sourceFile.getImportDeclarations().forEach(imp => {
12
- const moduleSpec = imp.getModuleSpecifierValue();
13
- const isTypeOnly = imp.isTypeOnly();
14
- // Named imports mit Alias-Unterstützung
15
- const namedImports = imp.getNamedImports().map(ni => {
16
- const name = ni.getName();
17
- const alias = ni.getAliasNode()?.getText();
18
- const isTypeOnlySpecifier = ni.isTypeOnly();
19
- // Format: "OriginalName" oder "OriginalName as Alias" oder "type OriginalName"
20
- let result = name;
21
- if (alias && alias !== name) {
22
- result = `${name} as ${alias}`;
23
- }
24
- if (isTypeOnlySpecifier || isTypeOnly) {
25
- result = `type ${result}`;
26
- }
27
- return result;
28
- });
29
- const defaultImport = imp.getDefaultImport()?.getText();
30
- const namespaceImport = imp.getNamespaceImport()?.getText();
31
- const symbols = [];
32
- if (defaultImport) {
33
- const prefix = isTypeOnly ? 'type default as' : 'default as';
34
- symbols.push(`${prefix} ${defaultImport}`);
35
- }
36
- if (namespaceImport) {
37
- const prefix = isTypeOnly ? 'type * as' : '* as';
38
- symbols.push(`${prefix} ${namespaceImport}`);
39
- }
40
- symbols.push(...namedImports);
41
- deps.push({
42
- from: repoRelPath,
43
- to: moduleSpec,
44
- type: 'import',
45
- symbols: symbols.length > 0 ? symbols : undefined,
46
- isTypeOnly: isTypeOnly || undefined,
47
- });
48
- });
49
- // Export declarations (Re-Exports / Barrel-Pattern)
50
- sourceFile.getExportDeclarations().forEach(exp => {
51
- const moduleSpec = exp.getModuleSpecifierValue();
52
- if (moduleSpec) {
53
- const isTypeOnly = exp.isTypeOnly();
54
- const isNamespace = exp.isNamespaceExport();
55
- // Named exports mit Alias-Unterstützung
56
- const namedExports = exp.getNamedExports().map(ne => {
57
- const name = ne.getName();
58
- const alias = ne.getAliasNode()?.getText();
59
- const isTypeOnlySpecifier = ne.isTypeOnly();
60
- // Format: "OriginalName" oder "OriginalName as Alias" oder "type OriginalName"
61
- let result = name;
62
- if (alias && alias !== name) {
63
- result = `${name} as ${alias}`;
64
- }
65
- if (isTypeOnlySpecifier || isTypeOnly) {
66
- result = `type ${result}`;
67
- }
68
- return result;
69
- });
70
- const symbols = [];
71
- if (isNamespace) {
72
- symbols.push(isTypeOnly ? 'type *' : '*');
73
- }
74
- symbols.push(...namedExports);
75
- deps.push({
76
- from: repoRelPath,
77
- to: moduleSpec,
78
- type: 'export',
79
- symbols: symbols.length > 0 ? symbols : undefined,
80
- isTypeOnly: isTypeOnly || undefined,
81
- isReexport: true, // Markiert als Re-Export (Barrel-Pattern)
82
- });
83
- }
84
- });
85
- return deps;
86
- }
87
- exports.extractTsJsDependencies = extractTsJsDependencies;
88
- /**
89
- * @public
90
- * Extract dependencies from Python files
91
- */
92
- function extractPythonDependencies(content, repoRelPath) {
93
- const deps = [];
94
- const lines = content.split(/\r?\n/);
95
- for (const line of lines) {
96
- const trimmed = line.trim();
97
- // import module
98
- const importMatch = trimmed.match(/^import\s+([^#]+)/);
99
- if (importMatch) {
100
- const modules = importMatch[1].split(',').map(m => m.trim());
101
- for (const mod of modules) {
102
- deps.push({
103
- from: repoRelPath,
104
- to: mod,
105
- type: 'import',
106
- });
107
- }
108
- continue;
109
- }
110
- // from module import symbols
111
- const fromMatch = trimmed.match(/^from\s+([^\s]+)\s+import\s+([^#]+)/);
112
- if (fromMatch) {
113
- const module = fromMatch[1];
114
- const symbols = fromMatch[2].split(',').map(s => s.trim());
115
- deps.push({
116
- from: repoRelPath,
117
- to: module,
118
- type: 'import',
119
- symbols,
120
- });
121
- }
122
- }
123
- return deps;
124
- }
125
- exports.extractPythonDependencies = extractPythonDependencies;
126
- //# sourceMappingURL=dependencies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/parsers/dependencies.ts"],"names":[],"mappings":"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"}
@@ -1,90 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.JsonYamlParser = void 0;
27
- const path = __importStar(require("path"));
28
- const YAML = __importStar(require("yaml"));
29
- function asRepoRel(p) {
30
- return p.split(path.sep).join('/');
31
- }
32
- class JsonYamlParser {
33
- constructor() {
34
- this.language = 'json-yaml';
35
- }
36
- parse(filePath, fileContent) {
37
- // ARCHITECTURE DECISION (ADR): JSON/YAML liefern keine Code-Symbole
38
- // Diese Dateien enthalten Konfiguration, keine Code-Symbole.
39
- // Root Cause Fix: Verhindert $schema, $ref und andere JSON-Keys als Symbole.
40
- //
41
- // Option A (implementiert): Komplett deaktivieren - return []
42
- // Option B (nicht implementiert): Nur spezifische Config-Keys extrahieren
43
- //
44
- // Begründung: JSON/YAML sind Konfigurationsdateien, keine Code-Quellen.
45
- // Symbole sollten nur aus .ts/.tsx/.js/.jsx extrahiert werden.
46
- const ext = path.extname(filePath).toLowerCase();
47
- // JSON/YAML: Keine Symbole extrahieren
48
- if (ext === '.json' || ext === '.yaml' || ext === '.yml') {
49
- return [];
50
- }
51
- // Markdown Front-Matter: Auch keine Symbole (nur Metadaten)
52
- if (ext === '.md') {
53
- return [];
54
- }
55
- return [];
56
- }
57
- collectFromObject(obj, repoRel, out, lang) {
58
- if (!obj || typeof obj !== 'object')
59
- return;
60
- const keys = Object.keys(obj).sort();
61
- for (const k of keys) {
62
- const v = obj[k];
63
- const sig = { name: k, parameters: [], returnType: typeof v, visibility: 'public' };
64
- out.push({
65
- language: lang,
66
- filePath: repoRel,
67
- fullyQualifiedName: k,
68
- signature: sig,
69
- kind: 'variable',
70
- });
71
- }
72
- }
73
- extractFrontMatter(content) {
74
- // Einfacher Front-Matter-Parser: erwartet '---' Block am Anfang
75
- if (!content.startsWith('---'))
76
- return null;
77
- const end = content.indexOf('\n---', 3);
78
- if (end === -1)
79
- return null;
80
- const block = content.slice(3, end).trim();
81
- try {
82
- return YAML.parse(block);
83
- }
84
- catch {
85
- return null;
86
- }
87
- }
88
- }
89
- exports.JsonYamlParser = JsonYamlParser;
90
- //# sourceMappingURL=json-yaml.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json-yaml.js","sourceRoot":"","sources":["../../src/parsers/json-yaml.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,2CAA6B;AAE7B,SAAS,SAAS,CAAC,CAAS;IACxB,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,MAAa,cAAc;IAA3B;QACI,aAAQ,GAAG,WAAW,CAAC;IAwD3B,CAAC;IAtDG,KAAK,CAAC,QAAgB,EAAE,WAAmB;QACvC,oEAAoE;QACpE,6DAA6D;QAC7D,6EAA6E;QAC7E,GAAG;QACH,8DAA8D;QAC9D,0EAA0E;QAC1E,EAAE;QACF,wEAAwE;QACxE,+DAA+D;QAE/D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjD,uCAAuC;QACvC,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE;YACtD,OAAO,EAAE,CAAC;SACb;QAED,4DAA4D;QAC5D,IAAI,GAAG,KAAK,KAAK,EAAE;YACf,OAAO,EAAE,CAAC;SACb;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,GAAQ,EAAE,OAAe,EAAE,GAAmB,EAAE,IAAY;QAClF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;YAClB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,GAAG,GAAoB,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YACrG,GAAG,CAAC,IAAI,CAAC;gBACL,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,OAAO;gBACjB,kBAAkB,EAAE,CAAC;gBACrB,SAAS,EAAE,GAAG;gBACd,IAAI,EAAE,UAAU;aACnB,CAAC,CAAC;SACN;IACL,CAAC;IAEO,kBAAkB,CAAC,OAAe;QACtC,gEAAgE;QAChE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI;YACA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC5B;QAAC,MAAM;YACJ,OAAO,IAAI,CAAC;SACf;IACL,CAAC;CACJ;AAzDD,wCAyDC"}
@@ -1,160 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.PythonParser = void 0;
30
- const tree_sitter_1 = __importDefault(require("tree-sitter"));
31
- const tree_sitter_python_1 = __importDefault(require("tree-sitter-python"));
32
- const path = __importStar(require("path"));
33
- class PythonParser {
34
- constructor() {
35
- this.language = 'python';
36
- this.parser = new tree_sitter_1.default();
37
- this.parser.setLanguage(tree_sitter_python_1.default);
38
- }
39
- parse(filePath, fileContent) {
40
- try {
41
- const tree = this.parser.parse(fileContent);
42
- const repoRelPath = filePath.split(path.sep).join('/');
43
- const symbols = [];
44
- const walkNode = (node, namespace = '') => {
45
- switch (node.type) {
46
- case 'class_definition':
47
- const className = this.getNodeText(node, 'identifier', fileContent);
48
- if (className) {
49
- const fqn = namespace ? `${namespace}.${className}` : className;
50
- symbols.push({
51
- language: 'python',
52
- filePath: repoRelPath,
53
- fullyQualifiedName: fqn,
54
- signature: { name: className, parameters: [] },
55
- kind: 'class',
56
- });
57
- // Methoden in der Klasse
58
- for (const child of node.children) {
59
- if (child.type === 'block') {
60
- for (const stmt of child.children) {
61
- if (stmt.type === 'function_definition') {
62
- const methodName = this.getNodeText(stmt, 'identifier', fileContent);
63
- if (methodName) {
64
- const params = this.extractParameters(stmt, fileContent);
65
- symbols.push({
66
- language: 'python',
67
- filePath: repoRelPath,
68
- fullyQualifiedName: `${fqn}.${methodName}`,
69
- signature: { name: methodName, parameters: params },
70
- kind: 'method',
71
- });
72
- }
73
- }
74
- }
75
- }
76
- }
77
- }
78
- break;
79
- case 'function_definition':
80
- const funcName = this.getNodeText(node, 'identifier', fileContent);
81
- if (funcName) {
82
- const fqn = namespace ? `${namespace}.${funcName}` : funcName;
83
- const params = this.extractParameters(node, fileContent);
84
- symbols.push({
85
- language: 'python',
86
- filePath: repoRelPath,
87
- fullyQualifiedName: fqn,
88
- signature: { name: funcName, parameters: params },
89
- kind: 'function',
90
- });
91
- }
92
- break;
93
- case 'assignment':
94
- // Einfache Variablen-Zuweisungen auf Modul-Ebene
95
- const varName = this.getNodeText(node, 'identifier', fileContent);
96
- if (varName && !namespace) { // nur top-level
97
- symbols.push({
98
- language: 'python',
99
- filePath: repoRelPath,
100
- fullyQualifiedName: varName,
101
- signature: { name: varName, parameters: [] },
102
- kind: 'variable',
103
- });
104
- }
105
- break;
106
- }
107
- // Rekursiv durch Kinder
108
- for (const child of node.children) {
109
- walkNode(child, namespace);
110
- }
111
- };
112
- walkNode(tree.rootNode);
113
- // Deterministisch sortieren
114
- symbols.sort((a, b) => {
115
- if (a.filePath !== b.filePath)
116
- return a.filePath.localeCompare(b.filePath);
117
- return a.fullyQualifiedName.localeCompare(b.fullyQualifiedName);
118
- });
119
- return symbols;
120
- }
121
- catch {
122
- return [];
123
- }
124
- }
125
- getNodeText(node, childType, source) {
126
- const child = node.children.find((c) => c.type === childType);
127
- return child ? source.slice(child.startIndex, child.endIndex) : null;
128
- }
129
- extractParameters(funcNode, source) {
130
- const params = [];
131
- const paramsNode = funcNode.children.find((c) => c.type === 'parameters');
132
- if (!paramsNode)
133
- return params;
134
- for (const child of paramsNode.children) {
135
- if (child.type === 'identifier') {
136
- const name = source.slice(child.startIndex, child.endIndex);
137
- params.push({ name });
138
- }
139
- else if (child.type === 'default_parameter') {
140
- const nameNode = child.children.find((c) => c.type === 'identifier');
141
- if (nameNode) {
142
- const name = source.slice(nameNode.startIndex, nameNode.endIndex);
143
- params.push({ name, hasDefault: true });
144
- }
145
- }
146
- else if (child.type === 'typed_parameter') {
147
- const nameNode = child.children.find((c) => c.type === 'identifier');
148
- const typeNode = child.children.find((c) => c.type === 'type');
149
- if (nameNode) {
150
- const name = source.slice(nameNode.startIndex, nameNode.endIndex);
151
- const type = typeNode ? source.slice(typeNode.startIndex, typeNode.endIndex) : undefined;
152
- params.push({ name, type });
153
- }
154
- }
155
- }
156
- return params;
157
- }
158
- }
159
- exports.PythonParser = PythonParser;
160
- //# sourceMappingURL=python.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/parsers/python.ts"],"names":[],"mappings":"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"}