{"version":3,"sources":["/home/mkabumattar/withrawi/rawi/dist/chunk-DQXNPI2P.cjs","../src/core/providers/xai.provider.ts"],"names":["xaiModelIds","xaiModels","name","xaiProvider","streamWithXAI","credentials","prompt","settings","apiKey","baseURL","createXai","result","streamText","error"],"mappings":"AAAA;ACCA,kCAAwB,wBACC,IAYnBA,CAAAA,CAAc,CAClB,QAAA,CACA,eAAA,CACA,aAAA,CACA,oBAAA,CACA,aAAA,CACA,oBAAA,CACA,kBAAA,CACA,yBAAA,CACA,oBAAA,CACA,eAAA,CACA,sBAAA,CACA,mBAAA,CACA,cAAA,CACA,qBAAA,CACA,aAAA,CACA,QAAA,CACA,eAAA,CACA,kBAAA,CACA,WACF,CAAA,CAEaC,CAAAA,aAAyBD,CAAAA,CAAY,GAAA,CAAKE,CAAAA,EAAAA,CAAU,CAC/D,IAAA,CAAAA,CAAAA,CACA,WAAA,CAAaA,CACf,CAAA,CAAE,CAAA,CAEWC,CAAAA,aAAc,CACzB,IAAA,CAAM,KAAA,CACN,WAAA,CAAa,sBAAA,CACb,MAAA,CAAQF,CACV,CAAA,CAEaG,CAAAA,aAAgB,KAAA,CAC3BC,CAAAA,CACAC,CAAAA,CAAAA,EAC+B,CAC/B,GAAI,CACF,IAAMC,CAAAA,CAAWF,CAAAA,CAAY,gBAAA,CAEvBG,CAAAA,iBAASD,CAAAA,2BAAU,QAAA,EAAUF,CAAAA,CAAY,MAAA,CAE/C,EAAA,CAAI,CAACG,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,6BAA6B,CAAA,CAG/C,IAAMC,CAAAA,iBAAUF,CAAAA,6BAAU,SAAA,EAAW,qBAAA,CAE/BJ,CAAAA,CAAcO,4BAAAA,CAClB,MAAA,CAAQF,CAAAA,CACR,OAAA,CAASC,CACX,CAAC,CAAA,CAEKE,CAAAA,CAASC,4BAAAA,CACb,KAAA,CAAOT,CAAAA,CAAYE,CAAAA,CAAY,KAAK,CAAA,CACpC,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,CAAYM,CAAAA,CAAO,UAAA,CACnB,YAAA,CAAcA,CAAAA,CAAO,IACvB,CACF,CAAA,KAAA,CAASE,CAAAA,CAAO,CACd,MAAM,IAAI,KAAA,CACR,CAAA,iCAAA,EACEA,EAAAA,WAAiB,KAAA,CAAQA,CAAAA,CAAM,OAAA,CAAU,MAAA,CAAOA,CAAK,CACvD,CAAA,CAAA;ADhF65B","file":"/home/mkabumattar/withrawi/rawi/dist/chunk-DQXNPI2P.cjs","sourcesContent":[null,"import type {xai} from '@ai-sdk/xai';\nimport {createXai} from '@ai-sdk/xai';\nimport {streamText} from 'ai';\nimport type {\n  LooseToStrict,\n  ModelInfo,\n  RawiCredentials,\n  StreamingResponse,\n  XAISettings,\n} from '../shared/index.js';\n\ntype LooseXaiModelId = Parameters<typeof xai>[0];\nexport type XaiModelId = LooseToStrict<LooseXaiModelId>;\n\nconst xaiModelIds = [\n  'grok-3',\n  'grok-3-latest',\n  'grok-3-fast',\n  'grok-3-fast-latest',\n  'grok-3-mini',\n  'grok-3-mini-latest',\n  'grok-3-mini-fast',\n  'grok-3-mini-fast-latest',\n  'grok-2-vision-1212',\n  'grok-2-vision',\n  'grok-2-vision-latest',\n  'grok-2-image-1212',\n  'grok-2-image',\n  'grok-2-image-latest',\n  'grok-2-1212',\n  'grok-2',\n  'grok-2-latest',\n  'grok-vision-beta',\n  'grok-beta',\n] as const;\n\nexport const xaiModels: ModelInfo[] = xaiModelIds.map((name) => ({\n  name,\n  displayName: name,\n}));\n\nexport const xaiProvider = {\n  name: 'xai' as const,\n  displayName: '🤖 xAI (Grok)',\n  models: xaiModels,\n};\n\nexport const streamWithXAI = async (\n  credentials: RawiCredentials,\n  prompt: string,\n): Promise<StreamingResponse> => {\n  try {\n    const settings = credentials.providerSettings as XAISettings | undefined;\n\n    const apiKey = settings?.apiKey || credentials.apiKey;\n\n    if (!apiKey) {\n      throw new Error('API key is required for xAI');\n    }\n\n    const baseURL = settings?.baseURL || 'https://api.x.ai/v1';\n\n    const xaiProvider = createXai({\n      apiKey: apiKey,\n      baseURL: baseURL,\n    });\n\n    const result = streamText({\n      model: xaiProvider(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 xAI streaming API: ${\n        error instanceof Error ? error.message : String(error)\n      }`,\n    );\n  }\n};\n"]}