"""
FloWTorch - PyTorch + TensorFlow braided bridge with Helix64 preconditions
"""

__version__ = "0.1.0"

# Lazy imports to avoid runpy warning when running submodules directly
# Use: from flowtorch import PlannerRouter (triggers import)
# Or: from flowtorch.planner_router import PlannerRouter (direct)


def __getattr__(name):
    """Lazy import for heavy modules."""
    if name in (
        "PlannerRouter",
        "PlannerConfig",
        "PlannerJob",
        "PlannerResult",
        "generate_synthetic_planner_jobs",
    ):
        from .planner_router import (
            PlannerRouter,
            PlannerConfig,
            PlannerJob,
            PlannerResult,
            generate_synthetic_planner_jobs,
        )
        return {
            "PlannerRouter": PlannerRouter,
            "PlannerConfig": PlannerConfig,
            "PlannerJob": PlannerJob,
            "PlannerResult": PlannerResult,
            "generate_synthetic_planner_jobs": generate_synthetic_planner_jobs,
        }[name]
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")


__all__ = [
    "PlannerRouter",
    "PlannerConfig",
    "PlannerJob",
    "PlannerResult",
    "generate_synthetic_planner_jobs",
]
