code-auditor-mcp 3.4.18 → 3.6.0

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 (193) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +99 -0
  3. package/README.md +5 -5
  4. package/dist/analyzers/applicability.d.ts +19 -5
  5. package/dist/analyzers/applicability.d.ts.map +1 -1
  6. package/dist/analyzers/applicability.js +36 -24
  7. package/dist/analyzers/applicability.js.map +1 -1
  8. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
  9. package/dist/analyzers/cross-language/APIContractAnalyzer.js +23 -2
  10. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
  11. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +52 -9
  12. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  13. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +228 -55
  14. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  15. package/dist/analyzers/cross-language/SchemaValidator.d.ts +19 -12
  16. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  17. package/dist/analyzers/cross-language/SchemaValidator.js +78 -111
  18. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  19. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +0 -6
  20. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
  21. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +85 -73
  22. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  23. package/dist/analyzers/documentationAnalyzer.js +5 -5
  24. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  25. package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
  26. package/dist/analyzers/invariantsAnalyzer.js +1 -0
  27. package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
  28. package/dist/analyzers/provenance.d.ts +7 -9
  29. package/dist/analyzers/provenance.d.ts.map +1 -1
  30. package/dist/analyzers/provenance.js +88 -124
  31. package/dist/analyzers/provenance.js.map +1 -1
  32. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  33. package/dist/analyzers/reactAnalyzer.js +120 -21
  34. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  35. package/dist/analyzers/ruleRegistry.d.ts +35 -12
  36. package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
  37. package/dist/analyzers/ruleRegistry.js +66 -108
  38. package/dist/analyzers/ruleRegistry.js.map +1 -1
  39. package/dist/analyzers/ruleTiming.d.ts +2 -2
  40. package/dist/analyzers/ruleTiming.js +2 -2
  41. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  42. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +60 -24
  43. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  44. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  45. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +5 -2
  46. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  47. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  48. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +82 -71
  49. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  50. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +2 -1
  51. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  52. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +23 -12
  53. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  54. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +11 -1
  55. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  56. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +60 -22
  57. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  58. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  59. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +5 -2
  60. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  61. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +2 -3
  62. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  63. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +258 -87
  64. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  65. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
  66. package/dist/analyzers/universal/schema/codeAnalysis.js +7 -1
  67. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
  68. package/dist/analyzers/universal/schema/discovery.d.ts +29 -1
  69. package/dist/analyzers/universal/schema/discovery.d.ts.map +1 -1
  70. package/dist/analyzers/universal/schema/discovery.js +76 -21
  71. package/dist/analyzers/universal/schema/discovery.js.map +1 -1
  72. package/dist/analyzers/universal/schema/jsonSchema.js +7 -11
  73. package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
  74. package/dist/auditRouter.d.ts +41 -0
  75. package/dist/auditRouter.d.ts.map +1 -0
  76. package/dist/auditRouter.js +185 -0
  77. package/dist/auditRouter.js.map +1 -0
  78. package/dist/auditRunner.d.ts.map +1 -1
  79. package/dist/auditRunner.js +93 -84
  80. package/dist/auditRunner.js.map +1 -1
  81. package/dist/cli.js +306 -95
  82. package/dist/cli.js.map +1 -1
  83. package/dist/codeIndexDB.d.ts.map +1 -1
  84. package/dist/codeIndexDB.js +41 -7
  85. package/dist/codeIndexDB.js.map +1 -1
  86. package/dist/componentScanner.d.ts.map +1 -1
  87. package/dist/componentScanner.js +2 -1
  88. package/dist/componentScanner.js.map +1 -1
  89. package/dist/config/configLoader.d.ts +9 -0
  90. package/dist/config/configLoader.d.ts.map +1 -1
  91. package/dist/config/configLoader.js +45 -2
  92. package/dist/config/configLoader.js.map +1 -1
  93. package/dist/config/defaults.d.ts +8 -1
  94. package/dist/config/defaults.d.ts.map +1 -1
  95. package/dist/config/defaults.js +19 -3
  96. package/dist/config/defaults.js.map +1 -1
  97. package/dist/dataPaths.js +18 -1
  98. package/dist/dataPaths.js.map +1 -1
  99. package/dist/enforcement/gate.d.ts +14 -19
  100. package/dist/enforcement/gate.d.ts.map +1 -1
  101. package/dist/enforcement/gate.js +27 -45
  102. package/dist/enforcement/gate.js.map +1 -1
  103. package/dist/functionScanner.d.ts.map +1 -1
  104. package/dist/functionScanner.js +1 -17
  105. package/dist/functionScanner.js.map +1 -1
  106. package/dist/invariants/ruleEngine.d.ts +8 -0
  107. package/dist/invariants/ruleEngine.d.ts.map +1 -1
  108. package/dist/invariants/ruleEngine.js +35 -16
  109. package/dist/invariants/ruleEngine.js.map +1 -1
  110. package/dist/languages/LanguageOrchestrator.d.ts +9 -10
  111. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  112. package/dist/languages/LanguageOrchestrator.js +135 -101
  113. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  114. package/dist/languages/RuntimeManager.d.ts +28 -1
  115. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  116. package/dist/languages/RuntimeManager.js +158 -47
  117. package/dist/languages/RuntimeManager.js.map +1 -1
  118. package/dist/languages/go/GoAdapter.d.ts +2 -0
  119. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  120. package/dist/languages/go/GoAdapter.js +15 -22
  121. package/dist/languages/go/GoAdapter.js.map +1 -1
  122. package/dist/languages/go/analyzer +0 -0
  123. package/dist/languages/go/analyzer-src/analyzer.go +510 -0
  124. package/dist/languages/go/analyzer-src/go.mod +3 -0
  125. package/dist/languages/go/analyzer-src/indexer.go +268 -0
  126. package/dist/languages/go/analyzer-src/parser.go +461 -0
  127. package/dist/languages/go/analyzer-src/solid.go +395 -0
  128. package/dist/languages/go/analyzer-src/testconventions.go +25 -0
  129. package/dist/languages/go/analyzer-src/types.go +148 -0
  130. package/dist/languages/go/go.mod +7 -0
  131. package/dist/languages/go/main.go +203 -0
  132. package/dist/languages/testConventions.d.ts +35 -0
  133. package/dist/languages/testConventions.d.ts.map +1 -0
  134. package/dist/languages/testConventions.js +51 -0
  135. package/dist/languages/testConventions.js.map +1 -0
  136. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +3 -0
  137. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  138. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +25 -18
  139. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  140. package/dist/mcp-tools/whitelistTools.d.ts +1 -1
  141. package/dist/mcp-tools-shared.d.ts +0 -3
  142. package/dist/mcp-tools-shared.d.ts.map +1 -1
  143. package/dist/mcp-tools-shared.js +8 -117
  144. package/dist/mcp-tools-shared.js.map +1 -1
  145. package/dist/mcp.js +3 -1
  146. package/dist/mcp.js.map +1 -1
  147. package/dist/mcpAuditJobs.d.ts.map +1 -1
  148. package/dist/mcpAuditJobs.js +13 -0
  149. package/dist/mcpAuditJobs.js.map +1 -1
  150. package/dist/nextFile.d.ts +21 -0
  151. package/dist/nextFile.d.ts.map +1 -0
  152. package/dist/nextFile.js +51 -0
  153. package/dist/nextFile.js.map +1 -0
  154. package/dist/nextFileIncremental.d.ts +141 -0
  155. package/dist/nextFileIncremental.d.ts.map +1 -0
  156. package/dist/nextFileIncremental.js +314 -0
  157. package/dist/nextFileIncremental.js.map +1 -0
  158. package/dist/pipeline.d.ts.map +1 -1
  159. package/dist/pipeline.js +43 -3
  160. package/dist/pipeline.js.map +1 -1
  161. package/dist/pipelineAdapters.d.ts +17 -0
  162. package/dist/pipelineAdapters.d.ts.map +1 -1
  163. package/dist/pipelineAdapters.js +791 -40
  164. package/dist/pipelineAdapters.js.map +1 -1
  165. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  166. package/dist/reporting/jsonReportGenerator.js +11 -30
  167. package/dist/reporting/jsonReportGenerator.js.map +1 -1
  168. package/dist/styles/styleExtractor.js +2 -2
  169. package/dist/styles/styleExtractor.js.map +1 -1
  170. package/dist/styles/styleIndexer.d.ts +7 -0
  171. package/dist/styles/styleIndexer.d.ts.map +1 -1
  172. package/dist/styles/styleIndexer.js +51 -67
  173. package/dist/styles/styleIndexer.js.map +1 -1
  174. package/dist/styles/types.d.ts +3 -2
  175. package/dist/styles/types.d.ts.map +1 -1
  176. package/dist/types/crossLanguage.d.ts +1 -0
  177. package/dist/types/crossLanguage.d.ts.map +1 -1
  178. package/dist/types.d.ts +43 -34
  179. package/dist/types.d.ts.map +1 -1
  180. package/dist/types.js.map +1 -1
  181. package/dist/utils/fileDiscovery.d.ts +9 -0
  182. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  183. package/dist/utils/fileDiscovery.js +18 -0
  184. package/dist/utils/fileDiscovery.js.map +1 -1
  185. package/package.json +16 -6
  186. package/plugin/.claude-plugin/plugin.json +1 -1
  187. package/plugin/README.md +11 -9
  188. package/plugin/hooks/hooks.json +4 -0
  189. package/plugin/scripts/hook-audit.sh +20 -30
  190. package/plugin/scripts/hook-common.sh +63 -0
  191. package/plugin/scripts/hook-self-audit.sh +99 -0
  192. package/plugin/skills/code-auditor/SKILL-RULE-KINDS.md +55 -9
  193. package/plugin/skills/code-auditor/SKILL.md +22 -23
