from dataclasses import dataclass @dataclass(frozen=True) class Model: name: str is_default: bool = False is_preview: bool = False # Sourced from @google/gemini-cli-core dist/src/config/models.js (VALID_GEMINI_MODELS) _MODELS: tuple[Model, ...] = ( Model("gemini-2.5-pro", is_default=True), Model("gemini-2.5-flash"), Model("gemini-2.5-flash-lite"), Model("gemini-3-pro-preview", is_preview=True), Model("gemini-3-flash-preview", is_preview=True), Model("gemini-3.1-pro-preview", is_preview=True), Model("gemini-3.1-pro-preview-customtools", is_preview=True), ) def list_models() -> list[Model]: return list(_MODELS)