Source code for simvx.core.ai

"""SimVX AI contract: the dependency-free perceive / decide / act foundation.

Classical AI (behaviour trees, state machines, utility, GOAP) and the LLM
brain in the separate `simvx.ai` package both implement the `Brain` contract
and share a `Blackboard`, so an `LLMBrain` and a `BehaviourTreeBrain` are
interchangeable on the same agent. This package has no third-party
dependencies; the LLM client lives in `simvx.ai`.
"""

from .agent_node import AgentNode, BrainRunner, build_ai_context
from .async_slot import AsyncSlot
from .blackboard import Blackboard
from .brain import Action, ActionResult, AIContext, Brain
from .sensor import Perception, Sensor

__all__ = [
    "AIContext",
    "Action",
    "ActionResult",
    "AgentNode",
    "AsyncSlot",
    "Blackboard",
    "Brain",
    "BrainRunner",
    "Perception",
    "Sensor",
    "build_ai_context",
]