From dd65fa2f717ac94a00ec7f36477a9642c375fa9a Mon Sep 17 00:00:00 2001 From: SuYao Date: Sat, 18 Oct 2025 14:10:00 +0800 Subject: [PATCH] fix: handle AISDKError in chunk processing (#10801) --- .../src/aiCore/chunk/AiSdkToChunkAdapter.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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