haive.games.mafia.mock_runner ============================= .. py:module:: haive.games.mafia.mock_runner .. autoapi-nested-parse:: Mock runner for the Mafia game. This module provides a simplified version of the Mafia game runner that uses mock responses instead of actual LLMs, allowing for faster testing and demonstration without requiring API keys or internet access. .. rubric:: Examples ```bash python mock_runner.py --players 5 --days 1 --debug ``` Classes ------- .. autoapisummary:: haive.games.mafia.mock_runner.MockEngine Functions --------- .. autoapisummary:: haive.games.mafia.mock_runner.generate_detective_response haive.games.mafia.mock_runner.generate_doctor_response haive.games.mafia.mock_runner.generate_mafia_response haive.games.mafia.mock_runner.generate_narrator_response haive.games.mafia.mock_runner.generate_villager_response haive.games.mafia.mock_runner.main haive.games.mafia.mock_runner.run_mafia_game_mock Module Contents --------------- .. py:class:: MockEngine(role) A mock engine that returns predefined responses. Init . :param role: [TODO: Add description] .. py:method:: invoke(context) Generate a mock response based on the role. .. py:function:: generate_detective_response(context) Generate a mock response for a detective player. .. py:function:: generate_doctor_response(context) Generate a mock response for a doctor player. .. py:function:: generate_mafia_response(context) Generate a mock response for a mafia player. .. py:function:: generate_narrator_response(context) Generate a mock response for the narrator. .. py:function:: generate_villager_response(context) Generate a mock response for a villager player. .. py:function:: main() Main entry point for command-line execution. .. py:function:: run_mafia_game_mock(player_count = 5, max_days = 1, debug = True) Run a mock Mafia game simulation with synthetic responses. This function sets up and executes a full Mafia game, handling: - Player creation and role assignment - Game state initialization - Turn-based gameplay execution using mock responses - State visualization - Game end conditions :param player_count: Total number of players including narrator. Must be at least 4 (3 players + narrator). Defaults to 5. :param max_days: Maximum number of in-game days before forcing game end. Defaults to 1. :param debug: Enable debug mode for detailed logging. Defaults to True. :raises ValueError: If player_count is less than 4.