from __future__ import annotations import enum from typing import List, Optional from pydantic import BaseModel from litrl.env.connect_four import Board ObservationType = List[Board] class AgentType(enum.Enum): RANDOM = "random" MCTS = "mcts" SAC = "sac" class RolloutPolicy(enum.Enum): RANDOM = "random" SAC = "sac" class CpuConfig(BaseModel): agent_type: AgentType simulations: Optional[int] = None # noqa: UP007 rollout_policy: Optional[RolloutPolicy] = None # noqa: UP007 class GridResponseType(BaseModel): grid: ObservationType done: bool class BotResponseType(GridResponseType): action: int