rawi
Version:
Rawi (راوي) is the developer-friendly AI CLI that brings the power of 11 major AI providers directly to your terminal. With seamless shell integration, persistent conversations, and 200+ specialized prompt templates, Rawi transforms your command line into
1 lines • 5.99 kB
Source Map (JSON)
{"version":3,"sources":["/home/mkabumattar/work/withrawi/rawi/dist/chunk-DJDNNIU6.cjs","../src/core/file-readers/interfaces/types.ts"],"names":["SupportedFileType","BaseFileReader","options","filePath","fileSize","fileType","processingTime","mimeType","additionalInfo"],"mappings":"AAAA;AC8BO,IAAKA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAEVA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,IAAA,CAAO,MAAA,CACPA,CAAAA,CAAA,IAAA,CAAO,MAAA,CACPA,CAAAA,CAAA,IAAA,CAAO,MAAA,CACPA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,GAAA,CAAM,KAAA,CAGNA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,EAAA,CAAK,IAAA,CACLA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,IAAA,CAAO,MAAA,CACPA,CAAAA,CAAA,GAAA,CAAM,KAAA,CAGNA,CAAAA,CAAA,EAAA,CAAK,IAAA,CACLA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,EAAA,CAAK,IAAA,CACLA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,IAAA,CAAO,MAAA,CAGPA,CAAAA,CAAA,EAAA,CAAK,IAAA,CACLA,CAAAA,CAAA,IAAA,CAAO,MAAA,CACPA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,CAAA,CAAI,GAAA,CACJA,CAAAA,CAAA,CAAA,CAAI,GAAA,CACJA,CAAAA,CAAA,EAAA,CAAK,IAAA,CACLA,CAAAA,CAAA,EAAA,CAAK,IAAA,CACLA,CAAAA,CAAA,EAAA,CAAK,IAAA,CACLA,CAAAA,CAAA,EAAA,CAAK,IAAA,CACLA,CAAAA,CAAA,KAAA,CAAQ,OAAA,CACRA,CAAAA,CAAA,IAAA,CAAO,MAAA,CACPA,CAAAA,CAAA,KAAA,CAAQ,OAAA,CACRA,CAAAA,CAAA,CAAA,CAAI,GAAA,CACJA,CAAAA,CAAA,CAAA,CAAI,GAAA,CACJA,CAAAA,CAAA,EAAA,CAAK,IAAA,CACLA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,GAAA,CAAM,KAAA,CAGNA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,IAAA,CAAO,MAAA,CACPA,CAAAA,CAAA,IAAA,CAAO,MAAA,CACPA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,IAAA,CAAO,MAAA,CACPA,CAAAA,CAAA,GAAA,CAAM,KAAA,CAGNA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,EAAA,CAAK,IAAA,CACLA,CAAAA,CAAA,IAAA,CAAO,MAAA,CACPA,CAAAA,CAAA,GAAA,CAAM,KAAA,CACNA,CAAAA,CAAA,UAAA,CAAa,YAAA,CACbA,CAAAA,CAAA,QAAA,CAAW,UAAA,CACXA,CAAAA,CAAA,SAAA,CAAY,WAAA,CAGZA,CAAAA,CAAA,GAAA,CAAM,KAAA,CAENA,CAAAA,CAAA,OAAA,CAAU,SAAA,CAlEAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAA,CAAA,CAAA,CAAA,CAqEUC,CAAAA,aAAf,KAA8B,CACzB,WAEV,CAAYC,CAAAA,CAA6B,CAAC,CAAA,CAAG,CAC3C,IAAA,CAAK,OAAA,CAAU,CACb,WAAA,CAAa,EAAA,CAAK,IAAA,CAAO,IAAA,CACzB,QAAA,CAAU,OAAA,CACV,OAAA,CAAS,CAAA,CAAA,CACT,GAAGA,CACL,CACF,CAKU,cAAA,CACRC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACc,CAEd,MAAO,CACL,QAAA,CAFeL,CAAAA,CAAS,KAAA,CAAM,GAAG,CAAA,CAAE,GAAA,CAAI,CAAA,EAAK,EAAA,CAG5C,QAAA,CAAAA,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAE,CAAAA,CACA,WAAA,CAAa,IAAI,IAAA,CACjB,cAAA,CAAAD,CAAAA,CACA,cAAA,CAAAE,CACF,CACF,CAEU,gBAAA,CAAiBJ,CAAAA,CAAwB,CACjD,EAAA,CAAIA,CAAAA,CAAAA,CAAY,IAAA,CAAK,OAAA,CAAQ,WAAA,EAAe,EAAA,CAAK,IAAA,CAAO,IAAA,CAAA,CACtD,MAAM,IAAI,KAAA,CACR,CAAA,WAAA,EAAc,IAAA,CAAK,KAAA,CAAMA,CAAAA,CAAW,IAAA,CAAO,IAAI,CAAC,CAAA,kCAAA,EAAqC,IAAA,CAAK,KAAA,CAAA,CAAO,IAAA,CAAK,OAAA,CAAQ,WAAA,EAAe,EAAA,CAAK,IAAA,CAAO,IAAA,CAAA,CAAQ,IAAA,CAAO,IAAI,CAAC,CAAA,GAAA,CAC/J,CAEJ,CACF,CAAA,CAAA,6BAAA;AD5IA","file":"/home/mkabumattar/work/withrawi/rawi/dist/chunk-DJDNNIU6.cjs","sourcesContent":[null,"export interface FileReaderOptions {\n maxFileSize?: number;\n encoding?: string;\n sheet?: string;\n verbose?: boolean;\n}\n\nexport interface FileContent {\n text: string;\n metadata: FileMetadata;\n}\n\nexport interface FileMetadata {\n fileName: string;\n filePath: string;\n fileSize: number;\n fileType: string;\n mimeType?: string;\n extractedAt: Date;\n processingTime: number;\n additionalInfo?: Record<string, any>;\n}\n\nexport interface FileReaderResult {\n success: boolean;\n content?: FileContent;\n error?: string;\n warnings?: string[];\n}\n\nexport enum SupportedFileType {\n // Office documents\n PDF = 'pdf',\n DOCX = 'docx',\n PPTX = 'pptx',\n XLSX = 'xlsx',\n ODT = 'odt',\n ODP = 'odp',\n ODS = 'ods',\n\n // Text and markup\n TXT = 'txt',\n MD = 'md',\n XML = 'xml',\n HTML = 'html',\n HTM = 'htm',\n\n // Web technologies\n JS = 'js',\n JSX = 'jsx',\n TS = 'ts',\n TSX = 'tsx',\n CSS = 'css',\n JSON = 'json',\n\n // Programming languages\n PY = 'py',\n JAVA = 'java',\n CPP = 'cpp',\n C = 'c',\n H = 'h',\n GO = 'go',\n RS = 'rs',\n RB = 'rb',\n KT = 'kt',\n SWIFT = 'swift',\n DART = 'dart',\n SCALA = 'scala',\n R = 'r',\n M = 'm',\n PL = 'pl',\n LUA = 'lua',\n PHP = 'php',\n\n // Configuration and data\n YML = 'yml',\n YAML = 'yaml',\n TOML = 'toml',\n CSV = 'csv',\n ENV = 'env',\n INI = 'ini',\n CONF = 'conf',\n CFG = 'cfg',\n\n // Scripts and tools\n SQL = 'sql',\n SH = 'sh',\n BASH = 'bash',\n VIM = 'vim',\n DOCKERFILE = 'dockerfile',\n MAKEFILE = 'makefile',\n GITIGNORE = 'gitignore',\n\n // Logs\n LOG = 'log',\n\n UNKNOWN = 'unknown',\n}\n\nexport abstract class BaseFileReader {\n protected options: FileReaderOptions;\n\n constructor(options: FileReaderOptions = {}) {\n this.options = {\n maxFileSize: 50 * 1024 * 1024,\n encoding: 'utf-8',\n verbose: false,\n ...options,\n };\n }\n\n abstract canRead(fileType: SupportedFileType): boolean;\n abstract read(filePath: string): Promise<FileReaderResult>;\n\n protected createMetadata(\n filePath: string,\n fileSize: number,\n fileType: string,\n processingTime: number,\n mimeType?: string,\n additionalInfo?: Record<string, any>,\n ): FileMetadata {\n const fileName = filePath.split('/').pop() || '';\n return {\n fileName,\n filePath,\n fileSize,\n fileType,\n mimeType,\n extractedAt: new Date(),\n processingTime,\n additionalInfo,\n };\n }\n\n protected validateFileSize(fileSize: number): void {\n if (fileSize > (this.options.maxFileSize || 50 * 1024 * 1024)) {\n throw new Error(\n `File size (${Math.round(fileSize / 1024 / 1024)}MB) exceeds maximum allowed size (${Math.round((this.options.maxFileSize || 50 * 1024 * 1024) / 1024 / 1024)}MB)`,\n );\n }\n }\n}\n\nexport * from './batch.interface.js';\n"]}