fix(team): clarify cross-provider model labels

This commit is contained in:
iliya 2026-04-07 13:03:58 +03:00
parent dd6f50cad6
commit bbb653d3d4
3 changed files with 27 additions and 2 deletions

View file

@ -134,9 +134,14 @@ export function formatTeamModelSummary(
(providerId === 'codex' && normalizedModel.startsWith('gpt')) ||
(providerId === 'gemini' && normalizedModel.startsWith('gemini')));
const providerActsAsBackendOnly =
providerId !== 'anthropic' && modelLabel !== 'Default' && !modelAlreadyCarriesProviderBrand;
const parts = modelAlreadyCarriesProviderBrand
? [modelLabel, effortLabel]
: [providerLabel, modelLabel, effortLabel];
: providerActsAsBackendOnly
? [modelLabel, `via ${providerLabel}`, effortLabel]
: [providerLabel, modelLabel, effortLabel];
return parts.filter(Boolean).join(' · ');
}

View file

@ -118,9 +118,14 @@ function buildRuntimeSummary(
(normalizedModel.startsWith('codex') || normalizedModel.startsWith('gpt'))) ||
(providerId === 'gemini' && normalizedModel.startsWith('gemini')));
const providerActsAsBackendOnly =
providerId !== 'anthropic' && modelLabel !== 'Default' && !modelAlreadyCarriesProviderBrand;
const parts = modelAlreadyCarriesProviderBrand
? [modelLabel, effortLabel]
: [providerLabel, modelLabel, effortLabel];
: providerActsAsBackendOnly
? [modelLabel, `via ${providerLabel}`, effortLabel]
: [providerLabel, modelLabel, effortLabel];
return parts.filter(Boolean).join(' · ');
}

View file

@ -0,0 +1,15 @@
import { describe, expect, it } from 'vitest';
import { formatTeamModelSummary } from '@renderer/components/team/dialogs/TeamModelSelector';
describe('formatTeamModelSummary', () => {
it('shows cross-provider Anthropic models as backend-routed instead of brand-mismatched', () => {
expect(formatTeamModelSummary('codex', 'claude-opus-4-6', 'medium')).toBe(
'Opus 4.6 · via Codex · Medium'
);
});
it('keeps native Codex-family models branded normally', () => {
expect(formatTeamModelSummary('codex', 'gpt-5.4', 'medium')).toBe('GPT-5.4 · Medium');
});
});