diff --git a/letta/helpers/tool_rule_solver.py b/letta/helpers/tool_rule_solver.py index cdaaebc1..65258f5b 100644 --- a/letta/helpers/tool_rule_solver.py +++ b/letta/helpers/tool_rule_solver.py @@ -141,9 +141,7 @@ class ToolRulesSolver(BaseModel): def is_terminal_tool(self, tool_name: str) -> bool: """Check if the tool is defined as a terminal tool in the terminal tool rules or required-before-exit tool rules.""" - return any(rule.tool_name == tool_name for rule in self.terminal_tool_rules) or any( - rule.tool_name == tool_name for rule in self.required_before_exit_tool_rules - ) + return any(rule.tool_name == tool_name for rule in self.terminal_tool_rules) def has_children_tools(self, tool_name): """Check if the tool has children tools""" diff --git a/tests/integration_test_agent_tool_graph.py b/tests/integration_test_agent_tool_graph.py index 7698e370..5482bce7 100644 --- a/tests/integration_test_agent_tool_graph.py +++ b/tests/integration_test_agent_tool_graph.py @@ -967,7 +967,7 @@ async def test_required_tools_called_during_normal_flow(server, disable_e2b_api_ tools = [save_data_tool] tool_rules = [ InitToolRule(tool_name="save_data"), - RequiredBeforeExitToolRule(tool_name="send_message"), + RequiredBeforeExitToolRule(tool_name="save_data"), TerminalToolRule(tool_name="send_message"), ]