@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,77 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Documentation System Configuration",
4
+ "type": "object",
5
+ "properties": {
6
+ "outputPath": {
7
+ "type": "string",
8
+ "default": "docs",
9
+ "description": "Output directory for generated documentation"
10
+ },
11
+ "coverageThresholds": {
12
+ "type": "object",
13
+ "properties": {
14
+ "classes": {
15
+ "type": "number",
16
+ "minimum": 0,
17
+ "maximum": 1,
18
+ "default": 0.9,
19
+ "description": "Coverage threshold for public classes (0..1)"
20
+ },
21
+ "interfaces": {
22
+ "type": "number",
23
+ "minimum": 0,
24
+ "maximum": 1,
25
+ "default": 0.9,
26
+ "description": "Coverage threshold for public interfaces (0..1)"
27
+ },
28
+ "methods": {
29
+ "type": "number",
30
+ "minimum": 0,
31
+ "maximum": 1,
32
+ "default": 0.9,
33
+ "description": "Coverage threshold for public methods (0..1)"
34
+ },
35
+ "functions": {
36
+ "type": "number",
37
+ "minimum": 0,
38
+ "maximum": 1,
39
+ "default": 0.8,
40
+ "description": "Coverage threshold for public functions (0..1)"
41
+ }
42
+ },
43
+ "additionalProperties": false
44
+ },
45
+ "concurrency": {
46
+ "type": "integer",
47
+ "minimum": 1,
48
+ "maximum": 16,
49
+ "default": 4,
50
+ "description": "Maximum concurrency for parsing/generation"
51
+ },
52
+ "useGitDiff": {
53
+ "type": "boolean",
54
+ "default": true,
55
+ "description": "Only parse changed files (git diff) for incremental runs"
56
+ },
57
+ "includeBackups": {
58
+ "type": "boolean",
59
+ "default": false,
60
+ "description": "Include backup/archive directories in scanning"
61
+ },
62
+ "excludePatterns": {
63
+ "type": "array",
64
+ "items": {
65
+ "type": "string"
66
+ },
67
+ "default": [],
68
+ "description": "Additional glob patterns to exclude from scanning"
69
+ },
70
+ "includePrivate": {
71
+ "type": "boolean",
72
+ "default": false,
73
+ "description": "Include private/protected symbols in documentation"
74
+ }
75
+ },
76
+ "additionalProperties": false
77
+ }
@@ -0,0 +1,69 @@
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.saveAstHashCache = exports.loadAstHashCache = exports.computeFileHash = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ const path = __importStar(require("path"));
29
+ const crypto_1 = require("crypto");
30
+ /**
31
+ * @public
32
+ * Compute hash for file content
33
+ */
34
+ function computeFileHash(content) {
35
+ return (0, crypto_1.createHash)('sha256').update(content).digest('hex').slice(0, 16);
36
+ }
37
+ exports.computeFileHash = computeFileHash;
38
+ /**
39
+ * @public
40
+ * Load AST hash cache from file
41
+ */
42
+ function loadAstHashCache(cacheFile) {
43
+ try {
44
+ if (!fs.existsSync(cacheFile))
45
+ return null;
46
+ const raw = fs.readFileSync(cacheFile, 'utf8');
47
+ const data = JSON.parse(raw);
48
+ if (!data || !Array.isArray(data.entries))
49
+ return null;
50
+ return data;
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
56
+ exports.loadAstHashCache = loadAstHashCache;
57
+ /**
58
+ * @public
59
+ * Save AST hash cache to file
60
+ */
61
+ function saveAstHashCache(cacheDir, data) {
62
+ if (!fs.existsSync(cacheDir))
63
+ fs.mkdirSync(cacheDir, { recursive: true });
64
+ const file = path.join(cacheDir, 'ast-hashes.json');
65
+ const sorted = { ...data, entries: [...data.entries].sort((a, b) => a.path.localeCompare(b.path)) };
66
+ fs.writeFileSync(file, JSON.stringify(sorted, null, 2) + '\n', 'utf8');
67
+ }
68
+ exports.saveAstHashCache = saveAstHashCache;
69
+ //# sourceMappingURL=ast-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-cache.js","sourceRoot":"","sources":["../../src/cache/ast-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,mCAAoC;AAYpC;;;GAGG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC3C,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC;AAFD,0CAEC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,SAAiB;IAC9C,IAAI;QACA,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;QACjD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,OAAO,IAAI,CAAC;KACf;IAAC,MAAM;QACJ,OAAO,IAAI,CAAC;KACf;AACL,CAAC;AAVD,4CAUC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,QAAgB,EAAE,IAAsB;IACrE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IACpG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC;AALD,4CAKC"}
@@ -0,0 +1,73 @@
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.saveDependenciesCache = exports.loadDependenciesCache = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ const path = __importStar(require("path"));
29
+ /**
30
+ * @public
31
+ * Load dependencies cache from file
32
+ */
33
+ function loadDependenciesCache(cacheFile) {
34
+ try {
35
+ if (!fs.existsSync(cacheFile))
36
+ return null;
37
+ const raw = fs.readFileSync(cacheFile, 'utf8');
38
+ const data = JSON.parse(raw);
39
+ if (!data || data.version !== 1 || !Array.isArray(data.entries))
40
+ return null;
41
+ return data;
42
+ }
43
+ catch {
44
+ return null;
45
+ }
46
+ }
47
+ exports.loadDependenciesCache = loadDependenciesCache;
48
+ /**
49
+ * @public
50
+ * Save dependencies cache to file
51
+ */
52
+ function saveDependenciesCache(cacheDir, data) {
53
+ if (!fs.existsSync(cacheDir))
54
+ fs.mkdirSync(cacheDir, { recursive: true });
55
+ const file = path.join(cacheDir, 'dependencies.json');
56
+ const sorted = {
57
+ ...data,
58
+ entries: [...data.entries].sort((a, b) => {
59
+ if (a.from !== b.from)
60
+ return a.from.localeCompare(b.from);
61
+ if (a.to !== b.to)
62
+ return a.to.localeCompare(b.to);
63
+ if (a.type !== b.type)
64
+ return a.type.localeCompare(b.type);
65
+ const aSymbols = (a.symbols || []).join(',');
66
+ const bSymbols = (b.symbols || []).join(',');
67
+ return aSymbols.localeCompare(bSymbols);
68
+ })
69
+ };
70
+ fs.writeFileSync(file, JSON.stringify(sorted, null, 2) + '\n', 'utf8');
71
+ }
72
+ exports.saveDependenciesCache = saveDependenciesCache;
73
+ //# sourceMappingURL=dependencies-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies-cache.js","sourceRoot":"","sources":["../../src/cache/dependencies-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAwB7B;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,SAAiB;IACnD,IAAI;QACA,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAC;QACtD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7E,OAAO,IAAI,CAAC;KACf;IAAC,MAAM;QACJ,OAAO,IAAI,CAAC;KACf;AACL,CAAC;AAVD,sDAUC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,QAAgB,EAAE,IAA2B;IAC/E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG;QACX,GAAG,IAAI;QACP,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7C,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC;KACL,CAAC;IACF,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC;AAfD,sDAeC"}
@@ -0,0 +1,69 @@
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.saveOutputHashCache = exports.loadOutputHashCache = exports.computeContentHash = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ const path = __importStar(require("path"));
29
+ const crypto_1 = require("crypto");
30
+ /**
31
+ * @public
32
+ * Compute content hash for caching
33
+ */
34
+ function computeContentHash(content) {
35
+ return (0, crypto_1.createHash)('sha256').update(content).digest('hex').slice(0, 16);
36
+ }
37
+ exports.computeContentHash = computeContentHash;
38
+ /**
39
+ * @public
40
+ * Load output hash cache from file
41
+ */
42
+ function loadOutputHashCache(cacheFile) {
43
+ try {
44
+ if (!fs.existsSync(cacheFile))
45
+ return null;
46
+ const raw = fs.readFileSync(cacheFile, 'utf8');
47
+ const data = JSON.parse(raw);
48
+ if (!data || !Array.isArray(data.entries))
49
+ return null;
50
+ return data;
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
56
+ exports.loadOutputHashCache = loadOutputHashCache;
57
+ /**
58
+ * @public
59
+ * Save output hash cache to file
60
+ */
61
+ function saveOutputHashCache(cacheDir, data) {
62
+ if (!fs.existsSync(cacheDir))
63
+ fs.mkdirSync(cacheDir, { recursive: true });
64
+ const file = path.join(cacheDir, 'output-hashes.json');
65
+ const sorted = { ...data, entries: [...data.entries].sort((a, b) => a.path.localeCompare(b.path)) };
66
+ fs.writeFileSync(file, JSON.stringify(sorted, null, 2) + '\n', 'utf8');
67
+ }
68
+ exports.saveOutputHashCache = saveOutputHashCache;
69
+ //# sourceMappingURL=output-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-cache.js","sourceRoot":"","sources":["../../src/cache/output-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,mCAAoC;AAYpC;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,OAAe;IAC9C,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC;AAFD,gDAEC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,SAAiB;IACjD,IAAI;QACA,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;QACpD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,OAAO,IAAI,CAAC;KACf;IAAC,MAAM;QACJ,OAAO,IAAI,CAAC;KACf;AACL,CAAC;AAVD,kDAUC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,QAAgB,EAAE,IAAyB;IAC3E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IACpG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC;AALD,kDAKC"}
@@ -0,0 +1,60 @@
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.saveSignatureCache = exports.loadSignatureCache = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ const path = __importStar(require("path"));
29
+ /**
30
+ * @public
31
+ * Load signature cache from file
32
+ */
33
+ function loadSignatureCache(cacheFile) {
34
+ try {
35
+ if (!fs.existsSync(cacheFile))
36
+ return null;
37
+ const raw = fs.readFileSync(cacheFile, 'utf8');
38
+ const data = JSON.parse(raw);
39
+ if (!data || !Array.isArray(data.entries))
40
+ return null;
41
+ return data;
42
+ }
43
+ catch {
44
+ return null;
45
+ }
46
+ }
47
+ exports.loadSignatureCache = loadSignatureCache;
48
+ /**
49
+ * @public
50
+ * Save signature cache to file
51
+ */
52
+ function saveSignatureCache(cacheDir, data) {
53
+ if (!fs.existsSync(cacheDir))
54
+ fs.mkdirSync(cacheDir, { recursive: true });
55
+ const file = path.join(cacheDir, 'signatures.json');
56
+ const sorted = { ...data, entries: [...data.entries].sort((a, b) => a.baseId.localeCompare(b.baseId)) };
57
+ fs.writeFileSync(file, JSON.stringify(sorted, null, 2) + '\n', 'utf8');
58
+ }
59
+ exports.saveSignatureCache = saveSignatureCache;
60
+ //# sourceMappingURL=signature-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature-cache.js","sourceRoot":"","sources":["../../src/cache/signature-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAY7B;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,SAAiB;IAChD,IAAI;QACA,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;QACnD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,OAAO,IAAI,CAAC;KACf;IAAC,MAAM;QACJ,OAAO,IAAI,CAAC;KACf;AACL,CAAC;AAVD,gDAUC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,IAAwB;IACzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IACxG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC;AALD,gDAKC"}