From aa146361f0742b35fd26a102df78717b9ce7aaa7 Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Tue, 10 Jun 2025 14:29:03 +0200 Subject: [PATCH 1/2] remove explicit cache_control for Google models in OpenRouter (cherry pick from https://github.com/RooCodeInc/Roo-Code/pull/4488) --- packages/types/src/providers/openrouter.ts | 1 - .../fetchers/__tests__/openrouter.spec.ts | 22 ++++++++++++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/types/src/providers/openrouter.ts b/packages/types/src/providers/openrouter.ts index 08ffceb1e20..d78199f1e23 100644 --- a/packages/types/src/providers/openrouter.ts +++ b/packages/types/src/providers/openrouter.ts @@ -39,7 +39,6 @@ export const OPEN_ROUTER_PROMPT_CACHING_MODELS = new Set([ "anthropic/claude-3.7-sonnet:thinking", "anthropic/claude-sonnet-4", "anthropic/claude-opus-4", - "google/gemini-2.5-pro-preview", "google/gemini-2.5-flash-preview", "google/gemini-2.5-flash-preview:thinking", "google/gemini-2.5-flash-preview-05-20", diff --git a/src/api/providers/fetchers/__tests__/openrouter.spec.ts b/src/api/providers/fetchers/__tests__/openrouter.spec.ts index 1efe150ab01..bebcff2f6d9 100644 --- a/src/api/providers/fetchers/__tests__/openrouter.spec.ts +++ b/src/api/providers/fetchers/__tests__/openrouter.spec.ts @@ -23,12 +23,22 @@ describe("OpenRouter API", () => { const models = await getOpenRouterModels() - expect( - Object.entries(models) - .filter(([_, model]) => model.supportsPromptCache) - .map(([id, _]) => id) - .sort(), - ).toEqual(Array.from(OPEN_ROUTER_PROMPT_CACHING_MODELS).sort()) + const openRouterSupportedCaching = Object.entries(models) + .filter(([_, model]) => model.supportsPromptCache) + .map(([id, _]) => id) + + const ourCachingModels = Array.from(OPEN_ROUTER_PROMPT_CACHING_MODELS) + + // Verify all our caching models are actually supported by OpenRouter + for (const modelId of ourCachingModels) { + expect(openRouterSupportedCaching).toContain(modelId) + } + + // Verify we have all supported models except intentionally excluded ones + const excludedModels = new Set(["google/gemini-2.5-pro-preview"]) // Excluded due to lag issue (#4487) + const expectedCachingModels = openRouterSupportedCaching.filter((id) => !excludedModels.has(id)).sort() + + expect(ourCachingModels.sort()).toEqual(expectedCachingModels) expect( Object.entries(models) From c3d955c2280258601d5f4b05101710e34d540075 Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Tue, 10 Jun 2025 14:33:04 +0200 Subject: [PATCH 2/2] Changeset --- .changeset/open-rules-hide.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/open-rules-hide.md diff --git a/.changeset/open-rules-hide.md b/.changeset/open-rules-hide.md new file mode 100644 index 00000000000..4fec884d1f5 --- /dev/null +++ b/.changeset/open-rules-hide.md @@ -0,0 +1,5 @@ +--- +"kilo-code": patch +--- + +Fixed response times for gemini-2.5-pro-preview being very slow (minutes instead of seconds)