FATHOM-DM / agents /hero /__init__.py
aarushgupta's picture
Deploy FATHOM-DM Space bundle
2803d7e verified
"""Hero agent environment and runner primitives."""
from __future__ import annotations
from typing import TYPE_CHECKING, Any
__all__ = [
"HeroEnvironment",
"HeroLLMPolicy",
"HeroObservation",
"HeroPolicy",
"HeroPolicyError",
"HeroRunner",
"HeroServerAction",
"HeroState",
"HeroTraceEvent",
"ScriptedToolCallingPolicy",
"ToolCallingPolicy",
]
if TYPE_CHECKING:
from .env import HeroEnvironment
from .policy import HeroLLMPolicy, HeroPolicy, HeroPolicyError, HeroTraceEvent
from .runner import HeroRunner, ScriptedToolCallingPolicy, ToolCallingPolicy
from .schema import HeroObservation, HeroServerAction, HeroState
def __getattr__(name: str) -> Any:
if name == "HeroEnvironment":
from .env import HeroEnvironment
return HeroEnvironment
if name in {"HeroLLMPolicy", "HeroPolicy", "HeroPolicyError", "HeroTraceEvent"}:
from .policy import HeroLLMPolicy, HeroPolicy, HeroPolicyError, HeroTraceEvent
return {
"HeroLLMPolicy": HeroLLMPolicy,
"HeroPolicy": HeroPolicy,
"HeroPolicyError": HeroPolicyError,
"HeroTraceEvent": HeroTraceEvent,
}[name]
if name in {"HeroRunner", "ScriptedToolCallingPolicy", "ToolCallingPolicy"}:
from .runner import HeroRunner, ScriptedToolCallingPolicy, ToolCallingPolicy
return {
"HeroRunner": HeroRunner,
"ScriptedToolCallingPolicy": ScriptedToolCallingPolicy,
"ToolCallingPolicy": ToolCallingPolicy,
}[name]
if name in {"HeroObservation", "HeroServerAction", "HeroState"}:
from .schema import HeroObservation, HeroServerAction, HeroState
return {
"HeroObservation": HeroObservation,
"HeroServerAction": HeroServerAction,
"HeroState": HeroState,
}[name]
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")