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

4 lines 8 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } 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. */ var _chunkYTPAJ6Q2cjs = require('./chunk-YTPAJ6Q2.cjs');var _amazonbedrock = require('@ai-sdk/amazon-bedrock');var _ai = require('ai');var h=["amazon.titan-tg1-large","amazon.titan-text-express-v1","anthropic.claude-v2","anthropic.claude-v2:1","anthropic.claude-instant-v1","anthropic.claude-sonnet-4-20250514-v1:0","anthropic.claude-opus-4-20250514-v1:0","anthropic.claude-opus-4-1-20250805-v1:0","anthropic.claude-3-7-sonnet-20250219-v1:0","anthropic.claude-3-5-sonnet-20240620-v1:0","anthropic.claude-3-5-sonnet-20241022-v2:0","anthropic.claude-3-5-haiku-20241022-v1:0","anthropic.claude-3-sonnet-20240229-v1:0","anthropic.claude-3-haiku-20240307-v1:0","anthropic.claude-3-opus-20240229-v1:0","cohere.command-text-v14","cohere.command-light-text-v14","cohere.command-r-v1:0","cohere.command-r-plus-v1:0","meta.llama3-70b-instruct-v1:0","meta.llama3-8b-instruct-v1:0","meta.llama3-1-405b-instruct-v1:0","meta.llama3-1-70b-instruct-v1:0","meta.llama3-1-8b-instruct-v1:0","meta.llama3-2-11b-instruct-v1:0","meta.llama3-2-1b-instruct-v1:0","meta.llama3-2-3b-instruct-v1:0","meta.llama3-2-90b-instruct-v1:0","mistral.mistral-7b-instruct-v0:2","mistral.mixtral-8x7b-instruct-v0:1","mistral.mistral-large-2402-v1:0","mistral.mistral-small-2402-v1:0","openai.gpt-oss-120b-1:0","openai.gpt-oss-20b-1:0","amazon.titan-text-express-v1","amazon.titan-text-lite-v1","us.amazon.nova-premier-v1:0","us.amazon.nova-pro-v1:0","us.amazon.nova-micro-v1:0","us.amazon.nova-lite-v1:0","us.anthropic.claude-3-sonnet-20240229-v1:0","us.anthropic.claude-3-opus-20240229-v1:0","us.anthropic.claude-3-haiku-20240307-v1:0","us.anthropic.claude-3-5-sonnet-20240620-v1:0","us.anthropic.claude-3-5-haiku-20241022-v1:0","us.anthropic.claude-3-5-sonnet-20241022-v2:0","us.anthropic.claude-3-7-sonnet-20250219-v1:0","us.anthropic.claude-sonnet-4-20250514-v1:0","us.anthropic.claude-opus-4-20250514-v1:0","us.anthropic.claude-opus-4-1-20250805-v1:0","us.meta.llama3-2-11b-instruct-v1:0","us.meta.llama3-2-3b-instruct-v1:0","us.meta.llama3-2-90b-instruct-v1:0","us.meta.llama3-2-1b-instruct-v1:0","us.meta.llama3-1-8b-instruct-v1:0","us.meta.llama3-1-70b-instruct-v1:0","us.meta.llama3-3-70b-instruct-v1:0","us.deepseek.r1-v1:0","us.mistral.pixtral-large-2502-v1:0","us.meta.llama4-scout-17b-instruct-v1:0","us.meta.llama4-maverick-17b-instruct-v1:0"],S= exports.a =h.map(t=>({name:t,displayName:t})),E= exports.b ={name:"bedrock",displayName:"\u{1F7E1} Amazon Bedrock",models:S},g= exports.c =async(t,d)=>{try{let e=t.providerSettings,r=_optionalChain([e, 'optionalAccess', _ => _.region])||process.env.AWS_REGION||"us-east-1",o;if(_optionalChain([e, 'optionalAccess', _2 => _2.useProviderChain]))try{let{fromNodeProviderChain:c}=await Promise.resolve().then(() => _interopRequireWildcard(require("@aws-sdk/credential-providers")));o=_amazonbedrock.createAmazonBedrock.call(void 0, {region:r,credentialProvider:c()})}catch (e2){throw new Error("Failed to load AWS credential provider chain. Make sure you have installed @aws-sdk/credential-providers package: npm install @aws-sdk/credential-providers")}else{let c=_optionalChain([e, 'optionalAccess', _3 => _3.accessKeyId])||process.env.AWS_ACCESS_KEY_ID,a=_optionalChain([e, 'optionalAccess', _4 => _4.secretAccessKey])||process.env.AWS_SECRET_ACCESS_KEY,s=_optionalChain([e, 'optionalAccess', _5 => _5.sessionToken])||process.env.AWS_SESSION_TOKEN;if(!c||!a)throw new Error("AWS access key ID and secret access key are required for Amazon Bedrock");o=_amazonbedrock.createAmazonBedrock.call(void 0, {region:r,credentialProvider:()=>Promise.resolve({accessKeyId:c,secretAccessKey:a,sessionToken:s})})}let n=_ai.streamText.call(void 0, {model:o(t.model),prompt:d,temperature:t.temperature||.7,maxOutputTokens:t.maxTokens||2048});return{textStream:n.textStream,fullResponse:n.text}}catch(e){throw new Error(`Error calling Amazon Bedrock streaming API: ${e instanceof Error?e.message:String(e)}`)}},C= exports.d ={name:"bedrock",displayName:"\u{1F7E1} Amazon Bedrock",async streamChat(t,d,e={}){let r=t.providerSettings||{},o=r.region||process.env.AWS_REGION||"us-east-1",n;if(r.useProviderChain)try{let{fromNodeProviderChain:a}=await Promise.resolve().then(() => _interopRequireWildcard(require("@aws-sdk/credential-providers")));n=_amazonbedrock.createAmazonBedrock.call(void 0, {region:o,credentialProvider:a()})}catch (e3){throw new Error("Failed to load AWS credential provider chain.")}else{let a=r.accessKeyId||process.env.AWS_ACCESS_KEY_ID,s=r.secretAccessKey||process.env.AWS_SECRET_ACCESS_KEY,m=_optionalChain([r, 'optionalAccess', _6 => _6.sessionToken])||process.env.AWS_SESSION_TOKEN;if(!a||!s)throw new Error("AWS access key ID and secret access key are required for Amazon Bedrock");n=_amazonbedrock.createAmazonBedrock.call(void 0, {region:o,credentialProvider:()=>Promise.resolve({accessKeyId:a,secretAccessKey:s,sessionToken:m})})}return _ai.streamText.call(void 0, {model:n(t.model),messages:d,temperature:t.temperature||e.temperature||.7,maxOutputTokens:t.maxTokens||e.maxTokens||2048}).textStream}},b= exports.e =async t=>{let d=Date.now();try{let e=t.credentials.providerSettings,r=_optionalChain([e, 'optionalAccess', _7 => _7.region])||process.env.AWS_REGION||"us-east-1",o;if(_optionalChain([e, 'optionalAccess', _8 => _8.useProviderChain]))try{let{fromNodeProviderChain:s}=await Promise.resolve().then(() => _interopRequireWildcard(require("@aws-sdk/credential-providers")));o=_amazonbedrock.createAmazonBedrock.call(void 0, {region:r,credentialProvider:s()})}catch (e4){throw new Error("Failed to load AWS credential provider chain.")}else{let s=_optionalChain([e, 'optionalAccess', _9 => _9.accessKeyId])||process.env.AWS_ACCESS_KEY_ID,m=_optionalChain([e, 'optionalAccess', _10 => _10.secretAccessKey])||process.env.AWS_SECRET_ACCESS_KEY,p=_optionalChain([e, 'optionalAccess', _11 => _11.sessionToken])||process.env.AWS_SESSION_TOKEN;if(!s||!m)throw new Error("AWS access key ID and secret access key are required for Amazon Bedrock");o=_amazonbedrock.createAmazonBedrock.call(void 0, {region:r,credentialProvider:()=>Promise.resolve({accessKeyId:s,secretAccessKey:m,sessionToken:p})})}let n=await _ai.generateText.call(void 0, {model:o(t.credentials.model),system:t.systemPrompt,prompt:t.userPrompt}),c=Date.now()-d;return{command:_chunkYTPAJ6Q2cjs.a.call(void 0, n.text),generationTime:c}}catch(e){throw new Error(`Amazon Bedrock exec generation failed: ${e}`)}};exports.a = S; exports.b = E; exports.c = g; exports.d = C; exports.e = b; /* 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-HBDUKCEZ.cjs.map