typeref-mcp
Version:
TypeScript type inference and symbol navigation MCP server for Claude Code
63 lines • 2.95 kB
TypeScript
import { BaseLanguageAdapter } from '../core/BaseLanguageAdapter.js';
import { CacheManager, FileWatcher, Logger, DiagnosticInfo } from '../interfaces.js';
import { SymbolInfo, TypeInfo, ReferenceInfo, ModuleInfo, ProjectIndex, TypeInferenceResult, SymbolSearchOptions, TypeSearchOptions, LanguageConfig } from '../types.js';
export declare class TypeScriptAdapter extends BaseLanguageAdapter {
private projects;
private projectMemoryUsage;
private readonly MEMORY_CLEANUP_INTERVAL;
private readonly MAX_MEMORY_PER_PROJECT;
private readonly MAX_IDLE_TIME;
private projectLastAccess;
private parquetCache;
static readonly CONFIG: LanguageConfig;
constructor(cache: CacheManager, watcher: FileWatcher, logger: Logger);
private startMemoryManagement;
private performMemoryCleanup;
private cleanupProject;
private clearProjectCache;
private monitorMemoryUsage;
private trackProjectAccess;
cleanup(): void;
clearProjectDiskCache(projectPath: string): Promise<void>;
private createProjectConfig;
private ensureProjectLoaded;
indexProject(projectPath: string, force?: boolean): Promise<ProjectIndex>;
getTypeInference(filePath: string, position: number, projectPath: string): Promise<TypeInferenceResult | null>;
getTypeDefinition(typeName: string, projectPath: string, contextFile?: string): Promise<TypeInfo | null>;
findSymbol(symbolName: string, projectPath: string, options?: SymbolSearchOptions): Promise<SymbolInfo[]>;
findReferences(symbolName: string, filePath: string, projectPath: string): Promise<ReferenceInfo[]>;
getAvailableSymbols(filePath: string, position: number, projectPath: string): Promise<SymbolInfo[]>;
getModuleInfo(modulePath: string, projectPath: string): Promise<ModuleInfo | null>;
searchTypes(options: TypeSearchOptions, projectPath: string): Promise<TypeInfo[]>;
getDiagnostics(filePath: string, projectPath: string): Promise<DiagnosticInfo[]>;
private createProject;
private buildProjectIndex;
private extractSymbolsFromFile;
private extractTypesFromFile;
private nodeToSymbolInfo;
private extractInterfaceInfo;
private extractTypeAliasInfo;
private extractClassInfo;
private extractEnumInfo;
private extractPropertyInfo;
private extractMethodInfo;
private extractParameterInfo;
private extractExports;
private extractImports;
private extractDependencies;
private mapTypeToKind;
private mapNodeToSymbolKind;
private mapDiagnosticSeverity;
private getSourceLocation;
private getNodeType;
private getNodeDocumentation;
private getNodeSignature;
private extractProperties;
private performFuzzySearch;
private findSymbolInFile;
private findSymbolReferencesInFile;
private getLocalSymbolsInScope;
private getImportedSymbols;
private getGlobalSymbols;
}
//# sourceMappingURL=TypeScriptAdapter.d.ts.map