games.mafia.config¶

Configuration for the Mafia game agent.

This module provides configuration classes and utilities for the Mafia game agent, including:

  • Game settings (max days, discussion rounds)

  • LLM engine configurations

  • Role mappings and assignments

  • Debug settings

Example

>>> from mafia.config import MafiaAgentConfig
>>>
>>> # Create a default configuration for 7 players
>>> config = MafiaAgentConfig.default_config(
...     player_count=7,
...     max_days=3
... )
>>> print(config.max_days)  # Shows 3

Classes¶

MafiaAgentConfig

Configuration for the Mafia game agent.

Module Contents¶

class games.mafia.config.MafiaAgentConfig¶

Bases: haive.games.framework.multi_player.config.MultiPlayerGameConfig

Configuration for the Mafia game agent.

This class extends MultiPlayerGameConfig to provide Mafia-specific configuration options and defaults.

max_days¶

Maximum number of days before forcing game end

Type:

int

day_discussion_rounds¶

Number of discussion rounds per day

Type:

int

engines¶

LLM configs by role

Type:

Dict[str, Dict[str, AugLLMConfig]]

state_schema¶

State schema for the game

Type:

Type[MafiaGameState]

role_mapping¶

Engine key to role mapping

Type:

Dict[str, PlayerRole]

debug¶

Enable debug mode for detailed logging

Type:

bool

Example

>>> config = MafiaAgentConfig(
...     name="mafia_game",
...     max_days=3,
...     engines=aug_llm_configs,
...     initial_player_count=7
... )
>>> print(config.max_days)  # Shows 3
classmethod default_config(player_count=7, max_days=3)¶

Create a default configuration for a Mafia game.

This method creates a standard configuration with appropriate role mappings and engine configurations for the specified number of players.

Parameters:
  • player_count (int, optional) – Number of players including narrator. Defaults to 7.

  • max_days (int, optional) – Maximum number of days before forcing game end. Defaults to 3.

Returns:

Configured agent ready for game initialization

Return type:

MafiaAgentConfig

Example

>>> config = MafiaAgentConfig.default_config(
...     player_count=9,
...     max_days=4
... )
>>> print(len(config.role_mapping))  # Shows 5 (all roles)