diff --git a/.docker/selfhost/schema.json b/.docker/selfhost/schema.json index 4e3405b82..a9315e4c2 100644 --- a/.docker/selfhost/schema.json +++ b/.docker/selfhost/schema.json @@ -684,7 +684,7 @@ }, "scenarios": { "type": "object", - "description": "Use custom models in scenarios and override default settings.\n@default {\"override_enabled\":false,\"scenarios\":{\"audio_transcribing\":\"gemini-2.5-flash\",\"chat\":\"gemini-2.5-flash\",\"embedding\":\"gemini-embedding-001\",\"image\":\"gpt-image-1\",\"rerank\":\"gpt-4.1\",\"coding\":\"claude-sonnet-4@20250514\",\"complex_text_generation\":\"gpt-4o-2024-08-06\",\"quick_decision_making\":\"gpt-5-mini\",\"quick_text_generation\":\"gemini-2.5-flash\",\"polish_and_summarize\":\"gemini-2.5-flash\"}}", + "description": "Use custom models in scenarios and override default settings.\n@default {\"override_enabled\":false,\"scenarios\":{\"audio_transcribing\":\"gemini-2.5-flash\",\"chat\":\"gemini-2.5-flash\",\"embedding\":\"gemini-embedding-001\",\"image\":\"gpt-image-1\",\"rerank\":\"gpt-4.1\",\"coding\":\"claude-sonnet-4-5@20250929\",\"complex_text_generation\":\"gpt-4o-2024-08-06\",\"quick_decision_making\":\"gpt-5-mini\",\"quick_text_generation\":\"gemini-2.5-flash\",\"polish_and_summarize\":\"gemini-2.5-flash\"}}", "default": { "override_enabled": false, "scenarios": { @@ -693,7 +693,7 @@ "embedding": "gemini-embedding-001", "image": "gpt-image-1", "rerank": "gpt-4.1", - "coding": "claude-sonnet-4@20250514", + "coding": "claude-sonnet-4-5@20250929", "complex_text_generation": "gpt-4o-2024-08-06", "quick_decision_making": "gpt-5-mini", "quick_text_generation": "gemini-2.5-flash", diff --git a/packages/backend/server/src/__tests__/__snapshots__/copilot.spec.ts.md b/packages/backend/server/src/__tests__/__snapshots__/copilot.spec.ts.md index 38fc2496b..3b02271c7 100644 --- a/packages/backend/server/src/__tests__/__snapshots__/copilot.spec.ts.md +++ b/packages/backend/server/src/__tests__/__snapshots__/copilot.spec.ts.md @@ -473,7 +473,7 @@ Generated by [AVA](https://avajs.dev). > should honor requested pro model during active - 'claude-sonnet-4@20250514' + 'claude-sonnet-4-5@20250929' > should fallback to default model when requesting non-optional model during active diff --git a/packages/backend/server/src/__tests__/__snapshots__/copilot.spec.ts.snap b/packages/backend/server/src/__tests__/__snapshots__/copilot.spec.ts.snap index 2933e7d0e..da12104b6 100644 Binary files a/packages/backend/server/src/__tests__/__snapshots__/copilot.spec.ts.snap and b/packages/backend/server/src/__tests__/__snapshots__/copilot.spec.ts.snap differ diff --git a/packages/backend/server/src/__tests__/copilot.spec.ts b/packages/backend/server/src/__tests__/copilot.spec.ts index 602ff7fc9..88afae12e 100644 --- a/packages/backend/server/src/__tests__/copilot.spec.ts +++ b/packages/backend/server/src/__tests__/copilot.spec.ts @@ -2074,11 +2074,11 @@ test('should resolve model correctly based on subscription status and prompt con messages: { create: [{ idx: 0, role: 'system', content: 'test' }], }, - config: { proModels: ['gemini-2.5-pro', 'claude-sonnet-4@20250514'] }, + config: { proModels: ['gemini-2.5-pro', 'claude-sonnet-4-5@20250929'] }, optionalModels: [ 'gemini-2.5-flash', 'gemini-2.5-pro', - 'claude-sonnet-4@20250514', + 'claude-sonnet-4-5@20250929', ], }, }); @@ -2138,7 +2138,7 @@ test('should resolve model correctly based on subscription status and prompt con 'should pick default model when no requested model during active' ); - const model7 = await s.resolveModel(true, 'claude-sonnet-4@20250514'); + const model7 = await s.resolveModel(true, 'claude-sonnet-4-5@20250929'); t.snapshot(model7, 'should honor requested pro model during active'); const model8 = await s.resolveModel(true, 'not-in-optional'); diff --git a/packages/backend/server/src/plugins/copilot/config.ts b/packages/backend/server/src/plugins/copilot/config.ts index bc025f661..0f40790f6 100644 --- a/packages/backend/server/src/plugins/copilot/config.ts +++ b/packages/backend/server/src/plugins/copilot/config.ts @@ -55,7 +55,7 @@ defineModuleConfig('copilot', { embedding: 'gemini-embedding-001', image: 'gpt-image-1', rerank: 'gpt-4.1', - coding: 'claude-sonnet-4@20250514', + coding: 'claude-sonnet-4-5@20250929', complex_text_generation: 'gpt-4o-2024-08-06', quick_decision_making: 'gpt-5-mini', quick_text_generation: 'gemini-2.5-flash', diff --git a/packages/backend/server/src/plugins/copilot/prompt/prompts.ts b/packages/backend/server/src/plugins/copilot/prompt/prompts.ts index d4e30b496..e46656004 100644 --- a/packages/backend/server/src/plugins/copilot/prompt/prompts.ts +++ b/packages/backend/server/src/plugins/copilot/prompt/prompts.ts @@ -1390,7 +1390,7 @@ If there are items in the content that can be used as to-do tasks, please refer { name: 'Make it real', action: 'Make it real', - model: 'claude-sonnet-4@20250514', + model: 'claude-sonnet-4-5@20250929', messages: [ { role: 'system', @@ -1431,7 +1431,7 @@ When sent new wireframes, respond ONLY with the contents of the html file.`, { name: 'Make it real with text', action: 'Make it real with text', - model: 'claude-sonnet-4@20250514', + model: 'claude-sonnet-4-5@20250929', messages: [ { role: 'system', @@ -1712,7 +1712,7 @@ const modelActions: Prompt[] = [ { name: 'Apply Updates', action: 'Apply Updates', - model: 'claude-sonnet-4@20250514', + model: 'claude-sonnet-4-5@20250929', messages: [ { role: 'user', @@ -1868,7 +1868,7 @@ Now apply the \`updates\` to the \`content\`, following the intent in \`op\`, an }, { name: 'Code Artifact', - model: 'claude-sonnet-4@20250514', + model: 'claude-sonnet-4-5@20250929', messages: [ { role: 'system', @@ -1932,7 +1932,7 @@ const CHAT_PROMPT: Omit = { optionalModels: [ 'gemini-2.5-flash', 'gemini-2.5-pro', - 'claude-sonnet-4@20250514', + 'claude-sonnet-4-5@20250929', ], messages: [ { @@ -2092,7 +2092,7 @@ Below is the user's query. Please respond in the user's preferred language witho 'codeArtifact', 'blobRead', ], - proModels: ['gemini-2.5-pro', 'claude-sonnet-4@20250514'], + proModels: ['gemini-2.5-pro', 'claude-sonnet-4-5@20250929'], }, }; diff --git a/packages/backend/server/src/plugins/copilot/providers/anthropic/official.ts b/packages/backend/server/src/plugins/copilot/providers/anthropic/official.ts index efdc4a527..5d69aa877 100644 --- a/packages/backend/server/src/plugins/copilot/providers/anthropic/official.ts +++ b/packages/backend/server/src/plugins/copilot/providers/anthropic/official.ts @@ -30,6 +30,16 @@ export class AnthropicOfficialProvider extends AnthropicProvider { test.beforeEach(async ({ loggedInPage: page, utils }) => { await utils.testUtils.setupTestEnvironment( page, - 'claude-sonnet-4@20250514' + 'claude-sonnet-4-5@20250929' ); await utils.chatPanel.openChatPanel(page); }); diff --git a/tests/affine-cloud-copilot/e2e/chat-with/collections.spec.ts b/tests/affine-cloud-copilot/e2e/chat-with/collections.spec.ts index 08cd61f60..1c7d5ea0e 100644 --- a/tests/affine-cloud-copilot/e2e/chat-with/collections.spec.ts +++ b/tests/affine-cloud-copilot/e2e/chat-with/collections.spec.ts @@ -8,7 +8,7 @@ test.describe('AIChatWith/Collections', () => { test.beforeEach(async ({ loggedInPage: page, utils }) => { await utils.testUtils.setupTestEnvironment( page, - 'claude-sonnet-4@20250514' + 'claude-sonnet-4-5@20250929' ); await utils.chatPanel.openChatPanel(page); await utils.editor.clearAllCollections(page); diff --git a/tests/affine-cloud-copilot/e2e/settings/embedding.spec.ts b/tests/affine-cloud-copilot/e2e/settings/embedding.spec.ts index 5e52655f9..1cd0a7e66 100644 --- a/tests/affine-cloud-copilot/e2e/settings/embedding.spec.ts +++ b/tests/affine-cloud-copilot/e2e/settings/embedding.spec.ts @@ -9,7 +9,7 @@ test.describe('AISettings/Embedding', () => { test.beforeEach(async ({ loggedInPage: page, utils }) => { await utils.testUtils.setupTestEnvironment( page, - 'claude-sonnet-4@20250514' + 'claude-sonnet-4-5@20250929' ); await utils.chatPanel.openChatPanel(page); }); diff --git a/tests/affine-local/e2e/blocksuite/clipboard/clipboard.spec.ts b/tests/affine-local/e2e/blocksuite/clipboard/clipboard.spec.ts index f646808f1..e4aaae756 100644 --- a/tests/affine-local/e2e/blocksuite/clipboard/clipboard.spec.ts +++ b/tests/affine-local/e2e/blocksuite/clipboard/clipboard.spec.ts @@ -386,7 +386,7 @@ test.describe('paste to code block', () => { await pressEnter(page); await addCodeBlock(page); const plainTextCode = [ - ' model: anthropic("claude-3-7-sonnet-20250219"),', + ' model: anthropic("claude-sonnet-4-5-20250929"),', ' prompt: How many people will live in the world in 2040?', ' providerOptions: {', ' anthropic: {',