§
    ~Štj<O  ã                  óì  — d dl mZ d dlZd dlZd dlZd dlmZmZmZ d dl	m
Z
mZmZmZmZmZ d dlmZmZ d dlmZ d dlmZ d dlmZ d d	lmZmZ e
rd dlZd d
lmZm Z  d dl!m"Z"m#Z# d dl$m%Z%m&Z&m'Z'  ededdef         ¬¦  «        Z( ej)        e*¦  «        Z+ej,        d=d„¦   «         Z-d>d„Z.d?d„Z/ej,        d@d„¦   «         Z0dAd„Z1dBd!„Z2dCd$„Z3dDd&„Z4dEd(„Z5dFd0„Z6dGd2„Z7 G d3„ d/ed4¬5¦  «        Z8dd6dd7œdHd<„Z9dS )Ié    )ÚannotationsN)ÚAsyncIteratorÚMappingÚSequence)ÚTYPE_CHECKINGÚAnyÚCallableÚOptionalÚTypeVarÚUnion)ÚSelfÚ	TypedDict)Úclient)Úrun_helpers)Údumps)ÚInputTokenDetailsÚUsageMetadata)Ú	AnthropicÚAsyncAnthropic)ÚAsyncMessageStreamÚMessageStream)Ú
CompletionÚMessageÚMessageStreamEventÚCr   r   )ÚboundÚreturnúOptional[tuple[type, ...]]c                 ó>   — 	 ddl m} m} | |fS # t          $ r Y d S w xY w)Nr   ©ÚNotGivenÚOmit)Úanthropic._typesr!   r"   ÚImportErrorr    s     ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langsmith/wrappers/_anthropic.pyÚ_get_not_givenr&   !   sL   € ðØ3Ð3Ð3Ð3Ð3Ð3Ð3Ð3à˜$ÐÐøÝð ð ð Øˆtˆtðøøøs   ‚ Ž
›ÚdÚdictc                óŠ  ‡— 	 t          ¦   «         xŠr ˆfd„|                      ¦   «         D ¦   «         } n4# t          $ r'}t                               d|› �¦  «         Y d }~nd }~ww xY wd| v r;d| d         dœg|                      dg ¦  «        z   | d<   |                      d¦  «         d„ |                      ¦   «         D ¦   «         S )Nc                óT   •‡— i | ]#\  }Št          ˆfd „‰D ¦   «         ¦  «        ° |‰“Œ$S )c              3  ó8   •K  — | ]}t          ‰|¦  «        V — Œd S ©N)Ú
isinstance)Ú.0ÚtÚvs     €r%   ú	<genexpr>z._strip_not_given.<locals>.<dictcomp>.<genexpr>1   s-   øè è € Ð?Ð?°�: a¨Ñ+Ô+Ð?Ð?Ð?Ð?Ð?Ð?ó    )Úany)r.   Úkr0   Ú	not_givens     @€r%   ú
<dictcomp>z$_strip_not_given.<locals>.<dictcomp>.   sS   øø€ ð ð ð á�A�qÝÐ?Ð?Ð?Ð?°YÐ?Ñ?Ô?Ñ?Ô?ðØ�1ðð ð r2   zError stripping NotGiven: Úsystem)ÚroleÚcontentÚmessagesc                ó   — i | ]
\  }}|®||“ŒS r,   © ©r.   r4   r0   s      r%   r6   z$_strip_not_given.<locals>.<dictcomp>;   s   € Ð8Ð8Ð8‘T�Q˜¨!¨-ˆAˆq¨-¨-¨-r2   )r&   ÚitemsÚ	ExceptionÚloggerÚerrorÚgetÚpop)r'   Úer5   s     @r%   Ú_strip_not_givenrE   +   s  ø€ ð7Ý&Ñ(Ô(Ð(ˆ9ð 	ðð ð ð àŸGšG™IœIðñ ô ˆAøøõ
 ð 7ð 7ð 7Ý�ŠÐ5°!Ð5Ð5Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6øøøøð7øøøð �1€}€}Ø"*°q¸´{ÐCÐCÐDÀqÇuÂuØ˜ñH
ô H
ñ 
ˆˆ*‰ð 	
�Šˆh‰ŒˆØ8Ð8˜QŸWšW™YœYÐ8Ñ8Ô8Ð8s   ƒ04 ´
A%¾A Á A%Úprepopulated_invocation_paramsÚkwargsc                ó\  ‡— t          |¦  «        }|                     d¦  «        }|rt          |t          ¦  «        r|g}h d£Šˆfd„|                     ¦   «         D ¦   «         }dd|                     dd ¦  «        |                     dd ¦  «        |                     dd ¦  «        |i | ¥|¥d	œS )
NÚstop>   Útop_kÚtop_pÚstreamÚthinkingÚmcp_serversÚtool_choiceÚservice_tierc                ó$   •— i | ]\  }}|‰v ¯	||“ŒS r<   r<   )r.   r4   r0   Úallowed_invocation_keyss      €r%   r6   z$_infer_ls_params.<locals>.<dictcomp>R   s1   ø€ ð ð ð Ù��A¨QÐ2IÐ-IÐ-Iˆˆ1Ð-IÐ-IÐ-Ir2   Ú	anthropicÚchatÚmodelÚtemperatureÚ
max_tokens)Úls_providerÚls_model_typeÚls_model_nameÚls_temperatureÚls_max_tokensÚls_stopÚls_invocation_params)rE   rB   r-   Ústrr>   )rF   rG   ÚstrippedrI   Úinvocation_paramsrR   s        @r%   Ú_infer_ls_paramsrb   >   sè   ø€ Ý Ñ'Ô'€Hà�<Š<˜ÑÔ€DØð •
˜4¥Ñ%Ô%ð Øˆvˆðð ð Ððð ð ð Ø!ŸšÑ)Ô)ðñ ô Ðð
 #ØØ!Ÿš g¨tÑ4Ô4Ø"Ÿ,š, }°dÑ;Ô;Ø!Ÿš l°DÑ9Ô9Øð!
