o
    iG                     @   sN   d dl mZ d dlmZ d dlmZ eeZdd Zde	e de
fdd	Zd
S )    )Any)
get_logger)	_get_attrc                    s   | d u rd S zGz*d| _ | dI d H  g }|  2 z3 d H W }|| q6 |W W | d ur2d| _ S S  tyB   tjddd Y nw W | d urMd| _ d S d S | d urVd| _ w )NTz/contextFz4Error retrieving after context from claude_agent_sdk)exc_info)_dd_internal_context_queryqueryreceive_responseappend	Exceptionlogwarning)instancecontext_messagesmsg r   c/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/contrib/internal/claude_agent_sdk/utils.py_retrieve_context
   s,   
r   responsereturnc                 C   s~   | rt | ts	dS | D ]1}t|j}|dkr"tt|dd pd  S |dkr<t|dd }|r<t |tr<|dp9d  S qdS )N AssistantMessagemodelSystemMessagedata)
isinstancelisttype__name__strr   dictget)r   r   msg_typer   r   r   r   _extract_model_from_response   s   
r"   N)typingr   ddtrace.internal.loggerr   ddtrace.llmobs._utilsr   r   r   r   r   r   r"   r   r   r   r   <module>   s    