UNPKG

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

1 lines 6.79 kB
{"version":3,"sources":["/home/mkabumattar/withrawi/rawi/dist/chunk-K5NJVUL4.cjs","../src/core/providers/index.ts","../src/core/providers/utils.ts"],"names":["providers","anthropicProvider","azureProvider","bedrockProvider","cerebrasProvider","deepSeekProvider","googleProvider","mistralProvider","ollamaProvider","openaiProvider","qwenProvider","xaiProvider","lmstudioProvider","getProvider","name","getAllProviders","getProviderNames","streamResponse","credentials","prompt","streamWithGoogle","streamWithOllama","streamWithAnthropic","streamWithOpenAI","streamWithXAI","streamWithAzure","streamWithBedrock","streamWithQwen","streamWithLMStudio","streamWithDeepSeek","streamWithMistral","streamWithCerebras"],"mappings":"AAAA;AACA,wDAA0C,wDAAgD,wDAAgD,wDAAgD,wDAAgD,wDAAgD,wDAAgD,wDAAgD,wDAAgD,wDAAgD,wDAAgD,wDAAgD,IC2B7iBA,CAAAA,CAAuD,CAClE,SAAA,CAAWC,mBAAAA,CACX,KAAA,CAAOC,mBAAAA,CACP,OAAA,CAASC,mBAAAA,CACT,QAAA,CAAUC,mBAAAA,CACV,QAAA,CAAUC,mBAAAA,CACV,MAAA,CAAQC,mBAAAA,CACR,OAAA,CAASC,mBAAAA,CACT,MAAA,CAAQC,mBAAAA,CACR,MAAA,CAAQC,mBAAAA,CACR,IAAA,CAAMC,mBAAAA,CACN,GAAA,CAAKC,mBAAAA,CACL,QAAA,CAAUC,mBACZ,CAAA,CAEaC,CAAAA,aAAeC,CAAAA,EACnBd,CAAAA,CAAUc,CAAI,CAAA,CAGVC,CAAAA,aAAkB,CAAA,CAAA,EACtB,MAAA,CAAO,MAAA,CAAOf,CAAS,CAAA,CAGnBgB,CAAAA,aAAmB,CAAA,CAAA,EACvB,MAAA,CAAO,IAAA,CAAKhB,CAAS,CAAA,CCpCvB,IAAMiB,CAAAA,CAAiB,KAAA,CAC5BC,CAAAA,CACAC,CAAAA,CAAAA,EAC+B,CAC/B,MAAA,CAAQD,CAAAA,CAAY,QAAA,CAAU,CAC5B,IAAK,QAAA,CACH,OAAO,MAAME,iCAAAA,CAAiBF,CAAaC,CAAM,CAAA,CACnD,IAAK,QAAA,CACH,OAAO,MAAME,iCAAAA,CAAiBH,CAAaC,CAAM,CAAA,CACnD,IAAK,WAAA,CACH,OAAO,MAAMG,iCAAAA,CAAoBJ,CAAaC,CAAM,CAAA,CACtD,IAAK,QAAA,CACH,OAAO,MAAMI,iCAAAA,CAAiBL,CAAaC,CAAM,CAAA,CACnD,IAAK,KAAA,CACH,OAAO,MAAMK,iCAAAA,CAAcN,CAAaC,CAAM,CAAA,CAChD,IAAK,OAAA,CACH,OAAO,MAAMM,iCAAAA,CAAgBP,CAAaC,CAAM,CAAA,CAClD,IAAK,SAAA,CACH,OAAO,MAAMO,iCAAAA,CAAkBR,CAAaC,CAAM,CAAA,CACpD,IAAK,MAAA,CACH,OAAO,MAAMQ,iCAAAA,CAAeT,CAAaC,CAAM,CAAA,CACjD,IAAK,UAAA,CACH,OAAO,MAAMS,iCAAAA,CAAmBV,CAAaC,CAAM,CAAA,CACrD,IAAK,UAAA,CACH,OAAO,MAAMU,iCAAAA,CAAmBX,CAAaC,CAAM,CAAA,CACrD,IAAK,SAAA,CACH,OAAO,MAAMW,iCAAAA,CAAkBZ,CAAaC,CAAM,CAAA,CACpD,IAAK,UAAA,CACH,OAAO,MAAMY,iCAAAA,CAAmBb,CAAaC,CAAM,CAAA,CACrD,OAAA,CACE,MAAM,IAAI,KAAA,CAAM,CAAA,sBAAA,EAAyBD,CAAAA,CAAY,QAAQ,CAAA,CAAA;AF5C0pC","file":"/home/mkabumattar/withrawi/rawi/dist/chunk-K5NJVUL4.cjs","sourcesContent":[null,"export * from './amazon-bedrock.provider.js';\nexport * from './anthropic.provider.js';\nexport * from './azura.provider.js';\nexport * from './cerebras.provider.js';\nexport * from './deepseek.provider.js';\nexport * from './google.provider.js';\nexport * from './lmstudio.provider.js';\nexport * from './mistral.provider.js';\nexport * from './ollama.provider.js';\nexport * from './openai.provider.js';\nexport * from './qwen.provider.js';\nexport * from './utils.js';\nexport * from './xai.provider.js';\n\nimport type {ProviderConfig, SupportedProvider} from '../shared/types.js';\nimport {bedrockProvider} from './amazon-bedrock.provider.js';\nimport {anthropicProvider} from './anthropic.provider.js';\nimport {azureProvider} from './azura.provider.js';\nimport {cerebrasProvider} from './cerebras.provider.js';\nimport {deepSeekProvider} from './deepseek.provider.js';\nimport {googleProvider} from './google.provider.js';\nimport {lmstudioProvider} from './lmstudio.provider.js';\nimport {mistralProvider} from './mistral.provider.js';\nimport {ollamaProvider} from './ollama.provider.js';\nimport {openaiProvider} from './openai.provider.js';\nimport {qwenProvider} from './qwen.provider.js';\nimport {xaiProvider} from './xai.provider.js';\n\nexport const providers: Record<SupportedProvider, ProviderConfig> = {\n anthropic: anthropicProvider,\n azure: azureProvider,\n bedrock: bedrockProvider,\n cerebras: cerebrasProvider,\n deepseek: deepSeekProvider,\n google: googleProvider,\n mistral: mistralProvider,\n ollama: ollamaProvider,\n openai: openaiProvider,\n qwen: qwenProvider,\n xai: xaiProvider,\n lmstudio: lmstudioProvider,\n};\n\nexport const getProvider = (name: SupportedProvider): ProviderConfig => {\n return providers[name];\n};\n\nexport const getAllProviders = (): ProviderConfig[] => {\n return Object.values(providers);\n};\n\nexport const getProviderNames = (): SupportedProvider[] => {\n return Object.keys(providers) as SupportedProvider[];\n};\n","import type {RawiCredentials, StreamingResponse} from '../shared/index.js';\nimport {\n streamWithAnthropic,\n streamWithAzure,\n streamWithBedrock,\n streamWithCerebras,\n streamWithDeepSeek,\n streamWithGoogle,\n streamWithLMStudio,\n streamWithMistral,\n streamWithOllama,\n streamWithOpenAI,\n streamWithQwen,\n streamWithXAI,\n} from './index.js';\n\nexport const streamResponse = async (\n credentials: RawiCredentials,\n prompt: string,\n): Promise<StreamingResponse> => {\n switch (credentials.provider) {\n case 'google':\n return await streamWithGoogle(credentials, prompt);\n case 'ollama':\n return await streamWithOllama(credentials, prompt);\n case 'anthropic':\n return await streamWithAnthropic(credentials, prompt);\n case 'openai':\n return await streamWithOpenAI(credentials, prompt);\n case 'xai':\n return await streamWithXAI(credentials, prompt);\n case 'azure':\n return await streamWithAzure(credentials, prompt);\n case 'bedrock':\n return await streamWithBedrock(credentials, prompt);\n case 'qwen':\n return await streamWithQwen(credentials, prompt);\n case 'lmstudio':\n return await streamWithLMStudio(credentials, prompt);\n case 'deepseek':\n return await streamWithDeepSeek(credentials, prompt);\n case 'mistral':\n return await streamWithMistral(credentials, prompt);\n case 'cerebras':\n return await streamWithCerebras(credentials, prompt);\n default:\n throw new Error(`Unsupported provider: ${credentials.provider}`);\n }\n};\n\nexport const processQuery = async (\n credentials: RawiCredentials,\n prompt: string,\n options: {\n streaming?: boolean;\n onChunk?: (chunk: string) => void;\n onComplete?: (fullResponse: string) => void;\n onError?: (error: Error) => void;\n } = {},\n): Promise<string> => {\n try {\n const streamingResponse = await streamResponse(credentials, prompt);\n let fullResponse = '';\n\n for await (const chunk of streamingResponse.textStream) {\n fullResponse += chunk;\n if (options.onChunk) {\n options.onChunk(chunk);\n }\n }\n\n if (options.onComplete) {\n options.onComplete(fullResponse);\n }\n\n return fullResponse;\n } catch (error) {\n if (options.onError) {\n options.onError(\n error instanceof Error ? error : new Error(String(error)),\n );\n }\n throw error;\n }\n};\n"]}