vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
153 lines • 4.82 kB
TypeScript
import { SyntaxNode } from './parser.js';
import { FunctionInfo, ClassInfo, ImportInfo } from './codeMapModel.js';
export interface LanguageHandler {
extractFunctions(rootNode: SyntaxNode, sourceCode: string, options?: FunctionExtractionOptions): FunctionInfo[];
extractClasses(rootNode: SyntaxNode, sourceCode: string, options?: ClassExtractionOptions): ClassInfo[];
extractImports(rootNode: SyntaxNode, sourceCode: string, options?: ImportExtractionOptions): ImportInfo[];
detectFramework?(sourceCode: string): string | null;
enhanceImportInfo?(filePath: string, imports: ImportInfo[], options: Record<string, unknown>): Promise<ImportInfo[]>;
}
export interface FunctionExtractionOptions {
isMethodExtraction?: boolean;
className?: string;
maxNestedFunctionDepth?: number;
enableContextAnalysis?: boolean;
enableRoleDetection?: boolean;
enableHeuristicNaming?: boolean;
}
export interface ClassExtractionOptions {
extractNestedClasses?: boolean;
extractMethods?: boolean;
extractProperties?: boolean;
maxNestedClassDepth?: number;
}
export interface ImportExtractionOptions {
resolveImportPaths?: boolean;
extractComments?: boolean;
useImportResolver?: boolean;
filePath?: string;
projectRoot?: string;
}
export interface FunctionContext {
type: string;
name?: string;
parent?: FunctionContext;
}
export interface DebugConfig {
showDetailedImports?: boolean;
generateASTDebugFiles?: boolean;
}
export interface CodeMapGeneratorConfig {
allowedMappingDirectory: string;
cache?: CacheConfig;
processing?: ProcessingConfig;
output?: OutputConfig;
universalOptimization?: UniversalOptimizationConfig;
maxOptimizationLevel?: 'conservative' | 'balanced' | 'aggressive' | 'maximum';
qualityThresholds?: QualityThresholds;
featureFlags?: FeatureFlagsConfig;
importResolver?: ImportResolverConfig;
debug?: DebugConfig;
}
export interface CacheConfig {
enabled: boolean;
maxEntries?: number;
maxAge?: number;
cacheDir?: string;
useFileBasedAccess?: boolean;
maxCachedFiles?: number;
useMemoryCache?: boolean;
memoryMaxEntries?: number;
memoryMaxAge?: number;
memoryThreshold?: number;
useFileHashes?: boolean;
}
export interface ProcessingConfig {
batchSize?: number;
logMemoryUsage?: boolean;
maxMemoryUsage?: number;
incremental?: boolean;
periodicGC?: boolean;
gcInterval?: number;
incrementalConfig?: IncrementalProcessingConfig;
}
export interface IncrementalProcessingConfig {
useFileHashes?: boolean;
useFileMetadata?: boolean;
maxCachedHashes?: number;
maxHashAge?: number;
previousFilesListPath?: string;
saveProcessedFilesList?: boolean;
}
export interface UniversalOptimizationConfig {
eliminateVerboseDiagrams?: boolean;
reduceClassDetails?: boolean;
consolidateRepetitiveContent?: boolean;
focusOnPublicInterfaces?: boolean;
adaptiveOptimization?: boolean;
}
export interface PatternConsolidationConfig {
enabled: boolean;
maxComponentsShown: number;
groupArchitecturalPatterns: boolean;
groupFunctionPatterns: boolean;
consolidationThreshold: number;
}
export interface QualityThresholds {
minSemanticCompleteness: number;
minArchitecturalIntegrity: number;
maxInformationLoss: number;
}
export interface OutputConfig {
outputDir?: string;
format?: 'markdown' | 'json';
splitOutput?: boolean;
filePrefix?: string;
maxAge?: number;
maxOutputDirs?: number;
cleanupOldOutputs?: boolean;
}
export interface DirectoryStructure {
baseOutputDir: string;
outputDir: string;
cacheDir: string;
fileInfoCacheDir: string;
metadataCacheDir: string;
tempDir: string;
jobTempDir: string;
}
export interface PathValidationResult {
isValid: boolean;
error?: string;
normalizedPath?: string;
}
export interface FeatureFlagsConfig {
enhancedFunctionDetection?: boolean;
contextAnalysis?: boolean;
frameworkDetection?: boolean;
roleIdentification?: boolean;
heuristicNaming?: boolean;
memoryOptimization?: boolean;
}
export interface ImportResolverConfig {
enabled: boolean;
cacheSize?: number;
useCache?: boolean;
extensions?: Record<string, string[]>;
generateImportGraph?: boolean;
expandSecurityBoundary?: boolean;
enhanceImports?: boolean;
importMaxDepth?: number;
tsConfig?: string;
pythonPath?: string;
pythonVersion?: string;
venvPath?: string;
clangdPath?: string;
compileFlags?: string[];
includePaths?: string[];
semgrepPatterns?: string[];
semgrepTimeout?: number;
semgrepMaxMemory?: string;
disableSemgrepFallback?: boolean;
}
//# sourceMappingURL=types.d.ts.map