from typing import Literal

from screensuite.benchmarks.hubbasebenchmark import HubBaseBenchmarkConfig


class ShowdownClicksConfig(HubBaseBenchmarkConfig):
    hf_repo: Literal["generalagents/showdown-clicks"] = "generalagents/showdown-clicks"
    """HF repo name"""

    revision: str = "main"

    split: Literal["dev"] = "dev"
    """HF split name"""

    max_tokens: int = 1024
    """Maximum number of tokens in the completion."""

    temperature: float = 0.0
    """Sampling temperature."""

    data_dir: str | list[str] | None = None
    """HF data directory"""

    @classmethod
    def create(cls) -> "ShowdownClicksConfig":
        """Create a config for ScreenSpot v1 training dataset"""
        return cls()
