Files
FusionAGI/fusionagi/planning/strategies.py
defiQUG c052b07662
Some checks failed
Tests / test (3.10) (push) Has been cancelled
Tests / test (3.11) (push) Has been cancelled
Tests / test (3.12) (push) Has been cancelled
Tests / lint (push) Has been cancelled
Tests / docker (push) Has been cancelled
Initial commit: add .gitignore and README
2026-02-09 21:51:42 -08:00

24 lines
687 B
Python

"""Planning strategies: linear vs dependency-based order."""
from typing import Callable
from fusionagi.schemas.plan import Plan
from fusionagi.planning.graph import topological_order
def linear_order(plan: Plan) -> list[str]:
"""Return step ids in declaration order (ignore dependencies)."""
return plan.step_ids()
def dependency_order(plan: Plan) -> list[str]:
"""Return step ids in dependency order (topological sort)."""
return topological_order(plan)
def get_strategy(name: str) -> Callable[[Plan], list[str]]:
"""Return strategy function by name: linear or dependency."""
if name == "linear":
return linear_order
return dependency_order