vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
58 lines • 1.8 kB
TypeScript
export interface FileContent {
filePath: string;
content: string;
size: number;
lastModified: Date;
extension: string;
contentType: 'text' | 'binary' | 'image' | 'unknown';
encoding: string;
lineCount: number;
charCount: number;
}
export interface FileReadOptions {
maxFileSize?: number;
encoding?: BufferEncoding;
includeBinary?: boolean;
maxLines?: number;
cacheContent?: boolean;
lineRange?: [number, number];
includeMetadata?: boolean;
}
export interface FileReadResult {
files: FileContent[];
errors: Array<{
filePath: string;
error: string;
reason: 'not-found' | 'too-large' | 'binary' | 'permission' | 'encoding' | 'unknown';
}>;
metrics: {
totalFiles: number;
successCount: number;
errorCount: number;
totalSize: number;
readTime: number;
cacheHits: number;
};
}
export declare class FileReaderService {
private static instance;
private contentCache;
private fileSearchService;
private constructor();
static getInstance(): FileReaderService;
readFiles(filePaths: string[], options?: FileReadOptions): Promise<FileReadResult>;
readFilesByPattern(projectPath: string, pattern: string, options?: FileReadOptions): Promise<FileReadResult>;
readFilesByGlob(projectPath: string, globPattern: string, options?: FileReadOptions): Promise<FileReadResult>;
private readSingleFile;
private readFromDisk;
private determineContentType;
private generateCacheKey;
private categorizeError;
clearCache(filePath?: string): void;
getCacheStats(): {
totalEntries: number;
memoryUsage: number;
averageFileSize: number;
};
}
//# sourceMappingURL=file-reader-service.d.ts.map