
    lh                     ~    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
 	 d dlZd	 Zy# e$ r	  ed      w xY w)
    wraps)DidNotEnable   execute_tool_spanupdate_execute_tool_span)TYPE_CHECKING)AnyCallableNzOpenAI Agents not installedc                 ^     t        t         d      r j                  n        fd       }|S )z
    Wraps the agents.Runner._get_all_tools method of the Runner class to wrap all function tools with Sentry instrumentation.
    __func__c           
        K    	|       d {   }g }|D ]  }|j                   j                  dk7  r|j                  |       .|j                  }fd}t	        j
                  |j                  |j                  |j                   |||      |j                  |j                        }|j                  |        |S 7 w)NFunctionToolc                 6     t               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       /var/www/pru.catia.catastroantioquia-mas.com/tasa/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/tools.pysentry_wrapped_on_invoke_toolz_create_get_all_tools_wrapper.<locals>.wrapped_get_all_tools.<locals>.create_wrapped_invoke.<locals>.sentry_wrapped_on_invoke_tool/   sf      +<I$I&I 	TT (9$'I&'I!I0ulFS	T "M "J	T "Ms%   A><>
A>AAr   )r   r   r   r   s   `` r   create_wrapped_invokez[_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_toolsz<_create_get_all_tools_wrapper.<locals>.wrapped_get_all_tools   s      -UODD %	/D~~&&.8$$T* "&!4!45( "..YY ,,#'#:#:4T;MN#'#:#:??L   .K%	/N U Es   CCB1C)r   hasattrr   )r/   r0   s   ` r   _create_get_all_tools_wrapperr2      s>     ):6 	''#
.
.` ! r   )	functoolsr   sentry_sdk.integrationsr   spansr   r	   typingr
   r   r   r'   ImportErrorr2    r   r   <module>r9      sA     0 ?  $6
;!	  6
4
556s   . <