o
    BDi}                     @   sx   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
 zd dlZW n ey5   edw d	d
 ZdS )    )wraps)DidNotEnable   ai_client_spanupdate_ai_client_span)TYPE_CHECKING)AnyCallableNzOpenAI Agents not installedc                    s(   t t dr	 jn  fdd}|S )z|
    Wraps the agents.Runner._get_model method to wrap the get_response method of the model to create a AI client span.
    __func__c                    s0    |}|j t fdd}||_ |S )Nc                     sT   t  |}| i |I d H }t| || W d    |S 1 s#w   Y  |S )Nr   )argskwargsspanresultagentoriginal_get_response m/var/www/Datamplify/venv/lib/python3.10/site-packages/sentry_sdk/integrations/openai_agents/patches/models.pywrapped_get_response$   s   
zR_create_get_model_wrapper.<locals>.wrapped_get_model.<locals>.wrapped_get_response)get_responser   )clsr   
run_configmodelr   original_get_modelr   r   wrapped_get_model   s   
	z4_create_get_model_wrapper.<locals>.wrapped_get_model)r   hasattrr   )r   r   r   r   r   _create_get_model_wrapper   s   r   )	functoolsr   sentry_sdk.integrationsr   spansr   r   typingr   r	   r
   agentsImportErrorr   r   r   r   r   <module>   s    