Ø,ð!
àð!
ðð ð r2   úOptional[Callable]c                 ó6   — 	 ddl m}  | S # t          $ r Y d S w xY w)Nr   ©Úaccumulate_event)Ú!anthropic.lib.streaming._messagesrf   r$   re   s    r%   Ú_get_sdk_accumulate_eventrh   d   sA   € ðØFÐFÐFÐFÐFÐFàÐøÝð ð ð Øˆtˆtðøøøs   ‚
 Š
—Úanthropic_token_usager   c                ó&  — |                       d¦  «        pd}|                       d¦  «        pd}i }|                       d¦  «        pd}|r||d<   |                       d¦  «        pi }|r=|                      d¦  «        pd}|                      d¦  «        pd}|r||d<   |r||d<   n|                       d	¦  «        pd}|r||d<   t          |                     ¦   «         ¦  «        }	||	z   }
|
|z   }t          |
||¬
¦  «        }|rt	          di |¤Ž|d<   |S )NÚinput_tokensr   Úoutput_tokensÚcache_read_input_tokensÚ
cache_readÚcache_creationÚephemeral_5m_input_tokensÚephemeral_1h_input_tokensÚcache_creation_input_tokens)rk   rl   Útotal_tokensÚinput_token_detailsr<   )rB   ÚsumÚvaluesr   r   )ri   rk   rl   rt   rn   Úcache_creation_objÚephemeral_5mÚephemeral_1hro   Úcache_token_sumÚadjusted_inputÚadjusted_totalÚresults                r%   Ú_create_usage_metadatar~   n   sŠ  € Ø(×,Ò,¨^Ñ<Ô<ÐAÀ€LØ)×-Ò-¨oÑ>Ô>ÐCÀ!€Mà "ÐØ&×*Ò*Ð+DÑEÔEÐJÈ€JØð 7Ø,6Ð˜LÑ)à.×2Ò2Ð3CÑDÔDÐJÈÐØð 
CØ)×-Ò-Ð.IÑJÔJÐOÈaˆØ)×-Ò-Ð.IÑJÔJÐOÈaˆØð 	LØ?KÐÐ ;Ñ<Øð 	LØ?KÐÐ ;Ñ<øà.×2Ò2Ð3PÑQÔQÐVÐUVˆØð 	CØ4BÐÐ 0Ñ1õ Ð-×4Ò4Ñ6Ô6Ñ7Ô7€OØ! OÑ3€NØ# mÑ3€NåØ#Ø#Ø#ðñ ô €Fð
 ð QÝ(9Ð(PÐ(PÐ<OÐ(PÐ(PˆÐ$Ñ%Ø€Mr2   Úmessager   c                óD  — t          | d¦  «        rTt          j        ¦   «         5  t          j        d¦  «         |                      ¦   «         }ddd¦  «         n# 1 swxY w Y   n|                      ¦   «         }|                     dd¦  «        }|rt          |¦  «        |d<   |                     dd¦  «         |                     d¦  «        pg }d„ |D ¦   «         }|rBd	„ |D ¦   «         }d
                     |¦  «        pd|d<   d„ t          |¦  «        D ¦   «         |d<   |S )zHConvert an Anthropic Message to a flat outputs dict with usage_metadata.Úparsed_outputÚignoreNÚusageÚusage_metadataÚtyper9   c                ón   — g | ]2}t          |t          ¦  «        r|                     d ¦  «        dk    ¯0|‘Œ3S )r…   Útool_use©r-   r(   rB   ©r.   Úbs     r%   ú
<listcomp>z'_message_to_outputs.<locals>.<listcomp>¦   sE   € ð ð ð Ø�j¨­DÑ1Ô1ðØ67·e²e¸F±m´mÀzÒ6QÐ6QˆÐ6QÐ6QÐ6Qr2   c                ó–   — g | ]F}t          |t          ¦  «        r/|                     d ¦  «        dk    ¯0|                     dd¦  «        ‘ŒGS )r…   ÚtextÚ rˆ   r‰   s     r%   r‹   z'_message_to_outputs.<locals>.<listcomp>ª   sY   € ð 
ð 
ð 
àÝ˜!�TÑ"Ô"ð
ð ()§u¢u¨V¡}¤}¸Ò'>Ð'>ð �EŠE�&˜"ÑÔà'>Ð'>Ð'>r2   rŽ   c                óä   — g | ]m\  }}|                      d d|› �¦  «        d||                      dd¦  «        t          |                      di ¦  «        ¦  «                             ¦   «         dœdœ‘ŒnS )ÚidÚcall_ÚfunctionÚnamerŽ   Úinput)r“   Ú	arguments)r�   r…   Úindexr’   )rB   Ú_dumpsÚdecode)r.   ÚiÚblocks      r%   r‹   z'_message_to_outputs.<locals>.<listcomp>°   s’   € ð !
ð !
ð !
ñ ��5ð —i’i  k¨a k kÑ2Ô2Ø"Øà!ŸIšI f¨bÑ1Ô1Ý!'¨¯	ª	°'¸2Ñ(>Ô(>Ñ!?Ô!?×!FÒ!FÑ!HÔ!Hðð ð	ð ð!
ð !
ð !
r2   Ú
tool_calls)
ÚhasattrÚwarningsÚcatch_warningsÚsimplefilterÚ
model_dumprC   r~   rB   ÚjoinÚ	enumerate)r   Úoutputsri   r9   Útool_use_blocksÚ
text_partss         r%   Ú_message_to_outputsr¦   ”   s¢  € õ ˆw˜Ñ(Ô(ð 'ÝÔ$Ñ&Ô&ð 	+ð 	+ÝÔ! (Ñ+Ô+Ð+Ø×(Ò(Ñ*Ô*ˆGð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+øð ×$Ò$Ñ&Ô&ˆØ#ŸKšK¨°Ñ6Ô6ÐØð RÝ$:Ð;PÑ$QÔ$QˆÐ Ñ!Ø‡K‚K�˜ÑÔÐà�kŠk˜)Ñ$Ô$Ð*¨€Gðð Øðñ ô €Oð ð 
ð
ð 
àð
ñ 
ô 
ˆ
ð
  ŸWšW ZÑ0Ô0Ð8°Dˆ�	Ñð!
ð !
õ & oÑ6Ô6ð!
ñ !
ô !
ˆ�Ñð €Ns   ¤)AÁAÁ AÚ
all_chunksr   c                óò   — t          ¦   «         }|€d| iS d }| D ]J}	  |||¬¦  «        }Œ# t          $ r-}t                               d|› �¦  «         d| icY d }~c S d }~ww xY w|€d| iS t	          |¦  «        S )NÚoutput)ÚeventÚcurrent_snapshotz/Error accumulating event in Anthropic Wrapper: )rh   ÚRuntimeErrorr@   Údebugr¦   )r§   Ú
accumulateÚfull_messageÚchunkrD   s        r%   Ú_reduce_chat_chunksr±   ¿   sÒ   € Ý*Ñ,Ô,€JØÐØ˜*Ð%Ð%Ø€LØð *ð *ˆð	*Ø%˜:ØØ!-ðñ ô ˆLˆLøõ ð 	*ð 	*ð 	*Ý�LŠLÐNÈ1ÐNÐNÑOÔOÐOØ˜jÐ)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)øøøøð	*øøøð ÐØ˜*Ð%Ð%Ý˜|Ñ,Ô,Ð,s   œ*ª
A!´ AÁA!ÁA!úlist[Completion]c                óÒ   — g }| D ] }|j         }|�|                     |¦  «         Œ!d                     |¦  «        }| r#| d                              ¦   «         }d|ig|d<   ndd|igi}|S )NrŽ   éÿÿÿÿr�   Úchoices)Ú
completionÚappendr¡   r    )r§   Úall_contentr°   r9   r'   s        r%   Ú_reduce_completionsr¹   Ò   s‘   € Ø€KØð (ð (ˆØÔ"ˆØÐØ×Ò˜wÑ'Ô'Ð'øØ�gŠg�kÑ"Ô"€GØð -Ø�rŒN×%Ò%Ñ'Ô'ˆØ Ð)Ð*ˆˆ)‰ˆà˜& 'Ð*Ð+Ð,ˆà€Hr2   r£   c                ó&  — 	 t          | d¦  «        r:t          | j        ¦  «        r&	 |                      ¦   «         } n# t          $ r Y nw xY wt	          | ¦  «        S # t
          $ r+}t                               d|› �¦  «         d| icY d }~S d }~ww xY w)NÚparsez"Error processing chat completion: r©   )rœ   Úcallabler»   r?   r¦   ÚBaseExceptionr@   r­   )r£   rD   s     r%   Ú_process_chat_completionr¾   â   sÂ   € ð#õ
 �7˜GÑ$Ô$ð 	­°'´-Ñ)@Ô)@ð 	ðØ!Ÿ-š-™/œ/��øÝð ð ð Ø�ðøøøå" 7Ñ+Ô+Ð+øÝð #ð #ð #Ý�ŠÐ=¸!Ð=Ð=Ñ>Ô>Ð>Ø˜'Ð"Ð"Ð"Ð"Ð"Ð"Ð"øøøøð#øøøs=   ‚$A §< »A ¼
