mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-03 07:12:18 +00:00
fix(cliproxy): migrate deprecated gemini-claude-* model names to upstream claude-* names (#515)
* fix(cliproxy): migrate deprecated gemini-claude-* model names to upstream claude-* names CLIProxyAPI registry no longer recognizes the gemini-claude-* prefix convention. Model names in catalog, base config, and user settings are migrated to upstream claude-* names. Auto-migration in env-builder rewrites existing user settings on load and persists the change. Closes #513 * fix: address code review feedback — sync UI layer and add migration tests - Sync UI isNativeGeminiModel() with backend (remove gemini-claude- exclusion) - Update UI model catalog agy entries from gemini-claude-* to claude-* - Update CI/CD workflow and code-reviewer default model names - Add unit tests for migrateDeprecatedModelNames() logic
This commit is contained in:
1 parent
59e3e0286e
commit
6afbb72b47
15 files changed
+375
-76
No files matched your search
@@ -8,14 +8,14 @@ export const EXTENDED_CONTEXT_SUFFIX = '[1m]';
|
||||
|
||||
/**
|
||||
* Check if model is a native Gemini model (auto-enabled behavior).
|
||||
* Native Gemini models: gemini-* but NOT gemini-claude-*
|
||||
* Native Gemini models have the gemini-* prefix.
|
||||
*
|
||||
* NOTE: This function is intentionally duplicated from src/cliproxy/model-catalog.ts
|
||||
* to avoid bundling backend code in the UI. Keep both in sync.
|
||||
*/
|
||||
export function isNativeGeminiModel(modelId: string): boolean {
|
||||
const lower = modelId.toLowerCase();
|
||||
return lower.startsWith('gemini-') && !lower.startsWith('gemini-claude-');
|
||||
return lower.startsWith('gemini-');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -10,53 +10,53 @@ export const MODEL_CATALOGS: Record<string, ProviderCatalog> = {
|
||||
agy: {
|
||||
provider: 'agy',
|
||||
displayName: 'Antigravity',
|
||||
defaultModel: 'gemini-claude-opus-4-6-thinking',
|
||||
defaultModel: 'claude-opus-4-6-thinking',
|
||||
models: [
|
||||
{
|
||||
id: 'gemini-claude-opus-4-6-thinking',
|
||||
id: 'claude-opus-4-6-thinking',
|
||||
name: 'Claude Opus 4.6 Thinking',
|
||||
description: 'Latest flagship, extended thinking',
|
||||
// TODO: Re-enable when Antigravity backend supports 1M context (currently 256k)
|
||||
// extendedContext: true,
|
||||
extendedContext: false,
|
||||
presetMapping: {
|
||||
default: 'gemini-claude-opus-4-6-thinking',
|
||||
opus: 'gemini-claude-opus-4-6-thinking',
|
||||
sonnet: 'gemini-claude-sonnet-4-5-thinking',
|
||||
haiku: 'gemini-claude-sonnet-4-5',
|
||||
default: 'claude-opus-4-6-thinking',
|
||||
opus: 'claude-opus-4-6-thinking',
|
||||
sonnet: 'claude-sonnet-4-5-thinking',
|
||||
haiku: 'claude-sonnet-4-5',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'gemini-claude-opus-4-5-thinking',
|
||||
id: 'claude-opus-4-5-thinking',
|
||||
name: 'Claude Opus 4.5 Thinking',
|
||||
description: 'Previous flagship, extended thinking',
|
||||
presetMapping: {
|
||||
default: 'gemini-claude-opus-4-5-thinking',
|
||||
opus: 'gemini-claude-opus-4-5-thinking',
|
||||
sonnet: 'gemini-claude-sonnet-4-5-thinking',
|
||||
haiku: 'gemini-claude-sonnet-4-5',
|
||||
default: 'claude-opus-4-5-thinking',
|
||||
opus: 'claude-opus-4-5-thinking',
|
||||
sonnet: 'claude-sonnet-4-5-thinking',
|
||||
haiku: 'claude-sonnet-4-5',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'gemini-claude-sonnet-4-5-thinking',
|
||||
id: 'claude-sonnet-4-5-thinking',
|
||||
name: 'Claude Sonnet 4.5 Thinking',
|
||||
description: 'Balanced with extended thinking',
|
||||
presetMapping: {
|
||||
default: 'gemini-claude-sonnet-4-5-thinking',
|
||||
opus: 'gemini-claude-opus-4-6-thinking',
|
||||
sonnet: 'gemini-claude-sonnet-4-5-thinking',
|
||||
haiku: 'gemini-claude-sonnet-4-5',
|
||||
default: 'claude-sonnet-4-5-thinking',
|
||||
opus: 'claude-opus-4-6-thinking',
|
||||
sonnet: 'claude-sonnet-4-5-thinking',
|
||||
haiku: 'claude-sonnet-4-5',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'gemini-claude-sonnet-4-5',
|
||||
id: 'claude-sonnet-4-5',
|
||||
name: 'Claude Sonnet 4.5',
|
||||
description: 'Fast and capable',
|
||||
presetMapping: {
|
||||
default: 'gemini-claude-sonnet-4-5',
|
||||
opus: 'gemini-claude-opus-4-6-thinking',
|
||||
sonnet: 'gemini-claude-sonnet-4-5',
|
||||
haiku: 'gemini-claude-sonnet-4-5',
|
||||
default: 'claude-sonnet-4-5',
|
||||
opus: 'claude-opus-4-6-thinking',
|
||||
sonnet: 'claude-sonnet-4-5',
|
||||
haiku: 'claude-sonnet-4-5',
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user