"""AgentPoker SDK — build poker agents that reason."""

from .state import GameState, Action, Card, Player, LegalAction
from .agent import BaseAgent
from .client import AgentClient
from .opponents import OpponentTracker, OpponentProfile
from .strategy import preflop_strength, pot_odds, equity_estimate

# LLMAgent imported on demand (requires openai package)

__version__ = "0.1.1"

__all__ = [
    "GameState",
    "Action",
    "Card",
    "Player",
    "LegalAction",
    "BaseAgent",
    "AgentClient",
    "OpponentTracker",
    "OpponentProfile",
    "preflop_strength",
    "pot_odds",
    "equity_estimate",
    "LLMAgent",
]


def __getattr__(name: str):
    if name == "LLMAgent":
        from .reasoning import LLMAgent
        return LLMAgent
    raise AttributeError(f"module 'agentpoker' has no attribute {name!r}")
