code-auditor-mcp 3.4.17 → 3.5.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 (186) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +94 -0
  3. package/README.md +5 -5
  4. package/dist/analyzers/applicability.d.ts +13 -0
  5. package/dist/analyzers/applicability.d.ts.map +1 -1
  6. package/dist/analyzers/applicability.js +37 -0
  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 +21 -0
  36. package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
  37. package/dist/analyzers/ruleRegistry.js +61 -12
  38. package/dist/analyzers/ruleRegistry.js.map +1 -1
  39. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  40. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +60 -24
  41. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  42. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  43. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +5 -2
  44. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  45. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  46. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +173 -56
  47. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  48. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +2 -1
  49. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  50. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +23 -12
  51. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  52. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +11 -1
  53. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  54. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +60 -22
  55. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  56. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +2 -3
  57. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  58. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +258 -87
  59. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  60. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
  61. package/dist/analyzers/universal/schema/codeAnalysis.js +7 -1
  62. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
  63. package/dist/analyzers/universal/schema/jsonSchema.js +7 -11
  64. package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
  65. package/dist/applyDataDirEnv.js +1 -1
  66. package/dist/applyDataDirEnv.js.map +1 -1
  67. package/dist/auditRouter.d.ts +41 -0
  68. package/dist/auditRouter.d.ts.map +1 -0
  69. package/dist/auditRouter.js +185 -0
  70. package/dist/auditRouter.js.map +1 -0
  71. package/dist/auditRunner.d.ts.map +1 -1
  72. package/dist/auditRunner.js +97 -58
  73. package/dist/auditRunner.js.map +1 -1
  74. package/dist/cli.js +247 -23
  75. package/dist/cli.js.map +1 -1
  76. package/dist/codeIndexDB.d.ts.map +1 -1
  77. package/dist/codeIndexDB.js +36 -2
  78. package/dist/codeIndexDB.js.map +1 -1
  79. package/dist/componentScanner.d.ts.map +1 -1
  80. package/dist/componentScanner.js +7 -2
  81. package/dist/componentScanner.js.map +1 -1
  82. package/dist/config/configLoader.d.ts +9 -0
  83. package/dist/config/configLoader.d.ts.map +1 -1
  84. package/dist/config/configLoader.js +30 -2
  85. package/dist/config/configLoader.js.map +1 -1
  86. package/dist/config/defaults.d.ts.map +1 -1
  87. package/dist/config/defaults.js +10 -3
  88. package/dist/config/defaults.js.map +1 -1
  89. package/dist/dataPaths.d.ts +8 -1
  90. package/dist/dataPaths.d.ts.map +1 -1
  91. package/dist/dataPaths.js +57 -5
  92. package/dist/dataPaths.js.map +1 -1
  93. package/dist/functionScanner.d.ts.map +1 -1
  94. package/dist/functionScanner.js +1 -17
  95. package/dist/functionScanner.js.map +1 -1
  96. package/dist/grammars/tree-sitter-scss.wasm +0 -0
  97. package/dist/invariants/ruleEngine.d.ts +8 -0
  98. package/dist/invariants/ruleEngine.d.ts.map +1 -1
  99. package/dist/invariants/ruleEngine.js +35 -16
  100. package/dist/invariants/ruleEngine.js.map +1 -1
  101. package/dist/languages/LanguageOrchestrator.d.ts +10 -11
  102. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  103. package/dist/languages/LanguageOrchestrator.js +135 -101
  104. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  105. package/dist/languages/RuntimeManager.d.ts +28 -1
  106. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  107. package/dist/languages/RuntimeManager.js +160 -49
  108. package/dist/languages/RuntimeManager.js.map +1 -1
  109. package/dist/languages/go/GoAdapter.d.ts +2 -0
  110. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  111. package/dist/languages/go/GoAdapter.js +15 -22
  112. package/dist/languages/go/GoAdapter.js.map +1 -1
  113. package/dist/languages/go/analyzer +0 -0
  114. package/dist/languages/go/analyzer-src/analyzer.go +510 -0
  115. package/dist/languages/go/analyzer-src/go.mod +3 -0
  116. package/dist/languages/go/analyzer-src/indexer.go +268 -0
  117. package/dist/languages/go/analyzer-src/parser.go +461 -0
  118. package/dist/languages/go/analyzer-src/solid.go +395 -0
  119. package/dist/languages/go/analyzer-src/testconventions.go +25 -0
  120. package/dist/languages/go/analyzer-src/types.go +148 -0
  121. package/dist/languages/go/go.mod +7 -0
  122. package/dist/languages/go/main.go +203 -0
  123. package/dist/languages/testConventions.d.ts +35 -0
  124. package/dist/languages/testConventions.d.ts.map +1 -0
  125. package/dist/languages/testConventions.js +51 -0
  126. package/dist/languages/testConventions.js.map +1 -0
  127. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +3 -0
  128. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  129. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +25 -18
  130. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  131. package/dist/mcp-tools/whitelistTools.d.ts +1 -1
  132. package/dist/mcp-tools/workflowGuide.js +3 -3
  133. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  134. package/dist/mcp-tools-shared.d.ts +0 -3
  135. package/dist/mcp-tools-shared.d.ts.map +1 -1
  136. package/dist/mcp-tools-shared.js +24 -128
  137. package/dist/mcp-tools-shared.js.map +1 -1
  138. package/dist/mcp.js +18 -12
  139. package/dist/mcp.js.map +1 -1
  140. package/dist/mcpAuditJobs.d.ts.map +1 -1
  141. package/dist/mcpAuditJobs.js +13 -0
  142. package/dist/mcpAuditJobs.js.map +1 -1
  143. package/dist/mcpAutoIndex.js +1 -1
  144. package/dist/mcpAutoIndex.js.map +1 -1
  145. package/dist/nextFile.d.ts +21 -0
  146. package/dist/nextFile.d.ts.map +1 -0
  147. package/dist/nextFile.js +51 -0
  148. package/dist/nextFile.js.map +1 -0
  149. package/dist/nextFileIncremental.d.ts +141 -0
  150. package/dist/nextFileIncremental.d.ts.map +1 -0
  151. package/dist/nextFileIncremental.js +314 -0
  152. package/dist/nextFileIncremental.js.map +1 -0
  153. package/dist/pipeline.d.ts.map +1 -1
  154. package/dist/pipeline.js +22 -0
  155. package/dist/pipeline.js.map +1 -1
  156. package/dist/pipelineAdapters.d.ts +17 -0
  157. package/dist/pipelineAdapters.d.ts.map +1 -1
  158. package/dist/pipelineAdapters.js +800 -44
  159. package/dist/pipelineAdapters.js.map +1 -1
  160. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  161. package/dist/reporting/jsonReportGenerator.js +11 -30
  162. package/dist/reporting/jsonReportGenerator.js.map +1 -1
  163. package/dist/styles/styleIndexer.d.ts +7 -0
  164. package/dist/styles/styleIndexer.d.ts.map +1 -1
  165. package/dist/styles/styleIndexer.js +44 -61
  166. package/dist/styles/styleIndexer.js.map +1 -1
  167. package/dist/types/crossLanguage.d.ts +1 -0
  168. package/dist/types/crossLanguage.d.ts.map +1 -1
  169. package/dist/types.d.ts +27 -4
  170. package/dist/types.d.ts.map +1 -1
  171. package/dist/types.js.map +1 -1
  172. package/dist/utils/fileDiscovery.d.ts +11 -2
  173. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  174. package/dist/utils/fileDiscovery.js +23 -5
  175. package/dist/utils/fileDiscovery.js.map +1 -1
  176. package/dist/utils/reactDetection.d.ts.map +1 -1
  177. package/dist/utils/reactDetection.js +59 -44
  178. package/dist/utils/reactDetection.js.map +1 -1
  179. package/package.json +31 -27
  180. package/plugin/.claude-plugin/plugin.json +1 -1
  181. package/plugin/README.md +6 -6
  182. package/plugin/hooks/hooks.json +4 -0
  183. package/plugin/scripts/hook-audit.sh +0 -0
  184. package/plugin/scripts/hook-self-audit.sh +107 -0
  185. package/plugin/skills/code-auditor/SKILL-RULE-KINDS.md +55 -7
  186. package/plugin/skills/code-auditor/SKILL.md +22 -23
