diff options
| author | Rohan Godha <[email protected]> | 2026-02-01 15:42:42 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-02-01 14:42:42 -0600 |
| commit | ca5e85d6eab37e8f82ece19dcc482752acbe2ad5 (patch) | |
| tree | 450f29912b1585e88312167d7e1d25e6e64a6eb7 | |
| parent | 01cec84789235c4cc9db65953bfa358f43b13888 (diff) | |
| download | opencode-ca5e85d6eab37e8f82ece19dcc482752acbe2ad5.tar.gz opencode-ca5e85d6eab37e8f82ece19dcc482752acbe2ad5.zip | |
fix: prompt caching for opus on bedrock (#11664)
| -rw-r--r-- | packages/opencode/src/provider/transform.ts | 5 | ||||
| -rw-r--r-- | 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", }, }), ) |
