Skip to content

Commit ca5e85d

Browse files
authored
fix: prompt caching for opus on bedrock (#11664)
1 parent 01cec84 commit ca5e85d

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

packages/opencode/src/provider/transform.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ export namespace ProviderTransform {
179179
cacheControl: { type: "ephemeral" },
180180
},
181181
bedrock: {
182-
cachePoint: { type: "ephemeral" },
182+
cachePoint: { type: "default" },
183183
},
184184
openaiCompatible: {
185185
cache_control: { type: "ephemeral" },
@@ -190,7 +190,8 @@ export namespace ProviderTransform {
190190
}
191191

192192
for (const msg of unique([...system, ...final])) {
193-
const shouldUseContentOptions = providerID !== "anthropic" && Array.isArray(msg.content) && msg.content.length > 0
193+
const useMessageLevelOptions = providerID === "anthropic" || providerID.includes("bedrock")
194+
const shouldUseContentOptions = !useMessageLevelOptions && Array.isArray(msg.content) && msg.content.length > 0
194195

195196
if (shouldUseContentOptions) {
196197
const lastContent = msg.content[msg.content.length - 1]

packages/opencode/test/provider/transform.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1166,7 +1166,7 @@ describe("ProviderTransform.message - claude w/bedrock custom inference profile"
11661166
expect(result[0].providerOptions?.bedrock).toEqual(
11671167
expect.objectContaining({
11681168
cachePoint: {
1169-
type: "ephemeral",
1169+
type: "default",
11701170
},
11711171
}),
11721172
)

0 commit comments

Comments
 (0)