@@ -15,6 +15,8 @@ import path from 'path';
15
15
  import sg from '@ast-grep/napi';
16
16
  export { hasRules } from './ruleValidator.js';
17
17
  // ── Globbing helpers ──────────────────────────────────────────────────────
18
+ /** Chunked IN-clause bound (SQLite max host params, conservative). */
19
+ const SQLITE_MAX_VARIABLES = 900;
18
20
  /** Cache compiled matchers keyed by pattern */
19
21
  const matcherCache = new Map();
20
22
  function matchesPattern(pattern, path) {
@@ -400,7 +402,7 @@ function checkNoRawValues(rule, files, indexHandle) {
400
402
  * call-constraint queries the full index for callers.
401
403
  */
402
404
  export function checkRules(options) {
403
- const { rules, files, indexHandle, projectDir, readSource, knownFiles, fileData: preExtractedFileData } = options;
405
+ const { rules, files, indexHandle, projectDir, readSource, knownFiles, fileData: preExtractedFileData, isScoped } = options;
404
406
  const violations = [];
405
407
  const errors = [];
406
408
  if (rules.length === 0) {
@@ -457,7 +459,7 @@ export function checkRules(options) {
457
459
  // 4. call-constraint checks — requires DB
458
460
  if (callConstraints.length > 0 && indexHandle) {
459
461
  try {
460
- const scopedCallers = getScopedCallers(indexHandle, files);
462
+ const scopedCallers = getScopedCallers(indexHandle, files, isScoped);
461
463
  for (const rule of callConstraints) {
462
464
  violations.push(...checkCallConstraint(rule, scopedCallers));
463
465
  }
@@ -509,8 +511,35 @@ export function checkRules(options) {
509
511
  /**
510
512
  * Get all callers from the DB that are within the scoped files.
511
513
  * Returns [caller, callee] pairs for checking against constraints.
514
+ *
515
+ * When `isScoped` is true (diff audit), the in-scope file set is pushed into the
516
+ * SQL as a chunked `f.file_path IN (...)` clause so out-of-scope callers are
517
+ * never fetched. On a full audit `isScoped` is false and `files` is the full
518
+ * discovered list, so a JS filter would be a no-op; the query is left
519
+ * unrestricted (equivalent result, fewer bind params).
512
520
  */
513
- function getScopedCallers(indexHandle, scopedFiles) {
521
+ function getScopedCallers(indexHandle, scopedFiles, isScoped) {
522
+ const mapRows = (rows) => rows.map(r => ({
523
+ filePath: r.file_path,
524
+ callerName: r.caller_name,
525
+ calleeName: r.callee_name,
526
+ }));
527
+ if (isScoped && scopedFiles.length > 0) {
528
+ const chunks = [];
529
+ for (let i = 0; i < scopedFiles.length; i += SQLITE_MAX_VARIABLES) {
530
+ chunks.push(scopedFiles.slice(i, i + SQLITE_MAX_VARIABLES));
531
+ }
532
+ const clause = chunks
533
+ .map(c => `f.file_path IN (${c.map(() => '?').join(', ')})`)
534
+ .join(' OR ');
535
+ const rows = indexHandle.query(`
536
+ SELECT DISTINCT f.name as caller_name, f.file_path, fc.callee_name
537
+ FROM function_calls fc
538
+ JOIN functions f ON f.id = fc.caller_id
539
+ WHERE ${clause}
540
+ `, scopedFiles);
541
+ return mapRows(rows);
542
+ }
514
543
  const rows = indexHandle.query(`
515
544
  SELECT DISTINCT f.name as caller_name, f.file_path, fc.callee_name
516
545
  FROM function_calls fc
@@ -519,19 +548,9 @@ function getScopedCallers(indexHandle, scopedFiles) {
519
548
  // If scoped files provided, filter to those files
520
549
  if (scopedFiles.length > 0) {
521
550
  const fileSet = new Set(scopedFiles.map(f => f.replace(/^\.\//, '')));
522
- return rows
523
- .filter(r => fileSet.has(r.file_path))
524
- .map(r => ({
525
- filePath: r.file_path,
526
- callerName: r.caller_name,
527
- calleeName: r.callee_name,
528
- }));
529
- }
530
- return rows.map(r => ({
531
- filePath: r.file_path,
532
- callerName: r.caller_name,
533
- calleeName: r.callee_name,
534
- }));
551
+ return mapRows(rows.filter(r => fileSet.has(r.file_path)));
552
+ }
553
+ return mapRows(rows);
535
554
  }
536
555
  /** Clear the matcher cache (useful for tests) */
537
556
  export function clearMatcherCache() {
@@ -1 +1 @@
1
- {"version":3,"file":"ruleEngine.js","sourceRoot":"","sources":["../../src/invariants/ruleEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ruleEngine.js","sourceRoot":"","sources":["../../src/invariants/ruleEngine.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export interface PolyglotAnalysisOptions {
9
9
  languages?: string[];
10
10
  autoDetect?: boolean;
11
11
  analyzers?: string[];
12
- minSeverity?: 'info' | 'warning' | 'critical';
12
+ minSeverity?: 'suggestion' | 'warning' | 'critical';
13
13
  enableCrossLanguageAnalysis?: boolean;
14
14
  buildCrossReferences?: boolean;
15
15
  validateAPIContracts?: boolean;
@@ -30,6 +30,10 @@ export interface PolyglotAnalysisResult {
30
30
  languageStats: Map<string, LanguageStats>;
31
31
  indexEntries?: any[];
32
32
  crossReferences?: CrossReference[];
33
+ notApplicable?: Array<{
34
+ language: string;
35
+ reason: string;
36
+ }>;
33
37
  }
34
38
  export interface CrossLanguageViolation extends Violation {
35
39
  crossLanguageType: 'api-mismatch' | 'type-mismatch' | 'contract-violation' | 'unused-export';
@@ -128,18 +132,17 @@ export declare class LanguageOrchestrator {
128
132
  * Discover files and group by language
129
133
  */
130
134
  private discoverAndGroupFiles;
131
- /**
132
- * Detect programming language from file extension
133
- */
134
- private detectLanguage;
135
135
  /**
136
136
  * Select which languages to analyze based on options and availability
137
137
  */
138
138
  private selectLanguages;
139
139
  /**
140
- * Map language names to runtime names
140
+ * Build the list of discovered languages that were NOT analyzed, each with
141
+ * the reason. Turns "Go files present but no runtime" into a stated
142
+ * notApplicable entry instead of the orchestrator silently analyzing zero
143
+ * files — the exact silent-degradation shape this restore removes.
141
144
  */
142
- private mapLanguageToRuntime;
145
+ private collectNotApplicable;
143
146
  /**
144
147
  * Analyze files for a specific language
145
148
  */
@@ -160,10 +163,6 @@ export declare class LanguageOrchestrator {
160
163
  * Validate API contracts between frontend and backend
161
164
  */
162
165
  private validateAPIContracts;
163
- /**
164
- * Generate dependency graph across languages
165
- */
166
- private generateDependencyGraph;
167
166
  /**
168
167
  * Update the unified code index
169
168
  */
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageOrchestrator.d.ts","sourceRoot":"","sources":["../../src/languages/LanguageOrchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LanguageOrchestrator.d.ts","sourceRoot":"","sources":["../../src/languages/LanguageOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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;AAuI7B;;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,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,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,4EAA4E;QAC5E,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/E,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,kBAAkB,CAAC,CAAC;QAChF,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAE7D,iDAAiD;QACjD,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,EAAE,WAAW,CAAC,CACtF,CAAC;QACF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,oCAAoC,eAAe,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAE5F,yEAAyE;QACzE,0EAA0E;QAC1E,sBAAsB;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QACpF,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAE5F,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1F,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,uBAAuB,CAC1D,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,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC9C,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,eAAe,CACrB,eAAyC,EACzC,OAAgC;QAEhC,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEzD,4CAA4C;QAC5C,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;QAEjD,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;;;;;OAKG;IACK,oBAAoB,CAC1B,eAAyC,EACzC,kBAA4B;QAE5B,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;QACjD,MAAM,aAAa,GAAgD,EAAE,CAAC;QAEtE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACjC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAEpD,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,OAAO,EAAE,aAAa;mBAChC,MAAM,WAAW,iCAAiC,QAAQ,EAAE,CAAC;YAClE,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,QAAgB,EAChB,KAAe,EACf,OAAgC,EAChC,WAAmB;QAEnB,OAAO,CAAC,GAAG,CAAC,oCAAoC,KAAK,CAAC,MAAM,IAAI,QAAQ,QAAQ,CAAC,CAAC;QAElF,+BAA+B;QAC/B,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAE5D,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,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,EAAE,qCAAqC;YACzD,WAAW,EAAE,WAAW;SACzB,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;YAChB,aAAa,EAAE,EAAE;SAClB,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,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEhD,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,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,iFAAiF;AAEjF,2DAA2D;AAC3D,SAAS,oBAAoB;IAC3B,OAAO;QACL,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,MAAM;QACpB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,MAAM;KACf,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,WAAW,GAA2B;QAC1C,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;KACd,CAAC;IACF,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AAClC,CAAC;AAED,6DAA6D;AAC7D,SAAS,kBAAkB,CAAC,eAAyC;IACnE,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,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,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,MAAM,CAAC,CAAC;AACpE,CAAC;AAED,gFAAgF;AAChF,SAAS,mBAAmB,CAAC,cAA8B,EAAE,kBAA4B;IACvF,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,mDAAmD,QAAQ,eAAe,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,SAAS,kBAAkB,CAAC,OAA4D;IACtF,MAAM,WAAW,GAAU,EAAE,CAAC;IAC9B,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,YAAY;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,uBAAuB,CACpC,OAA4D,EAC5D,eAAiC;IAEjC,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IAEpF,IAAI,CAAC;QACH,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,uDAAuD,CAAC,CAAC;QACzG,MAAM,YAAY,GAAG,IAAI,sBAAsB,CAAC;YAC9C,2BAA2B,EAAE,IAAI;YACjC,2BAA2B,EAAE,IAAI;YACjC,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,0DAA0D,KAAK,CAAC,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QAClI,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,6DAA6D,EAAE,KAAK,CAAC,CAAC;QACnF,OAAO;YACL,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,OAAO,EAAE;gBACP,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,QAAQ,EAAE,CAAC;gBACX,2BAA2B,EAAE,CAAC;aAC/B;SACF,CAAC;IACJ,CAAC;AACH,CAAC;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"}