"""Plan-and-Solve: Improved Zero-Shot Reasoning

Implementation of the Plan-and-Solve paper (arxiv:2305.04091)
https://arxiv.org/abs/2305.04091

Plan-and-Solve improves zero-shot reasoning by explicitly generating
a plan before solving, reducing reasoning errors.
"""

from .agent import PlanAndSolveAgent, PSResult
from .planner import Planner, Plan, PlanStep
from .solver import Solver, Solution, SolveStep
from .checker import SelfChecker, CheckResult
from .types import StepStatus, PSTrajectory

__version__ = "0.1.0"
__all__ = [
    "PlanAndSolveAgent",
    "PSResult",
    "Planner",
    "Plan",
    "PlanStep",
    "Solver",
    "Solution",
    "SolveStep",
    "SelfChecker",
    "CheckResult",
    "StepStatus",
    "PSTrajectory",
]