diff --git a/langgraph_supervisor/supervisor.py b/langgraph_supervisor/supervisor.py index 5277761..ebccc76 100644 --- a/langgraph_supervisor/supervisor.py +++ b/langgraph_supervisor/supervisor.py @@ -4,6 +4,7 @@ from langchain_core.language_models import BaseChatModel, LanguageModelLike from langchain_core.runnables import RunnableConfig from langchain_core.tools import BaseTool +from langchain_core.messages import ToolMessage from langgraph.graph import END, START, StateGraph from langgraph.prebuilt import ToolNode from langgraph.prebuilt.chat_agent_executor import ( @@ -68,7 +69,10 @@ def _process_output(output: dict) -> dict: if output_mode == "full_history": pass elif output_mode == "last_message": - messages = messages[-1:] + if isinstance(messages[-1], ToolMessage): + messages = messages[-2:] + else: + messages = messages[-1:] else: raise ValueError(