agent-ecosystem/src/renderer/utils/teamModelContext.ts
2026-04-21 20:28:22 +03:00

34 lines
948 B
TypeScript

import { inferTeamProviderIdFromModel } from '@shared/utils/teamProvider';
import type { CliProviderId, TeamProviderId } from '@shared/types';
type SupportedProviderId = CliProviderId | TeamProviderId;
export function stripTrailingOneMillionSuffixes(model: string | undefined): string | undefined {
const trimmed = model?.trim();
if (!trimmed) {
return undefined;
}
return trimmed.replace(/(?:\[1m\])+$/, '') || undefined;
}
export function extractProviderScopedBaseModel(
model: string | undefined,
providerId?: SupportedProviderId
): string | undefined {
const trimmed = model?.trim();
if (!trimmed) {
return undefined;
}
const effectiveProviderId =
providerId ??
inferTeamProviderIdFromModel(trimmed) ??
inferTeamProviderIdFromModel(stripTrailingOneMillionSuffixes(trimmed));
if (effectiveProviderId !== 'anthropic') {
return trimmed;
}
return stripTrailingOneMillionSuffixes(trimmed);
}