from typing import Any, Dict

from pydantic import BaseModel, ConfigDict, Field


class PersistConfig(BaseModel):
    model_config = ConfigDict(extra="forbid", validate_assignment=True)

    backend: str = "sqlite"
    db_path: str
    backend_options: Dict[str, Any] = Field(default_factory=dict)
    enable: bool = True
    wipe_on_start: bool = False
