"""Configuration models for harvest-session-dbs."""

from __future__ import annotations

from pathlib import Path

from pydantic import BaseModel

DEFAULT_OUTPUT_DIR = Path.home() / "fixtures"

DEFAULT_HOSTS: list[str] = [
    "srv-fedora",
    "vps9",
    "router-fedora",
    "macbook",
    "fax-satellite",
]

DEFAULT_TOOLS: list[str] = ["devin", "opencode"]


class HarvestConfig(BaseModel):
    """Configuration for the harvest-session-dbs tool.

    Attributes:
        hosts: List of hostnames to harvest session DBs from.
        tools: List of tool names to harvest (devin, opencode).
        output_dir: Directory where harvested fixture files are stored.
    """

    hosts: list[str] = []
    tools: list[str] = []
    output_dir: Path = DEFAULT_OUTPUT_DIR
