mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-13 03:40:43 +00:00
Summary: - Hide retired and non-public Google Gemini model IDs from Control UI/chat model catalogs. - Route the bare gemini-3-pro alias to gemini-3.1-pro-preview. - Keep models.list fallback rows filtered by manifest suppressions and update stale pricing-cache expectations. Verification: - pnpm test src/commands/models/list.list-command.forward-compat.test.ts src/commands/models/list.rows.test.ts extensions/google/manifest.test.ts extensions/google/model-id.test.ts extensions/google/provider-models.test.ts extensions/google/provider-policy-api.test.ts extensions/google/media-understanding-provider.video.test.ts src/plugin-sdk/provider-model-id-normalize.test.ts src/plugins/manifest-model-suppression.test.ts src/gateway/server-methods/models.test.ts ui/src/ui/chat-model-select-state.test.ts ui/src/ui/chat-model-ref.test.ts - pnpm test src/gateway/model-pricing-cache.test.ts - pnpm --silent openclaw models list --all --json --provider google / google-vertex hidden-row probe - Testbox pnpm check:changed: https://github.com/openclaw/openclaw/actions/runs/25534551033
30 lines
907 B
TypeScript
30 lines
907 B
TypeScript
const ANTIGRAVITY_BARE_PRO_IDS = new Set(["gemini-3-pro", "gemini-3.1-pro", "gemini-3-1-pro"]);
|
|
|
|
export function normalizeGoogleModelId(id: string): string {
|
|
if (id === "gemini-3-pro") {
|
|
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;
|
|
}
|