A	ÁA ÁA	Á	A Á
BÁ% BÂBÂBÚoriginal_creater	   r“   r_   Ú	reduce_fnÚtracing_extraÚTracingExtrac                óÈ   ‡ ‡‡‡‡— t          j        ‰ ¦  «        ˆˆ ˆˆˆfd„¦   «         }t          j        ‰ ¦  «        ˆˆ ˆˆˆfd„¦   «         }t          j        ‰ ¦  «        r|n|S )Nc                 óÐ   •— |                      d¦  «        }t          j        d‰d|r‰nd t          t          t          j        t          ‰¦  «        dœ‰	¤Ž}  |‰¦  «        | i |¤Ž}|S ©NrL   Úllm)r“   Úrun_typerÀ   Úprocess_inputsÚprocess_outputsÚ_invocation_params_fnr<   ©rB   r   Ú	traceablerE   r¾   Ú	functoolsÚpartialrb   ©
ÚargsrG   rL   Ú	decoratorr}   r“   r¿   rF   rÀ   rÁ   s
        €€€€€r%   Úcreatez_get_wrapper.<locals>.createú   s�   ø€ à—’˜HÑ%Ô%ˆÝÔ)ð 

ØØØ#)Ð3�i�i¨tÝ+Ý4Ý"+Ô"3Ý Ð"@ñ#ô #ð

