/** * Core type definitions for TypeScript Diagnostics MCP */ import ts from 'typescript'; /** * Diagnostic severity levels */ export type DiagnosticCategory = 'error' | 'warning' | 'suggestion' | 'message'; /** * Simplified diagnostic format for MCP responses */ export interface Diagnostic { file: string; line: number; column: number; category: DiagnosticCategory; code: number; message: string; messageText: string; start?: number; length?: number; } /** * Result of diagnostic queries */ export interface DiagnosticResult { timestamp: number; totalErrors: number; totalWarnings: number; totalSuggestions: number; totalMessages: number; diagnostics: Diagnostic[]; compilationTimeMs?: number; cacheHit: boolean; source: string; } /** * Batch diagnostic result (multiple files/packages) */ export interface BatchDiagnosticResult { timestamp: number; results: Map; totalErrors: number; totalWarnings: number; } /** * Watch status information */ export interface WatchStatus { active: boolean; watchedConfigs: string[]; watchedFiles: number; lastCompilation?: number; projectRoot: string; mode: 'single' | 'monorepo'; } /** * Cache statistics */ export interface CacheStats { size: number; hits: number; misses: number; evictions: number; hitRate: number; itemCount: number; } /** * Diagnostic query options */ export interface DiagnosticQuery { category?: DiagnosticCategory; minSeverity?: DiagnosticCategory; filePattern?: string; package?: string; errorCode?: number; } /** * Configuration for TypeScript project */ export interface TSProjectConfig { configPath: string; name?: string; rootDir?: string; } /** * MCP server configuration */ export interface MCPConfig { projectRoot: string; tsConfigs: TSProjectConfig[] | string; maxCacheSize?: number; debounceMs?: number; maxConcurrentQueries?: number; healthCheckInterval?: number; autoRestartOnCrash?: boolean; fallbackToDirectTsc?: boolean; enableIncrementalMode?: boolean; enablePersistentCache?: boolean; autoDetectWorkspaces?: boolean; workspacePatterns?: string[]; ignorePatterns?: string[]; } /** * Workspace detection result */ export interface WorkspaceInfo { type: 'pnpm' | 'yarn' | 'npm' | 'rush' | 'lerna' | 'single'; packages: TSProjectConfig[]; rootConfig?: string; } /** * Type position for advanced queries */ export interface Position { line: number; column: number; } /** * Type information at position */ export interface TypeInfo { type: string; symbol?: string; documentation?: string; } /** * Definition location */ export interface Definition { file: string; line: number; column: number; } /** * Convert TypeScript diagnostic category to our simplified type */ export declare function convertDiagnosticCategory(category: ts.DiagnosticCategory): DiagnosticCategory; /** * Convert TypeScript diagnostic to our simplified format */ export declare function convertDiagnostic(diagnostic: ts.Diagnostic): Diagnostic; //# sourceMappingURL=index.d.ts.map