"""Configuration for the Mancala game agent.This module defines the configuration for the Mancala game agent, which includes thegame name, state schema, engine configurations, enable_analysis, visualize, andstones_per_pit."""fromhaive.core.engine.aug_llmimportAugLLMConfigfrompydanticimportFieldfromhaive.games.framework.base.configimportGameConfigfromhaive.games.mancala.enginesimportmancala_enginesfromhaive.games.mancala.stateimportMancalaState
[docs]classMancalaConfig(GameConfig):"""Configuration for the Mancala game agent. This class defines the configuration for the Mancala game agent, which includes the game name, state schema, engine configurations, enable_analysis, visualize, and stones_per_pit. """name:str=Field(default="mancala",description="Name of the game")state_schema:type[MancalaState]=Field(default=MancalaState)engines:dict[str,AugLLMConfig]=Field(default=mancala_engines,description="Configs for the Mancala engines")enable_analysis:bool=Field(default=True,description="Whether to enable position analysis")visualize:bool=Field(default=True,description="Whether to visualize the game")stones_per_pit:int=Field(default=4,description="Initial number of stones per pit")
[docs]@classmethoddefdefault_config(cls):"""Create a default configuration. Returns: MancalaConfig: Default configuration for the Mancala game. """returncls(name="mancala",state_schema=MancalaState,engines=mancala_engines,enable_analysis=True,visualize=True,stones_per_pit=4,)