diff --git a/.changeset/brave-candles-hope.md b/.changeset/brave-candles-hope.md new file mode 100644 index 0000000000..e9182b55ce --- /dev/null +++ b/.changeset/brave-candles-hope.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +Fix: remove mistral lib type dependency. diff --git a/packages/core/streams/mistral-stream.ts b/packages/core/streams/mistral-stream.ts index 4f288618ac..c275fc78b6 100644 --- a/packages/core/streams/mistral-stream.ts +++ b/packages/core/streams/mistral-stream.ts @@ -1,4 +1,3 @@ -import { ChatCompletionResponseChunk } from '@mistralai/mistralai'; import { createCallbacksTransformer, readableFromAsyncIterable, @@ -6,6 +5,35 @@ import { } from './ai-stream'; import { createStreamDataTransformer } from './stream-data'; +interface ChatCompletionResponseChunk { + id: string; + object: 'chat.completion.chunk'; + created: number; + model: string; + choices: ChatCompletionResponseChunkChoice[]; +} + +interface ChatCompletionResponseChunkChoice { + index: number; + delta: { + role?: string; + content?: string; + tool_calls?: ToolCalls[]; + }; + finish_reason: string; +} + +interface FunctionCall { + name: string; + arguments: string; +} + +interface ToolCalls { + id: 'null'; + type: 'function'; + function: FunctionCall; +} + async function* streamable(stream: AsyncIterable) { for await (const chunk of stream) { const content = chunk.choices[0]?.delta?.content;