__all__ = [
    "AgentProcess",
    "ProcessResult",
    "V1Process",
    "V2Process",
]


def __getattr__(name: str):
    if name in {"AgentProcess", "ProcessResult"}:
        from app.core.agent.processes.base import AgentProcess, ProcessResult

        return {"AgentProcess": AgentProcess, "ProcessResult": ProcessResult}[name]
    if name == "V1Process":
        from app.core.agent.processes.v1.process import V1Process

        return V1Process
    if name == "V2Process":
        from app.core.agent.processes.v2.v2_process import V2Process

        return V2Process
    raise AttributeError(name)
