Spaces:
Running
Running
File size: 2,182 Bytes
96e57e5 76e192b e526aa8 a9561a2 ee30fd7 37f9abc 8778e44 0d054b5 8778e44 0d054b5 ee30fd7 0d054b5 872f80c 0d054b5 878b473 0d054b5 ee30fd7 76e192b 96e57e5 76e192b 0d054b5 b40eaae 0d054b5 ee30fd7 96e57e5 0d054b5 76e192b c6231ab 76e192b 0d054b5 76e192b 96e57e5 76e192b 8778e44 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | 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()
|