diff --git a/studio/backend/core/inference/safetensors_agentic.py b/studio/backend/core/inference/safetensors_agentic.py index edde2b0bda..a300e986b3 100644 --- a/studio/backend/core/inference/safetensors_agentic.py +++ b/studio/backend/core/inference/safetensors_agentic.py @@ -144,6 +144,7 @@ def run_safetensors_tool_loop( inject_respond_tool, is_respond_call, ) + tools, _respond_injected = inject_respond_tool(tools) tool_call_history: list[tuple[str, bool]] = [] diff --git a/studio/backend/tests/test_safetensors_tool_loop.py b/studio/backend/tests/test_safetensors_tool_loop.py index 692dfda786..59d67e1e9e 100644 --- a/studio/backend/tests/test_safetensors_tool_loop.py +++ b/studio/backend/tests/test_safetensors_tool_loop.py @@ -537,9 +537,7 @@ class TestRespondToolHelpers: assert out is base def test_is_respond_call(self): - assert is_respond_call( - {"function": {"name": "respond", "arguments": "{}"}} - ) + assert is_respond_call({"function": {"name": "respond", "arguments": "{}"}}) assert not is_respond_call( {"function": {"name": "web_search", "arguments": "{}"}} ) @@ -625,13 +623,15 @@ class TestRespondToolUnwrap: # When the caller supplies a real "respond" tool, the synthetic # one is NOT injected and the call goes through execute_tool # like any other tool, preserving the client's semantics. - turn_iter = iter([ + turn_iter = iter( [ - '{"name":"respond",' - '"arguments":{"message":"hi"}}' - ], - ["thanks"], - ]) + [ + '{"name":"respond",' + '"arguments":{"message":"hi"}}' + ], + ["thanks"], + ] + ) def _gen(_messages): try: