diff --git a/vision_agent/tools/tool_utils.py b/vision_agent/tools/tool_utils.py index 1b85446b..605f5511 100644 --- a/vision_agent/tools/tool_utils.py +++ b/vision_agent/tools/tool_utils.py @@ -208,19 +208,25 @@ def _call_post( if files: files_in_b64 = [(file[0], b64encode(file[1]).decode("utf-8")) for file in files] try: + if files is not None: + response = session.post(url, data=payload, files=files) + else: + response = session.post(url, json=payload) + + # make sure function_name is in the payload so we can display it + tool_call_trace_payload = ( + payload + if "function_name" in payload + else {**payload, **{"function_name": function_name}} + ) tool_call_trace = ToolCallTrace( endpoint_url=url, - request=payload, + request=tool_call_trace_payload, response={}, error=None, files=files_in_b64, ) - if files is not None: - response = session.post(url, data=payload, files=files) - else: - response = session.post(url, json=payload) - if response.status_code != 200: tool_call_trace.error = Error( name="RemoteToolCallFailed",