Cashy / src /agent /graph.py
GitHub Actions
Deploy to HF Spaces
17a78b5
raw
history blame contribute delete
837 Bytes
from langgraph.graph import StateGraph, START, END
from langgraph.prebuilt import ToolNode
from src.agent.state import AgentState
from src.agent.nodes import call_model, should_continue
from src.tools import all_tools
def create_agent(checkpointer=None):
"""Create and compile the Cashy agent graph.
Args:
checkpointer: Optional LangGraph checkpointer for conversation persistence.
Returns:
Compiled LangGraph agent.
"""
tool_node = ToolNode(all_tools)
builder = StateGraph(AgentState)
builder.add_node("agent", call_model)
builder.add_node("tools", tool_node)
builder.add_edge(START, "agent")
builder.add_conditional_edges("agent", should_continue, {"tools": "tools", END: END})
builder.add_edge("tools", "agent")
return builder.compile(checkpointer=checkpointer)