"""Google model information.

This file is auto-generated by scripts/model_features/codegen_google.py
Do not edit manually - run the codegen script to update."""

from typing import Literal

GoogleKnownModels = Literal[
    "google/gemini-2.0-flash",
    "google/gemini-2.0-flash-001",
    "google/gemini-2.0-flash-exp",
    "google/gemini-2.0-flash-exp-image-generation",
    "google/gemini-2.0-flash-lite",
    "google/gemini-2.0-flash-lite-001",
    "google/gemini-2.0-flash-lite-preview",
    "google/gemini-2.0-flash-lite-preview-02-05",
    "google/gemini-2.5-flash",
    "google/gemini-2.5-flash-image",
    "google/gemini-2.5-flash-image-preview",
    "google/gemini-2.5-flash-lite",
    "google/gemini-2.5-flash-lite-preview-09-2025",
    "google/gemini-2.5-flash-preview-09-2025",
    "google/gemini-2.5-pro",
    "google/gemini-3-flash-preview",
    "google/gemini-3-pro-image-preview",
    "google/gemini-3-pro-preview",
    "google/gemini-flash-latest",
    "google/gemini-flash-lite-latest",
    "google/gemini-pro-latest",
    "google/gemini-robotics-er-1.5-preview",
    "google/gemma-3-12b-it",
    "google/gemma-3-1b-it",
    "google/gemma-3-27b-it",
    "google/gemma-3-4b-it",
    "google/gemma-3n-e2b-it",
    "google/gemma-3n-e4b-it",
    "google/nano-banana-pro-preview",
]
"""Valid Google model IDs."""


MODELS_WITHOUT_STRUCTURED_OUTPUT_AND_TOOLS_SUPPORT: set[str] = {
    "gemini-2.5-flash",
    "gemini-2.5-flash-image",
    "gemini-2.5-flash-image-preview",
    "gemini-2.5-flash-lite",
    "gemini-2.5-flash-lite-preview-09-2025",
    "gemini-2.5-flash-preview-09-2025",
    "gemini-2.5-pro",
    "gemini-3-pro-image-preview",
    "gemini-flash-latest",
    "gemini-flash-lite-latest",
    "gemini-pro-latest",
    "gemini-robotics-er-1.5-preview",
    "gemma-3-12b-it",
    "gemma-3-1b-it",
    "gemma-3-27b-it",
    "gemma-3-4b-it",
    "gemma-3n-e2b-it",
    "gemma-3n-e4b-it",
    "nano-banana-pro-preview",
}
"""Models that do not support structured outputs when tools are present."""
