From d48fba304c8ea47d82e425b87337c7a1a8e8a84c Mon Sep 17 00:00:00 2001 From: "dayuan.jiang" Date: Mon, 1 Dec 2025 00:59:50 +0900 Subject: [PATCH] fix: filter out messages with empty content arrays for Bedrock API The convertToModelMessages function from AI SDK can produce messages with empty content arrays when assistant messages have only tool call parts or when tool results aren't properly converted. Bedrock API rejects these with 400 errors. This fix filters out invalid messages before sending to the API. --- app/api/chat/route.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/api/chat/route.ts b/app/api/chat/route.ts index 29cf692..437d849 100644 --- a/app/api/chat/route.ts +++ b/app/api/chat/route.ts @@ -90,7 +90,10 @@ ${lastMessageText} // Convert UIMessages to ModelMessages and add system message const modelMessages = convertToModelMessages(messages); - let enhancedMessages = [...modelMessages]; + // Filter out messages with empty content arrays (Bedrock API rejects these) + let enhancedMessages = modelMessages.filter((msg: any) => + msg.content && Array.isArray(msg.content) && msg.content.length > 0 + ); // Update the last message with formatted content if it's a user message if (enhancedMessages.length >= 1) {