__all__ = ["EpisodeRunner", "BudgetExhaustedError"]


def __getattr__(name):
    if name in __all__:
        from recoil.pipeline.orchestrator.episode_runner import (
            BudgetExhaustedError,
            EpisodeRunner,
        )

        globals().update(
            {
                "BudgetExhaustedError": BudgetExhaustedError,
                "EpisodeRunner": EpisodeRunner,
            }
        )
        return globals()[name]
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
