File size: 924 Bytes
a61ba58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from services.mistral_client import MistralClient
from core.generators.universe_generator import UniverseGenerator
from core.story_generator import StoryGenerator

# Initialize generators with None - they will be set up when needed
universe_generator = None

def setup_game(api_key: str, model_name: str = "mistral-small"):
    """Setup all game components with the provided API key."""
    global universe_generator
    
    mistral_client = MistralClient(api_key=api_key, model_name=model_name)
    universe_generator = UniverseGenerator(mistral_client)
    # StoryGenerator is a singleton, so we just need to initialize it
    StoryGenerator(api_key=api_key, model_name=model_name)

def get_universe_generator() -> UniverseGenerator:
    """Get the universe generator instance."""
    if universe_generator is None:
        raise RuntimeError("Game not initialized. Call setup_game first.")
    return universe_generator