from __future__ import annotations

from dataclasses import dataclass, field
from typing import Optional


END_MARKER = "### THE END"

@dataclass
class TurnResult:
    """Output of a complete turn."""
    book_log: str = ""
    user_prompt: str = ""
    ambience: Optional[str] = None
    log_entry: Optional[str] = None
    error: Optional[str] = None
    debug_info: str = ""
    changes: list[str] = field(default_factory=list)
    is_meta: bool = False
    game_over: bool = False
    meta_log: str = ""
