from __future__ import annotations from langgraph.graph import StateGraph, END from ..state import AgentState from ..agents import ( researcher_node, aggregator_node, writer_node, critic_node, formatter_node, ) def build_workflow_app() -> any: """ Build and compile the LangGraph workflow for the multi-agent pipeline. Flow: Researcher -> Aggregator -> Writer -> Critic -> Formatter -> END """ graph = StateGraph(AgentState) graph.add_node("researcher", researcher_node) graph.add_node("aggregator", aggregator_node) graph.add_node("writer", writer_node) graph.add_node("critic", critic_node) graph.add_node("formatter", formatter_node) graph.set_entry_point("researcher") graph.add_edge("researcher", "aggregator") graph.add_edge("aggregator", "writer") graph.add_edge("writer", "critic") graph.add_edge("critic", "formatter") graph.add_edge("formatter", END) app = graph.compile() return app