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

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 (200) hide show
  1. package/.vscodeignore +41 -0
  2. package/LICENSE +21 -0
  3. package/MCP_SERVER_SETUP.md +371 -0
  4. package/README.md +663 -0
  5. package/assets/icon.svg +27 -0
  6. package/docs/LINKEDIN_ANTWORT_SEQUENZDIAGRAMME.md +190 -0
  7. package/docs/SEQUENZDIAGRAMM_BEWEIS.md +469 -0
  8. package/docs/SEQUENZDIAGRAMM_VALIDATE_FLOW.md +282 -0
  9. package/docs/adr/001-signatur-abweichung-fix.md +54 -0
  10. package/docs/adr/002-file-specific-validation-1.0.1.md +45 -0
  11. package/docs/adr/003-documentation-generation-bugs.md +134 -0
  12. package/docs/adr/004-validator-signature-matching-fix.md +121 -0
  13. package/docs/adr/005-validator-generic-simplification-tightening.md +35 -0
  14. package/docs/adr/006-parser-variable-type-extraction.md +33 -0
  15. package/docs/adr/007-ts-parser-load-libs-for-accurate-types.md +31 -0
  16. package/docs/adr/008-dependencies-cache-phase1.md +133 -0
  17. package/docs/adr/009-consolidation-union-logic-phase1-2.md +147 -0
  18. package/docs/adr/010-extension-union-integration-phase1-3-and-phase2.md +179 -0
  19. package/docs/adr/011-module-doc-change-tracking-phase3.md +190 -0
  20. package/docs/adr/012-git-deletions-change-report-phase4.md +235 -0
  21. package/docs/adr/013-system-functionality-fixes.md +279 -0
  22. package/docs/adr/014-rules-migration-und-mcp-integration.md +113 -0
  23. package/docs/adr/015-global-agent-package.md +158 -0
  24. package/docs/adr/016-produktisierung-docguard.md +193 -0
  25. package/docs/adr/017-signature-matching-optional-fields.md +128 -0
  26. package/docs/adr/018-rebranding-docguard-to-noyrax.md +109 -0
  27. package/docs/adr/019-system-schwachstellen-analyse-und-fixes.md +204 -0
  28. package/docs/adr/020-api-doc-tiefe-und-signatureformatter.md +74 -0
  29. package/docs/adr/021-semantic-api-docs-and-symbol-classifier.md +125 -0
  30. package/docs/adr/022-semantic-class-and-constants-rendering.md +82 -0
  31. package/docs/adr/023-adr-verknuepfung-modul-doku.md +54 -0
  32. package/docs/adr/024-cursor-rules-mehrdimensionaler-raum.md +230 -0
  33. package/docs/adr/025-mcp-tools-scan-validate-cli-bridge.md +202 -0
  34. package/docs/adr/026-reality-driven-development-system.md +173 -0
  35. package/docs/adr/027-scanner-excludes-and-union-logic-fix.md +189 -0
  36. package/docs/adr/028-src-coverage-union-resync.md +124 -0
  37. package/docs/adr/029-parser-flow-kopplung-und-sync-drift-modi.md +102 -0
  38. package/docs/adr/030-dependency-import-symbol-names-preservation.md +123 -0
  39. package/docs/adr/031-generate-cli-vollstaendige-dokumentation.md +99 -0
  40. package/docs/adr/032-windows-optimized-verification-scripts.md +165 -0
  41. package/docs/adr/036-enhanced-dependency-metadata.md +190 -0
  42. package/docs/adr/TEMPLATE.md +76 -0
  43. package/docs/index/symbols.jsonl +31 -0
  44. package/docs/modules/action__action.yml.md +50 -0
  45. package/docs/modules/documentation.config.schema.json.md +37 -0
  46. package/docs/modules/mcp__package.json.md +130 -0
  47. package/docs/modules/mcp__src__resources__docs.ts.md +94 -0
  48. package/docs/modules/mcp__src__server.ts.md +15 -0
  49. package/docs/modules/mcp__src__tools__drift.ts.md +110 -0
  50. package/docs/modules/mcp__src__tools__impact.ts.md +127 -0
  51. package/docs/modules/mcp__src__tools__scan.ts.md +75 -0
  52. package/docs/modules/mcp__src__tools__validate.ts.md +116 -0
  53. package/docs/modules/mcp__src__tools__verify-adrs.ts.md +106 -0
  54. package/docs/modules/mcp__tsconfig.json.md +22 -0
  55. package/docs/modules/package.json.md +131 -0
  56. package/docs/modules/packages__doc-system-agent__examples__basic-project__package.json.md +43 -0
  57. package/docs/modules/packages__doc-system-agent__examples__basic-project__src__calculator.ts.md +81 -0
  58. package/docs/modules/packages__doc-system-agent__package.json.md +154 -0
  59. package/docs/modules/packages__doc-system-agent__src__cli__index.ts.md +8 -0
  60. package/docs/modules/packages__doc-system-agent__src__cli__init.ts.md +93 -0
  61. package/docs/modules/packages__doc-system-agent__src__cli__update.ts.md +113 -0
  62. package/docs/modules/packages__doc-system-agent__src__constants.ts.md +29 -0
  63. package/docs/modules/packages__doc-system-agent__src__index.ts.md +234 -0
  64. package/docs/modules/packages__doc-system-agent__src__mcp__resources__docs.ts.md +94 -0
  65. package/docs/modules/packages__doc-system-agent__src__mcp__server.ts.md +17 -0
  66. package/docs/modules/packages__doc-system-agent__src__mcp__tools__drift.ts.md +38 -0
  67. package/docs/modules/packages__doc-system-agent__src__mcp__tools__impact.ts.md +75 -0
  68. package/docs/modules/packages__doc-system-agent__src__mcp__tools__scan.ts.md +23 -0
  69. package/docs/modules/packages__doc-system-agent__src__mcp__tools__validate.ts.md +23 -0
  70. package/docs/modules/packages__doc-system-agent__src__mcp__tools__verify-adrs.ts.md +106 -0
  71. package/docs/modules/packages__doc-system-agent__src__mcp__types.ts.md +355 -0
  72. package/docs/modules/packages__doc-system-agent__tsconfig.json.md +22 -0
  73. package/docs/modules/scripts__verify-adrs.js.md +97 -0
  74. package/docs/modules/scripts__verify-architecture.js.md +93 -0
  75. package/docs/modules/scripts__verify-imports.js.md +114 -0
  76. package/docs/modules/src____tests____setup.ts.md +8 -0
  77. package/docs/modules/src____tests____signature-formatter.test.ts.md +16 -0
  78. package/docs/modules/src____tests____snapshot-doc-generation.test.ts.md +8 -0
  79. package/docs/modules/src____tests____symbol-classifier.test.ts.md +16 -0
  80. package/docs/modules/src__cache__ast-cache.ts.md +91 -0
  81. package/docs/modules/src__cache__dependencies-cache.ts.md +89 -0
  82. package/docs/modules/src__cache__output-cache.ts.md +91 -0
  83. package/docs/modules/src__cache__signature-cache.ts.md +76 -0
  84. package/docs/modules/src__cli__generate-cli.ts.md +130 -0
  85. package/docs/modules/src__cli__scan-cli.ts.md +99 -0
  86. package/docs/modules/src__cli__validate-cli.ts.md +144 -0
  87. package/docs/modules/src__core__async.ts.md +18 -0
  88. package/docs/modules/src__core__consolidation.ts.md +158 -0
  89. package/docs/modules/src__core__git.ts.md +35 -0
  90. package/docs/modules/src__core__language-detection.ts.md +31 -0
  91. package/docs/modules/src__core__scanner.ts.md +101 -0
  92. package/docs/modules/src__core__signature-formatter.ts.md +232 -0
  93. package/docs/modules/src__core__symbol-classifier.ts.md +178 -0
  94. package/docs/modules/src__core__symbols.ts.md +31 -0
  95. package/docs/modules/src__drift__index.ts.md +53 -0
  96. package/docs/modules/src__extension.ts.md +418 -0
  97. package/docs/modules/src__generator__adr-linker.ts.md +154 -0
  98. package/docs/modules/src__generator__change-report.ts.md +85 -0
  99. package/docs/modules/src__generator__dependency-graph.ts.md +63 -0
  100. package/docs/modules/src__generator__index.ts.md +40 -0
  101. package/docs/modules/src__generator__module-doc.ts.md +242 -0
  102. package/docs/modules/src__index__index.ts.md +141 -0
  103. package/docs/modules/src__logging__index.ts.md +87 -0
  104. package/docs/modules/src__parsers__dependencies.ts.md +69 -0
  105. package/docs/modules/src__parsers__json-yaml.ts.md +81 -0
  106. package/docs/modules/src__parsers__python.ts.md +73 -0
  107. package/docs/modules/src__parsers__ts-js.ts.md +48 -0
  108. package/docs/modules/src__parsers__types.ts.md +99 -0
  109. package/docs/modules/src__ui__commands-provider.ts.md +70 -0
  110. package/docs/modules/src__ui__status-bar.ts.md +79 -0
  111. package/docs/modules/src__validator__index.ts.md +211 -0
  112. package/docs/modules/src__validator__signature-matching.ts.md +209 -0
  113. package/docs/modules/src__validator__status.ts.md +72 -0
  114. package/docs/modules/test-mcp-resources.js.md +27 -0
  115. package/docs/modules/tsconfig.json.md +22 -0
  116. package/docs/system/CHANGE_REPORT.md +19 -0
  117. package/docs/system/DEPENDENCIES.md +430 -0
  118. package/docs/system/DEPENDENCY_GRAPH.md +368 -0
  119. package/docs/system/NAVIGATION_SPACE_ANALYSIS.md +244 -0
  120. package/docs/system/NPX_CACHE_FIX.md +85 -0
  121. package/docs/system/NPX_LOCAL_USAGE.md +66 -0
  122. package/docs/system/PLUGIN_ECOSYSTEM_STATUS.md +465 -0
  123. package/docs/system/PLUGIN_UPDATE_GUIDE.md +212 -0
  124. package/docs/system/RULES_UPDATE_GUIDE.md +182 -0
  125. package/docs/system/SYSTEM_ANALYSIS.md +947 -0
  126. package/documentation.config.schema.json +77 -0
  127. package/noyrax-5d-database-plugin-0.1.8.tgz +0 -0
  128. package/out/cache/ast-cache.js +69 -0
  129. package/out/cache/ast-cache.js.map +1 -0
  130. package/out/cache/dependencies-cache.js +73 -0
  131. package/out/cache/dependencies-cache.js.map +1 -0
  132. package/out/cache/output-cache.js +69 -0
  133. package/out/cache/output-cache.js.map +1 -0
  134. package/out/cache/signature-cache.js +60 -0
  135. package/out/cache/signature-cache.js.map +1 -0
  136. package/out/cli/generate-cli.js +330 -0
  137. package/out/cli/generate-cli.js.map +1 -0
  138. package/out/cli/scan-cli.js +151 -0
  139. package/out/cli/scan-cli.js.map +1 -0
  140. package/out/cli/validate-cli.js +258 -0
  141. package/out/cli/validate-cli.js.map +1 -0
  142. package/out/core/async.js +38 -0
  143. package/out/core/async.js.map +1 -0
  144. package/out/core/consolidation.js +230 -0
  145. package/out/core/consolidation.js.map +1 -0
  146. package/out/core/git.js +48 -0
  147. package/out/core/git.js.map +1 -0
  148. package/out/core/language-detection.js +29 -0
  149. package/out/core/language-detection.js.map +1 -0
  150. package/out/core/scanner.js +179 -0
  151. package/out/core/scanner.js.map +1 -0
  152. package/out/core/signature-formatter.js +162 -0
  153. package/out/core/signature-formatter.js.map +1 -0
  154. package/out/core/symbol-classifier.js +96 -0
  155. package/out/core/symbol-classifier.js.map +1 -0
  156. package/out/core/symbols.js +24 -0
  157. package/out/core/symbols.js.map +1 -0
  158. package/out/drift/index.js +28 -0
  159. package/out/drift/index.js.map +1 -0
  160. package/out/extension.js +984 -0
  161. package/out/extension.js.map +1 -0
  162. package/out/generator/adr-linker.js +216 -0
  163. package/out/generator/adr-linker.js.map +1 -0
  164. package/out/generator/change-report.js +124 -0
  165. package/out/generator/change-report.js.map +1 -0
  166. package/out/generator/dependency-graph.js +98 -0
  167. package/out/generator/dependency-graph.js.map +1 -0
  168. package/out/generator/index.js +117 -0
  169. package/out/generator/index.js.map +1 -0
  170. package/out/generator/module-doc.js +438 -0
  171. package/out/generator/module-doc.js.map +1 -0
  172. package/out/index/index.js +147 -0
  173. package/out/index/index.js.map +1 -0
  174. package/out/logging/index.js +24 -0
  175. package/out/logging/index.js.map +1 -0
  176. package/out/parsers/dependencies.js +126 -0
  177. package/out/parsers/dependencies.js.map +1 -0
  178. package/out/parsers/json-yaml.js +90 -0
  179. package/out/parsers/json-yaml.js.map +1 -0
  180. package/out/parsers/python.js +160 -0
  181. package/out/parsers/python.js.map +1 -0
  182. package/out/parsers/ts-js.js +397 -0
  183. package/out/parsers/ts-js.js.map +1 -0
  184. package/out/parsers/types.js +3 -0
  185. package/out/parsers/types.js.map +1 -0
  186. package/out/ui/commands-provider.js +91 -0
  187. package/out/ui/commands-provider.js.map +1 -0
  188. package/out/ui/status-bar.js +85 -0
  189. package/out/ui/status-bar.js.map +1 -0
  190. package/out/validator/index.js +185 -0
  191. package/out/validator/index.js.map +1 -0
  192. package/out/validator/signature-matching.js +261 -0
  193. package/out/validator/signature-matching.js.map +1 -0
  194. package/out/validator/status.js +38 -0
  195. package/out/validator/status.js.map +1 -0
  196. package/package.json +306 -0
  197. package/publish.ps1 +21 -0
  198. package/scripts/verify-adrs.js +312 -0
  199. package/scripts/verify-architecture.js +181 -0
  200. package/scripts/verify-imports.js +274 -0
