rawi
Version:
Rawi (راوي) is the developer-friendly AI CLI that brings the power of 12 major AI providers directly to your terminal. With seamless shell integration, persistent conversations, and 200+ specialized prompt templates, Rawi transforms your command line into
39 lines (36 loc) • 1.82 kB
text/typescript
import { FileReaderOptions, SupportedFileType, FileReaderResult, BatchProcessingOptions, BatchProcessingSummary, GlobOptions } from '../interfaces/types.cjs';
import { AbstractFileReader } from '../readers/base.reader.cjs';
interface FileReaderManagerOptions extends FileReaderOptions {
forceFileType?: SupportedFileType;
enableFallback?: boolean;
}
declare class FileReaderManager {
private readers;
private options;
private batchProcessor;
constructor(options?: FileReaderManagerOptions);
private initializeReaders;
readFile(filePath: string): Promise<FileReaderResult>;
readFiles(filePaths: string[]): Promise<FileReaderResult[]>;
readFilesParallel(filePaths: string[]): Promise<FileReaderResult[]>;
canReadFile(filePath: string): Promise<boolean>;
getFileInfo(filePath: string): Promise<{
filePath: string;
fileType: SupportedFileType;
description: string;
supported: boolean;
readerAvailable: boolean;
}>;
getSupportedFileTypes(): SupportedFileType[];
registerReader(fileType: SupportedFileType, reader: AbstractFileReader): void;
updateOptions(newOptions: Partial<FileReaderManagerOptions>): void;
processMultipleFiles(filePaths: string[], options?: BatchProcessingOptions): Promise<BatchProcessingSummary>;
processGlobPatterns(patterns: string[], options?: BatchProcessingOptions & GlobOptions): Promise<BatchProcessingSummary>;
expandGlob(patterns: string[], options?: GlobOptions): Promise<string[]>;
filterSupportedFiles(filePaths: string[]): Promise<string[]>;
private determineFileType;
private getReader;
private logVerbose;
}
declare const defaultFileReaderManager: FileReaderManager;
export { FileReaderManager, type FileReaderManagerOptions, defaultFileReaderManager };