# Auto-generated by DjangoCFG - see CLAUDE.md

from enum import Enum


class StrEnum(str, Enum):
    """String Enum for Python 3.10+ compatibility."""


class CapabilitiesListResponseCapabilitiesItems(StrEnum):
    """
    * `vision` - Vision
    * `tools` - Tool Calling
    * `agents` - Agent Tool Calling (verified)
    * `json` - JSON Mode
    * `streaming` - Streaming
    * `long` - Long Context
    * `image` - Image Generation
    """

    VISION = "vision"
    TOOLS = "tools"
    AGENTS = "agents"
    JSON = "json"
    STREAMING = "streaming"
    LONG = "long"
    IMAGE = "image"



class CategorySlug(StrEnum):
    """
    * `code` - Code Generation
    * `vision` - Vision & Images
    * `reasoning` - Reasoning & Math
    * `agents` - Tool Use & Agents
    * `creative` - Creative Writing
    * `chat` - Conversational
    * `analysis` - Analysis & Extraction
    """

    CODE = "code"
    VISION = "vision"
    REASONING = "reasoning"
    AGENTS = "agents"
    CREATIVE = "creative"
    CHAT = "chat"
    ANALYSIS = "analysis"



class LLMModelDetailSyncSource(StrEnum):
    """
    Sync pipeline that manages this model
    * `openrouter` - OpenRouter API
    * `openai` - OpenAI Direct
    * `anthropic` - Anthropic Direct
    * `alibaba` - Alibaba DashScope
    * `google` - Google Vertex AI
    * `manual` - Manually Added
    """

    OPENROUTER = "openrouter"
    OPENAI = "openai"
    ANTHROPIC = "anthropic"
    ALIBABA = "alibaba"
    GOOGLE = "google"
    MANUAL = "manual"



class PresetSlug(StrEnum):
    """
    Preset slug (e.g., 'cheap', 'smart')
    * `cheap` - Cheapest
    * `budget` - Budget
    * `standard` - Standard
    * `smart` - Smartest
    * `fast` - Fastest
    * `balanced` - Balanced
    * `premium` - Premium
    """

    CHEAP = "cheap"
    BUDGET = "budget"
    STANDARD = "standard"
    SMART = "smart"
    FAST = "fast"
    BALANCED = "balanced"
    PREMIUM = "premium"



class PresetSortBy(StrEnum):
    """
    Primary sort field
    * `price` - Price (Lowest First)
    * `quality` - Quality (Highest First)
    * `speed` - Speed (Fastest First)
    * `value` - Value (Best Ratio)
    """

    PRICE = "price"
    QUALITY = "quality"
    SPEED = "speed"
    VALUE = "value"