@@ -0,0 +1,258 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * CLI-Tool für Validate-Funktionalität
5
+ *
6
+ * Wird von MCP-Server Tools aufgerufen.
7
+ * Gibt JSON-Output zurück für einfaches Parsing.
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.runValidateCli = void 0;
34
+ const path = __importStar(require("path"));
35
+ const fs = __importStar(require("fs"));
36
+ const scanner_1 = require("../core/scanner");
37
+ const ts_js_1 = require("../parsers/ts-js");
38
+ const json_yaml_1 = require("../parsers/json-yaml");
39
+ const python_1 = require("../parsers/python");
40
+ const index_1 = require("../validator/index");
41
+ const index_2 = require("../index/index");
42
+ async function runValidateCli(options = {}) {
43
+ const startTime = Date.now();
44
+ const logs = [];
45
+ const errors = [];
46
+ const warnings = [];
47
+ try {
48
+ const workspaceRoot = options.workspaceRoot || process.cwd();
49
+ const outputPath = options.outputPath || 'docs';
50
+ const modulesDir = path.join(workspaceRoot, outputPath, 'modules');
51
+ logs.push(`Validating workspace: ${workspaceRoot}`);
52
+ logs.push(`Modules directory: ${modulesDir}`);
53
+ // Prüfe ob modules/ existiert
54
+ if (!fs.existsSync(modulesDir)) {
55
+ errors.push({
56
+ file: modulesDir,
57
+ type: 'missing_docs',
58
+ message: `Modules directory does not exist: ${modulesDir}`,
59
+ });
60
+ return {
61
+ status: 'errors',
62
+ errors,
63
+ warnings: [],
64
+ coverage: { documented: 0, total: 0, percentage: 0 },
65
+ duration: Date.now() - startTime,
66
+ logs,
67
+ };
68
+ }
69
+ // Versuch 1: Symbole aus vorhandenen Index lesen (Sync-Modus nach Generate)
70
+ const indexFile = path.join(workspaceRoot, outputPath, 'index', 'symbols.jsonl');
71
+ let allSymbols = [];
72
+ if (fs.existsSync(indexFile)) {
73
+ try {
74
+ allSymbols = (0, index_2.readSymbolsFromIndex)(indexFile);
75
+ logs.push(`Loaded ${allSymbols.length} symbols from index: ${indexFile}`);
76
+ }
77
+ catch (e) {
78
+ logs.push(`Failed to read symbols index (${indexFile}), falling back to parsing: ${e instanceof Error ? e.message : String(e)}`);
79
+ allSymbols = [];
80
+ }
81
+ }
82
+ // Workspace scannen und Symbole parsen (Drift-Modus), falls kein Index oder leer
83
+ if (allSymbols.length === 0) {
84
+ const scanned = (0, scanner_1.scanWorkspace)({ workspaceRoot }, false);
85
+ // Filter nach spezifischen Dateien (falls angegeben)
86
+ let filesToProcess = scanned;
87
+ if (options.files && options.files.length > 0) {
88
+ const fileSet = new Set(options.files.map(f => path.resolve(workspaceRoot, f)));
89
+ filesToProcess = scanned.filter(f => fileSet.has(f.absolutePath));
90
+ logs.push(`Filtered to ${filesToProcess.length} specific files`);
91
+ }
92
+ const parsers = [
93
+ new ts_js_1.TsJsParser(),
94
+ new json_yaml_1.JsonYamlParser(),
95
+ new python_1.PythonParser()
96
+ ];
97
+ // Dateien parsen
98
+ for (const file of filesToProcess) {
99
+ try {
100
+ const content = fs.readFileSync(file.absolutePath, 'utf8');
101
+ let symbols = [];
102
+ if (file.language === 'ts' || file.language === 'js') {
103
+ symbols = parsers[0].parse(file.absolutePath, content)
104
+ .map(s => ({ ...s, filePath: file.repositoryRelativePath }));
105
+ }
106
+ else if (file.language === 'json' || file.language === 'yaml' || file.language === 'markdown') {
107
+ symbols = parsers[1].parse(file.absolutePath, content)
108
+ .map(s => ({ ...s, filePath: file.repositoryRelativePath }));
109
+ }
110
+ else if (file.language === 'python') {
111
+ symbols = parsers[2].parse(file.absolutePath, content)
112
+ .map(s => ({ ...s, filePath: file.repositoryRelativePath }));
113
+ }
114
+ allSymbols.push(...symbols);
115
+ }
116
+ catch (error) {
117
+ const message = error instanceof Error ? error.message : String(error);
118
+ warnings.push({
119
+ file: file.repositoryRelativePath,
120
+ type: 'missing_docs',
121
+ message: `Failed to parse file: ${message}`,
122
+ });
123
+ }
124
+ }
125
+ logs.push(`Parsed ${allSymbols.length} symbols from ${filesToProcess.length} files`);
126
+ }
127
+ else {
128
+ logs.push(`Using ${allSymbols.length} symbols from index (no additional parsing needed)`);
129
+ }
130
+ // Coverage berechnen
131
+ const thresholds = options.thresholds || {
132
+ classes: 0.9,
133
+ interfaces: 0.9,
134
+ methods: 0.9,
135
+ functions: 0.8,
136
+ };
137
+ const coverage = (0, index_1.computeCoverage)(allSymbols, modulesDir, thresholds);
138
+ // Markdown validieren
139
+ const mdReport = (0, index_1.validateMarkdownDir)(modulesDir, allSymbols);
140
+ // Fehler und Warnungen konvertieren
141
+ for (const error of mdReport.errors) {
142
+ errors.push({
143
+ file: '',
144
+ type: 'missing_docs',
145
+ message: error,
146
+ });
147
+ }
148
+ for (const warning of mdReport.warnings) {
149
+ warnings.push({
150
+ file: '',
151
+ type: 'stale_docs',
152
+ message: warning,
153
+ });
154
+ }
155
+ // Coverage-Fehler hinzufügen
156
+ for (const error of coverage.errors) {
157
+ errors.push({
158
+ file: '',
159
+ type: 'coverage',
160
+ message: error,
161
+ });
162
+ }
163
+ // Filter nach spezifischen Dateien (falls angegeben)
164
+ if (options.files && options.files.length > 0) {
165
+ const filterFiles = new Set(options.files);
166
+ errors.splice(0, errors.length, ...errors.filter(e => !e.file || filterFiles.has(e.file)));
167
+ warnings.splice(0, warnings.length, ...warnings.filter(w => !w.file || filterFiles.has(w.file)));
168
+ }
169
+ // Status berechnen
170
+ let status;
171
+ if (errors.length > 0) {
172
+ status = 'errors';
173
+ }
174
+ else if (warnings.length > 0) {
175
+ status = 'warnings';
176
+ }
177
+ else {
178
+ status = 'success';
179
+ }
180
+ return {
181
+ status,
182
+ errors,
183
+ warnings,
184
+ coverage: (() => {
185
+ const documented = coverage.metrics.documentedClasses + coverage.metrics.documentedInterfaces + coverage.metrics.documentedMethods + coverage.metrics.documentedFunctions;
186
+ const total = coverage.metrics.totalClasses + coverage.metrics.totalInterfaces + coverage.metrics.totalMethods + coverage.metrics.totalFunctions;
187
+ return {
188
+ documented,
189
+ total,
190
+ percentage: total > 0 ? Math.round((documented / total) * 100) : 100,
191
+ };
192
+ })(),
193
+ duration: Date.now() - startTime,
194
+ logs: options.verbose ? logs : [],
195
+ };
196
+ }
197
+ catch (error) {
198
+ const message = error instanceof Error ? error.message : String(error);
199
+ errors.push({
200
+ file: '',
201
+ type: 'coverage',
202
+ message: `Validation failed: ${message}`,
203
+ });
204
+ return {
205
+ status: 'errors',
206
+ errors,
207
+ warnings: [],
208
+ coverage: { documented: 0, total: 0, percentage: 0 },
209
+ duration: Date.now() - startTime,
210
+ logs,
211
+ };
212
+ }
213
+ }
214
+ exports.runValidateCli = runValidateCli;
215
+ // CLI-Entry-Point
216
+ if (require.main === module) {
217
+ const args = process.argv.slice(2);
218
+ const options = {};
219
+ // Einfaches Argument-Parsing
220
+ for (let i = 0; i < args.length; i++) {
221
+ if (args[i] === '--workspace-root' && args[i + 1]) {
222
+ options.workspaceRoot = args[i + 1];
223
+ i++;
224
+ }
225
+ else if (args[i] === '--output-path' && args[i + 1]) {
226
+ options.outputPath = args[i + 1];
227
+ i++;
228
+ }
229
+ else if (args[i] === '--files' && args[i + 1]) {
230
+ options.files = args[i + 1].split(',').map(f => f.trim());
231
+ i++;
232
+ }
233
+ else if (args[i] === '--verbose') {
234
+ options.verbose = true;
235
+ }
236
+ }
237
+ runValidateCli(options)
238
+ .then(result => {
239
+ console.log(JSON.stringify(result, null, 2));
240
+ process.exit(result.status === 'errors' ? 1 : 0);
241
+ })
242
+ .catch(error => {
243
+ console.error(JSON.stringify({
244
+ status: 'errors',
245
+ errors: [{
246
+ file: '',
247
+ type: 'coverage',
248
+ message: error instanceof Error ? error.message : String(error),
249
+ }],
250
+ warnings: [],
251
+ coverage: { documented: 0, total: 0, percentage: 0 },
252
+ duration: 0,
253
+ logs: [],
254
+ }, null, 2));
255
+ process.exit(1);
256
+ });
257
+ }
258
+ //# sourceMappingURL=validate-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-cli.js","sourceRoot":"","sources":["../../src/cli/validate-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapLimit = void 0;
4
+ /**
5
+ * @public
6
+ * Utility function for parallel processing with concurrency limit
7
+ */
8
+ async function mapLimit(items, limit, fn) {
9
+ const results = new Array(items.length);
10
+ let idx = 0;
11
+ let active = 0;
12
+ return new Promise((resolve, reject) => {
13
+ const next = () => {
14
+ if (idx >= items.length && active === 0)
15
+ return resolve(results);
16
+ while (active < limit && idx < items.length) {
17
+ const current = idx++;
18
+ active++;
19
+ (async () => {
20
+ try {
21
+ const res = await fn(items[current], current);
22
+ results[current] = res;
23
+ }
24
+ catch (err) {
25
+ reject(err);
26
+ }
27
+ finally {
28
+ active--;
29
+ next();
30
+ }
31
+ })();
32
+ }
33
+ };
34
+ next();
35
+ });
36
+ }
37
+ exports.mapLimit = mapLimit;
38
+ //# sourceMappingURL=async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../../src/core/async.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACI,KAAK,UAAU,QAAQ,CAAO,KAAU,EAAE,KAAa,EAAE,EAA0C;IACtG,MAAM,OAAO,GAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAQ,CAAC;IACpD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,GAAG,EAAE;YACd,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;YACjE,OAAO,MAAM,GAAG,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE;gBACzC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;gBACtB,MAAM,EAAE,CAAC;gBACT,CAAC,KAAK,IAAI,EAAE;oBACR,IAAI;wBACA,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC9C,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;qBAC1B;oBAAC,OAAO,GAAG,EAAE;wBACV,MAAM,CAAC,GAAG,CAAC,CAAC;qBACf;4BAAS;wBACN,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,CAAC;qBACV;gBACL,CAAC,CAAC,EAAE,CAAC;aACR;QACL,CAAC,CAAC;QACF,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACP,CAAC;AAzBD,4BAyBC"}
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildSymbolsUnion = exports.buildDependenciesUnionWithDebug = exports.buildDependenciesUnion = void 0;
4
+ const symbols_1 = require("./symbols");
5
+ function buildDependenciesUnion(dependenciesNew, dependenciesCachePrev, parsedFiles, deletedFiles) {
6
+ const depMapPrev = buildPreviousDependenciesMap(dependenciesCachePrev);
7
+ const { union, debug } = buildUnionMap(dependenciesNew, depMapPrev, parsedFiles, deletedFiles);
8
+ // Setze Debug-Info auf globalThis (für Logging in extension.ts)
9
+ try {
10
+ globalThis.__unionDebug = debug;
11
+ }
12
+ catch (e) {
13
+ // Fallback: ignoriere Fehler
14
+ }
15
+ return deduplicateAndSortDependencies(union);
16
+ }
17
+ exports.buildDependenciesUnion = buildDependenciesUnion;
18
+ function buildDependenciesUnionWithDebug(dependenciesNew, dependenciesCachePrev, parsedFiles, deletedFiles) {
19
+ const depMapPrev = buildPreviousDependenciesMap(dependenciesCachePrev);
20
+ const { union, debug } = buildUnionMap(dependenciesNew, depMapPrev, parsedFiles, deletedFiles);
21
+ return {
22
+ dependencies: deduplicateAndSortDependencies(union),
23
+ debug
24
+ };
25
+ }
26
+ exports.buildDependenciesUnionWithDebug = buildDependenciesUnionWithDebug;
27
+ /**
28
+ * @private
29
+ * Build map from previous cache entries
30
+ */
31
+ function buildPreviousDependenciesMap(entries) {
32
+ const depMapPrev = new Map();
33
+ for (const entry of entries) {
34
+ if (!depMapPrev.has(entry.from))
35
+ depMapPrev.set(entry.from, []);
36
+ depMapPrev.get(entry.from).push(entry);
37
+ }
38
+ return depMapPrev;
39
+ }
40
+ /**
41
+ * @private
42
+ * Build union map from new dependencies and previous cache
43
+ */
44
+ function buildUnionMap(dependenciesNew, depMapPrev, parsedFiles, deletedFiles) {
45
+ const depMapUnion = new Map();
46
+ // 1. For all parsed files: take new dependencies
47
+ for (const dep of dependenciesNew) {
48
+ if (!depMapUnion.has(dep.from))
49
+ depMapUnion.set(dep.from, []);
50
+ depMapUnion.get(dep.from).push({
51
+ from: dep.from,
52
+ to: dep.to,
53
+ type: dep.type,
54
+ symbols: dep.symbols && dep.symbols.length > 0 ? dep.symbols : undefined,
55
+ isTypeOnly: dep.isTypeOnly,
56
+ isReexport: dep.isReexport,
57
+ });
58
+ }
59
+ // 2. For unparsed, non-deleted files: keep old dependencies
60
+ let keptFromUnparsed = 0;
61
+ let skippedFromParsed = 0;
62
+ let skippedFromDeleted = 0;
63
+ const debugFiles = [];
64
+ for (const [from, deps] of depMapPrev.entries()) {
65
+ if (parsedFiles.has(from)) {
66
+ skippedFromParsed += deps.length;
67
+ if (debugFiles.length < 5)
68
+ debugFiles.push(`parsed: ${from} (${deps.length} deps)`);
69
+ }
70
+ else if (deletedFiles.has(from)) {
71
+ skippedFromDeleted += deps.length;
72
+ if (debugFiles.length < 5)
73
+ debugFiles.push(`deleted: ${from} (${deps.length} deps)`);
74
+ }
75
+ else {
76
+ if (!depMapUnion.has(from))
77
+ depMapUnion.set(from, []);
78
+ depMapUnion.get(from).push(...deps);
79
+ keptFromUnparsed += deps.length;
80
+ if (debugFiles.length < 5)
81
+ debugFiles.push(`kept: ${from} (${deps.length} deps)`);
82
+ }
83
+ }
84
+ const debugInfo = {
85
+ keptFromUnparsed,
86
+ skippedFromParsed,
87
+ skippedFromDeleted,
88
+ newDeps: dependenciesNew.length
89
+ };
90
+ // Debug-Logging direkt hier (für sofortige Sichtbarkeit)
91
+ if (typeof console !== 'undefined' && console.log) {
92
+ console.log('[buildUnionMap]', {
93
+ parsedFilesCount: parsedFiles.size,
94
+ deletedFilesCount: deletedFiles.size,
95
+ prevDepsCount: Array.from(depMapPrev.values()).reduce((sum, deps) => sum + deps.length, 0),
96
+ newDepsCount: dependenciesNew.length,
97
+ debugInfo,
98
+ sampleFiles: debugFiles.slice(0, 3)
99
+ });
100
+ }
101
+ return {
102
+ union: depMapUnion,
103
+ debug: debugInfo
104
+ };
105
+ }
106
+ /**
107
+ * @public
108
+ * Build symbols union from new symbols and previous index
109
+ *
110
+ * Algorithm (ADDITIVE_DOCUMENTATION_PLAN.md, Section 6.3):
111
+ * 1. For parsed files: use new symbols
112
+ * 2. For unparsed, non-deleted files: keep old symbols from index
113
+ *
114
+ * IMPORTANT: Only keeps symbols from files that were scanned in the current run.
115
+ * Files that are no longer scanned (e.g., excluded directories) are treated as deleted.
116
+ */
117
+ function buildSymbolsUnion(symbolsNew, symbolsPrev, parsedFiles, deletedFiles, scannedFiles // Optional: files that were scanned in this run
118
+ ) {
119
+ // Build map from previous symbols
120
+ const symbolMapPrev = new Map();
121
+ for (const sym of symbolsPrev) {
122
+ const key = (0, symbols_1.makeStableSymbolId)(sym);
123
+ symbolMapPrev.set(key, sym);
124
+ }
125
+ // Union map
126
+ const symbolMapUnion = new Map();
127
+ // 1. For all parsed files: take new symbols
128
+ for (const sym of symbolsNew) {
129
+ const key = (0, symbols_1.makeStableSymbolId)(sym);
130
+ symbolMapUnion.set(key, sym);
131
+ }
132
+ // 2. For unparsed, non-deleted files: keep old symbols
133
+ // IMPORTANT: Only keep symbols from files that were scanned in this run
134
+ // This ensures that files excluded from scanning (e.g., demo/, website/) are removed
135
+ for (const [key, sym] of symbolMapPrev.entries()) {
136
+ // Skip if file was parsed (new symbols already added above)
137
+ if (parsedFiles.has(sym.filePath))
138
+ continue;
139
+ // Skip if file was deleted
140
+ if (deletedFiles.has(sym.filePath))
141
+ continue;
142
+ // Skip if file was not scanned in this run (excluded directories)
143
+ if (scannedFiles && !scannedFiles.has(sym.filePath))
144
+ continue;
145
+ // Keep old symbol
146
+ if (!symbolMapUnion.has(key)) {
147
+ symbolMapUnion.set(key, sym);
148
+ }
149
+ }
150
+ return Array.from(symbolMapUnion.values());
151
+ }
152
+ exports.buildSymbolsUnion = buildSymbolsUnion;
153
+ /**
154
+ * @private
155
+ * Deduplicate and sort dependencies
156
+ *
157
+ * Key: (from, to, type) - symbols, isTypeOnly, isReexport werden gemerged
158
+ * Sort: from asc → to asc → type asc → symbols asc
159
+ */
160
+ function deduplicateAndSortDependencies(depMap) {
161
+ const allDeps = [];
162
+ for (const deps of depMap.values()) {
163
+ allDeps.push(...deps);
164
+ }
165
+ // Deduplicate and merge by (from, to, type)
166
+ const uniqueMap = new Map();
167
+ for (const dep of allDeps) {
168
+ const key = `${dep.from}::${dep.to}::${dep.type}`;
169
+ const existing = uniqueMap.get(key);
170
+ if (existing) {
171
+ // Merge symbols
172
+ if (dep.symbols && dep.symbols.length > 0) {
173
+ existing.symbols = existing.symbols ?? [];
174
+ existing.symbols.push(...dep.symbols);
175
+ }
176
+ // isTypeOnly bleibt nur true, wenn ALLE Einträge type-only sind
177
+ if (!dep.isTypeOnly) {
178
+ existing.isTypeOnly = false;
179
+ }
180
+ // isReexport wird true, wenn mindestens ein Eintrag ein Re-Export ist
181
+ if (dep.isReexport) {
182
+ existing.isReexport = true;
183
+ }
184
+ }
185
+ else {
186
+ uniqueMap.set(key, {
187
+ from: dep.from,
188
+ to: dep.to,
189
+ type: dep.type,
190
+ symbols: dep.symbols ? [...dep.symbols] : undefined,
191
+ isTypeOnly: dep.isTypeOnly,
192
+ isReexport: dep.isReexport,
193
+ });
194
+ }
195
+ }
196
+ // Finalize: deduplicate and sort symbols, remove undefined flags
197
+ const finalized = [];
198
+ for (const dep of uniqueMap.values()) {
199
+ const entry = {
200
+ from: dep.from,
201
+ to: dep.to,
202
+ type: dep.type,
203
+ };
204
+ if (dep.symbols && dep.symbols.length > 0) {
205
+ entry.symbols = Array.from(new Set(dep.symbols)).sort((a, b) => a.localeCompare(b));
206
+ }
207
+ // Nur hinzufügen wenn true (spart Platz im JSON)
208
+ if (dep.isTypeOnly) {
209
+ entry.isTypeOnly = true;
210
+ }
211
+ if (dep.isReexport) {
212
+ entry.isReexport = true;
213
+ }
214
+ finalized.push(entry);
215
+ }
216
+ // Sort
217
+ const sorted = finalized.sort((a, b) => {
218
+ if (a.from !== b.from)
219
+ return a.from.localeCompare(b.from);
220
+ if (a.to !== b.to)
221
+ return a.to.localeCompare(b.to);
222
+ if (a.type !== b.type)
223
+ return a.type.localeCompare(b.type);
224
+ const aSymbols = (a.symbols || []).join(',');
225
+ const bSymbols = (b.symbols || []).join(',');
226
+ return aSymbols.localeCompare(bSymbols);
227
+ });
228
+ return sorted;
229
+ }
230
+ //# sourceMappingURL=consolidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidation.js","sourceRoot":"","sources":["../../src/core/consolidation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDeletedFiles = exports.getChangedFiles = void 0;
4
+ const child_process_1 = require("child_process");
5
+ /**
6
+ * @public
7
+ * Get changed files from git diff
8
+ */
9
+ function getChangedFiles(repoRoot) {
10
+ try {
11
+ const res = (0, child_process_1.spawnSync)('git', ['diff', '--name-only'], { cwd: repoRoot, encoding: 'utf8' });
12
+ if (res.status !== 0)
13
+ return null;
14
+ const files = res.stdout.split(/\r?\n/).filter(Boolean).map(s => s.replace(/\\/g, '/'));
15
+ return new Set(files);
16
+ }
17
+ catch {
18
+ return null;
19
+ }
20
+ }
21
+ exports.getChangedFiles = getChangedFiles;
22
+ /**
23
+ * @public
24
+ * Get deleted files from git status
25
+ */
26
+ function getDeletedFiles(repoRoot) {
27
+ try {
28
+ // Get deleted files from git status
29
+ const res = (0, child_process_1.spawnSync)('git', ['status', '--porcelain'], { cwd: repoRoot, encoding: 'utf8' });
30
+ if (res.status !== 0)
31
+ return null;
32
+ const deleted = [];
33
+ const lines = res.stdout.split(/\r?\n/).filter(Boolean);
34
+ for (const line of lines) {
35
+ // Git status format: " D filename" or "D filename" (deleted)
36
+ if (line.match(/^\s*D\s+/)) {
37
+ const file = line.replace(/^\s*D\s+/, '').replace(/\\/g, '/');
38
+ deleted.push(file);
39
+ }
40
+ }
41
+ return new Set(deleted);
42
+ }
43
+ catch {
44
+ return null;
45
+ }
46
+ }
47
+ exports.getDeletedFiles = getDeletedFiles;
48
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/core/git.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAE1C;;;GAGG;AACH,SAAgB,eAAe,CAAC,QAAgB;IAC5C,IAAI;QACA,MAAM,GAAG,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3F,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;KACzB;IAAC,MAAM;QACJ,OAAO,IAAI,CAAC;KACf;AACL,CAAC;AATD,0CASC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,QAAgB;IAC5C,IAAI;QACA,oCAAoC;QACpC,MAAM,GAAG,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7F,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,8DAA8D;YAC9D,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtB;SACJ;QACD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;KAC3B;IAAC,MAAM;QACJ,OAAO,IAAI,CAAC;KACf;AACL,CAAC;AAlBD,0CAkBC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.guessLanguageByShebang = exports.normalizeLineEndings = void 0;
4
+ /**
5
+ * @public
6
+ * Normalize line endings to LF
7
+ */
8
+ function normalizeLineEndings(content) {
9
+ return content.replace(/\r\n?/g, '\n');
10
+ }
11
+ exports.normalizeLineEndings = normalizeLineEndings;
12
+ /**
13
+ * @public
14
+ * Guess language from shebang line
15
+ */
16
+ function guessLanguageByShebang(firstLine) {
17
+ if (!firstLine)
18
+ return null;
19
+ if (!firstLine.startsWith('#!'))
20
+ return null;
21
+ const lower = firstLine.toLowerCase();
22
+ if (lower.includes('python'))
23
+ return 'python';
24
+ if (lower.includes('node') || lower.includes('deno'))
25
+ return 'js';
26
+ return null;
27
+ }
28
+ exports.guessLanguageByShebang = guessLanguageByShebang;
29
+ //# sourceMappingURL=language-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-detection.js","sourceRoot":"","sources":["../../src/core/language-detection.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,OAAe;IAChD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAFD,oDAEC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,SAAwB;IAC3D,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,OAAO,IAAI,CAAC;AAChB,CAAC;AAPD,wDAOC"}