From ca5e85d6eab37e8f82ece19dcc482752acbe2ad5 Mon Sep 17 00:00:00 2001 From: Rohan Godha Date: Sun, 1 Feb 2026 15:42:42 -0500 Subject: [PATCH] fix: prompt caching for opus on bedrock (#11664) --- packages/opencode/src/provider/transform.ts | 5 +++-- packages/opencode/test/provider/transform.test.ts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index f5fe419db..68220b90c 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -179,7 +179,7 @@ export namespace ProviderTransform { cacheControl: { type: "ephemeral" }, }, bedrock: { - cachePoint: { type: "ephemeral" }, + cachePoint: { type: "default" }, }, openaiCompatible: { cache_control: { type: "ephemeral" }, @@ -190,7 +190,8 @@ export namespace ProviderTransform { } for (const msg of unique([...system, ...final])) { - const shouldUseContentOptions = providerID !== "anthropic" && Array.isArray(msg.content) && msg.content.length > 0 + const useMessageLevelOptions = providerID === "anthropic" || providerID.includes("bedrock") + const shouldUseContentOptions = !useMessageLevelOptions && Array.isArray(msg.content) && msg.content.length > 0 if (shouldUseContentOptions) { const lastContent = msg.content[msg.content.length - 1] diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts index 0973e6158..cbb9ddbc4 100644 --- a/packages/opencode/test/provider/transform.test.ts +++ b/packages/opencode/test/provider/transform.test.ts @@ -1166,7 +1166,7 @@ describe("ProviderTransform.message - claude w/bedrock custom inference profile" expect(result[0].providerOptions?.bedrock).toEqual( expect.objectContaining({ cachePoint: { - type: "ephemeral", + type: "default", }, }), )