"""Generated model names from all providers.

Auto-generated by scripts/generate_model_names.py - do not edit manually.
Total providers: 18
"""

from __future__ import annotations


from .anthropic import AnthropicModelId, AnthropicModelName
from .anthropic_max import AnthropicMaxModelId, AnthropicMaxModelName
from .cerebras import CerebrasModelId, CerebrasModelName
from .claude_code import ClaudeCodeModelId, ClaudeCodeModelName
from .cohere import CohereModelId, CohereModelName
from .copilot import CopilotModelId, CopilotModelName
from .deepseek import DeepseekModelId, DeepseekModelName
from .gemini import GeminiModelId, GeminiModelName
from .github import GithubModelId, GithubModelName
from .groq import GroqModelId, GroqModelName
from .mistral import MistralModelId, MistralModelName
from .moonshotai import MoonshotaiModelId, MoonshotaiModelName
from .openai import OpenaiModelId, OpenaiModelName
from .openrouter import OpenrouterModelId, OpenrouterModelName
from .requesty import RequestyModelId, RequestyModelName
from .vercel_gateway import VercelGatewayModelId, VercelGatewayModelName
from .xai import XaiModelId, XaiModelName
from .zai import ZaiModelId, ZaiModelName

# models.dev aggregator (not included in ModelId/ModelName unions)
from .modelsdev import ModelsDevModelId, ModelsDevModelName

# Union of all provider model IDs (fully-qualified provider:model format)
# Total: 682, Unique: 682
ModelId = (
    AnthropicModelId
    | AnthropicMaxModelId
    | CerebrasModelId
    | ClaudeCodeModelId
    | CohereModelId
    | CopilotModelId
    | DeepseekModelId
    | GeminiModelId
    | GithubModelId
    | GroqModelId
    | MistralModelId
    | MoonshotaiModelId
    | OpenaiModelId
    | OpenrouterModelId
    | RequestyModelId
    | VercelGatewayModelId
    | XaiModelId
    | ZaiModelId
)

# Union of all provider model names (without provider prefix)
# Total: 682, Unique: 587 (duplicates exist across providers)
ModelName = (
    AnthropicModelName
    | AnthropicMaxModelName
    | CerebrasModelName
    | ClaudeCodeModelName
    | CohereModelName
    | CopilotModelName
    | DeepseekModelName
    | GeminiModelName
    | GithubModelName
    | GroqModelName
    | MistralModelName
    | MoonshotaiModelName
    | OpenaiModelName
    | OpenrouterModelName
    | RequestyModelName
    | VercelGatewayModelName
    | XaiModelName
    | ZaiModelName
)

__all__ = [
    "AnthropicMaxModelId",
    "AnthropicMaxModelName",
    "AnthropicModelId",
    "AnthropicModelName",
    "CerebrasModelId",
    "CerebrasModelName",
    "ClaudeCodeModelId",
    "ClaudeCodeModelName",
    "CohereModelId",
    "CohereModelName",
    "CopilotModelId",
    "CopilotModelName",
    "DeepseekModelId",
    "DeepseekModelName",
    "GeminiModelId",
    "GeminiModelName",
    "GithubModelId",
    "GithubModelName",
    "GroqModelId",
    "GroqModelName",
    "MistralModelId",
    "MistralModelName",
    "ModelId",
    "ModelName",
    "ModelsDevModelId",
    "ModelsDevModelName",
    "MoonshotaiModelId",
    "MoonshotaiModelName",
    "OpenaiModelId",
    "OpenaiModelName",
    "OpenrouterModelId",
    "OpenrouterModelName",
    "RequestyModelId",
    "RequestyModelName",
    "VercelGatewayModelId",
    "VercelGatewayModelName",
    "XaiModelId",
    "XaiModelName",
    "ZaiModelId",
    "ZaiModelName",
]
