from dataclasses import dataclass @dataclass(frozen=True) class LevelConfig: level: int initial_tickets: int agent_count: int max_steps: int enable_sla: bool = False enable_dependencies: bool = False enable_stochastic: bool = False enable_memory: bool = False arrival_rate: float = 0.0 memory_budget: int = 10_000 LEVEL_CONFIGS: dict[int, LevelConfig] = { 1: LevelConfig(level=1, initial_tickets=4, agent_count=1, max_steps=40), 2: LevelConfig(level=2, initial_tickets=6, agent_count=3, max_steps=60, enable_sla=True), 3: LevelConfig( level=3, initial_tickets=7, agent_count=4, max_steps=80, enable_sla=True, enable_dependencies=True, ), 4: LevelConfig( level=4, initial_tickets=8, agent_count=4, max_steps=100, enable_sla=True, enable_dependencies=True, enable_stochastic=True, arrival_rate=0.7, ), 5: LevelConfig( level=5, initial_tickets=8, agent_count=4, max_steps=120, enable_sla=True, enable_dependencies=True, enable_stochastic=True, enable_memory=True, arrival_rate=0.8, memory_budget=12_000, ), }