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 3.31 kB
{"version":3,"sources":["/home/mkabumattar/withrawi/rawi/dist/chunk-PLNANJ2O.cjs","../src/core/providers/deepseek.provider.ts"],"names":["deepSeekModelIds","deepSeekModels","name","deepSeekProvider","streamWithDeepSeek","credentials","prompt","settings","apiKey","baseURL","deepseekProvider","createDeepSeek","result","streamText","error"],"mappings":"AAAA;ACAA,4CAA4C,wBACnB,IAYZA,CAAAA,CAAmB,CAAC,eAAA,CAAiB,mBAAmB,CAAA,CAExDC,CAAAA,aAA8BD,CAAAA,CAAiB,GAAA,CAAKE,CAAAA,EAAAA,CAAU,CACzE,IAAA,CAAAA,CAAAA,CACA,WAAA,CAAaA,CACf,CAAA,CAAE,CAAA,CAEWC,CAAAA,aAAmB,CAC9B,IAAA,CAAM,UAAA,CACN,WAAA,CAAa,oBAAA,CACb,MAAA,CAAQF,CACV,CAAA,CAEaG,CAAAA,aAAqB,KAAA,CAChCC,CAAAA,CACAC,CAAAA,CAAAA,EAC+B,CAC/B,GAAI,CACF,IAAMC,CAAAA,CAAWF,CAAAA,CAAY,gBAAA,CAIvBG,CAAAA,iBAASD,CAAAA,2BAAU,QAAA,EAAUF,CAAAA,CAAY,MAAA,CAE/C,EAAA,CAAI,CAACA,CAAAA,CAAY,MAAA,CACf,MAAM,IAAI,KAAA,CAAM,kCAAkC,CAAA,CAGpD,IAAMI,CAAAA,iBAAUF,CAAAA,6BAAU,SAAA,EAAW,6BAAA,CAE/BG,CAAAA,CAAmBC,sCAAAA,CACvB,MAAA,CAAQH,CAAAA,CACR,OAAA,CAASC,CACX,CAAC,CAAA,CAEKG,CAAAA,CAASC,4BAAAA,CACb,KAAA,CAAOH,CAAAA,CAAiBL,CAAAA,CAAY,KAAK,CAAA,CACzC,MAAA,CAAAC,CAAAA,CACA,WAAA,CAAaD,CAAAA,CAAY,WAAA,EAAe,EAAA,CACxC,SAAA,CAAWA,CAAAA,CAAY,SAAA,EAAa,IACtC,CAAC,CAAA,CAED,MAAO,CACL,UAAA,CAAYO,CAAAA,CAAO,UAAA,CACnB,YAAA,CAAcA,CAAAA,CAAO,IACvB,CACF,CAAA,KAAA,CAASE,CAAAA,CAAO,CACd,MAAM,IAAI,KAAA,CACR,CAAA,sCAAA,EACEA,EAAAA,WAAiB,KAAA,CAAQA,CAAAA,CAAM,OAAA,CAAU,MAAA,CAAOA,CAAK,CACvD,CAAA,CAAA;AD7DgqB","file":"/home/mkabumattar/withrawi/rawi/dist/chunk-PLNANJ2O.cjs","sourcesContent":[null,"import {createDeepSeek, type deepseek} from '@ai-sdk/deepseek';\nimport {streamText} from 'ai';\nimport type {\n DeepSeekSettings,\n LooseToStrict,\n ModelInfo,\n RawiCredentials,\n StreamingResponse,\n} from '../shared/index.js';\n\ntype LooseDeepSeekModelId = Parameters<typeof deepseek>[0];\nexport type DeepSeekModelId = LooseToStrict<LooseDeepSeekModelId>;\n\nexport const deepSeekModelIds = ['deepseek-chat', 'deepseek-reasoner'] as const;\n\nexport const deepSeekModels: ModelInfo[] = deepSeekModelIds.map((name) => ({\n name,\n displayName: name,\n}));\n\nexport const deepSeekProvider = {\n name: 'deepseek' as const,\n displayName: '🔵 DeepSeek',\n models: deepSeekModels,\n};\n\nexport const streamWithDeepSeek = async (\n credentials: RawiCredentials,\n prompt: string,\n): Promise<StreamingResponse> => {\n try {\n const settings = credentials.providerSettings as\n | DeepSeekSettings\n | undefined;\n\n const apiKey = settings?.apiKey || credentials.apiKey;\n \n if (!credentials.apiKey) {\n throw new Error('API key is required for DeepSeek');\n }\n\n const baseURL = settings?.baseURL || 'https://api.deepseek.com/v1';\n\n const deepseekProvider = createDeepSeek({\n apiKey: apiKey,\n baseURL: baseURL,\n });\n\n const result = streamText({\n model: deepseekProvider(credentials.model),\n prompt,\n temperature: credentials.temperature || 0.7,\n maxTokens: credentials.maxTokens || 2048,\n });\n\n return {\n textStream: result.textStream,\n fullResponse: result.text,\n };\n } catch (error) {\n throw new Error(\n `Error calling DeepSeek streaming API: ${\n error instanceof Error ? error.message : String(error)\n }`,\n );\n }\n};\n"]}