from typing import Literal

from screensuite.benchmarks.hubbasebenchmark import HubBaseBenchmarkConfig


class MMind2WebConfig(HubBaseBenchmarkConfig):
    hf_repo: Literal["osunlp/Multimodal-Mind2Web"]
    """HF repo name"""

    revision: str = "main"

    split: list[str] = ["test_domain", "test_task", "test_website"]
    """HF split name"""

    max_step_memory: int = 1
    """Max number of steps to remember"""

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

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

    @classmethod
    def create(cls) -> "MMind2WebConfig":
        """Create a config for MM2Web dev dataset"""
        return cls(
            hf_repo="osunlp/Multimodal-Mind2Web",
            split=["test_domain", "test_task", "test_website"],
        )
