36 lines
993 B
Python
36 lines
993 B
Python
#!/usr/bin/env python3
|
|
"""
|
|
models.py — Data classes for The Chaos game engine.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass, field
|
|
from typing import Optional
|
|
|
|
|
|
@dataclass
|
|
class GenerationResult:
|
|
"""Legacy result — kept for backward compat with CLI main()."""
|
|
narrative: str
|
|
choices: list[str] = field(default_factory=list)
|
|
log_entry: Optional[str] = None
|
|
ambience: Optional[str] = None
|
|
character_updates: Optional[str] = None
|
|
world_updates: Optional[str] = None
|
|
journal_add: list[str] = field(default_factory=list)
|
|
journal_done: list[str] = field(default_factory=list)
|
|
error: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class TurnResult:
|
|
"""Output of a complete turn via finalize_turn tool."""
|
|
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)
|