Spaces:
Running on Zero
Running on Zero
| from pydantic import BaseModel, field_validator | |
| from typing import List, Optional | |
| class TurnUpdate(BaseModel): | |
| affinity_delta: int = 0 | |
| new_memories: List[str] = [] | |
| tone_delta: int = 0 | |
| cruel_quote: Optional[str] = None | |
| chosen_name: Optional[str] = None | |
| def clamp_delta(cls, v): | |
| return max(-8, min(8, v)) | |
| def clamp_tone(cls, v): | |
| return max(-10, min(10, v)) | |
| def clean_quote(cls, v): | |
| if v is None: | |
| return None | |
| v = v.strip()[:120] | |
| return v or None | |