"""Configuration settings for MCP Browser Sidecar."""

from pydantic_settings import BaseSettings


class Settings(BaseSettings):
    """Application settings loaded from environment variables."""

    # Session limits
    max_sessions: int = 3
    idle_timeout_seconds: int = 300  # 5 minutes
    max_session_lifetime_seconds: int = 1800  # 30 minutes
    max_actions_per_session: int = 50

    # Playwright settings
    browser_headless: bool = True
    default_timeout_ms: int = 30000
    navigation_timeout_ms: int = 60000

    # Cleanup interval
    cleanup_interval_seconds: int = 60

    # Logging
    log_level: str = "INFO"
    log_json: bool = True

    # Authentication
    api_key: str = ""

    # Screenshots directory
    screenshots_dir: str = "/screenshots"

    class Config:
        env_prefix = ""
        case_sensitive = False


settings = Settings()
