# retoor <retoor@molodetz.nl>

from dataclasses import dataclass
from pathlib import Path

from devplacepy.services.bot import config


@dataclass
class BotRuntimeConfig:
    state_path: Path
    base_url: str = config.BASE_URL_DEFAULT
    api_url: str = config.API_URL_DEFAULT
    news_api: str = config.NEWS_API_DEFAULT
    model: str = config.MODEL_DEFAULT
    api_key: str = ""
    input_cost_per_1m: float = config.INPUT_COST_PER_1M_DEFAULT
    output_cost_per_1m: float = config.OUTPUT_COST_PER_1M_DEFAULT
    headless: bool = True
    registry_path: Path = config.ARTICLE_REGISTRY_PATH
    max_per_article: int = config.MAX_BOTS_PER_ARTICLE
    article_ttl_days: int = config.ARTICLE_TTL_DAYS
    gist_min_lines: int = config.GIST_MIN_LINES
    action_pause_min: int = config.ACTION_PAUSE_MIN_SECONDS
    action_pause_max: int = config.ACTION_PAUSE_MAX_SECONDS
    break_scale: float = config.BREAK_SCALE_DEFAULT
    startup_jitter_seconds: int = config.STARTUP_JITTER_SECONDS_DEFAULT
    ai_decisions: bool = config.AI_DECISIONS_DEFAULT
    decision_temperature: float = config.DECISION_TEMPERATURE_DEFAULT
