|
|
@@ -1096,6 +1096,38 @@ describe("ProviderTransform.message - anthropic empty content filtering", () =>
|
|
|
expect(result[0].content[1]).toEqual({ type: "text", text: "Result" })
|
|
|
})
|
|
|
|
|
|
+ test("filters empty content for bedrock provider", () => {
|
|
|
+ const bedrockModel = {
|
|
|
+ ...anthropicModel,
|
|
|
+ id: "amazon-bedrock/anthropic.claude-opus-4-6",
|
|
|
+ providerID: "amazon-bedrock",
|
|
|
+ api: {
|
|
|
+ id: "anthropic.claude-opus-4-6",
|
|
|
+ url: "https://bedrock-runtime.us-east-1.amazonaws.com",
|
|
|
+ npm: "@ai-sdk/amazon-bedrock",
|
|
|
+ },
|
|
|
+ }
|
|
|
+
|
|
|
+ const msgs = [
|
|
|
+ { role: "user", content: "Hello" },
|
|
|
+ { role: "assistant", content: "" },
|
|
|
+ {
|
|
|
+ role: "assistant",
|
|
|
+ content: [
|
|
|
+ { type: "text", text: "" },
|
|
|
+ { type: "text", text: "Answer" },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ] as any[]
|
|
|
+
|
|
|
+ const result = ProviderTransform.message(msgs, bedrockModel, {})
|
|
|
+
|
|
|
+ expect(result).toHaveLength(2)
|
|
|
+ expect(result[0].content).toBe("Hello")
|
|
|
+ expect(result[1].content).toHaveLength(1)
|
|
|
+ expect(result[1].content[0]).toEqual({ type: "text", text: "Answer" })
|
|
|
+ })
|
|
|
+
|
|
|
test("does not filter for non-anthropic providers", () => {
|
|
|
const openaiModel = {
|
|
|
...anthropicModel,
|