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
6 lines • 3.7 kB
JavaScript
/* 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 an intelligent development workspace. */
import{a as r}from"./chunk-RUQO26UY.js";import{promises as m}from"fs";import{extname as d}from"path";var c=class extends r{constructor(t={}){super(t)}canRead(t){return["txt","js","ts","py","json","md","yml","yaml","csv","xml","html","css","sql"].includes(t)}async read(t){let o=Date.now();try{await this.validateFile(t),this.logVerbose(`Starting text extraction for: ${t}`);let e=this.options.encoding||"utf-8",i=await m.readFile(t,e),a=d(t).toLowerCase(),{size:p}=await this.getFileStats(t),s=Date.now()-o;this.logVerbose(`Text extraction completed in ${s}ms`);let n=this.#t(a),l=n?`[${n}]
${i}`:i;if(!i.trim())throw new Error("File appears to be empty or contains no readable text");let x=this.createMetadata(t,p,a.substring(1)||"txt",s,this.#e(a),{encoding:this.options.encoding||"utf-8",lineCount:i.split(`
`).length,characterCount:i.length,hasContext:!!n});return{success:!0,content:{text:l.trim(),metadata:x}}}catch(e){return this.logVerbose(`Text extraction failed: ${e}`),{success:!1,error:e instanceof Error?e.message:String(e)}}}#t(t){return{".js":"JavaScript Code",".jsx":"React JavaScript Code",".ts":"TypeScript Code",".tsx":"React TypeScript Code",".py":"Python Code",".json":"JSON Data",".md":"Markdown Document",".yml":"YAML Configuration",".yaml":"YAML Configuration",".csv":"CSV Data",".xml":"XML Document",".html":"HTML Document",".htm":"HTML Document",".css":"CSS Stylesheet",".sql":"SQL Query",".sh":"Shell Script",".bash":"Bash Script",".php":"PHP Code",".java":"Java Code",".cpp":"C++ Code",".c":"C Code",".h":"C/C++ Header",".go":"Go Code",".rs":"Rust Code",".rb":"Ruby Code",".kt":"Kotlin Code",".swift":"Swift Code",".dart":"Dart Code",".scala":"Scala Code",".r":"R Code",".m":"MATLAB Code",".pl":"Perl Code",".lua":"Lua Script",".vim":"Vim Script",".env":"Environment Variables",".ini":"Configuration File",".conf":"Configuration File",".cfg":"Configuration File",".toml":"TOML Configuration",".dockerfile":"Dockerfile",".makefile":"Makefile",".gitignore":"Git Ignore File",".log":"Log File"}[t]||null}#e(t){return{".txt":"text/plain",".js":"application/javascript",".jsx":"application/javascript",".ts":"application/x-typescript",".tsx":"application/x-typescript",".py":"text/x-python",".json":"application/json",".md":"text/markdown",".yml":"application/x-yaml",".yaml":"application/x-yaml",".csv":"text/csv",".xml":"application/xml",".html":"text/html",".htm":"text/html",".css":"text/css",".sql":"application/sql",".sh":"application/x-sh",".bash":"application/x-sh",".php":"application/x-php",".java":"text/x-java-source",".cpp":"text/x-c++src",".c":"text/x-csrc",".h":"text/x-chdr",".go":"text/x-go",".rs":"text/x-rust",".rb":"application/x-ruby",".kt":"text/x-kotlin",".swift":"text/x-swift",".dart":"application/dart",".scala":"text/x-scala",".r":"text/x-r-source",".m":"text/x-matlab",".pl":"application/x-perl",".lua":"text/x-lua",".vim":"text/x-vim",".env":"text/plain",".ini":"text/plain",".conf":"text/plain",".cfg":"text/plain",".toml":"application/toml",".log":"text/plain"}[t]||"text/plain"}};export{c as a};
/* 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 an intelligent development workspace. */
//# sourceMappingURL=chunk-VRKU5YYZ.js.map