{"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":"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","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"]}