code-auditor-mcp 1.20.0 → 2.0.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.
- package/dist/adapters/GoAdapter.d.ts +53 -0
- package/dist/adapters/GoAdapter.d.ts.map +1 -0
- package/dist/adapters/GoAdapter.js +602 -0
- package/dist/adapters/GoAdapter.js.map +1 -0
- package/dist/adapters/GoConfig.d.ts +35 -0
- package/dist/adapters/GoConfig.d.ts.map +1 -0
- package/dist/adapters/GoConfig.js +155 -0
- package/dist/adapters/GoConfig.js.map +1 -0
- package/dist/adapters/LanguageAdapter.d.ts +135 -0
- package/dist/adapters/LanguageAdapter.d.ts.map +1 -0
- package/dist/adapters/LanguageAdapter.js +47 -0
- package/dist/adapters/LanguageAdapter.js.map +1 -0
- package/dist/adapters/TypeScriptAdapter.d.ts +43 -0
- package/dist/adapters/TypeScriptAdapter.d.ts.map +1 -0
- package/dist/adapters/TypeScriptAdapter.js +386 -0
- package/dist/adapters/TypeScriptAdapter.js.map +1 -0
- package/dist/adapters/UniversalAnalyzer.d.ts +42 -0
- package/dist/adapters/UniversalAnalyzer.d.ts.map +1 -0
- package/dist/adapters/UniversalAnalyzer.js +103 -0
- package/dist/adapters/UniversalAnalyzer.js.map +1 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +48 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +1 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.js +178 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.js.map +1 -0
- package/dist/adapters/solidAnalyzerCompat.d.ts +21 -0
- package/dist/adapters/solidAnalyzerCompat.d.ts.map +1 -0
- package/dist/adapters/solidAnalyzerCompat.js +78 -0
- package/dist/adapters/solidAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +103 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.js +425 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts +117 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js +618 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +129 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +473 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -0
- package/dist/analyzers/cross-language/SchemaValidator.d.ts +126 -0
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -0
- package/dist/analyzers/cross-language/SchemaValidator.js +522 -0
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.js +59 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/documentationAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/documentationAnalyzerCompat.js +52 -0
- package/dist/analyzers/documentationAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/dryAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/dryAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/dryAnalyzerCompat.js +44 -0
- package/dist/analyzers/dryAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/schemaAnalyzer.d.ts +21 -0
- package/dist/analyzers/schemaAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/schemaAnalyzer.js +405 -0
- package/dist/analyzers/schemaAnalyzer.js.map +1 -0
- package/dist/analyzers/schemaAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/schemaAnalyzerCompat.js +69 -0
- package/dist/analyzers/schemaAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/solidAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/solidAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/solidAnalyzerCompat.js +78 -0
- package/dist/analyzers/solidAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +71 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +276 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +82 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +489 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +48 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +175 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +64 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +286 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +119 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +812 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -0
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +23 -7
- package/dist/auditRunner.js.map +1 -1
- package/dist/codeIndexDB-enhanced.d.ts +80 -0
- package/dist/codeIndexDB-enhanced.d.ts.map +1 -0
- package/dist/codeIndexDB-enhanced.js +488 -0
- package/dist/codeIndexDB-enhanced.js.map +1 -0
- package/dist/codeIndexDb.d.ts +70 -1
- package/dist/codeIndexDb.d.ts.map +1 -1
- package/dist/codeIndexDb.js +199 -2
- package/dist/codeIndexDb.js.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +181 -0
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -0
- package/dist/languages/LanguageOrchestrator.js +365 -0
- package/dist/languages/LanguageOrchestrator.js.map +1 -0
- package/dist/languages/LanguageRegistry.d.ts +43 -0
- package/dist/languages/LanguageRegistry.d.ts.map +1 -0
- package/dist/languages/LanguageRegistry.js +86 -0
- package/dist/languages/LanguageRegistry.js.map +1 -0
- package/dist/languages/RuntimeManager.d.ts +181 -0
- package/dist/languages/RuntimeManager.d.ts.map +1 -0
- package/dist/languages/RuntimeManager.js +841 -0
- package/dist/languages/RuntimeManager.js.map +1 -0
- package/dist/languages/UniversalAnalyzer.d.ts +37 -0
- package/dist/languages/UniversalAnalyzer.d.ts.map +1 -0
- package/dist/languages/UniversalAnalyzer.js +101 -0
- package/dist/languages/UniversalAnalyzer.js.map +1 -0
- package/dist/languages/go/GoAdapter.d.ts +57 -0
- package/dist/languages/go/GoAdapter.d.ts.map +1 -0
- package/dist/languages/go/GoAdapter.js +360 -0
- package/dist/languages/go/GoAdapter.js.map +1 -0
- package/dist/languages/index.d.ts +13 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/index.js +23 -0
- package/dist/languages/index.js.map +1 -0
- package/dist/languages/types.d.ts +182 -0
- package/dist/languages/types.d.ts.map +1 -0
- package/dist/languages/types.js +5 -0
- package/dist/languages/types.js.map +1 -0
- package/dist/languages/typescript/TypeScriptAdapter.d.ts +108 -0
- package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +1 -0
- package/dist/languages/typescript/TypeScriptAdapter.js +567 -0
- package/dist/languages/typescript/TypeScriptAdapter.js.map +1 -0
- package/dist/languages/typescript/test-extraction.d.ts +2 -0
- package/dist/languages/typescript/test-extraction.d.ts.map +1 -0
- package/dist/languages/typescript/test-extraction.js +36 -0
- package/dist/languages/typescript/test-extraction.js.map +1 -0
- package/dist/mcp-hybrid.d.ts +10 -0
- package/dist/mcp-hybrid.d.ts.map +1 -0
- package/dist/mcp-hybrid.js +41 -0
- package/dist/mcp-hybrid.js.map +1 -0
- package/dist/mcp-index.d.ts +11 -0
- package/dist/mcp-index.d.ts.map +1 -0
- package/dist/mcp-index.js +101 -0
- package/dist/mcp-index.js.map +1 -0
- package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +67 -10
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts +49 -0
- package/dist/mcp-tools-shared.d.ts.map +1 -0
- package/dist/mcp-tools-shared.js +1282 -0
- package/dist/mcp-tools-shared.js.map +1 -0
- package/dist/mcp-ui-server.d.ts +27 -0
- package/dist/mcp-ui-server.d.ts.map +1 -0
- package/dist/mcp-ui-server.js +484 -0
- package/dist/mcp-ui-server.js.map +1 -0
- package/dist/mcp-ui-simple.d.ts +27 -0
- package/dist/mcp-ui-simple.d.ts.map +1 -0
- package/dist/mcp-ui-simple.js +425 -0
- package/dist/mcp-ui-simple.js.map +1 -0
- package/dist/mcp.js +7 -4
- package/dist/mcp.js.map +1 -1
- package/dist/services/SchemaParser.d.ts +89 -0
- package/dist/services/SchemaParser.d.ts.map +1 -0
- package/dist/services/SchemaParser.js +434 -0
- package/dist/services/SchemaParser.js.map +1 -0
- package/dist/types/crossLanguage.d.ts +267 -0
- package/dist/types/crossLanguage.d.ts.map +1 -0
- package/dist/types/crossLanguage.js +6 -0
- package/dist/types/crossLanguage.js.map +1 -0
- package/dist/types.d.ts +128 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/fileDiscovery.d.ts +6 -0
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +12 -1
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/examples/schema-example.json +364 -0
- package/examples/schema-example.yaml +137 -0
- package/package.json +10 -3
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registry for managing language adapters
|
|
3
|
+
*/
|
|
4
|
+
import path from 'path';
|
|
5
|
+
export class LanguageRegistry {
|
|
6
|
+
static instance;
|
|
7
|
+
adapters = new Map();
|
|
8
|
+
extensionMap = new Map();
|
|
9
|
+
constructor() { }
|
|
10
|
+
/**
|
|
11
|
+
* Get singleton instance
|
|
12
|
+
*/
|
|
13
|
+
static getInstance() {
|
|
14
|
+
if (!LanguageRegistry.instance) {
|
|
15
|
+
LanguageRegistry.instance = new LanguageRegistry();
|
|
16
|
+
}
|
|
17
|
+
return LanguageRegistry.instance;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Register a language adapter
|
|
21
|
+
*/
|
|
22
|
+
registerAdapter(adapter) {
|
|
23
|
+
this.adapters.set(adapter.name, adapter);
|
|
24
|
+
// Map file extensions to adapter
|
|
25
|
+
for (const ext of adapter.fileExtensions) {
|
|
26
|
+
this.extensionMap.set(ext.toLowerCase(), adapter);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Unregister a language adapter
|
|
31
|
+
*/
|
|
32
|
+
unregisterAdapter(name) {
|
|
33
|
+
const adapter = this.adapters.get(name);
|
|
34
|
+
if (adapter) {
|
|
35
|
+
// Remove extension mappings
|
|
36
|
+
for (const ext of adapter.fileExtensions) {
|
|
37
|
+
this.extensionMap.delete(ext.toLowerCase());
|
|
38
|
+
}
|
|
39
|
+
this.adapters.delete(name);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get adapter by name
|
|
44
|
+
*/
|
|
45
|
+
getAdapter(name) {
|
|
46
|
+
return this.adapters.get(name) || null;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get adapter for a file based on its extension
|
|
50
|
+
*/
|
|
51
|
+
getAdapterForFile(filePath) {
|
|
52
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
53
|
+
const adapter = this.extensionMap.get(ext);
|
|
54
|
+
// Double-check with adapter's supportsFile method
|
|
55
|
+
if (adapter && adapter.supportsFile(filePath)) {
|
|
56
|
+
return adapter;
|
|
57
|
+
}
|
|
58
|
+
// Fallback: try all adapters
|
|
59
|
+
for (const adapter of this.adapters.values()) {
|
|
60
|
+
if (adapter.supportsFile(filePath)) {
|
|
61
|
+
return adapter;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get all registered adapters
|
|
68
|
+
*/
|
|
69
|
+
getAllAdapters() {
|
|
70
|
+
return Array.from(this.adapters.values());
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get all supported file extensions
|
|
74
|
+
*/
|
|
75
|
+
getSupportedExtensions() {
|
|
76
|
+
return Array.from(this.extensionMap.keys());
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Clear all registered adapters
|
|
80
|
+
*/
|
|
81
|
+
clear() {
|
|
82
|
+
this.adapters.clear();
|
|
83
|
+
this.extensionMap.clear();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=LanguageRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageRegistry.js","sourceRoot":"","sources":["../../src/languages/LanguageRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAC,QAAQ,CAAmB;IAClC,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC9C,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;IAE1D,gBAAuB,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAwB;QACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzC,iCAAiC;QACjC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAY;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,4BAA4B;YAC5B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,QAAgB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE3C,kDAAkD;QAClD,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,6BAA6B;QAC7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Manager
|
|
3
|
+
* Detects available language runtimes and manages analyzer processes
|
|
4
|
+
*/
|
|
5
|
+
export interface RuntimeInfo {
|
|
6
|
+
name: string;
|
|
7
|
+
command: string;
|
|
8
|
+
version: string;
|
|
9
|
+
available: boolean;
|
|
10
|
+
minVersion?: string;
|
|
11
|
+
analyzer?: LanguageAnalyzer;
|
|
12
|
+
executablePath?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface LanguageAnalyzer {
|
|
15
|
+
name: string;
|
|
16
|
+
runtime: string;
|
|
17
|
+
command: string;
|
|
18
|
+
supports: string[];
|
|
19
|
+
analyze(files: string[], options?: any): Promise<AnalysisResult>;
|
|
20
|
+
}
|
|
21
|
+
export interface AnalysisResult {
|
|
22
|
+
violations: any[];
|
|
23
|
+
indexEntries: any[];
|
|
24
|
+
metrics: AnalysisMetrics;
|
|
25
|
+
errors?: any[];
|
|
26
|
+
}
|
|
27
|
+
export interface AnalysisMetrics {
|
|
28
|
+
filesAnalyzed: number;
|
|
29
|
+
executionTime: number;
|
|
30
|
+
memoryUsage?: number;
|
|
31
|
+
}
|
|
32
|
+
export interface RuntimeConfig {
|
|
33
|
+
enabled: boolean;
|
|
34
|
+
minVersion?: string;
|
|
35
|
+
command?: string;
|
|
36
|
+
analyzer?: string;
|
|
37
|
+
timeout?: number;
|
|
38
|
+
}
|
|
39
|
+
export declare class RuntimeManager {
|
|
40
|
+
private runtimes;
|
|
41
|
+
private initialized;
|
|
42
|
+
private config;
|
|
43
|
+
constructor(config?: Record<string, RuntimeConfig>);
|
|
44
|
+
/**
|
|
45
|
+
* Initialize runtime detection
|
|
46
|
+
*/
|
|
47
|
+
initialize(): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Check if a specific runtime is available
|
|
50
|
+
*/
|
|
51
|
+
hasRuntime(name: string): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Get fallback runtime for a language if the primary is unavailable
|
|
54
|
+
*/
|
|
55
|
+
getFallbackRuntime(language: string): RuntimeInfo | null;
|
|
56
|
+
/**
|
|
57
|
+
* Get file extensions for a language
|
|
58
|
+
*/
|
|
59
|
+
private getLanguageExtensions;
|
|
60
|
+
/**
|
|
61
|
+
* Attempt to analyze with fallback runtime if primary fails
|
|
62
|
+
*/
|
|
63
|
+
analyzeWithFallback(language: string, files: string[], options?: any): Promise<AnalysisResult | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Get installation suggestions for missing runtimes
|
|
66
|
+
*/
|
|
67
|
+
private getRuntimeInstallationSuggestions;
|
|
68
|
+
/**
|
|
69
|
+
* Get runtime information
|
|
70
|
+
*/
|
|
71
|
+
getRuntime(name: string): RuntimeInfo | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Get all available runtimes
|
|
74
|
+
*/
|
|
75
|
+
getAvailableRuntimes(): RuntimeInfo[];
|
|
76
|
+
/**
|
|
77
|
+
* Spawn analyzer for a specific language
|
|
78
|
+
*/
|
|
79
|
+
spawnAnalyzer(language: string, files: string[], options?: any): Promise<AnalysisResult | null>;
|
|
80
|
+
/**
|
|
81
|
+
* Run a function with timeout
|
|
82
|
+
*/
|
|
83
|
+
private runWithTimeout;
|
|
84
|
+
/**
|
|
85
|
+
* Spawn multiple analyzers in parallel with concurrency control
|
|
86
|
+
*/
|
|
87
|
+
spawnMultipleAnalyzers(languageFilePairs: Array<{
|
|
88
|
+
language: string;
|
|
89
|
+
files: string[];
|
|
90
|
+
}>, options?: {
|
|
91
|
+
maxConcurrency?: number;
|
|
92
|
+
timeout?: number;
|
|
93
|
+
}): Promise<Array<{
|
|
94
|
+
language: string;
|
|
95
|
+
result: AnalysisResult | null;
|
|
96
|
+
}>>;
|
|
97
|
+
/**
|
|
98
|
+
* Kill all running analyzer processes (for cleanup)
|
|
99
|
+
*/
|
|
100
|
+
killAllAnalyzers(): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* Detect Node.js runtime
|
|
103
|
+
*/
|
|
104
|
+
private detectNodeRuntime;
|
|
105
|
+
/**
|
|
106
|
+
* Detect Go runtime
|
|
107
|
+
*/
|
|
108
|
+
private detectGoRuntime;
|
|
109
|
+
/**
|
|
110
|
+
* Detect Python runtime
|
|
111
|
+
*/
|
|
112
|
+
private detectPythonRuntime;
|
|
113
|
+
/**
|
|
114
|
+
* Detect Rust runtime
|
|
115
|
+
*/
|
|
116
|
+
private detectRustRuntime;
|
|
117
|
+
/**
|
|
118
|
+
* Detect Deno runtime
|
|
119
|
+
*/
|
|
120
|
+
private detectDenoRuntime;
|
|
121
|
+
/**
|
|
122
|
+
* Detect Bun runtime
|
|
123
|
+
*/
|
|
124
|
+
private detectBunRuntime;
|
|
125
|
+
/**
|
|
126
|
+
* Check if a file exists
|
|
127
|
+
*/
|
|
128
|
+
private fileExists;
|
|
129
|
+
/**
|
|
130
|
+
* Check version compatibility with detailed reporting
|
|
131
|
+
*/
|
|
132
|
+
private checkVersionCompatibility;
|
|
133
|
+
/**
|
|
134
|
+
* Get detailed version compatibility report
|
|
135
|
+
*/
|
|
136
|
+
getVersionCompatibilityReport(): Array<{
|
|
137
|
+
runtime: string;
|
|
138
|
+
currentVersion: string;
|
|
139
|
+
minVersion?: string;
|
|
140
|
+
compatible: boolean;
|
|
141
|
+
status: 'compatible' | 'incompatible' | 'unknown';
|
|
142
|
+
recommendations?: string[];
|
|
143
|
+
}>;
|
|
144
|
+
/**
|
|
145
|
+
* Validate all runtime versions and return summary
|
|
146
|
+
*/
|
|
147
|
+
validateRuntimeVersions(): Promise<{
|
|
148
|
+
compatible: number;
|
|
149
|
+
incompatible: number;
|
|
150
|
+
unknown: number;
|
|
151
|
+
issues: Array<{
|
|
152
|
+
runtime: string;
|
|
153
|
+
issue: string;
|
|
154
|
+
recommendations: string[];
|
|
155
|
+
}>;
|
|
156
|
+
}>;
|
|
157
|
+
/**
|
|
158
|
+
* Compare semantic versions with enhanced parsing
|
|
159
|
+
*/
|
|
160
|
+
private compareVersions;
|
|
161
|
+
/**
|
|
162
|
+
* Log runtime status
|
|
163
|
+
*/
|
|
164
|
+
private logRuntimeStatus;
|
|
165
|
+
/**
|
|
166
|
+
* Get runtime statistics
|
|
167
|
+
*/
|
|
168
|
+
getStats(): {
|
|
169
|
+
total: number;
|
|
170
|
+
available: number;
|
|
171
|
+
withAnalyzers: number;
|
|
172
|
+
runtimes: {
|
|
173
|
+
[k: string]: {
|
|
174
|
+
available: boolean;
|
|
175
|
+
version: string;
|
|
176
|
+
hasAnalyzer: boolean;
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=RuntimeManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeManager.d.ts","sourceRoot":"","sources":["../../src/languages/RuntimeManager.ts"],"names":[],"mappings":"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"}
|