ð 

ð ð

ð 

ˆ	ð ,��˜?Ñ+Ô+¨TÐ<°VÐ<Ð<ˆØˆr2   c               Ÿ  óà   •K  — |                      d¦  «        }t          j        d‰d|r‰nd t          t          t          j        t          ‰¦  «        dœ‰	¤Ž}  |‰¦  «        | i |¤Žƒ d {V —†}|S rÅ   rË   rÏ   s
        €€€€€r%   Úacreatez_get_wrapper.<locals>.acreate  s£   øè è € à—’˜HÑ%Ô%ˆÝÔ)ð 

ØØØ#)Ð3�i�i¨tÝ+Ý4Ý"+Ô"3Ý Ð"@ñ#ô #ð

ð 

ð ð

ð 

ˆ	ð 2�y�y Ñ1Ô1°4ÐB¸6ÐBÐBÐBÐBÐBÐBÐBÐBˆØˆr2   )rÍ   Úwrapsr   Úis_async)r¿   r“   rÀ   rF   rÁ   rÒ   rÔ   s   `````  r%   Ú_get_wrapperr×   ó   s«   øøøøø€ õ „_�_Ñ%Ô%ðð ð ð ð ð ð ð ñ &Ô%ðõ" „_�_Ñ%Ô%ðð ð ð ð ð ð ð ñ &Ô%ðõ  "Ô*¨?Ñ;Ô;ÐGˆ7ˆ7ÀÐGr2   Úoriginal_streamc                óÂ  ‡ ‡‡‡	‡
— dt          ‰ ¦  «                             ¦   «         v }t          j        d|t          dt
          t          j        t          |¦  «        dœ|¤ŽŠ	t          j        d|dt
          t          t          j        t          |¦  «        dœ|¤ŽŠ
|r" G ˆ	ˆ
fd„d¦  «        Š G ˆˆ fd„d¦  «        }|S  G ˆ	ˆ
fd	„d
¦  «        Š G ˆˆ fd„d¦  «        }|S )z;Create a wrapper for Anthropic's streaming context manager.ÚasyncrÆ   )r“   rÀ   rÇ   rÈ   rÊ   )r“   rÇ   rÈ   rÉ   rÊ   c                  ó¾   •— e Zd Zdd„Zeˆfd„¦   «         Zedd„¦   «         Zedd
„¦   «         Zdd„Zdˆ fd„Z	dd„Z
d d„Zd d„Zd!d„Zd"d„Zd d„Zed!d„¦   «         ZdS )#ú6_get_stream_wrapper.<locals>.AsyncMessageStreamWrapperÚwrappedr   r   ÚNonec                ó"   — || _         || _        d S r,   ©Ú_wrappedÚ_kwargs©ÚselfrÝ   rG   s      r%   Ú__init__z?_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.__init__@  ó   € ð
 !(�”Ø%�”��r2   c                ó:   •‡ — ‰ˆ fd„¦   «         } |di ‰ j         ¤ŽS )Nc                ó  •K  — ‰j         j        2 3 d {V —†}|W V — Œ6 t          j        ¦   «         }‰j                              ¦   «         ƒ d {V —†}t          |¦  «        }||_        |                     d¦  «        x}r||j        d<   d S d S ©Nr„   ©	rá   Útext_streamr   Úget_current_run_treeÚget_final_messager¦   r£   rB   Úmetadata)Ú_r°   Úrun_treeÚfinal_messager£   rƒ   rä   s         €r%   Ú_text_streamzX_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.text_stream.<locals>._text_streamJ  sÊ   øè è € à'+¤}Ô'@ð $ð $ð $ð $ð $ð $ð $˜eØ#˜˜˜˜˜ð (Aå*Ô?ÑAÔA�HØ*.¬-×*IÒ*IÑ*KÔ*KÐ$KÐ$KÐ$KÐ$KÐ$KÐ$K�MÝ1°-Ñ@Ô@�GØ'.�HÔ$Ø '§¢Ð,<Ñ =Ô =Ð=�uð DØ>C˜Ô)Ð*:Ñ;Ð;Ð;ðDð Ds   �r<   ©râ   ©rä   rò   Úconfigured_traceable_texts   ` €r%   rë   zB_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.text_streamH  sG   øø€ à*ðDð Dð Dð Dñ +Ô*ðDð $�|Ð3Ð3 d¤lÐ3Ð3Ð3r2   úhttpx.Responsec                ó   — | j         j        S r,   ©rá   Úresponse©rä   s    r%   rù   z?_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.responseW  ó   € à”}Ô-Ð-r2   ú
