From 544a0be65b3f24ebf01538ac4e5a3b1ad6c8f1d0 Mon Sep 17 00:00:00 2001 From: Luis Rodriguez Date: Tue, 18 Aug 2026 10:05:04 -0400 Subject: [PATCH] fix: include arguments for zero-argument eval tool calls --- .../core/agent_framework/_evaluation.py | 3 +-- .../foundry/tests/test_foundry_evals.py | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/python/packages/core/agent_framework/_evaluation.py b/python/packages/core/agent_framework/_evaluation.py index cac000ca0b2..326e44032be 100644 --- a/python/packages/core/agent_framework/_evaluation.py +++ b/python/packages/core/agent_framework/_evaluation.py @@ -796,9 +796,8 @@ def convert_message(message: Message) -> list[dict[str, Any]]: "type": "tool_call", "tool_call_id": c.call_id or "", "name": c.name or "", + "arguments": args if args is not None else {}, } - if args: - tc["arguments"] = args content_items.append(tc) elif c.type == "function_result": result_val = c.result diff --git a/python/packages/foundry/tests/test_foundry_evals.py b/python/packages/foundry/tests/test_foundry_evals.py index 575a5976bbf..636593b47a2 100644 --- a/python/packages/foundry/tests/test_foundry_evals.py +++ b/python/packages/foundry/tests/test_foundry_evals.py @@ -153,6 +153,26 @@ def test_assistant_with_tool_call(self) -> None: assert tc["name"] == "get_weather" assert tc["arguments"] == {"location": "Seattle"} + def test_assistant_with_zero_argument_tool_call(self) -> None: + msg = Message( + "assistant", + [Content.from_function_call(call_id="call_1", name="get_site_summary", arguments=None)], + ) + + result = AgentEvalConverter.convert_message(msg) + + assert result[0]["content"][0]["arguments"] == {} + + def test_assistant_with_empty_argument_object_tool_call(self) -> None: + msg = Message( + "assistant", + [Content.from_function_call(call_id="call_1", name="get_site_summary", arguments={})], + ) + + result = AgentEvalConverter.convert_message(msg) + + assert result[0]["content"][0]["arguments"] == {} + def test_assistant_text_and_tool_call(self) -> None: msg = Message( "assistant",