fix: Claude w/bedrock custom inference profile - caching support (#9838)

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
This commit is contained in:
Stephen Collings
2026-01-21 16:42:13 +00:00
committed by GitHub
parent 178767af70
commit 0e1a8a1839
3 changed files with 58 additions and 0 deletions

View File

@@ -248,6 +248,8 @@ export namespace ProviderTransform {
model.providerID === "anthropic" ||
model.api.id.includes("anthropic") ||
model.api.id.includes("claude") ||
model.id.includes("anthropic") ||
model.id.includes("claude") ||
model.api.npm === "@ai-sdk/anthropic"
) {
msgs = applyCaching(msgs, model.providerID)

View File

@@ -996,6 +996,41 @@ describe("ProviderTransform.message - providerOptions key remapping", () => {
})
})
describe("ProviderTransform.message - claude w/bedrock custom inference profile", () => {
test("adds cachePoint", () => {
const model = {
id: "amazon-bedrock/custom-claude-sonnet-4.5",
providerID: "amazon-bedrock",
api: {
id: "arn:aws:bedrock:xxx:yyy:application-inference-profile/zzz",
url: "https://api.test.com",
npm: "@ai-sdk/amazon-bedrock",
},
name: "Custom inference profile",
capabilities: {},
options: {},
headers: {},
} as any
const msgs = [
{
role: "user",
content: "Hello",
},
] as any[]
const result = ProviderTransform.message(msgs, model, {})
expect(result[0].providerOptions?.bedrock).toEqual(
expect.objectContaining({
cachePoint: {
type: "ephemeral",
},
}),
)
})
})
describe("ProviderTransform.variants", () => {
const createMockModel = (overrides: Partial<any> = {}): any => ({
id: "test/test-model",

View File

@@ -229,6 +229,27 @@ To use Amazon Bedrock with OpenCode:
/models
```
:::note
For custom inference profiles, use the model and provider name in the key and set the `id` property to the arn. This ensures correct caching:
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"amazon-bedrock": {
// ...
"models": {
"anthropic-claude-sonnet-4.5": {
"id": "arn:aws:bedrock:us-east-1:xxx:application-inference-profile/yyy"
}
}
}
}
}
```
:::
---
### Anthropic