@@ -913,12 +913,17 @@ async def _run_single_turn_streamed(
913
913
output_item = event .item
914
914
915
915
if isinstance (output_item , _TOOL_CALL_TYPES ):
916
- call_id = getattr (output_item , "call_id" , getattr (output_item , "id" , None ))
916
+ call_id : str | None = getattr (
917
+ output_item , "call_id" , getattr (output_item , "id" , None )
918
+ )
917
919
918
- if call_id not in emitted_tool_call_ids :
920
+ if call_id and call_id not in emitted_tool_call_ids :
919
921
emitted_tool_call_ids .add (call_id )
920
922
921
- tool_item = ToolCallItem (raw_item = output_item , agent = agent )
923
+ tool_item = ToolCallItem (
924
+ raw_item = cast (ToolCallItemTypes , output_item ),
925
+ agent = agent ,
926
+ )
922
927
streamed_result ._event_queue .put_nowait (
923
928
RunItemStreamEvent (item = tool_item , name = "tool_called" )
924
929
)
@@ -951,8 +956,12 @@ async def _run_single_turn_streamed(
951
956
for item in single_step_result .new_step_items
952
957
if not (
953
958
isinstance (item , ToolCallItem )
954
- and getattr (item .raw_item , "call_id" , getattr (item .raw_item , "id" , None ))
955
- in emitted_tool_call_ids
959
+ and (
960
+ call_id := getattr (
961
+ item .raw_item , "call_id" , getattr (item .raw_item , "id" , None )
962
+ )
963
+ )
964
+ and call_id in emitted_tool_call_ids
956
965
)
957
966
]
958
967
0 commit comments