str | Nonec                ó   — | j         j        S r,   ©rá   Ú
request_idrú   s    r%   rÿ   zA_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.request_id[  ó   € à”}Ô/Ð/r2   r   c              “  ób   K  — |                       ¦   «         }|                     ¦   «         ƒ d {V —†S r,   )Ú	__aiter__Ú	__anext__)rä   Úaiters     r%   r  z@_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.__anext___  s7   è è € ØŸšÑ(Ô(�Ø"Ÿ_š_Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.r2   ú!AsyncIterator[MessageStreamEvent]c               ó^   •‡ K  — ‰ˆ fd„¦   «         } |di ‰ j         ¤Ž2 3 d {V —†}|W V — Œ6 d S )Nc                 ó6   •— ‰j                              ¦   «         S r,   )rá   r  ©rï   rä   s    €r%   Útraced_iterzU_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.__aiter__.<locals>.traced_iterd  s   ø€ àœ=×2Ò2Ñ4Ô4Ð4r2   r<   ró   )rä   r	  r°   Úconfigured_traceables   `  €r%   r  z@_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.__aiter__c  s€   øøè è € Ø%ð5ð 5ð 5ð 5ñ &Ô%ð5ð $/ ;Ð#>Ð#>°´Ð#>Ð#>ð  ð  ð  ð  ð  ð  ð  ˜%Ø�K�K�K�K�Kð $?Ð#>Ð#>s   Ÿ,r   c              “  óH   K  — | j                              ¦   «         ƒ d {V —† | S r,   )rá   Ú
__aenter__rú   s    r%   r  zA_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.__aenter__k  s1   è è € Ø”m×.Ò.Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø�r2   c              —  ó4   K  —  | j         j        |Ž ƒ d {V —† d S r,   )rá   Ú	__aexit__©rä   Úexcs     r%   r  z@_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.__aexit__o  ó0   è è € Ø-�d”mÔ-¨sÐ3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3r2   c              “  óH   K  — | j                              ¦   «         ƒ d {V —† d S r,   ©rá   Úcloserú   s    r%   r  z<_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.closer  s2   è è € Ø”m×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+r2   r   c              “  óD   K  — | j                              ¦   «         ƒ d {V —†S r,   ©rá   rí   rú   s    r%   rí   zH_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.get_final_messageu  s,   è è € Ø!œ]×<Ò<Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>r2   r_   c              “  óD   K  — | j                              ¦   «         ƒ d {V —†S r,   ©rá   Úget_final_textrú   s    r%   r  zE_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.get_final_textx  s,   è è € Ø!œ]×9Ò9Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;r2   c              “  óH   K  — | j                              ¦   «         ƒ d {V —† d S r,   ©rá   Ú
until_donerú   s    r%   r  zA_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.until_done{  s2   è è € Ø”m×.Ò.Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0r2   c                ó   — | j         j        S r,   ©rá   Úcurrent_message_snapshotrú   s    r%   r  zO_get_stream_wrapper.<locals>.AsyncMessageStreamWrapper.current_message_snapshot~  ó   € à”}Ô=Ð=r2   N)rÝ   r   r   rÞ   )r   rö   ©r   rü   ©r   r   )r   r  ©r   r   ©r   rÞ   ©r   r   ©r   r_   )Ú__name__Ú
__module__Ú__qualname__rå   Úpropertyrë   rù   rÿ   r  r  r  r  r  rí   r  r  r  ©r
  rõ   s   €€r%   ÚAsyncMessageStreamWrapperrÜ   ?  sX  ø€ € € € € ð&ð &ð &ð &ð ð4ð 4ð 4ð 4ñ ŒXð4ð ð.ð .ð .ñ ŒXð.ð ð0ð 0ð 0ñ ŒXð0ð/ð /ð /ð /ð ð  ð  ð  ð  ð  ðð ð ð ð4ð 4ð 4ð 4ð,ð ,ð ,ð ,ð?ð ?ð ?ð ?ð<ð <ð <ð <ð1ð 1ð 1ð 1ð ð>ð >ð >ñ ŒXð>ð >ð >r2   r,  c                  ó(   •— e Zd Zd„ Zˆ ˆfd„Zd„ ZdS )ú>_get_stream_wrapper.<locals>.AsyncMessagesStreamManagerWrapperc                ó   — || _         d S r,   ró   ©rä   rG   s     r%   rå   zG_get_stream_wrapper.<locals>.AsyncMessagesStreamManagerWrapper.__init__ƒ  ó   € Ø%�”��r2   c              “  ó†   •K  —  ‰di | j         ¤Ž| _        | j                             ¦   «         ƒ d {V —†} ‰|fi | j         ¤ŽS ©Nr<   )râ   Ú_managerr  )rä   rL   r,  rØ   s     €€r%   r  zI_get_stream_wrapper.<locals>.AsyncMessagesStreamManagerWrapper.__aenter__†  s`   øè è € Ø / Ð ?Ð ?°$´,Ð ?Ð ?�”Ø#œ}×7Ò7Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9�Ø0Ð0°ÐHÐH¸4¼<ÐHÐHÐHr2   c              —  ó4   K  —  | j         j        |Ž ƒ d {V —† d S r,   )r4  r  r  s     r%   r  zH_get_stream_wrapper.<locals>.AsyncMessagesStreamManagerWrapper.__aexit__‹  r  r2   N)r'  r(  r)  rå   r  r  )r,  rØ   s   €€r%   Ú!AsyncMessagesStreamManagerWrapperr.  ‚  sW   ø€ € € € € ð&ð &ð &ðIð Ið Ið Ið Ið Ið
4ð 4ð 4ð 4ð 4r2   r6  c                  ó¼   •— e Zd Zdd„Zedd„¦   «         Zedd	„¦   «         Zeˆfd
„¦   «         Zdd„Zˆ fd„Z	dd„Z
dd„Zdd„Zdd„Zd d„Zdd„Zedd„¦   «         ZdS )!ú1_get_stream_wrapper.<locals>.MessageStreamWrapperrÝ   r   r   rÞ   c                ó"   — || _         || _        d S r,   rà   rã   s      r%   rå   z:_get_stream_wrapper.<locals>.MessageStreamWrapper.__init__’  ræ   r2   r   c                ó   — | j         j        S r,   rø   rú   s    r%   rù   z:_get_stream_wrapper.<locals>.MessageStreamWrapper.responseš  rû   r2   rü   c                ó   — | j         j        S r,   rþ   rú   s    r%   rÿ   z<_get_stream_wrapper.<locals>.MessageStreamWrapper.request_idž  r   r2   c                ó:   •‡ — ‰ˆ fd„¦   «         } |di ‰ j         ¤ŽS )Nc               ;  óú   •K  — ‰j         j        E d {V —† t          j        ¦   «         }‰j                              ¦   «         }t          |¦  «        }||_        |                     d¦  «        x}r||j        d<   d S d S ré   rê   )rï   rð   rñ   r£   rƒ   rä   s        €r%   rò   zS_get_stream_wrapper.<locals>.MessageStreamWrapper.text_stream.<locals>._text_stream¤  s•   øè è € à#œ}Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ý*Ô?ÑAÔA�HØ$(¤M×$CÒ$CÑ$EÔ$E�MÝ1°-Ñ@Ô@�GØ'.�HÔ$Ø '§¢Ð,<Ñ =Ô =Ð=�uð DØ>C˜Ô)Ð*:Ñ;Ð;Ð;ðDð Dr2   r<   ró   rô   s   ` €r%   rë   z=_get_stream_wrapper.<locals>.MessageStreamWrapper.text_stream¢  sG   øø€ à*ðDð Dð Dð Dñ +Ô*ðDð $�|Ð3Ð3 d¤lÐ3Ð3Ð3r2   r   c                óN   — |                       ¦   «                              ¦   «         S r,   )Ú__iter__Ú__next__rú   s    r%   r@  z:_get_stream_wrapper.<locals>.MessageStreamWrapper.__next__°  s   € Ø—}’}‘”×/Ò/Ñ1Ô1Ð1r2   c                ó:   •‡ — ‰ˆ fd„¦   «         } |di ‰ j         ¤ŽS )Nc                 ó6   •— ‰j                              ¦   «         S r,   )rá   r?  r  s    €r%   r	  zO_get_stream_wrapper.<locals>.MessageStreamWrapper.__iter__.<locals>.traced_iter´  s   ø€ àœ=×1Ò1Ñ3Ô3Ð3r2   r<   ró   )rä   r	  r
  s   ` €r%   r?  z:_get_stream_wrapper.<locals>.MessageStreamWrapper.__iter__³  sB   øø€ Ø%ð4ð 4ð 4ð 4ñ &Ô%ð4ð #�{Ð2Ð2 T¤\Ð2Ð2Ð2r2   r   c                ó8   — | j                              ¦   «          | S r,   )rá   Ú	__enter__rú   s    r%   rD  z;_get_stream_wrapper.<locals>.MessageStreamWrapper.__enter__º  s   € Ø”×'Ò'Ñ)Ô)Ð)Ø�r2   c                ó$   —  | j         j        |Ž  d S r,   )rá   Ú__exit__r  s     r%   rF  z:_get_stream_wrapper.<locals>.MessageStreamWrapper.__exit__¾  ó   € Ø&�”Ô&¨Ð,Ð,Ð,Ð,r2   c                ó8   — | j                              ¦   «          d S r,   r  rú   s    r%   r  z7_get_stream_wrapper.<locals>.MessageStreamWrapper.closeÁ  s   € Ø”×#Ò#Ñ%Ô%Ð%Ð%Ð%r2   r   c                ó4   — | j                              ¦   «         S r,   r  rú   s    r%   rí   zC_get_stream_wrapper.<locals>.MessageStreamWrapper.get_final_messageÄ  s   € Ø”}×6Ò6Ñ8Ô8Ð8r2   r_   c                ó4   — | j                              ¦   «         S r,   r  rú   s    r%   r  z@_get_stream_wrapper.<locals>.MessageStreamWrapper.get_final_textÇ  s   € Ø”}×3Ò3Ñ5Ô5Ð5r2   c                ó4   — | j                              ¦   «         S r,   r  rú   s    r%   r  z<_get_stream_wrapper.<locals>.MessageStreamWrapper.until_doneÊ  s   € Ø”}×/Ò/Ñ1Ô1Ð1r2   c                ó   — | j         j        S r,   r  rú   s    r%   r  zJ_get_stream_wrapper.<locals>.MessageStreamWrapper.current_message_snapshotÍ  r   r2   N)rÝ   r   r   rÞ   )r   r   r!  r"  r#  r$  r%  r&  )r'  r(  r)  rå   r*  rù   rÿ   rë   r@  r?  rD  rF  r  rí   r  r  r  r+  s   €€r%   ÚMessageStreamWrapperr8  ‘  sS  ø€ € € € € ð&ð &ð &ð &ð ð.ð .ð .ñ ŒXð.ð ð0ð 0ð 0ñ ŒXð0ð ð4ð 4ð 4ð 4ñ ŒXð4ð2ð 2ð 2ð 2ð3ð 3ð 3ð 3ð 3ðð ð ð ð-ð -ð -ð -ð&ð &ð &ð &ð9ð 9ð 9ð 9ð6ð 6ð 6ð 6ð2ð 2ð 2ð 2ð ð>ð >ð >ñ ŒXð>ð >ð >r2   rM  c                  ó(   •— e Zd Zd„ Zˆ ˆfd„Zd„ ZdS )ú9_get_stream_wrapper.<locals>.MessagesStreamManagerWrapperc                ó   — || _         d S r,   ró   r0  s     r%   rå   zB_get_stream_wrapper.<locals>.MessagesStreamManagerWrapper.__init__Ò  r1  r2   c                ór   •—  ‰di | j         ¤Ž| _         ‰| j                             ¦   «         fi | j         ¤ŽS r3  )râ   r4  rD  )rä   rM  rØ   s    €€r%   rD  zC_get_stream_wrapper.<locals>.MessagesStreamManagerWrapper.__enter__Õ  sE   ø€ Ø / Ð ?Ð ?°$´,Ð ?Ð ?�”Ø+Ð+¨D¬M×,CÒ,CÑ,EÔ,EÐVÐVÈÌÐVÐVÐVr2   c                ó$   —  | j         j        |Ž  d S r,   )r4  rF  r  s     r%   rF  zB_get_stream_wrapper.<locals>.MessagesStreamManagerWrapper.__exit__Ù  rG  r2   N)r'  r(  r)  rå   rD  rF  )rM  rØ   s   €€r%   ÚMessagesStreamManagerWrapperrO  Ñ  sW   ø€ € € € € ð&ð &ð &ðWð Wð Wð Wð Wð Wð-ð -ð -ð -ð -r2   rS  Nr<   )
r_   Úlowerr   rÌ   r±   rE   rÍ   rÎ   rb   r¾   )rØ   r“   rF   rÁ   rÖ   r6  rS  r,  rM  r
  rõ   s   `      @@@@r%   Ú_get_stream_wrapperrU     s¿  øøøøø€ ð �#˜oÑ.Ô.×4Ò4Ñ6Ô6Ð6€HÝ&Ô0ð 	ØÝ%ØÝ'Ý'Ô/ÝÐ<ñ
