diff --git a/src/renderer/src/aiCore/chunk/AiSdkToChunkAdapter.ts b/src/renderer/src/aiCore/chunk/AiSdkToChunkAdapter.ts index 8627b9f010..d5bc040551 100644 --- a/src/renderer/src/aiCore/chunk/AiSdkToChunkAdapter.ts +++ b/src/renderer/src/aiCore/chunk/AiSdkToChunkAdapter.ts @@ -9,7 +9,7 @@ import { Chunk, ChunkType } from '@renderer/types/chunk' import { ProviderSpecificError } from '@renderer/types/provider-specific-error' import { formatErrorMessage } from '@renderer/utils/error' import { convertLinks, flushLinkConverterBuffer } from '@renderer/utils/linkConverter' -import type { TextStreamPart, ToolSet } from 'ai' +import { AISDKError, type TextStreamPart, type ToolSet } from 'ai' import { ToolCallChunkHandler } from './handleToolCallChunk' @@ -342,11 +342,14 @@ export class AiSdkToChunkAdapter { case 'error': this.onChunk({ type: ChunkType.ERROR, - error: new ProviderSpecificError({ - message: formatErrorMessage(chunk.error), - provider: 'unknown', - cause: chunk.error - }) + error: + chunk.error instanceof AISDKError + ? chunk.error + : new ProviderSpecificError({ + message: formatErrorMessage(chunk.error), + provider: 'unknown', + cause: chunk.error + }) }) break