BrianIsaac commited on
Commit
3645e99
·
1 Parent(s): 54a86b4

fix: add RunnableConfig to workflow.ainvoke and astream_events calls

Browse files
Files changed (1) hide show
  1. backend/agents/workflow.py +7 -2
backend/agents/workflow.py CHANGED
@@ -14,6 +14,7 @@ from datetime import datetime, timezone
14
  from decimal import Decimal
15
 
16
  from langgraph.graph import StateGraph, END
 
17
  from backend.models.agent_state import AgentState, MCPCall
18
  from backend.agents.portfolio_analyst import PortfolioAnalystAgent
19
  from backend.agents.personas import create_persona_agent, PersonaType
@@ -647,7 +648,10 @@ class PortfolioAnalysisWorkflow:
647
  """
648
  logger.info(f"Starting portfolio analysis workflow for {len(initial_state['holdings'])} holdings")
649
 
650
- result = await self.workflow.ainvoke(initial_state)
 
 
 
651
 
652
  logger.info("Workflow complete")
653
  return result
@@ -690,7 +694,8 @@ class PortfolioAnalysisWorkflow:
690
  }
691
 
692
  final_state = None
693
- async for event in self.workflow.astream_events(initial_state, version="v2"):
 
694
  if event["event"] == "on_chain_end":
695
  node_name = event.get("name", "")
696
  if node_name in phase_info:
 
14
  from decimal import Decimal
15
 
16
  from langgraph.graph import StateGraph, END
17
+ from langchain_core.runnables import RunnableConfig
18
  from backend.models.agent_state import AgentState, MCPCall
19
  from backend.agents.portfolio_analyst import PortfolioAnalystAgent
20
  from backend.agents.personas import create_persona_agent, PersonaType
 
648
  """
649
  logger.info(f"Starting portfolio analysis workflow for {len(initial_state['holdings'])} holdings")
650
 
651
+ result = await self.workflow.ainvoke(
652
+ initial_state,
653
+ config=RunnableConfig(configurable={}, recursion_limit=25)
654
+ )
655
 
656
  logger.info("Workflow complete")
657
  return result
 
694
  }
695
 
696
  final_state = None
697
+ config = RunnableConfig(configurable={}, recursion_limit=25)
698
+ async for event in self.workflow.astream_events(initial_state, version="v2", config=config):
699
  if event["event"] == "on_chain_end":
700
  node_name = event.get("name", "")
701
  if node_name in phase_info: