UNPKG

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

19 lines 10.5 kB
#!/usr/bin/env node "use strict"; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }/* 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. */ require('./chunk-EIXOX3JT.cjs');var _chunk7OU2YC4Mcjs = require('./chunk-7OU2YC4M.cjs');require('./chunk-PCSAS4LY.cjs');require('./chunk-RTOSUPNZ.cjs');require('./chunk-TUGYUPJG.cjs');require('./chunk-5T64K5AW.cjs');require('./chunk-6UQYRNYT.cjs');require('./chunk-BUY27DR2.cjs');require('./chunk-22XUPW7I.cjs');require('./chunk-DFRFF36Y.cjs');require('./chunk-CTDDUOU6.cjs');require('./chunk-MGIUGMP2.cjs');require('./chunk-3YIPDBV3.cjs');require('./chunk-6HMUXVQZ.cjs');require('./chunk-7IP424ND.cjs');require('./chunk-UKZRPWDE.cjs');var _chunk2LCBKKCIcjs = require('./chunk-2LCBKKCI.cjs');require('./chunk-XGCEYY6O.cjs');require('./chunk-JNYSTCKZ.cjs');require('./chunk-KKTV3DG4.cjs');require('./chunk-XCNVJC4B.cjs');require('./chunk-MVGCWJ26.cjs');require('./chunk-NY6CQKYW.cjs');require('./chunk-5RAZTC2J.cjs');require('./chunk-XQQMNLXM.cjs');require('./chunk-M6N22KZA.cjs');require('./chunk-5FT4DQ4W.cjs');require('./chunk-I6ONRWWF.cjs');require('./chunk-YCKZBQZZ.cjs');require('./chunk-HRB7Z3QN.cjs');require('./chunk-D7T5LMAL.cjs');require('./chunk-KVJ4INQ7.cjs');require('./chunk-NUMCQRKU.cjs');require('./chunk-OCHGPNW7.cjs');require('./chunk-O6UQJLQS.cjs');require('./chunk-YD5FPLLX.cjs');require('./chunk-MEQXQFZH.cjs');require('./chunk-6IRRHDA7.cjs');require('./chunk-I5JOBZQO.cjs');require('./chunk-BLU3OUBP.cjs');require('./chunk-RAKFJQ5H.cjs');require('./chunk-YWVXOW6A.cjs');require('./chunk-G34P56RA.cjs');require('./chunk-GPC3VH52.cjs');require('./chunk-I3R72S2D.cjs');require('./chunk-PF2PJETC.cjs');require('./chunk-NGNETCDI.cjs');require('./chunk-SKOV2A3C.cjs');require('./chunk-4QVUHI7J.cjs');require('./chunk-ONYG2PRX.cjs');require('./chunk-IONGWMMB.cjs');require('./chunk-BETBSVXN.cjs');require('./chunk-B5MGEGOB.cjs');require('./chunk-JOG5X644.cjs');require('./chunk-HBQZ6TRE.cjs');require('./chunk-OEN3AME3.cjs');require('./chunk-TB6DELWR.cjs');require('./chunk-CBT2DC7F.cjs');require('./chunk-DMHF2QIW.cjs');require('./chunk-KBJ34NC3.cjs');require('./chunk-BYXIMFPF.cjs');require('./chunk-FFLVUBDU.cjs');require('./chunk-TEI25NEM.cjs');require('./chunk-4SSU7T3F.cjs');require('./chunk-XTIYUVOQ.cjs');require('./chunk-BS4YUC46.cjs');require('./chunk-IBIBJOYA.cjs');require('./chunk-2PFOYQDJ.cjs');require('./chunk-RFF4VG5F.cjs');require('./chunk-Z56DRU3M.cjs');require('./chunk-KDXB2XF6.cjs');require('./chunk-CQA62T6M.cjs');require('./chunk-GJUVQL2B.cjs');require('./chunk-TCDDN5PV.cjs');require('./chunk-K6LPSTUC.cjs');require('./chunk-LSK3BZJV.cjs');require('./chunk-Z6VHHQRQ.cjs');require('./chunk-ZZSMN3CV.cjs');require('./chunk-TN3YZIMQ.cjs');require('./chunk-XYGAEXAR.cjs');require('./chunk-RR5M76YJ.cjs');require('./chunk-3ZXX3ML2.cjs');require('./chunk-QMF755U6.cjs');require('./chunk-YSXMNCFW.cjs');require('./chunk-DJDNNIU6.cjs');require('./chunk-NUFWD4ME.cjs');require('./chunk-EZDARBSP.cjs');require('./chunk-W2WH4GMZ.cjs');require('./chunk-G5AO4Y3M.cjs');require('./chunk-AFYLVLTK.cjs');require('./chunk-AZDGR6RH.cjs');require('./chunk-OK6HOE55.cjs');require('./chunk-47VNWSY7.cjs');require('./chunk-YEL2W4UF.cjs');require('./chunk-3BQKIUKS.cjs');require('./chunk-QFKI2NW4.cjs');require('./chunk-FPGJFXOP.cjs');require('./chunk-7IO5BLNF.cjs');require('./chunk-HCZT2JRA.cjs');require('./chunk-23ZSXDYA.cjs');require('./chunk-P3AQU4KL.cjs');require('./chunk-OOLTO3KM.cjs');require('./chunk-GBWNCRXL.cjs');require('./chunk-DL5U66SI.cjs');require('./chunk-BO5UW3VL.cjs');require('./chunk-WHXXRX57.cjs');require('./chunk-MWCFHIO3.cjs');require('./chunk-IADUFCNS.cjs');require('./chunk-A67KDIKB.cjs');require('./chunk-3XZB7MQ6.cjs');require('./chunk-Z5KZJ74V.cjs');require('./chunk-B2SYICJS.cjs');require('./chunk-X5QODHIJ.cjs');require('./chunk-KE7P5FK7.cjs');require('./chunk-IELHLB2C.cjs');require('./chunk-UJ2KHNA4.cjs');require('./chunk-RYVLVSXY.cjs');require('./chunk-OCBW5UJM.cjs');require('./chunk-FBMPTSBO.cjs');require('./chunk-6UQXXL2O.cjs');require('./chunk-4GEUNJAD.cjs');require('./chunk-QBWIMSJD.cjs');require('./chunk-6GE6TGOK.cjs');require('./chunk-HBDUKCEZ.cjs');require('./chunk-YTPAJ6Q2.cjs');require('./chunk-I2DWEYYV.cjs');require('./chunk-IUCUN6N2.cjs');require('./chunk-YWAJIV7E.cjs');require('./chunk-TD7NWAYB.cjs');require('./chunk-TZAGH7A7.cjs');require('./chunk-PNEWTCT4.cjs');require('./chunk-LF24LEAH.cjs');require('./chunk-QTNMYMFV.cjs');require('./chunk-H5CKBHZR.cjs');require('./chunk-G3NONHT6.cjs');require('./chunk-GBKZIK6A.cjs');require('./chunk-WE5IMBZ6.cjs');require('./chunk-FAD6MIW3.cjs');require('./chunk-BQLOJAYW.cjs');require('./chunk-2VCWFEQH.cjs');require('./chunk-DHWMJITY.cjs');require('./chunk-6ISJWM6J.cjs');require('./chunk-WWDFLDG4.cjs');require('./chunk-OWJR5FYZ.cjs');var _boxen = require('boxen'); var _boxen2 = _interopRequireDefault(_boxen);var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var _leven = require('leven'); var _leven2 = _interopRequireDefault(_leven);var _updatenotifier = require('update-notifier'); var _updatenotifier2 = _interopRequireDefault(_updatenotifier);var d=await _updatenotifier2.default.call(void 0, {pkg:_chunk2LCBKKCIcjs.a,updateCheckInterval:1e3*60*60*2,shouldNotifyInNpmScript:!0,distTag:"latest"});d.notify();function A(s,o){let r=Number.POSITIVE_INFINITY,n=null;for(let i of o){let t=_leven2.default.call(void 0, s,i);t<r&&(r=t,n=i)}return r<=2?n:null}if(d.update){let{current:s,latest:o,type:r}=d.update,n=_chunk2LCBKKCIcjs.a.name,i=_optionalChain([_chunk2LCBKKCIcjs.a, 'optionalAccess', _ => _.repository, 'optionalAccess', _2 => _2.url])?`${_chunk2LCBKKCIcjs.a.repository.url.replace(/^git\+/,"").replace(/\.git$/,"")}/releases/latest`:null,t,l="",a="";switch(r){case"major":t=_chalk2.default.red.bold,l="Major ",a="\u{1F525}";break;case"minor":case"patch":t=_chalk2.default.yellow.bold,l="",a="\u2728";break;case"prerelease":case"build":t=_chalk2.default.cyan.italic,l="Pre-release ",a="\u{1F9EA}";break;default:t=_chalk2.default.gray,l="",a="\u2139\uFE0F"}let m=_chalk2.default.hex("#32CD32").bold(`${a} UPDATE AVAILABLE ${a}`),f=`${_chalk2.default.bold(l)}${t(r.toUpperCase())} Update`,g=`${_chalk2.default.dim("Current:")} ${_chalk2.default.white(s)} ${_chalk2.default.dim("\u2192")} ${_chalk2.default.green(o)} ${_chalk2.default.dim("(Latest)")}`,h=_chalk2.default.whiteBright(`Unlock the latest features and bug fixes for ${_chalk2.default.bold(n)}!`),$=_chalk2.default.yellow.bold("Upgrade by running one of these commands:"),y=[`npm install -g ${n} `,`pnpm install -g ${n}`,`yarn global add ${n}`,`bun add -g ${n} `].map(x=>_chalk2.default.blue.bold(` $ ${x}`)).join(` `),b=i?` ${_chalk2.default.underline.blue("See release notes:")} ${_chalk2.default.dim(i)} `:"",k=_chalk2.default.dim(` Tip: Restart your terminal or IDE after upgrade for changes to take effect.`),w=[m,"",f,"",g,"",h,"",$,y,b,k].join(` `);console.log(_boxen2.default.call(void 0, w,{padding:1,margin:1,borderColor:"#FF4500",borderStyle:"round",backgroundColor:"#1A1A1A",textAlignment:"center",title:_chalk2.default.bold.white(` ${n} Update `),titleAlignment:"center",float:"center"}))}process.on("uncaughtException",s=>{if(s instanceof Error&&s.name==="ExitPromptError"&&(console.log(` \u{1F44B} Exiting Rawi. Until next time!`),process.exit(0)),s instanceof Error){let o=s.message||"";if(o.includes("Unknown command")){let r=o.match(/Unknown command '([^']+)'/),n=r?r[1]:null,i=["ask","act","configure","provider","history","info"],t=null;if(n&&(t=A(n,i)),console.error(` ${_chalk2.default.red(`\u274C Unknown command: ${n||o}`)}`),t)console.info(_chalk2.default.yellowBright(`Did you mean '${t}'?`));else{let l=i.find(a=>n&&a.startsWith(n[0]));l&&console.info(_chalk2.default.yellowBright(`Did you mean '${l}'?`))}console.info(_chalk2.default.gray("Run `rawi --help` to see all available commands.")),process.exit(1)}o.includes("Missing required argument")&&(console.error(` ${_chalk2.default.red(`\u274C ${o}`)}`),console.info(_chalk2.default.gray("Use `--help` with the command for usage details.")),process.exit(1)),o.includes("Invalid option")&&(console.error(` ${_chalk2.default.red(`\u274C ${o}`)}`),console.info(_chalk2.default.gray("Check available options with `--help`.")),process.exit(1)),(o.includes("not configured")||o.includes("credentials"))&&(console.error(` ${_chalk2.default.red(`\u274C ${o}`)}`),console.info(_chalk2.default.yellow("Run `rawi configure` to set up your provider and credentials.")),process.exit(2)),(o.includes("network")||o.includes("timeout"))&&(console.error(` ${_chalk2.default.red(`\u274C ${o}`)}`),console.info(_chalk2.default.yellow("Check your internet connection or provider status.")),process.exit(3)),(o.includes("authentication")||o.includes("API key"))&&(console.error(` ${_chalk2.default.red(`\u274C ${o}`)}`),console.info(_chalk2.default.yellow("Check your API key and provider configuration.")),process.exit(4)),console.error(` ${_chalk2.default.red(`\u274C Unexpected error: ${o}`)}`),console.info(_chalk2.default.gray("If this issue persists, run `rawi info` for diagnostics or see the Troubleshooting guide.")),process.exit(1)}console.error(` \u274C An unknown error occurred.`),process.exit(1)});var p=_chunk7OU2YC4Mcjs.a.call(void 0, );process.argv.length<=2&&(p.outputHelp(),process.exit(0));p.parse(process.argv); /* 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=index.cjs.map