from __future__ import annotations class SyncGamesError(Exception): key = "error" def __init__(self, message: str, *, key: str | None = None) -> None: super().__init__(message) if key: self.key = key class ConfigError(SyncGamesError): key = "config_error" class LeaseHeldError(SyncGamesError): key = "lease_held" class StaleWipError(SyncGamesError): key = "stale_wip" class StoreError(SyncGamesError): key = "store_error" class GameRunningError(SyncGamesError): key = "game_running"