Skip to content

Commit 71cdc3c

Browse files
committed
Fix bug: resolveMessageId never called if aisdk errors
1 parent 8b59ae5 commit 71cdc3c

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

backend/src/llm-apis/vercel-ai-sdk/ai-sdk.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export const promptAiSdkStream = async function* (
8282
maxRetries?: number
8383
onCostCalculated?: (credits: number) => Promise<void>
8484
includeCacheControl?: boolean
85-
resolveMessageId?: (messageId: string) => unknown
85+
resolveMessageId: (messageId: string | undefined) => unknown
8686
} & Omit<Parameters<typeof streamText>[0], 'model' | 'messages'>,
8787
): AsyncGenerator<StreamChunk> {
8888
if (
@@ -150,6 +150,10 @@ export const promptAiSdkStream = async function* (
150150
type: 'error',
151151
message: errorMessage,
152152
}
153+
154+
// Important: we need to resolve the message id before returning.
155+
options.resolveMessageId(undefined)
156+
153157
return
154158
}
155159
if (chunk.type === 'reasoning-delta') {

backend/src/prompt-agent-stream.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export const getAgentStreamFromTemplate = (params: {
3636
const { model } = template
3737

3838
const { promise: messageIdPromise, resolve: resolveMessageId } =
39-
Promise.withResolvers<string>()
39+
Promise.withResolvers<string | undefined>()
4040

4141
const getStream = (messages: Message[]) => {
4242
const options: Parameters<typeof promptAiSdkStream>[0] = {

0 commit comments

Comments
 (0)