ô 
ð	ð 	ð ð	ð 	Ðõ !,Ô 5ð 	!ØØÝ'Ý0Ý'Ô/ÝÐ<ñ
ô 
ð	!ð 	!ð ð	!ð 	!Ðð ð _,ðA	>ð A	>ð A	>ð A	>ð A	>ð A	>ð A	>ð A	>ñ A	>ô A	>ð A	>ðF
	4ð 
	4ð 
	4ð 
	4ð 
	4ð 
	4ð 
	4ð 
	4ñ 
	4ô 
	4ð 
	4ð 1Ð0ð>	>ð >	>ð >	>ð >	>ð >	>ð >	>ð >	>ð >	>ñ >	>ô >	>ð >	>ð@		-ð 		-ð 		-ð 		-ð 		-ð 		-ð 		-ð 		-ñ 		-ô 		-ð 		-ð ,Ð+r2   c                  ó.   — e Zd ZU ded<   ded<   ded<   dS )rÂ   zOptional[Mapping[str, Any]]rî   zOptional[list[str]]ÚtagszOptional[ls_client.Client]r   N)r'  r(  r)  Ú__annotations__r<   r2   r%   rÂ   rÂ   ß  s6   € € € € € € Ø)Ð)Ð)Ñ)ØÐÐÑØ&Ð&Ð&Ñ&Ð&Ð&r2   F)ÚtotalÚChatAnthropic)rÁ   Ú	chat_nameÚcompletions_namer   úOptional[TracingExtra]r[  r\  c               óœ  — |pi }t          |                     d¦  «        pi ¦  «        }|                     di ¦  «        }d„ |                     ¦   «         D ¦   «         }|r||d<   t	          | j        j        |t          ||¦  «        | j        _        t          | j        j	        |||¦  «        | j        _	        t	          | j
        j        |t          ||¦  «        | j
        _        t          | d¦  «        ret          | j        d¦  «        rPt          | j        j        d¦  «        r6t	          | j        j        j        |t          ||¦  «        | j        j        _        t          | d¦  «        ret          | j        d¦  «        rPt          | j        j        d¦  «        r6t	          | j        j        j        |t          ||¦  «        | j        j        _        | S )að  Patch the Anthropic client to make it traceable.

    Args:
        client: The client to patch.
        tracing_extra: Extra tracing information.
        chat_name: The run name for the messages endpoint.
        completions_name: The run name for the completions endpoint.

    Returns:
        The patched client.

    Example:
        ```python
        import anthropic
        from langsmith import wrappers

        client = wrappers.wrap_anthropic(anthropic.Anthropic())

        # Use Anthropic client same as you normally would:
        system = "You are a helpful assistant."
        messages = [
            {
                "role": "user",
                "content": "What physics breakthroughs do you predict will happen by 2300?",
            }
        ]
        completion = client.messages.create(
            model="claude-3-5-sonnet-latest",
            messages=messages,
            max_tokens=1000,
            system=system,
        )
        print(completion.content)

        # With raw response to access headers:
        raw_response = client.messages.with_raw_response.create(
            model="claude-3-5-sonnet-latest",
            messages=messages,
            max_tokens=1000,
            system=system,
        )
        print(raw_response.headers)  # Access HTTP headers
        message = raw_response.parse()  # Get parsed response

        # You can also use the streaming context manager:
        with client.messages.stream(
            model="claude-3-5-sonnet-latest",
            messages=messages,
            max_tokens=1000,
            system=system,
        ) as stream:
            for text in stream.text_stream:
                print(text, end="", flush=True)
            message = stream.get_final_message()
        ```
    rî   r^   c                ó&   — i | ]\  }}|d k    ¯||“ŒS )rî   r<   r=   s      r%   r6   z"wrap_anthropic.<locals>.<dictcomp>+  s*   € ð (ð (ð (Ù��A°!°z²/°/ˆˆ1°/°/°/r2   Úbetar:   rÒ   r»   )r(   rB   rC   r>   r×   r:   rÒ   r±   rU  rL   Úcompletionsr¹   rœ   r`  r»   )r   rÁ   r[  r\  rî   rF   Útracing_extra_rests          r%   Úwrap_anthropicrc  å  sê  € ð~ "Ð' R€Mõ �M×%Ò% jÑ1Ô1Ð7°RÑ8Ô8€HØ%-§\¢\Ð2HÈ"Ñ%MÔ%MÐ"ð(ð (Ø&×,Ò,Ñ.Ô.ð(ñ (ô (Ðð ð 2Ø)1Ð˜:Ñ&å)ØŒÔØÝØ&Øñô €F„OÔõ 1ØŒÔØØ&Øñ	ô €F„OÔõ !-ØÔÔ!ØÝØ&Øñ!ô !€FÔÔõ 	�˜ÑÔð
