fix: update Claude Sonnet 4.5 model name to claude-sonnet-4-5-20250929

- Changed model ID from claude-sonnet-4.5 to claude-sonnet-4-5-20250929 in OpenRouter provider
- Updated all references in test files to match new model ID format
- Fixes compatibility issues with URLs that do not recognize the dot notation

Fixes #9434
This commit is contained in:
Roo Code 2025-11-20 16:54:19 +00:00
parent f7d6daedff
commit 154581c579
3 changed files with 9 additions and 9 deletions

View file

@ -1,7 +1,7 @@
import type { ModelInfo } from "../model.js"
// https://openrouter.ai/models?order=newest&supported_parameters=tools
export const openRouterDefaultModelId = "anthropic/claude-sonnet-4.5"
export const openRouterDefaultModelId = "anthropic/claude-sonnet-4-5-20250929"
export const openRouterDefaultModelInfo: ModelInfo = {
maxTokens: 8192,
@ -38,7 +38,7 @@ export const OPEN_ROUTER_PROMPT_CACHING_MODELS = new Set([
"anthropic/claude-3.7-sonnet:beta",
"anthropic/claude-3.7-sonnet:thinking",
"anthropic/claude-sonnet-4",
"anthropic/claude-sonnet-4.5",
"anthropic/claude-sonnet-4-5-20250929",
"anthropic/claude-opus-4",
"anthropic/claude-opus-4.1",
"anthropic/claude-haiku-4.5",
@ -71,7 +71,7 @@ export const OPEN_ROUTER_REASONING_BUDGET_MODELS = new Set([
"anthropic/claude-opus-4",
"anthropic/claude-opus-4.1",
"anthropic/claude-sonnet-4",
"anthropic/claude-sonnet-4.5",
"anthropic/claude-sonnet-4-5-20250929",
"anthropic/claude-haiku-4.5",
"google/gemini-2.5-pro-preview",
"google/gemini-2.5-pro",

View file

@ -28,7 +28,7 @@ vitest.mock("../fetchers/modelCache", () => ({
description: "Claude 3.7 Sonnet",
thinking: false,
},
"anthropic/claude-sonnet-4.5": {
"anthropic/claude-sonnet-4-5-20250929": {
maxTokens: 8192,
contextWindow: 200000,
supportsImages: true,
@ -96,7 +96,7 @@ describe("OpenRouterHandler", () => {
it("returns default model info when options are not provided", async () => {
const handler = new OpenRouterHandler({})
const result = await handler.fetchModel()
expect(result.id).toBe("anthropic/claude-sonnet-4.5")
expect(result.id).toBe("anthropic/claude-sonnet-4-5-20250929")
expect(result.info.supportsPromptCache).toBe(true)
expect(result.info.supportsNativeTools).toBe(true)
})

View file

@ -107,7 +107,7 @@ describe("useSelectedModel", () => {
mockUseRouterModels.mockReturnValue({
data: {
openrouter: {
"anthropic/claude-sonnet-4.5": {
"anthropic/claude-sonnet-4-5-20250929": {
maxTokens: 8192,
contextWindow: 200_000,
supportsImages: true,
@ -146,7 +146,7 @@ describe("useSelectedModel", () => {
const { result } = renderHook(() => useSelectedModel(apiConfiguration), { wrapper })
// Should fall back to provider default since "test-model" doesn't exist
expect(result.current.id).toBe("anthropic/claude-sonnet-4.5")
expect(result.current.id).toBe("anthropic/claude-sonnet-4-5-20250929")
// Should still use specific provider info for the default model if specified
expect(result.current.info).toEqual({
...{
@ -273,7 +273,7 @@ describe("useSelectedModel", () => {
mockUseRouterModels.mockReturnValue({
data: {
openrouter: {
"anthropic/claude-sonnet-4.5": {
"anthropic/claude-sonnet-4-5-20250929": {
// Default model - using correct default model name
maxTokens: 8192,
contextWindow: 200_000,
@ -311,7 +311,7 @@ describe("useSelectedModel", () => {
const { result } = renderHook(() => useSelectedModel(apiConfiguration), { wrapper })
// Should fall back to provider default since "non-existent-model" doesn't exist
expect(result.current.id).toBe("anthropic/claude-sonnet-4.5")
expect(result.current.id).toBe("anthropic/claude-sonnet-4-5-20250929")
// Should use base model info since provider doesn't exist
expect(result.current.info).toEqual({
maxTokens: 8192,