@@ -24,6 +24,11 @@ export class LanguageOrchestrator {
24
24
  * @returns
25
25
  */
26
26
  async analyzePolyglotProject(projectPath, options = {}) {
27
+ // Resolve to an absolute path so discovery returns absolute file paths.
28
+ // The Go subprocess runs with a cwd of its own, so relative paths from a
29
+ // relative `--path` (e.g. `code-audit audit --path bench/real/gin`) would
30
+ // not resolve from the subprocess cwd and the analysis collapses to zero.
31
+ projectPath = path.resolve(projectPath);
27
32
  console.error(`[LanguageOrchestrator] Starting polyglot analysis of: ${projectPath}`);
28
33
  const startTime = Date.now();
29
34
  // Initialize runtime manager if needed
@@ -31,25 +36,21 @@ export class LanguageOrchestrator {
31
36
  console.error(`[LanguageOrchestrator] Runtime manager not initialized, initializing...`);
32
37
  await this.runtimeManager.initialize();
33
38
  }
34
- // 1. Discover and group files by language
35
- console.error(`[LanguageOrchestrator] Discovering files in: ${projectPath}`);
39
+ // 1–2.5. Discover, group, and select languages; note any without a runtime.
36
40
  const filesByLanguage = await this.discoverAndGroupFiles(projectPath, options);
37
- console.error(`[LanguageOrchestrator] Discovered files:`, Object.fromEntries(Object.entries(filesByLanguage).map(([lang, files]) => [lang, files.length])));
38
- // 2. Determine which languages to analyze
41
+ logDiscoveredFiles(filesByLanguage);
39
42
  const languagesToAnalyze = this.selectLanguages(filesByLanguage, options);
40
43
  console.log(`[LanguageOrchestrator] Languages to analyze:`, languagesToAnalyze);
41
- // 2.5. Validate runtime compatibility for selected languages
42
- for (const language of languagesToAnalyze) {
43
- if (!this.runtimeManager.hasRuntime(language)) {
44
- console.warn(`[LanguageOrchestrator] No runtime available for ${language}, skipping...`);
45
- }
46
- }
47
- // 3. Run language-specific analyses in parallel
48
- const analysisPromises = languagesToAnalyze.map(language => this.analyzeLanguage(language, filesByLanguage[language] || [], options));
44
+ warnMissingRuntimes(this.runtimeManager, languagesToAnalyze);
45
+ // 3. Run language-specific analyses in parallel.
46
+ const analysisPromises = languagesToAnalyze.map(language => this.analyzeLanguage(language, filesByLanguage[language] || [], options, projectPath));
49
47
  const analysisResults = await Promise.all(analysisPromises);
50
48
  console.log(`[LanguageOrchestrator] Completed ${analysisResults.length} language analyses`);
51
- // 4. Merge results
49
+ // 4–4.5. Merge, then record discovered-but-skipped languages so a silent
50
+ // skip becomes a stated notApplicable (Go files present + no Go toolchain
51
+ // → named, not zero).
52
52
  const mergedResult = this.mergeLanguageResults(analysisResults, languagesToAnalyze);
53
+ mergedResult.notApplicable = this.collectNotApplicable(filesByLanguage, languagesToAnalyze);
53
54
  await this.applyPolyglotPostProcessing(analysisResults, mergedResult, options, startTime);
54
55
  return mergedResult;
55
56
  }
@@ -75,7 +76,7 @@ export class LanguageOrchestrator {
75
76
  }
76
77
  // 8. Generate dependency graph
77
78
  if (options.generateDependencyGraph) {
78
- mergedResult.dependencyGraph = await this.generateDependencyGraph(analysisResults, mergedResult.crossReferences || []);
79
+ mergedResult.dependencyGraph = await generateDependencyGraph(analysisResults, mergedResult.crossReferences || []);
79
80
  console.log(`[LanguageOrchestrator] Generated dependency graph with ${mergedResult.dependencyGraph.nodes.length} nodes`);
80
81
  }
81
82
  // 9. Update index if requested
@@ -94,7 +95,7 @@ export class LanguageOrchestrator {
94
95
  const allFiles = await discoverFiles(projectPath);
95
96
  const filesByLanguage = {};
96
97
  for (const file of allFiles) {
97
- const language = this.detectLanguage(file);
98
+ const language = detectLanguageFromPath(file);
98
99
  if (language) {
99
100
  if (!filesByLanguage[language]) {
100
101
  filesByLanguage[language] = [];
@@ -104,36 +105,13 @@ export class LanguageOrchestrator {
104
105
  }
105
106
  return filesByLanguage;
106
107
  }
107
- /**
108
- * Detect programming language from file extension
109
- */
110
- detectLanguage(filePath) {
111
- const ext = path.extname(filePath).toLowerCase();
112
- const languageMap = {
113
- '.ts': 'typescript',
114
- '.tsx': 'typescript',
115
- '.js': 'javascript',
116
- '.jsx': 'javascript',
117
- '.go': 'go',
118
- '.py': 'python',
119
- '.rs': 'rust',
120
- '.java': 'java',
121
- '.kt': 'kotlin',
122
- '.cs': 'csharp',
123
- '.cpp': 'cpp',
124
- '.c': 'c',
125
- '.h': 'c',
126
- '.hpp': 'cpp'
127
- };
128
- return languageMap[ext] || null;
129
- }
130
108
  /**
131
109
  * Select which languages to analyze based on options and availability
132
110
  */
133
111
  selectLanguages(filesByLanguage, options) {
134
112
  const discoveredLanguages = Object.keys(filesByLanguage);
135
113
  // Map discovered languages to runtime names
136
- const languageToRuntime = this.mapLanguageToRuntime();
114
+ const languageToRuntime = mapLanguageToRuntime();
137
115
  // If specific languages requested, filter to those
138
116
  if (options.languages && options.languages.length > 0) {
139
117
  return options.languages.filter(lang => {
@@ -149,31 +127,44 @@ export class LanguageOrchestrator {
149
127
  });
150
128
  }
151
129
  /**
152
- * Map language names to runtime names
130
+ * Build the list of discovered languages that were NOT analyzed, each with
131
+ * the reason. Turns "Go files present but no runtime" into a stated
132
+ * notApplicable entry instead of the orchestrator silently analyzing zero
133
+ * files — the exact silent-degradation shape this restore removes.
153
134
  */
154
- mapLanguageToRuntime() {
155
- return {
156
- 'typescript': 'node',
157
- 'javascript': 'node',
158
- 'go': 'go',
159
- 'python': 'python',
160
- 'rust': 'rust'
161
- };
135
+ collectNotApplicable(filesByLanguage, languagesToAnalyze) {
136
+ const languageToRuntime = mapLanguageToRuntime();
137
+ const notApplicable = [];
138
+ for (const [language, files] of Object.entries(filesByLanguage)) {
139
+ if (files.length === 0)
140
+ continue;
141
+ if (languagesToAnalyze.includes(language))
142
+ continue;
143
+ const runtimeName = languageToRuntime[language] || language;
144
+ const runtime = this.runtimeManager.getRuntime(runtimeName);
145
+ const reason = runtime?.failureReason
146
+ ?? `no ${runtimeName} runtime available to analyze ${language}`;
147
+ notApplicable.push({ language, reason });
148
+ }
149
+ return notApplicable;
162
150
  }
163
151
  /**
164
152
  * Analyze files for a specific language
165
153
  */
166
- async analyzeLanguage(language, files, options) {
154
+ async analyzeLanguage(language, files, options, projectRoot) {
167
155
  console.log(`[LanguageOrchestrator] Analyzing ${files.length} ${language} files`);
168
156
  // Map language to runtime name
169
- const languageToRuntime = this.mapLanguageToRuntime();
157
+ const languageToRuntime = mapLanguageToRuntime();
170
158
  const runtimeName = languageToRuntime[language] || language;
171
- // Use the mapped runtime name for analysis
159
+ // Use the mapped runtime name for analysis. `projectRoot` is passed so the
160
+ // TypeScript analyzer can run the in-process audit against the audited
161
+ // project rather than the tool's own cwd (see TypeScriptAnalyzer.analyze).
172
162
  const result = await this.runtimeManager.spawnAnalyzer(runtimeName, files, {
173
163
  analyzers: options.analyzers,
174
164
  minSeverity: options.minSeverity,
175
165
  timeout: options.timeout,
176
- language: language // Pass original language for context
166
+ language: language, // Pass original language for context
167
+ projectRoot: projectRoot
177
168
  });
178
169
  return {
179
170
  language,
@@ -202,7 +193,8 @@ export class LanguageOrchestrator {
202
193
  apiContractsChecked: 0
203
194
  },
204
195
  languageStats: new Map(),
205
- indexEntries: []
196
+ indexEntries: [],
197
+ notApplicable: []
206
198
  };
207
199
  for (const { language, result } of results) {
208
200
  // Merge violations
@@ -243,12 +235,7 @@ export class LanguageOrchestrator {
243
235
  console.log('[LanguageOrchestrator] Detecting cross-language violations...');
244
236
  const violations = [];
245
237
  // Collect all entities from results
246
- const allEntities = [];
247
- for (const { result } of results) {
248
- if (result.indexEntries) {
249
- allEntities.push(...result.indexEntries);
250
- }
251
- }
238
+ const allEntities = collectAllEntities(results);
252
239
  // Import and run API contract analysis + schema validation
253
240
  violations.push(...await runAPIContractAnalysis(allEntities));
254
241
  violations.push(...await runSchemaValidation(allEntities));
@@ -263,48 +250,6 @@ export class LanguageOrchestrator {
263
250
  console.log('[LanguageOrchestrator] Validating API contracts (placeholder)');
264
251
  return [];
265
252
  }
266
- /**
267
- * Generate dependency graph across languages
268
- */
269
- async generateDependencyGraph(results, crossReferences) {
270
- console.log('[LanguageOrchestrator] Generating cross-language dependency graph...');
271
- try {
272
- const { DependencyGraphBuilder } = await import('../analyzers/cross-language/DependencyGraphBuilder.js');
273
- // Collect all entities
274
- const allEntities = [];
275
- for (const { result } of results) {
276
- if (result.indexEntries) {
277
- allEntities.push(...result.indexEntries);
278
- }
279
- }
280
- // Build the dependency graph
281
- const graphBuilder = new DependencyGraphBuilder({
282
- includeInternalDependencies: true,
283
- includeExternalDependencies: true,
284
- includeTestFiles: false,
285
- clusterByPackage: true
286
- });
287
- const graph = await graphBuilder.buildGraph(allEntities, crossReferences);
288
- console.log(`[LanguageOrchestrator] Generated dependency graph with ${graph.nodes.length} nodes and ${graph.edges.length} edges`);
289
- return graph;
290
- }
291
- catch (error) {
292
- console.warn('[LanguageOrchestrator] Failed to generate dependency graph:', error);
293
- return {
294
- nodes: [],
295
- edges: [],
296
- cycles: [],
297
- metrics: {
298
- totalNodes: 0,
299
- totalEdges: 0,
300
- cycleCount: 0,
301
- averageDepth: 0,
302
- maxDepth: 0,
303
- stronglyConnectedComponents: 0
304
- }
305
- };
306
- }
307
- }
308
253
  /**
309
254
  * Update the unified code index
310
255
  */
@@ -328,6 +273,95 @@ export class LanguageOrchestrator {
328
273
  };
329
274
  }
330
275
  }
276
+ // --- Module-level helpers (stateless — extracted from LanguageOrchestrator) ---
277
+ /** Map a language name to the runtime that analyzes it. */
278
+ function mapLanguageToRuntime() {
279
+ return {
280
+ 'typescript': 'node',
281
+ 'javascript': 'node',
282
+ 'go': 'go',
283
+ 'python': 'python',
284
+ 'rust': 'rust'
285
+ };
286
+ }
287
+ /** Detect a programming language from a file extension. */
288
+ function detectLanguageFromPath(filePath) {
289
+ const ext = path.extname(filePath).toLowerCase();
290
+ const languageMap = {
291
+ '.ts': 'typescript',
292
+ '.tsx': 'typescript',
293
+ '.js': 'javascript',
294
+ '.jsx': 'javascript',
295
+ '.go': 'go',
296
+ '.py': 'python',
297
+ '.rs': 'rust',
298
+ '.java': 'java',
299
+ '.kt': 'kotlin',
300
+ '.cs': 'csharp',
301
+ '.cpp': 'cpp',
302
+ '.c': 'c',
303
+ '.h': 'c',
304
+ '.hpp': 'cpp'
305
+ };
306
+ return languageMap[ext] || null;
307
+ }
308
+ /** Log a one-line per-language count of discovered files. */
309
+ function logDiscoveredFiles(filesByLanguage) {
310
+ const counts = Object.fromEntries(Object.entries(filesByLanguage).map(([lang, files]) => [lang, files.length]));
311
+ console.error(`[LanguageOrchestrator] Discovered files:`, counts);
312
+ }
313
+ /** Warn for each selected language that has no runtime, so a skip is stated. */
314
+ function warnMissingRuntimes(runtimeManager, languagesToAnalyze) {
315
+ for (const language of languagesToAnalyze) {
316
+ if (!runtimeManager.hasRuntime(language)) {
317
+ console.warn(`[LanguageOrchestrator] No runtime available for ${language}, skipping...`);
318
+ }
319
+ }
320
+ }
321
+ /** Flatten index entries across all analysis results into one list. */
322
+ function collectAllEntities(results) {
323
+ const allEntities = [];
324
+ for (const { result } of results) {
325
+ if (result.indexEntries)
326
+ allEntities.push(...result.indexEntries);
327
+ }
328
+ return allEntities;
329
+ }
330
+ /**
331
+ * Generate the cross-language dependency graph. Lives as a free function because
332
+ * it references no orchestrator state — only the analysis results it is handed.
333
+ */
334
+ async function generateDependencyGraph(results, crossReferences) {
335
+ console.log('[LanguageOrchestrator] Generating cross-language dependency graph...');
336
+ try {
337
+ const { DependencyGraphBuilder } = await import('../analyzers/cross-language/DependencyGraphBuilder.js');
338
+ const graphBuilder = new DependencyGraphBuilder({
339
+ includeInternalDependencies: true,
340
+ includeExternalDependencies: true,
341
+ includeTestFiles: false,
342
+ clusterByPackage: true
343
+ });
344
+ const graph = await graphBuilder.buildGraph(collectAllEntities(results), crossReferences);
345
+ console.log(`[LanguageOrchestrator] Generated dependency graph with ${graph.nodes.length} nodes and ${graph.edges.length} edges`);
346
+ return graph;
347
+ }
348
+ catch (error) {
349
+ console.warn('[LanguageOrchestrator] Failed to generate dependency graph:', error);
350
+ return {
351
+ nodes: [],
352
+ edges: [],
353
+ cycles: [],
354
+ metrics: {
355
+ totalNodes: 0,
356
+ totalEdges: 0,
357
+ cycleCount: 0,
358
+ averageDepth: 0,
359
+ maxDepth: 0,
360
+ stronglyConnectedComponents: 0
361
+ }
362
+ };
363
+ }
364
+ }
331
365
  /**
332
366
  * Build per-language statistics from a single analysis result.
333
367
  */
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageOrchestrator.js","sourceRoot":"","sources":["../../src/languages/LanguageOrchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAiI7B;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAKrB,cAAc;IACd,SAAS;IALnB;;OAEG;IACH,YACU,cAA8B,EAC9B,SAAsB;8BADtB,cAAc;yBACd,SAAS;IAChB,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAC1B,WAAmB,EACnB,OAAO,GAA4B,EAAE;QAErC,OAAO,CAAC,KAAK,CAAC,yDAAyD,WAAW,EAAE,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,uCAAuC;QACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;YACzF,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACzC,CAAC;QAED,0CAA0C;QAC1C,OAAO,CAAC,KAAK,CAAC,gDAAgD,WAAW,EAAE,CAAC,CAAC;QAC7E,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/E,OAAO,CAAC,KAAK,CAAC,0CAA0C,EACtD,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAC7E,CACF,CAAC;QAEF,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,kBAAkB,CAAC,CAAC;QAEhF,6DAA6D;QAC7D,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,mDAAmD,QAAQ,eAAe,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CACzD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CACzE,CAAC;QAEF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,oCAAoC,eAAe,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAE5F,mBAAmB;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAEpF,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAE1F,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,2BAA2B,CACvC,eAAoE,EACpE,YAAoC,EACpC,OAAgC,EAChC,SAAiB;QAEjB,uCAAuC;QACvC,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,YAAY,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,gCAAgC,YAAY,CAAC,eAAe,CAAC,MAAM,mBAAmB,CAAC,CAAC;QACtG,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;YACxC,YAAY,CAAC,uBAAuB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAC7E,eAAe,EACf,YAAY,CAAC,eAAe,IAAI,EAAE,CACnC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,YAAY,CAAC,uBAAuB,CAAC,MAAM,4BAA4B,CAAC,CAAC;QACvH,CAAC;QAED,4BAA4B;QAC5B,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,YAAY,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,oCAAoC,YAAY,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1G,CAAC;QAED,+BAA+B;QAC/B,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACpC,YAAY,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC/D,eAAe,EACf,YAAY,CAAC,eAAe,IAAI,EAAE,CACnC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,0DAA0D,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC3H,CAAC;QAED,+BAA+B;QAC/B,IAAI,OAAO,CAAC,WAAW,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,6CAA6C,YAAY,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,CAAC;QACvG,CAAC;QAED,oBAAoB;QACpB,YAAY,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,+CAA+C,YAAY,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;IACrG,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,WAAmB,EACnB,OAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,eAAe,GAA6B,EAAE,CAAC;QAErD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjC,CAAC;gBACD,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,QAAgB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjD,MAAM,WAAW,GAA2B;YAC1C,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,eAAyC,EACzC,OAAgC;QAEhC,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEzD,4CAA4C;QAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEtD,mDAAmD;QACnD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACrC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;gBACpD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,2EAA2E;QAC3E,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACvC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YACpD,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC1B,OAAO;YACL,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,QAAgB,EAChB,KAAe,EACf,OAAgC;QAEhC,OAAO,CAAC,GAAG,CAAC,oCAAoC,KAAK,CAAC,MAAM,IAAI,QAAQ,QAAQ,CAAC,CAAC;QAElF,+BAA+B;QAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAE5D,2CAA2C;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE;YACzE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,QAAQ,CAAC,qCAAqC;SACzD,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ;YACR,MAAM,EAAE,MAAM,IAAI;gBAChB,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;gBAC/C,MAAM,EAAE,CAAC,6BAA6B,QAAQ,cAAc,WAAW,GAAG,CAAC;aAC5E;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,OAA4D,EAC5D,SAAmB;QAEnB,MAAM,MAAM,GAA2B;YACrC,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE;YACV,uBAAuB,EAAE,EAAE;YAC3B,OAAO,EAAE;gBACP,UAAU,EAAE,CAAC;gBACb,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,SAAS;gBAC5B,aAAa,EAAE,CAAC;gBAChB,uBAAuB,EAAE,CAAC;gBAC1B,mBAAmB,EAAE,CAAC;aACvB;YACD,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,YAAY,EAAE,EAAE;SACjB,CAAC;QAEF,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YAC3C,mBAAmB;YACnB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAE7C,eAAe;YACf,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YAED,sBAAsB;YACtB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,MAAM,CAAC,YAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACpD,CAAC;YAED,2BAA2B;YAC3B,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAE/D,gBAAgB;YAChB,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;YAC1D,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAChC,OAA4D;QAE5D,2DAA2D;QAC3D,uCAAuC;QACvC,8CAA8C;QAC9C,sCAAsC;QACtC,4BAA4B;QAC5B,gCAAgC;QAEhC,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,6BAA6B,CACzC,OAA4D,EAC5D,eAAiC;QAEjC,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAE7E,MAAM,UAAU,GAA6B,EAAE,CAAC;QAEhD,oCAAoC;QACpC,MAAM,WAAW,GAAU,EAAE,CAAC;QAC9B,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9D,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;QAE3D,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,CAAC,MAAM,4BAA4B,CAAC,CAAC;QAC3F,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAChC,OAA4D;QAE5D,0CAA0C;QAC1C,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CACnC,OAA4D,EAC5D,eAAiC;QAEjC,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QAEpF,IAAI,CAAC;YACH,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,uDAAuD,CAAC,CAAC;YAEzG,uBAAuB;YACvB,MAAM,WAAW,GAAU,EAAE,CAAC;YAC9B,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACjC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACxB,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,MAAM,YAAY,GAAG,IAAI,sBAAsB,CAAC;gBAC9C,2BAA2B,EAAE,IAAI;gBACjC,2BAA2B,EAAE,IAAI;gBACjC,gBAAgB,EAAE,KAAK;gBACvB,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAE1E,OAAO,CAAC,GAAG,CAAC,0DAA0D,KAAK,CAAC,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAClI,OAAO,KAAK,CAAC;QAEf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,6DAA6D,EAAE,KAAK,CAAC,CAAC;YACnF,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE;oBACP,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,CAAC;oBACb,YAAY,EAAE,CAAC;oBACf,QAAQ,EAAE,CAAC;oBACX,2BAA2B,EAAE,CAAC;iBAC/B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,YAAmB,EACnB,eAAiC;QAEjC,gCAAgC;QAChC,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAEpD,OAAO;YACL,QAAQ,EAAE,YAAY;YACtB,YAAY,EAAE;gBACZ,qBAAqB,EAAE,IAAI;gBAC3B,qBAAqB,EAAE,IAAI;gBAC3B,yBAAyB,EAAE,IAAI;gBAC/B,eAAe,EAAE,IAAI;aACtB;SACF,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,MAAsB;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IAC1C,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;QAC3C,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QACpC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM;QAC5D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM;QACvD,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,MAAM;QAC9D,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;KAC5C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CAAC,WAAkB;IACtD,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,oDAAoD,CAAC,CAAC;QAEtI,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAE9C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,gBAAgB,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACnD,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAExF,2CAA2C;YAC3C,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;gBAC3C,UAAU,CAAC,IAAI,CAAC;oBACd,GAAG,SAAS;oBACZ,iBAAiB,EAAE,cAAc;oBACjC,YAAY,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACxF,gBAAgB,EAAE;wBAChB,SAAS,CAAC,IAAI,EAAE,QAAQ,IAAI,SAAS;wBACrC,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,SAAS;qBAC1C,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,6DAA6D,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,WAAkB;IACnD,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,gDAAgD,CAAC,CAAC;QAE3G,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9C,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAExE,2CAA2C;YAC3C,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,UAAU,CAAC,IAAI,CAAC;oBACd,GAAG,SAAS;oBACZ,iBAAiB,EAAE,eAAe;oBAClC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBAChD,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACzD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,yDAAyD,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"LanguageOrchestrator.js","sourceRoot":"","sources":["../../src/languages/LanguageOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,10 @@ export interface RuntimeInfo {
10
10
  minVersion?: string;
11
11
  analyzer?: LanguageAnalyzer;
12
12
  executablePath?: string;
13
+ /** Why detection failed when `available` is false. Absence is the old silent
14
+ * shape; presence makes "no Go analyzer" into "the Go analyzer failed
15
+ * because X". */
16
+ failureReason?: string;
13
17
  }
14
18
  export interface LanguageAnalyzer {
15
19
  name: string;
@@ -45,14 +49,37 @@ declare class RuntimeManagerDetection {
45
49
  * Initialize runtime detection
46
50
  */
47
51
  initialize(): Promise<void>;
52
+ /**
53
+ * Idempotently ensure runtime detection has run, so callers do not each
54
+ * repeat the `if (!initialized) initialize()` guard.
55
+ */
56
+ protected ensureInitialized(): Promise<void>;
48
57
  /**
49
58
  * Detect Node.js runtime
50
59
  */
51
60
  private detectNodeRuntime;
52
61
  /**
53
- * Detect Go runtime
62
+ * Detect Go runtime.
63
+ *
64
+ * Split into two steps so each failure mode carries its own reason instead of
65
+ * collapsing into a single `available: false` that reads identically whether
66
+ * the toolchain is absent, the path resolution broke, or the analyzer binary
67
+ * is missing. The orchestrator relays `failureReason` as a stated notApplicable
68
+ * rather than a silent skip (see LanguageOrchestrator.collectNotApplicable).
54
69
  */
55
70
  private detectGoRuntime;
71
+ /**
72
+ * Step 1 of Go detection: probe the toolchain. Returns the version string,
73
+ * or null when `go` is not installed / not on PATH.
74
+ */
75
+ private detectGoToolchainVersion;
76
+ /**
77
+ * Step 2 of Go detection: locate the analyzer binary. Returns the path and
78
+ * whether the binary already exists, or a `failureReason` when path
79
+ * resolution itself fails. A missing binary is NOT a failure — the runtime
80
+ * still registers as available and compiles it from source on first use.
81
+ */
82
+ private resolveGoAnalyzerPath;
56
83
  /**
57
84
  * Detect Python runtime
58
85
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RuntimeManager.d.ts","sourceRoot":"","sources":["../../src/languages/RuntimeManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RuntimeManager.d.ts","sourceRoot":"","sources":["../../src/languages/RuntimeManager.ts"],"names":[],"mappings":"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"}