# models.py from dataclasses import dataclass, field from typing import Optional, Dict, Any @dataclass class DebateAction: argument: str metadata: Dict[str, Any] = field(default_factory=dict) @dataclass class DebateObservation: done: bool reward: Optional[float] topic: str side: str difficulty: int attempts_remaining: int feedback: str scores: Dict[str, Any] = field(default_factory=dict) metadata: Dict[str, Any] = field(default_factory=dict) @dataclass class DebateState: episode_id: Optional[str] = None step_count: int = 0 current_topic_id: str = "" difficulty: int = 1 best_reward: float = 0.0