
    gh                         S SK Jr  S SKJr  SSKJrJr  S SKJr  \(       a  S SKJ	r	J
r
   S SKrS	 rg! \ a	    \" S5      ef = f)
    wraps)DidNotEnable   execute_tool_spanupdate_execute_tool_span)TYPE_CHECKING)AnyCallableNzOpenAI Agents not installedc                 j   ^  [        [        T S5      (       a  T R                  OT 5      U 4S j5       nU$ )z{
Wraps the agents.Runner._get_all_tools method of the Runner class to wrap all function tools with Sentry instrumentation.
__func__c           
        >^#    T	" TU5      I S h  vN n/ nU H  nUR                   R                  S:w  a  UR                  U5        M0  UR                  nU4S jn[        R
                  " UR                  UR                  UR                  U" XV5      UR                  UR                  S9nUR                  U5        M     U$  N7f)NFunctionToolc                 8   >^ ^ [        T5      UUU 4S j5       nU$ )Nc                     >#    [        T/U Q70 UD6 nT" U 0 UD6I S h  vN n[        UTTU5        S S S 5        U$  N! , (       d  f       W$ = f7f)Nr   )argskwargsspanresultagentcurrent_on_invokecurrent_tools       v/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/sentry_sdk/integrations/openai_agents/patches/tools.pysentry_wrapped_on_invoke_toolڂ_create_get_all_tools_wrapper.<locals>.wrapped_get_all_tools.<locals>.create_wrapped_invoke.<locals>.sentry_wrapped_on_invoke_tool/   sa      +<I$I&IT (9$'I&'I!I0ulFS J "M "J JI "Ms%   A><>
A>
AAr   )r   r   r   r   s   `` r   create_wrapped_invoke[_create_get_all_tools_wrapper.<locals>.wrapped_get_all_tools.<locals>.create_wrapped_invoke-   s#    ()" *" 54    )namedescriptionparams_json_schemaon_invoke_toolstrict_json_schema
is_enabled)	__class____name__appendr#   agentsr   r    r!   r"   r$   r%   )
clsr   context_wrappertoolswrapped_toolstooloriginal_on_invoker   wrapped_tooloriginal_get_all_toolss
    `       r   wrapped_get_all_tools<_create_get_all_tools_wrapper.<locals>.wrapped_get_all_tools   s      -UODDD~~&&.8$$T* "&!4!45( "..YY ,,#'#:#:4TN#'#:#:??L   .K N U Es   CCB3C)r   hasattrr   )r1   r2   s   ` r   _create_get_all_tools_wrapperr5      sA     ):66 	''#
.
.` ! r   )	functoolsr   sentry_sdk.integrationsr   spansr   r	   typingr
   r   r   r)   ImportErrorr5    r   r   <module>r<      sA     0 ?  $6
;!	  6
4
556s	   3 A