from pydantic import BaseModel, Field from typing import Optional, Dict, Any, List class RegisterRequest(BaseModel): username: str = Field(..., min_length=3, max_length=32) password: str = Field(..., min_length=4, max_length=128) # Honeypot field: real users leave this empty. Bots populate it. website_hp: Optional[str] = None class LoginRequest(BaseModel): username: str password: str class AuthResponse(BaseModel): token: str username: str class SyncTickRequest(BaseModel): actions: List[Dict[str, Any]] = [] class SaveGameRequest(BaseModel): save_data: Dict[str, Any]