diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index 05b9f031fe64..5921a9327c9a 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -179,6 +179,9 @@ export namespace ProviderTransform { anthropic: { cacheControl: { type: "ephemeral" }, }, + google: { + cachePoint: { type: "default" }, + }, openrouter: { cacheControl: { type: "ephemeral" }, }, @@ -262,6 +265,8 @@ export namespace ProviderTransform { model.api.npm !== "@ai-sdk/gateway" ) { msgs = applyCaching(msgs, model) + } else if (model.api.npm === "@ai-sdk/google-vertex" || model.api.npm === "@ai-sdk/google") { + msgs = applyCaching(msgs, model) } // Remap providerOptions keys from stored providerID to expected SDK key diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts index 917d357eafae..6af32980f7e7 100644 --- a/packages/opencode/test/provider/transform.test.ts +++ b/packages/opencode/test/provider/transform.test.ts @@ -1638,6 +1638,11 @@ describe("ProviderTransform.message - cache control on gateway", () => { type: "ephemeral", }, }, + google: { + cachePoint: { + type: "default", + }, + }, openrouter: { cacheControl: { type: "ephemeral",