from __future__ import annotations

from dataclasses import dataclass

@dataclass
class SupervisorSystem:
    house_edge: float = 0.05
    player_retention_factor: float = 0.85
    current_session_profit: float = 0.0
    consecutive_wins: int = 0
    consecutive_losses: int = 0

    def adjust_probability(self, base_prob: float, bet_amount: float) -> float:
        if self.consecutive_losses > 3:
            return min(base_prob + 0.10, 0.70)
        if self.consecutive_wins > 2:
            return max(base_prob - 0.15, 0.20)
        return base_prob
