mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-06-13 01:22:06 +08:00
40 lines
1.4 KiB
TypeScript
40 lines
1.4 KiB
TypeScript
import type { IProviderModels } from '@/shared/interfaces.js';
|
|
import type {
|
|
ProviderChangeActiveModelInput,
|
|
ProviderCurrentActiveModel,
|
|
ProviderModelsDefinition,
|
|
ProviderSessionActiveModelChange,
|
|
} from '@/shared/types.js';
|
|
import {
|
|
buildDefaultProviderCurrentActiveModel,
|
|
writeProviderSessionActiveModelChange,
|
|
} from '@/shared/utils.js';
|
|
|
|
export const GEMINI_FALLBACK_MODELS: ProviderModelsDefinition = {
|
|
OPTIONS: [
|
|
{ value: 'gemini-3-flash-preview', label: 'Gemini 3 Flash Preview' },
|
|
{ value: 'gemini-3.1-flash-lite-preview', label: 'Gemini 3.1 Flash Lite Preview' },
|
|
{ value: 'gemini-2.5-flash', label: 'Gemini 2.5 Flash' },
|
|
{ value: 'gemini-2.5-flash-lite', label: 'Gemini 2.5 Flash Lite' },
|
|
{ value: 'gemma-4-31b-it', label: 'Gemma 4 31B IT' },
|
|
{ value: 'gemma-4-26b-a4b-it', label: 'Gemma 4 26B A4B IT' },
|
|
],
|
|
DEFAULT: 'gemini-3-flash-preview',
|
|
};
|
|
|
|
export class GeminiProviderModels implements IProviderModels {
|
|
async getSupportedModels(): Promise<ProviderModelsDefinition> {
|
|
return GEMINI_FALLBACK_MODELS;
|
|
}
|
|
|
|
async getCurrentActiveModel(): Promise<ProviderCurrentActiveModel> {
|
|
return buildDefaultProviderCurrentActiveModel(GEMINI_FALLBACK_MODELS);
|
|
}
|
|
|
|
async changeActiveModel(
|
|
input: ProviderChangeActiveModelInput,
|
|
): Promise<ProviderSessionActiveModelChange> {
|
|
return writeProviderSessionActiveModelChange('gemini', input);
|
|
}
|
|
}
|