
    \j                         d dl mZ d dlmZ ddlmZmZ d dlmZ er
d dlm	Z	m
Z
mZ 	 d dlZ	 	 	 	 	 	 	 	 d
d	Zy# e$ r	  ed      w xY w)    wraps)DidNotEnable   execute_tool_spanupdate_execute_tool_span)TYPE_CHECKING)AnyCallable	AwaitableNzOpenAI Agents not installedc           
        K    | |       d{   }g }|D ]  }|j                   j                  dk7  r|j                  |       .|j                  }	 	 	 	 	 	 dfd}t	        j
                  |j                  |j                  |j                   |||      |j                  |j                        }|j                  |        |S 7 w)zL
    Responsible for creating and managing `gen_ai.execute_tool` spans.
    NFunctionToolc                 D     t              	 	 	 	 	 	 d fd       }|S )Nc                     K   t        g| i |5 } | i | d {   }t        ||       d d d        |S 7 # 1 sw Y   S xY ww)Nr   )argskwargsspanresultagentcurrent_on_invokecurrent_tools       ]/root/env/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/tools.pysentry_wrapped_on_invoke_toolzT_get_all_tools.<locals>.create_wrapped_invoke.<locals>.sentry_wrapped_on_invoke_tool*   sf      '|EdEfE 	P $5d#Ef#EEF,T5,O	P  F	P s%   A><>
A>AA)r   r   r   r   returnr   r   )r   r   r   r   s   `` r   create_wrapped_invokez-_get_all_tools.<locals>.create_wrapped_invoke'   s=     $%(- &  10    )namedescriptionparams_json_schemaon_invoke_toolstrict_json_schema
is_enabled)r   zagents.Toolr   Callable[..., Any]r   r$   )	__class____name__appendr!   agentsr   r   r   r    r"   r#   )	original_get_all_toolsr   context_wrappertoolswrapped_toolstooloriginal_on_invoker   wrapped_tools	    `       r   _get_all_toolsr0      s      )@@EM '+>>""n4  & "00	1'	1<P	1!	1, **((#6607IJ#66
 	\*O'+R Y As   C
CB8C
)r)   z+Callable[..., Awaitable[list[agents.Tool]]]r   zagents.Agentr*   zagents.RunContextWrapperr   zlist[agents.Tool])	functoolsr   sentry_sdk.integrationsr   spansr   r	   typingr
   r   r   r   r(   ImportErrorr0    r   r   <module>r7      sh     0 ?  //6
5I55 05 	5	  6
4
556s	   9 A