å�F”K Ñ,Ô,ð
õ �F”KÔ(¨(Ñ3Ô3ð
õ
 '3ØŒKÔ Ô'ØÝØ*Øñ'
ô '
ˆŒÔÔ#õ 	�˜ÑÔð
å�F”K Ñ,Ô,ð
õ �F”KÔ(¨'Ñ2Ô2ð
õ
 &2ØŒKÔ Ô&ØÝØ*Øñ&
ô &
ˆŒÔÔ"ð €Mr2   )r   r   )r'   r(   r   r(   )rF   r(   rG   r(   )r   rc   )ri   r(   r   r   )r   r   r   r(   )r§   r   r   r(   )r§   r²   r   r(   )r£   r   )r¿   r	   r“   r_   rÀ   r	   rF   r(   rÁ   rÂ   r   r	   )
rØ   r	   r“   r_   rF   r(   rÁ   rÂ   r   r	   )
r   r   rÁ   r]  r[  r_   r\  r_   r   r   ):Ú
__future__r   rÍ   Úloggingr�   Úcollections.abcr   r   r   Útypingr   r   r	   r
   r   r   Útyping_extensionsr   r   Ú	langsmithr   Ú	ls_clientr   Úlangsmith._internal._orjsonr   r—   Úlangsmith.schemasr   r   ÚhttpxrS   r   r   Úanthropic.lib.streamingr   r   Úanthropic.typesr   r   r   r   Ú	getLoggerr'  r@   Ú	lru_cacher&   rE   rb   rh   r~   r¦   r±   r¹   r¾   r×   rU  rÂ   rc  r<   r2   r%   ú<module>rr     s  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø €€€Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð .Ð -Ð -Ð -Ð -Ð -Ð -Ð -à )Ð )Ð )Ð )Ð )Ð )Ø !Ð !Ð !Ð !Ð !Ð !Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >àð HØ€L€L€LØ3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØIÐIÐIÐIÐIÐIÐIÐIØGÐGÐGÐGÐGÐGÐGÐGÐGÐGà€GˆC�u˜[Ð*:¸CÐ?Ô@ÐAÑAÔA€Ø	ˆÔ	˜8Ñ	$Ô	$€ð Ôðð ð ñ Ôðð9ð 9ð 9ð 9ð&#ð #ð #ð #ðL Ôðð ð ñ Ôðð#ð #ð #ð #ðL(ð (ð (ð (ðV-ð -ð -ð -ð&ð ð ð ð #ð #ð #ð #ð"*Hð *Hð *Hð *HðZ|,ð |,ð |,ð |,ð~'ð 'ð 'ð 'ð '�9 Eð 'ñ 'ô 'ð 'ð -1Ø$Ø'ð{ð {ð {ð {ð {ð {ð {ð {r2   