Spaces:
Running
Running
| /** | |
| * Legacy model aliases used by the old Hugging Face proxy. | |
| */ | |
| export const LEGACY_MODEL_ALIASES = Object.freeze({ | |
| 'antigravity/gemini-3-flash': 'gemini-3.5-flash-low', | |
| 'gemini-3-flash': 'gemini-3.5-flash-low', | |
| 'antigravity/gemini-3-pro-low': 'gemini-3.1-pro-low', | |
| 'gemini-3-pro-low': 'gemini-3.1-pro-low', | |
| 'antigravity/gemini-3-pro-high': 'gemini-3.1-pro-high', | |
| 'gemini-3-pro-high': 'gemini-3.1-pro-high' | |
| }); | |
| export function resolveCloudCodeApiModel(requestedModel) { | |
| const model = String(requestedModel || '').trim(); | |
| if (/gemini-3(?:\.\d+)?-pro-high$/i.test(model)) { | |
| return model.replace(/pro-high$/i, 'pro-low'); | |
| } | |
| return model; | |
| } | |
| export function applyProHighThinkingFallback(googleRequest, requestedModel) { | |
| if (!/gemini-3(?:\.\d+)?-pro-high$/i.test(String(requestedModel || ''))) { | |
| return; | |
| } | |
| googleRequest.generationConfig = googleRequest.generationConfig || {}; | |
| googleRequest.generationConfig.thinkingConfig = { | |
| includeThoughts: true, | |
| thinkingLevel: 'high' | |
| }; | |
| } | |
| export function stripProviderPrefix(modelName) { | |
| const model = String(modelName || '').trim(); | |
| if (!model) return ''; | |
| return model.startsWith('antigravity/') ? model.slice('antigravity/'.length) : model; | |
| } | |
| export function resolveModelAlias(modelName, configuredMappings = {}) { | |
| const original = String(modelName || '').trim(); | |
| const stripped = stripProviderPrefix(original); | |
| const configured = configuredMappings?.[original]?.mapping | |
| || configuredMappings?.[stripped]?.mapping; | |
| if (configured) return configured; | |
| return LEGACY_MODEL_ALIASES[original] | |
| || LEGACY_MODEL_ALIASES[stripped] | |
| || stripped; | |
| } | |
| export function appendLegacyModelAliases(modelListResponse) { | |
| const data = Array.isArray(modelListResponse?.data) | |
| ? [...modelListResponse.data] | |
| : []; | |
| const existing = new Set(data.map(model => model.id)); | |
| const created = Math.floor(Date.now() / 1000); | |
| for (const [alias, target] of Object.entries(LEGACY_MODEL_ALIASES)) { | |
| if (!alias.startsWith('antigravity/')) continue; | |
| if (!existing.has(target) || existing.has(alias)) continue; | |
| data.push({ | |
| id: alias, | |
| object: 'model', | |
| created, | |
| owned_by: 'antigravity-proxy', | |
| description: `Legacy alias for ${target}` | |
| }); | |
| existing.add(alias); | |
| } | |
| return { | |
| object: 'list', | |
| data | |
| }; | |
| } | |