mirror of
https://github.com/moltbot/moltbot.git
synced 2026-05-13 15:47:28 +00:00
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
const ANTIGRAVITY_BARE_PRO_IDS = new Set(["gemini-3-pro", "gemini-3.1-pro", "gemini-3-1-pro"]);
|
|
const GOOGLE_PROVIDER_PREFIX = "google/";
|
|
|
|
export function normalizeGoogleModelId(id: string): string {
|
|
if (id.startsWith(GOOGLE_PROVIDER_PREFIX)) {
|
|
const modelId = id.slice(GOOGLE_PROVIDER_PREFIX.length);
|
|
const normalizedModelId = normalizeGoogleModelId(modelId);
|
|
return normalizedModelId === modelId ? id : `${GOOGLE_PROVIDER_PREFIX}${normalizedModelId}`;
|
|
}
|
|
if (id === "gemini-3-pro" || id === "gemini-3-pro-preview") {
|
|
return "gemini-3.1-pro-preview";
|
|
}
|
|
if (id === "gemini-3-flash") {
|
|
return "gemini-3-flash-preview";
|
|
}
|
|
// Google exposes Gemini 3.1 Pro in the Gemini API as the preview-suffixed id.
|
|
// Keep the bare form as a user convenience alias, not as a canonical API id.
|
|
if (id === "gemini-3.1-pro") {
|
|
return "gemini-3.1-pro-preview";
|
|
}
|
|
if (id === "gemini-3.1-flash-lite") {
|
|
return "gemini-3.1-flash-lite-preview";
|
|
}
|
|
if (id === "gemini-3.1-flash" || id === "gemini-3.1-flash-preview") {
|
|
return "gemini-3-flash-preview";
|
|
}
|
|
return id;
|
|
}
|
|
|
|
export function normalizeAntigravityModelId(id: string): string {
|
|
if (ANTIGRAVITY_BARE_PRO_IDS.has(id)) {
|
|
return `${id}-low`;
|
|
}
|
|
return id;
|
|
}
|