Spaces:
Running
Running
| from multi_agent_sdlc.transitions import create_prepare_retest_node | |
| from multi_agent_sdlc.reviewer import reviewer_node | |
| from multi_agent_sdlc.agents.tester.routing import route_after_tester | |
| from multi_agent_sdlc.tools.tester.registry import TESTER_TOOLS | |
| from multi_agent_sdlc.agents.coder.node import coder_node | |
| from multi_agent_sdlc.agents.planner.node import planner_node | |
| from multi_agent_sdlc.agents.tester.node import tester_node | |
| from multi_agent_sdlc.agents.coder.routing import route_after_coder | |
| from multi_agent_sdlc.tools.coder.registry import CODER_TOOLS | |
| from langgraph.graph import END, START, StateGraph | |
| from .state import DevState | |
| from langgraph.prebuilt import ToolNode | |
| def build_graph(): | |
| builder = StateGraph(DevState) | |
| coder_tool_node = ToolNode( | |
| CODER_TOOLS, | |
| messages_key="coder_messages", | |
| handle_tool_errors=True, | |
| ) | |
| tester_tool_node = ToolNode( | |
| TESTER_TOOLS, | |
| messages_key="tester_messages", | |
| handle_tool_errors=True, | |
| ) | |
| builder.add_node("planner", planner_node) | |
| builder.add_node("coder", coder_node) | |
| builder.add_node("coder_tools", coder_tool_node) | |
| builder.add_node("tester", tester_node) | |
| builder.add_node("tester_tools", tester_tool_node) | |
| builder.add_node( | |
| "prepare_retest", | |
| create_prepare_retest_node, | |
| ) | |
| builder.add_node("reviewer", reviewer_node) | |
| builder.add_edge(START, "planner") | |
| builder.add_edge("planner", "coder") | |
| builder.add_conditional_edges( | |
| "coder", | |
| route_after_coder, | |
| { | |
| "coder": "coder", | |
| "coder_tools": "coder_tools", | |
| "tester": "tester", | |
| "prepare_retest": "prepare_retest", | |
| }, | |
| ) | |
| builder.add_conditional_edges( | |
| "tester", | |
| route_after_tester, | |
| { | |
| "tester_tools": "tester_tools", | |
| "reviewer": "reviewer", | |
| "coder": "coder", | |
| "tester": "tester", | |
| }, | |
| ) | |
| builder.add_edge("coder_tools", "coder") | |
| builder.add_edge("tester_tools", "tester") | |
| builder.add_edge("prepare_retest", "tester") | |
| builder.add_edge("reviewer", END) | |
| return builder.compile() | |