§
    xÅj°  ã                   ó<  — d dl Z d dlZd dlmZ d dlmZ d dlmZmZ d dl	Z	d dl
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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" d dl#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) 	 	 d dl*m+Z+ n# e,$ r dZ+Y nw xY w	 d dl*m-Z- n# e,$ r dZ-Y nw xY wd dl*m.Z.m/Z/ d dl0m1Z1m2Z2m3Z3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z> erd dl8m?Z?m@Z@ n# e,$ r  ed¦  «        ‚w xY wer¡d dlmAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZH d dl0mIZI d dl8mJZJmKZKmLZLm@Z@mMZM d dlNmOZO  G d„ de/eL         ¦  «        ZP G d„ de3¦  «        ZQ G d„ de.eL         ¦  «        ZR G d „ d!e1¦  «        ZS G d"„ d#e4¦  «        ZT G d$„ d%e2eA         ¦  «        ZU eGd&eLd'¦  «        ZV G d(„ d)¦  «        ZW G d*„ d+¦  «        ZX G d,„ d-e¦  «        ZYd‚d1„ZZdƒd5„Z[	 	 d„	 	 	 	 	 	 	 	 	 	 	 	 	 d…d@„Z\	 	 	 	 d†dC„Z]	 	 	 	 d‡dG„Z^	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆdY„Z_	 	 	 	 	 	 	 	 d‰d[„Z`	 	 	 	 	 	 dŠd`„Za	 	 	 	 	 	 d‹dc„Zb	 	 d„	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dŒdj„Zcd�dm„Zd	 	 	 	 	 	 	 	 d�dn„ZedŽdo„Zf	 	 	 	 d�dq„Zg	 	 	 	 	 	 d�dt„Zh	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d‘dv„Zi	 	 	 	 d’dx„ZjdŽdy„Zk	 	 	 	 d“d{„ZldŽd|„ZmdŽd}„ZndŽd~„ZodŽd„Zpd€d/d0eqfd�„ZrdS )”é    N)ÚIterable©Úwraps)ÚTYPE_CHECKINGÚcast)Úrecord_token_usage)ÚGEN_AI_ALLOWED_MESSAGE_ROLESÚget_start_span_functionÚnormalize_message_rolesÚset_data_normalizedÚ transform_anthropic_content_partÚtruncate_and_annotate_messages)ÚOPÚSPANDATA)ÚDidNotEnableÚIntegrationÚ_check_minimum_version)Úshould_send_default_pii)ÚStreamedSpan)ÚSpan)Úhas_span_streaming_enabledÚshould_truncate_gen_ai_input)Úcapture_internal_exceptionsÚevent_from_exceptionÚhas_data_collection_enabledÚpackage_versionÚreraiseÚsafe_serialize)ÚNotGiven)ÚOmit)ÚAsyncStreamÚStream)ÚAsyncMessageStreamÚAsyncMessageStreamManagerÚMessageStreamÚMessageStreamManager)ÚAsyncMessagesÚMessages)ÚContentBlockDeltaEventÚContentBlockStartEventÚContentBlockStopEventÚMessageDeltaEventÚMessageStartEventÚMessageStopEvent)ÚMessageStreamEventÚTextBlockParamzAnthropic not installed)ÚAnyÚAsyncIteratorÚCallableÚ	CoroutineÚIteratorÚOptionalÚTypeVarÚUnion)ÚParsedMessageStreamEvent)ÚMessageParamÚ
ModelParamÚRawMessageStreamEventr0   ÚToolUnionParam)ÚTextPartc                   ó–   — e Zd ZU eeef         ed<   ded<   ee         ed<   ded<   e	e
         ed<   ee         ed<   ee         ed	<   d
S )Ú_PatchedRawMessageStreamÚ_spanÚAnthropicIntegrationÚ_integrationÚ_modelÚ_RecordedUsageÚ_usageÚ_content_blocksÚ_response_idÚ_finish_reasonN©Ú__name__Ú
__module__Ú__qualname__r8   r   r   Ú__annotations__r6   r;   Úlistr1   Ústr© ó    úRC:\Projects\Historical\venv\Lib\site-packages\sentry_sdk/integrations/anthropic.pyr@   r@   [   ó�   € € € € € € Ø�T˜<Ð'Ô(Ð(Ð(Ñ(Ø,Ð,Ð,Ñ,à˜Ô$Ð$Ð$Ñ$Ø Ð Ð Ñ Ø˜cœÐ"Ð"Ñ"Ø˜s”mÐ#Ð#Ñ#Ø  œÐ%Ð%Ñ%Ð%Ð%rR   r@   c                   ó–   — e Zd ZU eeef         ed<   ded<   ee         ed<   ded<   e	e
         ed<   ee         ed<   ee         ed	<   d
S )Ú_PatchedMessageStreamrA   rB   rC   rD   rE   rF   rG   rH   rI   NrJ   rQ   rR   rS   rV   rV   e   rT   rR   rV   c                   ó–   — e Zd ZU eeef         ed<   ded<   ee         ed<   ded<   e	e
         ed<   ee         ed<   ee         ed	<   d
S )Ú_PatchedRawAsyncMessageStreamrA   rB   rC   rD   rE   rF   rG   rH   rI   NrJ   rQ   rR   rS   rX   rX   o   rT   rR   rX   c                   ó–   — e Zd ZU eeef         ed<   ded<   ee         ed<   ded<   e	e
         ed<   ee         ed<   ee         ed	<   d
S )Ú_PatchedAsyncMessageStreamrA   rB   rC   rD   rE   rF   rG   rH   rI   NrJ   rQ   rR   rS   rZ   rZ   y   rT   rR   rZ   c                   ó   — e Zd ZU eeef         ed<   ded<   eed<   ee	         ed<   e
e         ed<   e
eeee         f                  ed<   e
e         ed<   e
e         ed	<   e
e         ed
<   e
ee                  ed<   dS )Ú_PatchedMessageStreamManagerrA   rB   rC   Ú_max_tokensÚ	_messagesrD   Ú_systemÚ_temperatureÚ_top_kÚ_top_pÚ_toolsN©rK   rL   rM   r8   r   r   rN   Úintr   r:   r6   r;   rP   r0   Úfloatr=   rQ   rR   rS   r\   r\   ƒ   óÈ   € € € € € € Ø�T˜<Ð'Ô(Ð(Ð(Ñ(Ø,Ð,Ð,Ñ,àÐÐÑØ˜LÔ)Ð)Ð)Ñ)Ø˜Ô$Ð$Ð$Ñ$Ø˜%  X¨nÔ%=Ð =Ô>Ô?Ð?Ð?Ñ?Ø˜u”oÐ%Ð%Ñ%Ø˜”ÐÐÑØ˜”ÐÐÑØ˜ .Ô1Ô2Ð2Ð2Ñ2Ð2Ð2rR   r\   c                   ó   — e Zd ZU eeef         ed<   ded<   eed<   ee	         ed<   e
e         ed<   e
eeee         f                  ed<   e
e         ed<   e
e         ed	<   e
e         ed
<   e
ee                  ed<   dS )Ú!_PatchedAsyncMessageStreamManagerrA   rB   rC   r]   r^   rD   r_   r`   ra   rb   rc   Nrd   rQ   rR   rS   ri   ri   �   rg   rR   ri   Ú_EventTzParsedMessageStreamEvent[Any]c                   óH   — e Zd ZU dZeed<   dZeed<   dZded<   dZded<   dS )rE   r   Úoutput_tokensÚinput_tokensúOptional[int]Úcache_write_input_tokensÚcache_read_input_tokensN)	rK   rL   rM   rl   re   rN   rm   ro   rp   rQ   rR   rS   rE   rE       sT   € € € € € € Ø€M�3ÐÐÑØ€L�#ÐÐÑØ01Ð˜oÐ1Ð1Ñ1Ø/0Ð˜_Ð0Ð0Ñ0Ð0Ð0rR   rE   c                   óJ   — e Zd ZdZ	 ddddeddfd„Zdd	„Z	 	 	 	 	 	 	 	 dd„ZdS )Ú_StreamSpanContextz°
    Sets accumulated data on the stream's span and finishes the span on exit.
    Is a no-op if the stream has no span set, i.e., when the span has already been finished.
    FÚstreamúkUnion[Stream[RawMessageStreamEvent], MessageStream, AsyncStream[RawMessageStreamEvent], AsyncMessageStream]Úguaranteed_streaming_stateÚreturnNc                 ó"   — || _         || _        d S ©N)Ú_streamÚ_guaranteed_streaming_state)Úselfrs   ru   s      rS   Ú__init__z_StreamSpanContext.__init__­   s   € ð ˆŒØ+EˆÔ(Ð(Ð(rR   c                 ó   — | S rx   rQ   )r{   s    rS   Ú	__enter__z_StreamSpanContext.__enter__¶   s   € ØˆrR   Úexc_typeúOptional[type[BaseException]]Úexc_valúOptional[BaseException]Úexc_tbúOptional[Any]c           
      óø  — t          ¦   «         5  t          | j        d¦  «        s	 d d d ¦  «         d S t          d| j        ¦  «        }| j        s<t          |d¦  «        s,|j                             |||¦  «         |`	 d d d ¦  «         d S t          |j        |j        |j	        |j
        |j        |j        |j        ¬¦  «         |j                             |||¦  «         |`d d d ¦  «         d S # 1 swxY w Y   d S )NrA   úqUnion[_PatchedRawMessageStream, _PatchedMessageStream, _PatchedRawAsyncMessageStream, _PatchedAsyncMessageStream]rD   )ÚspanÚintegrationÚmodelÚusageÚcontent_blocksÚresponse_idÚfinish_reason)r   Úhasattrry   r   rz   rA   Ú__exit__Ú_set_streaming_output_datarC   rD   rF   rG   rH   rI   )r{   r   r�   rƒ   Úpatched_streams        rS   r�   z_StreamSpanContext.__exit__¹   s¦  € õ )Ñ*Ô*ð 	%ð 	%Ý˜4œ<¨Ñ1Ô1ð Øð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%õ "ð DØ”ñô ˆNð
 Ô3ð ½GØ ñ=ô =ð ð Ô$×-Ò-¨h¸ÀÑHÔHÐHØ"Ð(Øð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%õ  'Ø#Ô)Ø*Ô7Ø$Ô+Ø$Ô+Ø-Ô=Ø*Ô7Ø,Ô;ðñ ô ð ð Ô ×)Ò)¨(°G¸VÑDÔDÐDØÐ$ð7	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s   �C/³AC/ÂAC/Ã/C3Ã6C3)F)rv   rr   )r   r€   r�   r‚   rƒ   r„   rv   N)rK   rL   rM   Ú__doc__Úboolr|   r~   r�   rQ   rR   rS   rr   rr   §   s®   € € € € € ðð ð ,1ð	Fð Fà}ðFð %)ð	Fð
 
ðFð Fð Fð Fðð ð ð ð!%à1ð!%ð +ð!%ð  ð	!%ð
 
ð!%ð !%ð !%ð !%ð !%ð !%rR   rr   c                   óJ   — e Zd ZdZde› �Zd
dd deddfd„Zedd	„¦   «         ZdS )rB   Ú	anthropiczauto.ai.Tr{   Úinclude_promptsrv   Nc                 ó   — || _         d S rx   )r–   )r{   r–   s     rS   r|   zAnthropicIntegration.__init__á   s   € Ø.ˆÔÐÐrR   c                  óz  — t          d¦  «        } t          t          | ¦  «         	 t          t          j        ¦  «        t          _        t          t          j        ¦  «        t          _        t          t          j        ¦  «        t          _        t          t          j        ¦  «        t          _        	 t          t          j        ¦  «        t          _        t          t           j        ¦  «        t           _        t%          t&          t          ¦  «        s#t          t&          j        ¦  «        t&          _        t)          t          j        ¦  «        t          _        t+          t,          j        ¦  «        t,          _        t%          t0          t          ¦  «        s%t          t0          j        ¦  «        t0          _        d S d S )Nr•   )r   r   rB   Ú_wrap_message_creater(   ÚcreateÚ_wrap_closer"   ÚcloseÚ_wrap_message_create_asyncr'   Ú_wrap_async_closer!   Ú_wrap_message_streamrs   Ú"_wrap_message_stream_manager_enterr&   r~   Ú
issubclassr%   Ú_wrap_async_message_streamÚ)_wrap_async_message_stream_manager_aenterr$   Ú
__aenter__r#   )Úversions    rS   Ú
setup_oncezAnthropicIntegration.setup_onceä   s3  € å! +Ñ.Ô.ˆÝÕ3°WÑ=Ô=Ð=ð	õ /­x¬Ñ?Ô?�ŒÝ"¥6¤<Ñ0Ô0�Œå9½-Ô:NÑOÔO�ÔÝ-­kÔ.?Ñ@Ô@�Ôð	õ /­x¬Ñ?Ô?�ŒÝ)KÝ Ô*ñ*
ô *
ÕÔ&õ �-­Ñ0Ô0ð 	CÝ"-­mÔ.AÑ"BÔ"B�MÔå9½-Ô:NÑOÔO�Ôå5Ý)Ô4ñô õ 	"Ô,õ Õ,­kÑ:Ô:ð 	SÝ'8Õ9KÔ9QÑ'RÔ'RÕÔ$Ð$Ð$ð	Sð 	SrR   )T)rv   N)	rK   rL   rM   Ú
identifierÚoriginr“   r|   Ústaticmethodr¦   rQ   rR   rS   rB   rB   Ý   s|   € € € € € Ø€JØ$˜
Ð$Ð$€Fð/ð /Ð-ð /Àð /ÐPTð /ð /ð /ð /ð ð-Sð -Sð -Sñ „\ð-Sð -Sð -SrR   rB   Úexcr1   rv   c                 óŽ   — t          | t          j        ¦   «         j        dddœ¬¦  «        \  }}t          j        ||¬¦  «         d S )Nr•   F)ÚtypeÚhandled)Úclient_optionsÚ	mechanism)Úhint)r   Ú
sentry_sdkÚ
get_clientÚoptionsÚcapture_event)rª   Úeventr°   s      rS   Ú_capture_exceptionr¶     sU   € Ý&ØÝ!Ô,Ñ.Ô.Ô6Ø&°5Ð9Ð9ðñ ô �K€Eˆ4õ
 Ô˜U¨Ð.Ñ.Ô.Ð.Ð.Ð.rR   Úresultr(   útuple[int, int, int, int]c                 óä  — d}d}d}d}t          | d¦  «        rË| j        }t          |d¦  «        r!t          |j        t          ¦  «        r|j        }t          |d¦  «        r!t          |j        t          ¦  «        r|j        }t          |d¦  «        r!t          |j        t          ¦  «        r|j        }t          |d¦  «        r!t          |j        t          ¦  «        r|j        }|||z   z  }||||fS )z”
    Get token usage from the Anthropic response.
    Returns: (input_tokens, output_tokens, cache_read_input_tokens, cache_write_input_tokens)
    r   rŠ   rm   rl   rp   Úcache_creation_input_tokens)rŽ   rŠ   Ú
isinstancerm   re   rl   rp   rº   )r·   rm   rl   rp   ro   rŠ   s         rS   Ú_get_token_usager¼     s-  € ð
 €LØ€MØÐØ ÐÝˆv�wÑÔð IØ”ˆÝ�5˜.Ñ)Ô)ð 	.­j¸Ô9KÍSÑ.QÔ.Qð 	.Ø Ô-ˆLÝ�5˜/Ñ*Ô*ð 	0­z¸%Ô:MÍsÑ/SÔ/Sð 	0Ø!Ô/ˆMÝ�5Ð3Ñ4Ô4ð 	D½ØÔ)­3ñ:
ô :
ð 	Dð ',Ô&CÐ#Ý�5Ð7Ñ8Ô8ð 	I½ZØÔ-­sñ>
ô >
ð 	Ið (-Ô'HÐ$ð
 Ð+Ð.FÑFÑF€Lð 	ØØØ ð	ð rR   rµ   r/   r‰   ú
str | NonerŠ   r‹   ú	list[str]rŒ   r�   úDtuple[str | None, _RecordedUsage, list[str], str | None, str | None]c                 óð  — t          ¦   «         5  t          | d¦  «        �r¹| j        dk    rn�| j        dk    rjt          | j        d¦  «        r |                     | j        j        ¦  «         nAt          | j        d¦  «        r|                     | j        j        ¦  «         n| j        dk    r	 | j        dk    r}| j        j        p|}| j        j	        }| j        j
        }|j        |_        |j        |_        t          |dd	¦  «        |_        t          |d
d	¦  «        |_        |||||fcd	d	d	¦  «         S | j        dk    r™| j
        j        |_        t          | j
        dd	¦  «        }|�||_        t          | j
        dd	¦  «        }|�||_        t          | j
        d
d	¦  «        }	|	�|	|_        | j        j        �| j        j        }|||||fcd	d	d	¦  «         S d	d	d	¦  «         n# 1 swxY w Y   |||||fS )zl
    Collect model information, token usage, and collect content blocks from the AI streaming response.
    r¬   Úcontent_block_startÚcontent_block_deltaÚtextÚpartial_jsonÚcontent_block_stopÚmessage_startrº   Nrp   Úmessage_deltarm   )r   rŽ   r¬   ÚdeltaÚappendrÃ   rÄ   Úmessager‰   ÚidrŠ   rl   rm   Úgetattrro   rp   Ústop_reason)
rµ   r‰   rŠ   r‹   rŒ   r�   Úincoming_usagerm   rº   rp   s
             rS   Ú_collect_ai_datarÏ   C  sã  € õ 
%Ñ	&Ô	&ð >Rð >RÝ�5˜&Ñ!Ô!ñ =	RØŒzÐ2Ò2Ð2ØØ”Ð4Ò4Ð4Ý˜5œ;¨Ñ/Ô/ð DØ"×)Ò)¨%¬+Ô*:Ñ;Ô;Ð;Ð;Ý˜Uœ[¨.Ñ9Ô9ð DØ"×)Ò)¨%¬+Ô*BÑCÔCÐCøØ”Ð3Ò3Ð3Øð Œz˜_Ò,Ð,ØœÔ+Ð4¨u�Ø#œmÔ.�à!&¤Ô!4�Ø&4Ô&B�Ô#Ø%3Ô%@�Ô"å18Ø"Ð$AÀ4ñ2ô 2�Ô.õ 18Ø"Ð$=¸tñ1ô 1�Ô-ð
 ØØ"ØØ!ðð;>Rð >Rð >Rð >Rñ >Rô >Rð >Rð >RðL Œz˜_Ò,Ð,Ø&+¤kÔ&?�Ô#õ  ' u¤{°NÀDÑIÔI�ØÐ+Ø)5�EÔ&å.5Ø”KÐ!>Àñ/ô /Ð+ð /Ð:Ø5P�EÔ2å*1Ø”KÐ!:¸Dñ+ô +Ð'ð +Ð6Ø4K�EÔ1ð ”;Ô*Ð6Ø$)¤KÔ$;�Mà˜u n°kÀ=ÐQð}>Rð >Rð >Rð >Rñ >Rô >Rð >Rð >Rð >Rð >Rð >Rñ >Rô >Rð >Rð >Rð >Rð >Rð >Rð >Røøøð >Rð >Rð >Rð >RðB 	ØØØØðð s   �DG&Ä6BG&Ç&G*Ç-G*Úcontent_blockúdict[str, Any]c                 ó  — |                       d¦  «        dk    r\|                       d¦  «        }t          |t          ¦  «        r2|                      d¦  «        dk    rd|                      dd¦  «        dœS t          | ¦  «        }|�|n| S )z—
    Transform an Anthropic content block using the Anthropic-specific transformer,
    with special handling for Anthropic's text-type documents.
    r¬   ÚdocumentÚsourcerÃ   ÚdataÚ ©r¬   rÃ   )Úgetr»   Údictr   )rÐ   rÔ   r·   s      rS   Ú"_transform_anthropic_content_blockrÚ   —  s™   € ð ×Ò˜Ñ Ô  JÒ.Ð.Ø×"Ò" 8Ñ,Ô,ˆÝ�f�dÑ#Ô#ð 	¨¯
ª
°6Ñ(:Ô(:¸fÒ(DÐ(DàØŸ
š
 6¨2Ñ.Ô.ðð ð õ .¨mÑ<Ô<€FØÐ'ˆ6ˆ6¨]Ð:rR   Úsystem_instructionsú$Union[str, Iterable[TextBlockParam]]úlist[TextPart]c                 óP   — t          | t          ¦  «        rd| dœgS d„ | D ¦   «         S )NrÃ   ©r¬   Úcontentc                 óV   — g | ]&}t          |t          ¦  «        rd |v ¯d |d          dœ‘Œ'S )rÃ   rß   )r»   rÙ   )Ú.0Úinstructions     rS   ú
<listcomp>z2_transform_system_instructions.<locals>.<listcomp>·  sX   € ð ð ð ð
 Ý�k¥4Ñ(Ô(ðð .4°{Ð-BÐ-Bð	 Ø" 6Ô*ð	
ð 	
ð
 .CÐ-BÐ-BrR   )r»   rP   )rÛ   s    rS   Ú_transform_system_instructionsrå   ¬  sV   € õ Ð%¥sÑ+Ô+ð 
ð Ø.ðð ð
ð 	
ðð ð
 /ðñ ô ð rR   r‡   úUnion[Span, StreamedSpan]rˆ   Ú
max_tokensre   ÚmessagesúIterable[MessageParam]úOptional[ModelParam]Úsystemú.Optional[Union[str, Iterable[TextBlockParam]]]ÚtemperatureúOptional[float]Útop_krn   Útop_pÚtoolsú"Optional[Iterable[ToolUnionParam]]c
                 óÄ  — t          | t          ¦  «        r| j        n| j        }
 |
t          j        d¦  «          |
t          j        d¦  «         |�%t          |¦  «        r |
t          j        |¦  «         |�%t          |¦  «        r |
t          j	        |¦  «         |�%t          |¦  «        r |
t          j
        |¦  «         |�%t          |¦  «        r |
t          j        |¦  «         |�%t          |¦  «        r |
t          j        |¦  «         t          j        ¦   «         }t          |j        ¦  «        ra|j        d         d         d         rG|	�Et          |	¦  «        r6t#          |	¦  «        dk    r# |
t          j        t'          |	¦  «        ¦  «         nG|	�Et          |	¦  «        r6t#          |	¦  «        dk    r# |
t          j        t'          |	¦  «        ¦  «         |�t#          |¦  «        dk    rdS d}t          |j        ¦  «        r|j        d         d         d         rd	}nt)          ¦   «         r	|j        rd	}|�rt          |t,          ¦  «        st          |t.          ¦  «        r5 |
t          j        t3          j        t7          |¦  «        ¦  «        ¦  «         g }|D �]J}|                     d
¦  «        t:          j        k    rÉd|v rÅt          |d         t>          t@          f¦  «        r£g }|d         D ]j}t          |tB          ¦  «        r|                     d¦  «        dk    rŒ1| "                    t          |tB          ¦  «        rtG          |¦  «        n|¦  «         Œk|r+| "                    |                     d
¦  «        |dœ¦  «         ŒïtC          |¦  «        }d|v r3|d         }t          |t>          t@          f¦  «        rd„ |D ¦   «         |d<   | "                    |¦  «         �ŒLtI          |¦  «        }t          j%        ¦   «         }tM          |j        ¦  «        rtO          || |¦  «        n|}|�!tQ          | t          j)        |d¬¦  «         dS dS dS )úq
    Set input data for the span based on the provided keyword arguments for the anthropic message creation.
    r•   ÚchatNÚdata_collectionÚgen_aiÚinputsr   FTÚrolerà   r¬   Útool_result)rù   rà   c                 óZ   — g | ](}t          |t          ¦  «        rt          |¦  «        n|‘Œ)S rQ   )r»   rÙ   rÚ   )râ   Úitems     rS   rä   z*_set_common_input_data.<locals>.<listcomp>#  sJ   € ð :ð :ð :ð !%õ  *¨$µÑ5Ô5ð&Õ>¸tÑDÔDÐDà!%ð:ð :ð :rR   ©Úunpack)*r»   r   Úset_attributeÚset_datar   ÚGEN_AI_SYSTEMÚGEN_AI_OPERATION_NAMEÚ	_is_givenÚGEN_AI_REQUEST_MAX_TOKENSÚGEN_AI_REQUEST_MODELÚGEN_AI_REQUEST_TEMPERATUREÚGEN_AI_REQUEST_TOP_KÚGEN_AI_REQUEST_TOP_Pr±   r²   r   r³   ÚlenÚGEN_AI_REQUEST_AVAILABLE_TOOLSr   r   r–   rP   r   ÚGEN_AI_SYSTEM_INSTRUCTIONSÚjsonÚdumpsrå   rØ   r	   ÚUSERrO   ÚtuplerÙ   rÉ   rÚ   r   Úget_current_scoper   r   r   ÚGEN_AI_REQUEST_MESSAGES)r‡   rˆ   rç   rè   r‰   rë   rí   rï   rð   rñ   Úset_on_spanÚclientÚrecord_inputsÚnormalized_messagesrÊ   Útransformed_contentrü   Útransformed_messagerà   Úrole_normalized_messagesÚscopeÚmessages_datas                         rS   Ú_set_common_input_datar  Á  sÞ  € õ  )¨­|Ñ<Ô<ÐOˆÔÐÀ$Ä-ð ð €K•Ô&¨Ñ4Ô4Ð4Ø€K•Ô.°Ñ7Ô7Ð7àÐ¥)¨JÑ"7Ô"7ÐØˆ•HÔ6¸
ÑCÔCÐCØÐ�Y uÑ-Ô-ÐØˆ•HÔ1°5Ñ9Ô9Ð9ØÐ¥9¨[Ñ#9Ô#9ÐØˆ•HÔ7¸ÑEÔEÐEØÐ�Y uÑ-Ô-ÐØˆ•HÔ1°5Ñ9Ô9Ð9ØÐ�Y uÑ-Ô-ÐØˆ•HÔ1°5Ñ9Ô9Ð9åÔ"Ñ$Ô$€Få" 6¤>Ñ2Ô2ð 
XØŒ>Ð+Ô,¨XÔ6°xÔ@ð 	ØÐ ¥Y¨uÑ%5Ô%5Ð ½#¸e¹*¼*Àqº.¸.Ø�ÝÔ;½^ÈEÑ=RÔ=Rñô ð øð Ð¥¨5Ñ!1Ô!1Ðµc¸%±j´jÀ1²n°nØˆK�Ô?ÅÐPUÑAVÔAVÑWÔWÐWàÐ�3˜x™=œ=¨AÒ-Ð-Øˆà€MÝ" 6¤>Ñ2Ô2ð ØŒ>Ð+Ô,¨XÔ6°xÔ@ð 	!Ø ˆMøÝ	 Ñ	"Ô	"ð  {Ô'Bð Øˆàñ @Ý�f�cÑ"Ô"ð 	¥j°½Ñ&BÔ&Bð 	ØˆKÝÔ3Ý”
Õ9¸&ÑAÔAÑBÔBñô ð ð
 ,.ÐØð (	@ñ (	@ˆGà—’˜FÑ#Ô#Õ'CÔ'HÒHÐHØ Ð(Ð(Ý˜w yÔ1µD½%°=ÑAÔAð )ð ')Ð#Ø# IÔ.ð ð �Dõ " $­Ñ-Ô-ð !°$·(²(¸6Ñ2BÔ2BÀmÒ2SÐ2SØ ð (×.Ò.å% d­DÑ1Ô1ð"Õ:¸4Ñ@Ô@Ð@à!ñô ð ð ð 'ð Ø'×.Ò.à$+§K¢K°Ñ$7Ô$7Ø':ðð ñô ð øõ 9=¸W¹¼Ð#ØÐ 3Ð3Ð3Ø1°)Ô<�GÝ! '­Dµ%¨=Ñ9Ô9ð ð:ð :ð )0ð	:ñ :ô :Ð+¨IÑ6ð $×*Ò*Ð+>Ñ?Ô?Ð?Ñ?å#:Ð;NÑ#OÔ#OÐ åÔ,Ñ.Ô.ˆõ ,¨F¬NÑ;Ô;ð*Õ*Ð+CÀTÈ5ÑQÔQÐQà)ð 	ð
 Ð$ÝØÝÔ0ØØð	ñ ô ð ð ð ðw@ð @ðt %Ð$rR   Úkwargsc                 ód  — t          | t          ¦  «        r5|                      t          j        |                     dd¦  «        ¦  «         n4|                      t          j        |                     dd¦  «        ¦  «         t          | ||                     d¦  «        |                     d¦  «        |                     d¦  «        |                     d¦  «        |                     d¦  «        |                     d¦  «        |                     d	¦  «        |                     d
¦  «        ¬¦
  «
         dS )rô   rs   Frç   rè   r‰   rë   rí   rï   rð   rñ   ©
r‡   rˆ   rç   rè   r‰   rë   rí   rï   rð   rñ   N)r»   r   rÿ   r   ÚGEN_AI_RESPONSE_STREAMINGrØ   r   r  )r‡   r  rˆ   s      rS   Ú_set_create_input_datar   <  s  € õ �$�Ñ%Ô%ð WØ×ÒÝÔ.°·
²
¸8ÀUÑ0KÔ0Kñ	
ô 	
ð 	
ð 	
ð 	�Š•hÔ8¸&¿*º*ÀXÈuÑ:UÔ:UÑVÔVÐVåØØØ—:’:˜lÑ+Ô+Ø—’˜JÑ'Ô'Ø�jŠj˜Ñ!Ô!Ø�zŠz˜(Ñ#Ô#Ø—J’J˜}Ñ-Ô-Ø�jŠj˜Ñ!Ô!Ø�jŠj˜Ñ!Ô!Ø�jŠj˜Ñ!Ô!ðñ ô ð ð ð rR   rs   ú6Union[_PatchedRawMessageStream, _PatchedMessageStream]ÚiteratorúIterator[_EventT]c              #   ó  K  — t          | d¬¦  «        5  |D ]O}t          |t          t          t          t
          t          t          f¦  «        s|V — Œ;t          | |¦  «         |V — ŒP	 ddd¦  «         dS # 1 swxY w Y   dS ©zË
    Sets information received while iterating the response stream on the AI Client Span.
    Responsible for closing the AI Client Span unless the span has already been closed in the close() patch.
    T)ru   N©	rr   r»   r-   r,   r.   r*   r)   r+   Ú_accumulate_event_data©rs   r"  rµ   s      rS   Ú"_wrap_synchronous_message_iteratorr)  Y  sê   è è € õ 
˜F¸tÐ	DÑ	DÔ	Dð ð Øð 	ð 	ˆEõ Øå%Ý%Ý$Ý*Ý*Ý)ðñ
ô 
ð ð ���Øå" 6¨5Ñ1Ô1Ð1ØˆKˆKˆKˆKð%	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ”AA5Á5A9Á<A9ú@Union[_PatchedRawAsyncMessageStream, _PatchedAsyncMessageStream]úAsyncIterator[_EventT]c                ó  K  — t          | d¬¦  «        5  |2 3 d{V —†}t          |t          t          t          t
          t          t          f¦  «        s|W V — ŒAt          | |¦  «         |W V — ŒW6 	 ddd¦  «         dS # 1 swxY w Y   dS r%  r&  r(  s      rS   Ú#_wrap_asynchronous_message_iteratorr-  w  s	  è è € õ 
˜F¸tÐ	DÑ	DÔ	Dð ð Ø#ð 	ð 	ð 	ð 	ð 	ð 	ð 	�%õ Øå%Ý%Ý$Ý*Ý*Ý)ðñ
ô 
ð ð ����Øå" 6¨5Ñ1Ô1Ð1ØˆKˆKˆKˆKˆKð% $˜8ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ”A=—A.�AA=Á=BÂBrm   ú
int | Nonerl   rp   ro   ú	list[Any]c
                 óh  — t          | t          ¦  «        r| j        n| j        }
|� |
t          j        |¦  «         |� |
t          j        |¦  «         |	� |
t          j        |	g¦  «         t          j	        ¦   «         }d}t          |j        ¦  «        r|j        d         d         d         }nt          ¦   «         r	|j        rd}|rÕg g dœ}|D ]W}|d         d	k    r"|d
                              |d	         ¦  «         Œ0|d         dk    r|d                              |¦  «         ŒXt          |d         ¦  «        dk    r#t!          | t          j        |d         d¬¦  «         t          |d
         ¦  «        dk    r!t!          | t          j        |d
         ¦  «         t'          | ||||¬¦  «         dS )z;
    Set output data for the span based on the AI response.NFrö   r÷   ÚoutputsT)ÚresponseÚtoolr¬   rÃ   r2  Útool_user3  r   rý   )rm   rl   Úinput_tokens_cachedÚinput_tokens_cache_write)r»   r   rÿ   r   r   ÚGEN_AI_RESPONSE_MODELÚGEN_AI_RESPONSE_IDÚGEN_AI_RESPONSE_FINISH_REASONSr±   r²   r   r³   r   r–   rÉ   r	  r   ÚGEN_AI_RESPONSE_TOOL_CALLSÚGEN_AI_RESPONSE_TEXTr   )r‡   rˆ   r‰   rm   rl   rp   ro   r‹   rŒ   r�   r  r  Úrecord_outputsÚoutput_messagesÚoutputs                  rS   Ú_set_output_datar?  •  s  € õ )¨­|Ñ<Ô<ÐOˆÔÐÀ$Ä-ð ð ÐØˆ•HÔ2°EÑ:Ô:Ð:ØÐØˆ•HÔ/°Ñ=Ô=Ð=ØÐ Øˆ•HÔ;¸m¸_ÑMÔMÐMåÔ"Ñ$Ô$€FØ€NÝ" 6¤>Ñ2Ô2ð ØœÐ(9Ô:¸8ÔDÀYÔOˆˆÝ	 Ñ	"Ô	"ð  {Ô'Bð Øˆàð àØð3
ð 3
ˆð
 %ð 	7ð 	7ˆFØ�fŒ~ Ò'Ð'Ø 
Ô+×2Ò2°6¸&´>ÑBÔBÐBÐBØ˜” :Ò-Ð-Ø Ô'×.Ò.¨vÑ6Ô6Ð6øåˆ˜vÔ&Ñ'Ô'¨!Ò+Ð+ÝØÝÔ3Ø Ô'Øð	ñ ô ð õ ˆ˜zÔ*Ñ+Ô+¨aÒ/Ð/ÝØ•hÔ3°_ÀZÔ5Pñô ð õ ØØ!Ø#Ø3Ø!9ðñ ô ð ð ð rR   ÚfÚargsc                 óJ  — |                      d¦  «        }|€ | |i |¤ŽS d|vr | |i |¤ŽS 	 t          |d         ¦  «         n# t          $ r  | |i |¤ŽcY S w xY w|                     dd¦  «        }t	          t          j        ¦   «         j        ¦  «        }|rNt
          j         	                    d|› � 
                    ¦   «         t          j        t          j        dœ¬¦  «        }nW t          ¦   «         t          j        d|› � 
                    ¦   «         t          j        ¬	¦  «        }|                     ¦   «          t#          |||¦  «         	  | |i |¤Ž}nr# t$          $ re}t'          j        ¦   «         }	t+          ¦   «         5  t-          |¦  «          |j        |	Ž  ddd¦  «         n# 1 swxY w Y   t1          |	Ž  Y d}~nd}~ww xY wt3          |t4          ¦  «        rG||_        ||_        t;          |¦  «         t=          t?          d
|¦  «        |j         ¦  «        |_         |S t+          ¦   «         5  tC          |d¦  «        �rtE          |¦  «        \  }
}}}g }|j#        D ]Ÿ}tC          |d¦  «        r(| $                    | %                    ¦   «         ¦  «         Œ:tC          |d¦  «        r(| $                    | &                    ¦   «         ¦  «         ŒrtC          |d¦  «        r| $                    d|j'        dœ¦  «         Œ tQ          ||tS          |dd¦  «        |
||||tS          |dd¦  «        tS          |dd¦  «        ¬¦
  «
         n+t3          |tT          ¦  «        r| +                    dd¦  «         |                     ddd¦  «         ddd¦  «         n# 1 swxY w Y   |S )ú[
    Creates and manages an AI Client Span for both non-streaming and streaming calls.
    rˆ   Nrè   r‰   rÖ   úchat ©ú	sentry.opúsentry.origin©ÚnameÚ
attributes©ÚoprI  r¨   r@   rà   Úto_dictÚ
model_dumprÃ   r×   rË   rÍ   ©
r‡   rˆ   r‰   rm   rl   rp   ro   r‹   rŒ   r�   Úunknown_responseT),ÚpopÚiterÚ	TypeErrorrØ   r   r±   r²   r³   ÚtracesÚ
start_spanÚstripr   ÚGEN_AI_CHATrB   r¨   r
   r~   r   Ú	ExceptionÚsysÚexc_infor   r¶   r�   r   r»   r"   rA   rC   Ú#_initialize_data_accumulation_stater)  r   Ú	_iteratorrŽ   r¼   rà   rÉ   rM  rN  rÃ   r?  rÌ   r   r   ©r@  rA  r  rˆ   r‰   Úspan_streamingr‡   r·   rª   rZ  rm   rl   rp   ro   r‹   rÐ   s                   rS   Ú_sentry_patched_create_syncr_  Ö  s°  € ð —*’*˜]Ñ+Ô+€KØÐØˆq�$Ð!˜&Ð!Ð!Ð!à˜ÐÐØˆq�$Ð!˜&Ð!Ð!Ð!ð"ÝˆV�JÔÑ Ô Ð Ð øÝð "ð "ð "Øˆq�$Ð!˜&Ð!Ð!Ð!Ð!Ð!ð"øøøð �JŠJ�w Ñ#Ô#€Eå/µ
Ô0EÑ0GÔ0GÔ0OÑPÔP€NØð ÝÔ ×+Ò+Ø ˜��×&Ò&Ñ(Ô(åœ^Ý!5Ô!<ðð ð ,ñ 
ô 
ˆˆð )Õ&Ñ(Ô(ÝŒ~Ø ˜��×&Ò&Ñ(Ô(Ý'Ô.ð
ñ 
ô 
ˆð
 	�ŠÑÔÐå˜4 ¨Ñ5Ô5Ð5ðØ��DÐ#˜FÐ#Ð#ˆˆøÝð ð ð Ý”<‘>”>ˆÝ(Ñ*Ô*ð 	%ð 	%Ý˜sÑ#Ô#Ð#ØˆDŒM˜8Ð$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%õ 	�ÐÐÐÐÐÐÐøøøøðøøøõ �&�&Ñ!Ô!ð 
ØˆŒØ)ˆÔå+¨FÑ3Ô3Ð3Ý=ÝÐ+¨VÑ4Ô4ØÔñ
ô 
ˆÔð
 ˆå	$Ñ	&Ô	&ð !(ð !(Ý�6˜9Ñ%Ô%ñ 	4õ ! Ñ(Ô(ñØØØ'Ø(ð  ˆNØ!'¤ð Xð X�Ý˜=¨)Ñ4Ô4ð XØ"×)Ò)¨-×*?Ò*?Ñ*AÔ*AÑBÔBÐBÐBÝ˜]¨LÑ9Ô9ð XØ"×)Ò)¨-×*BÒ*BÑ*DÔ*DÑEÔEÐEÐEÝ˜]¨FÑ3Ô3ð XØ"×)Ò)°6À=ÔCUÐ*VÐ*VÑWÔWÐWøåØØ'Ý˜f g¨tÑ4Ô4Ø)Ø+Ø(?Ø)AØ-Ý# F¨D°$Ñ7Ô7Ý% f¨m¸TÑBÔBðñ ô ð ð õ ˜�dÑ#Ô#ð 	4Ø�MŠMÐ,¨dÑ3Ô3Ð3à�Š�d˜D $Ñ'Ô'Ð'ðC!(ð !(ð !(ñ !(ô !(ð !(ð !(ð !(ð !(ð !(ð !(øøøð !(ð !(ð !(ð !(ðF €Ms`   ­A ÁAÁAÅE Å
GÅ"!GÆF)ÆGÆ)F-	Æ-GÆ0F-	Æ1GÇGÈ4ENÎNÎNc              �   ó~  K  — |                      d¦  «        }|€ | |i |¤Žƒ d{V —†S d|vr | |i |¤Žƒ d{V —†S 	 t          |d         ¦  «         n# t          $ r  | |i |¤Žƒ d{V —†cY S w xY w|                     dd¦  «        }t	          t          j        ¦   «         j        ¦  «        }|rNt
          j         	                    d|› � 
                    ¦   «         t          j        t          j        dœ¬¦  «        }nW t          ¦   «         t          j        d|› � 
                    ¦   «         t          j        ¬	¦  «        }|                     ¦   «          t#          |||¦  «         	  | |i |¤Žƒ d{V —†}nr# t$          $ re}t'          j        ¦   «         }	t+          ¦   «         5  t-          |¦  «          |j        |	Ž  ddd¦  «         n# 1 swxY w Y   t1          |	Ž  Y d}~nd}~ww xY wt3          |t4          ¦  «        rG||_        ||_        t;          |¦  «         t=          t?          d
|¦  «        |j         ¦  «        |_         |S t+          ¦   «         5  tC          |d¦  «        �rtE          |¦  «        \  }
}}}g }|j#        D ]Ÿ}tC          |d¦  «        r(| $                    | %                    ¦   «         ¦  «         Œ:tC          |d¦  «        r(| $                    | &                    ¦   «         ¦  «         ŒrtC          |d¦  «        r| $                    d|j'        dœ¦  «         Œ tQ          ||tS          |dd¦  «        |
||||tS          |dd¦  «        tS          |dd¦  «        ¬¦
  «
         n+t3          |tT          ¦  «        r| +                    dd¦  «         |                     ddd¦  «         ddd¦  «         n# 1 swxY w Y   |S )rC  rˆ   Nrè   r‰   rÖ   rD  rE  rH  rK  rX   rà   rM  rN  rÃ   r×   rË   rÍ   rO  rP  T),rQ  rR  rS  rØ   r   r±   r²   r³   rT  rU  rV  r   rW  rB   r¨   r
   r~   r   rX  rY  rZ  r   r¶   r�   r   r»   r!   rA   rC   r[  r-  r   r\  rŽ   r¼   rà   rÉ   rM  rN  rÃ   r?  rÌ   r   r   r]  s                   rS   Ú_sentry_patched_create_asyncra  6  sü  è è € ð —*’*˜]Ñ+Ô+€KØÐØ�Q˜Ð' Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'à˜ÐÐØ�Q˜Ð' Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð(ÝˆV�JÔÑ Ô Ð Ð øÝð (ð (ð (Ø�Q˜Ð' Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð(øøøð �JŠJ�w Ñ#Ô#€Eå/µ
Ô0EÑ0GÔ0GÔ0OÑPÔP€NØð ÝÔ ×+Ò+Ø ˜��×&Ò&Ñ(Ô(åœ^Ý!5Ô!<ðð ð ,ñ 
ô 
ˆˆð )Õ&Ñ(Ô(ÝŒ~Ø ˜��×&Ò&Ñ(Ô(Ý'Ô.ð
ñ 
ô 
ˆð
 	�ŠÑÔÐå˜4 ¨Ñ5Ô5Ð5ðØ�q˜$Ð) &Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ˆˆøÝð ð ð Ý”<‘>”>ˆÝ(Ñ*Ô*ð 	%ð 	%Ý˜sÑ#Ô#Ð#ØˆDŒM˜8Ð$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%õ 	�ÐÐÐÐÐÐÐøøøøðøøøõ �&�+Ñ&Ô&ð 
ØˆŒØ)ˆÔå+¨FÑ3Ô3Ð3Ý>ÝÐ0°&Ñ9Ô9ØÔñ
ô 
ˆÔð
 ˆå	$Ñ	&Ô	&ð !(ð !(Ý�6˜9Ñ%Ô%ñ 	4õ ! Ñ(Ô(ñØØØ'Ø(ð  ˆNØ!'¤ð Xð X�Ý˜=¨)Ñ4Ô4ð XØ"×)Ò)¨-×*?Ò*?Ñ*AÔ*AÑBÔBÐBÐBÝ˜]¨LÑ9Ô9ð XØ"×)Ò)¨-×*BÒ*BÑ*DÔ*DÑEÔEÐEÐEÝ˜]¨FÑ3Ô3ð XØ"×)Ò)°6À=ÔCUÐ*VÐ*VÑWÔWÐWøåØØ'Ý˜f g¨tÑ4Ô4Ø)Ø+Ø(?Ø)AØ-Ý# F¨D°$Ñ7Ô7Ý% f¨m¸TÑBÔBðñ ô ð ð õ ˜�dÑ#Ô#ð 	4Ø�MŠMÐ,¨dÑ3Ô3Ð3à�Š�d˜D $Ñ'Ô'Ð'ðC!(ð !(ð !(ñ !(ô !(ð !(ð !(ð !(ð !(ð !(ð !(øøøð !(ð !(ð !(ð !(ðF €Ms`   »A ÁA,Á+A,Å#E2 Å2
G!Å<!GÆGÆ7GÇG	ÇGÇ
G	ÇGÇG!ÉEN2Î2N6Î9N6c                 ó>   ‡ — t          ‰ ¦  «        dˆ fd„¦   «         }|S )NrA  r1   r  rv   c                  ó„   •— t          j        ¦   «                              t          ¦  «        }||d<   t	          ‰g| ¢R i |¤ŽS ©Nrˆ   )r±   r²   Úget_integrationrB   r_  ©rA  r  rˆ   r@  s      €rS   Ú_sentry_wrapped_create_syncz9_wrap_message_create.<locals>._sentry_wrapped_create_sync™  sH   ø€ å Ô+Ñ-Ô-×=Ò=Õ>RÑSÔSˆØ +ˆˆ}Ñå*¨1Ð>¨tÐ>Ð>Ð>°vÐ>Ð>Ð>rR   ©rA  r1   r  r1   rv   r1   r   )r@  rg  s   ` rS   r™   r™   ˜  s9   ø€ Ý
ˆ1�X„Xð?ð ?ð ?ð ?ð ?ñ „Xð?ð 'Ð&rR   rt   c                 óˆ   — t          | d¦  «        s1d| _        t          ¦   «         | _        g | _        d| _        d| _        dS dS )zK
    Initialize fields for accumulating output on the Stream instance.
    rD   N)rŽ   rD   rE   rF   rG   rH   rI   )rs   s    rS   r[  r[  £  sR   € õ �6˜8Ñ$Ô$ð %ØˆŒÝ&Ñ(Ô(ˆŒØ!#ˆÔØ"ˆÔØ $ˆÔÐÐð%ð %rR   r†   r<   c                 ó²   — t          || j        | j        | j        | j        | j        ¦  «        \  }}}}}|| _        || _        || _        || _        || _        dS )z?
    Update accumulated output from a single stream event.
    N)rÏ   rD   rF   rG   rH   rI   )rs   rµ   r‰   rŠ   r‹   rŒ   r�   s          rS   r'  r'  ±  so   € õ BRØØŒØŒØÔØÔØÔñBô BÑ>€UˆE�> ;°ð €F„MØ€F„MØ+€FÔØ%€FÔØ)€FÔÐÐrR   úOptional[str]c                 óº   — |j         |j        pdz   |j        pdz   }t          | ||||j        |j        |j        d                     |¦  «        ddœg||¬¦
  «
         dS )z6
    Set output attributes on the AI Client Span.
    r   rÖ   rÃ   )rÃ   r¬   rO  N)rm   rp   ro   r?  rl   Újoin)r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   Útotal_inputs           rS   r�   r�   È  s�   € ð 	ÔØÔ(Ð-¨Añ	/àÔ)Ð.¨Qñ	0ð õ ØØØØ ØÔ)Ø %Ô =Ø!&Ô!?Ø!#§¢¨Ñ!8Ô!8À&ÐIÐIÐJØØ#ðñ ô ð ð ð rR   úCallable[..., None]c                 ó   ‡ — dˆ fd„}|S )zr
    Closes the AI Client Span unless the finally block in `_wrap_synchronous_message_iterator()` runs first.
    r{   ú3Union[Stream[RawMessageStreamEvent], MessageStream]rv   Nc                 ól   •— t          | ¦  «        5   ‰| ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S rx   ©rr   ©r{   r@  s    €rS   rœ   z_wrap_close.<locals>.closeñ  s€   ø€ Ý Ñ%Ô%ð 	ð 	Ø�1�T‘7”7ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ‘)©-°-)r{   rq  rv   NrQ   ©r@  rœ   s   ` rS   r›   r›   ê  s(   ø€ ðð ð ð ð ð ð €LrR   c                 ó>   ‡ — t          ‰ ¦  «        dˆ fd„¦   «         }|S )NrA  r1   r  rv   c               Ÿ   ó”   •K  — t          j        ¦   «                              t          ¦  «        }||d<   t	          ‰g| ¢R i |¤Žƒ d {V —†S rd  )r±   r²   re  rB   ra  rf  s      €rS   Ú_sentry_wrapped_create_asyncz@_wrap_message_create_async.<locals>._sentry_wrapped_create_asyncù  s^   øè è € å Ô+Ñ-Ô-×=Ò=Õ>RÑSÔSˆØ +ˆˆ}Ñå1°!ÐE°dÐEÐEÐE¸fÐEÐEÐEÐEÐEÐEÐEÐEÐErR   rh  r   )r@  rx  s   ` rS   r�   r�   ø  s?   ø€ Ý
ˆ1�X„XðFð Fð Fð Fð Fñ „XðFð (Ð'rR   ú(Callable[..., Coroutine[Any, Any, None]]c                 ó   ‡ — dˆ fd„}|S )zs
    Closes the AI Client Span unless the finally block in `_wrap_asynchronous_message_iterator()` runs first.
    r{   ú"AsyncStream[RawMessageStreamEvent]rv   Nc              “   ó|   •K  — t          | ¦  «        5   ‰| ¦  «        ƒ d {V —†cd d d ¦  «         S # 1 swxY w Y   d S rx   rs  rt  s    €rS   rœ   z _wrap_async_close.<locals>.close
  s�   øè è € Ý Ñ%Ô%ð 	!ð 	!Ø˜˜4™œ�=�=�=�=�=�=ð	!ð 	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   “1±5¸5)r{   r{  rv   NrQ   ru  s   ` rS   rž   rž     s(   ø€ ð!ð !ð !ð !ð !ð !ð €LrR   c                 ó>   ‡ — t          ‰ ¦  «        dˆ fd„¦   «         }|S )úŸ
    Attaches user-provided arguments to the returned context manager.
    The attributes are set on AI Client Spans in the patch for the context manager.
    rA  r1   r  rv   r&   c                  ó¸  •—  ‰| i |¤Ž}|                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |S ©	Nrç   rè   r‰   rë   rí   rï   rð   rñ   ©	rØ   r]   r^   rD   r_   r`   ra   rb   rc   ©rA  r  Ústream_managerr@  s      €rS   Ú_sentry_patched_streamz4_wrap_message_stream.<locals>._sentry_patched_stream  s½   ø€ à˜˜DÐ+ FÐ+Ð+ˆà%+§Z¢Z°Ñ%=Ô%=ˆÔ"Ø#)§:¢:¨jÑ#9Ô#9ˆÔ Ø &§
¢
¨7Ñ 3Ô 3ˆÔØ!'§¢¨HÑ!5Ô!5ˆÔØ&,§j¢j°Ñ&?Ô&?ˆÔ#Ø &§
¢
¨7Ñ 3Ô 3ˆÔØ &§
¢
¨7Ñ 3Ô 3ˆÔØ &§
¢
¨7Ñ 3Ô 3ˆÔàÐrR   )rA  r1   r  r1   rv   r&   r   ©r@  r„  s   ` rS   rŸ   rŸ     s;   ø€ õ ˆ1�X„Xðð ð ð ð ñ „Xðð "Ð!rR   c                 ó>   ‡ — t          ‰ ¦  «        dˆ fd„¦   «         }|S )ú.
    Creates and manages AI Client Spans.
    r{   r&   rv   r%   c                 óJ  •— t          | d¦  «        s ‰| ¦  «        S t          d| ¦  «        }t          j        ¦   «         }|                     t
          ¦  «        }|€ ‰| ¦  «        S |j        € ‰| ¦  «        S 	 t          |j        ¦  «         n# t          $ r  ‰| ¦  «        cY S w xY wt          |j
        ¦  «        rit          j                             |j        €dnd|j        › �                     ¦   «         dt          j        dt
          j        t$          j        di¬¦  «        }n… t)          ¦   «         t          j        |j        €dnd|j        › �                     ¦   «         t
          j        ¬	¦  «        }|                     ¦   «          |                     t$          j        d¦  «         t/          |||j        |j        |j        |j        |j        |j        |j        |j        ¬
¦
  «
         	  ‰| ¦  «        }nr# t<          $ re}t?          j         ¦   «         }tC          ¦   «         5  tE          |¦  «          |j#        |Ž  d d d ¦  «         n# 1 swxY w Y   tI          |Ž  Y d }~nd }~ww xY w||_%        ||_&        tO          |¦  «         tQ          ||j)        ¦  «        |_)        |S )Nr]   r\   rõ   rD  rF  rG  TrH  rK  r  )*rŽ   r   r±   r²   re  rB   r^   rR  rS  r   r³   rT  rU  rD   rV  r   rW  r¨   r   r  r
   r~   r   r  r]   r_   r`   ra   rb   rc   rX  rY  rZ  r   r¶   r�   r   rA   rC   r[  r)  r\  ©	r{   Úpatched_selfr  rˆ   r‡   rs   rª   rZ  r@  s	           €rS   Ú_sentry_patched_enterzA_wrap_message_stream_manager_enter.<locals>._sentry_patched_enter.  s   ø€ å�t˜]Ñ+Ô+ð 	Ø�1�T‘7”7ˆNåÐ:¸DÑAÔAˆåÔ&Ñ(Ô(ˆØ×,Ò,Õ-AÑBÔBˆàÐØ�1�T‘7”7ˆNàÔ!Ð)Ø�1�T‘7”7ˆNð	Ý�Ô'Ñ(Ô(Ð(Ð(øÝð 	ð 	ð 	Ø�1�T‘7”7ˆNˆNˆNð	øøøõ & f¤nÑ5Ô5ð 	DÝÔ$×/Ò/àÔ&Ð.ð �Và2˜\Ô0Ð2Ð2×8Ò8Ñ:Ô:à¥¤Ø#Õ%9Ô%@ÝÔ6¸ðð	 0ñ 	ô 	ˆDˆDð -Õ*Ñ,Ô,Ý”>àÔ&Ð.ð �Và2˜\Ô0Ð2Ð2×8Ò8Ñ:Ô:Ý+Ô2ðñ ô ˆDð �NŠNÑÔÐà�MŠM�(Ô<¸dÑCÔCÐCåØØ#Ø#Ô/Ø!Ô+ØÔ%ØÔ'Ø$Ô1ØÔ%ØÔ%ØÔ%ð	
ñ 	
ô 	
ð 	
ð	Ø�Q�t‘W”WˆFˆFøÝð 	ð 	ð 	Ý”|‘~”~ˆHÝ,Ñ.Ô.ð )ð )Ý" 3Ñ'Ô'Ð'Ø�”˜xÐ(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ �XÐÐÐÐÐÐÐøøøøð	øøøð ˆŒØ)ˆÔå+¨FÑ3Ô3Ð3Ý=ØØÔñ
ô 
ˆÔð
 ˆsN   Á:B ÂB'Â&B'Ç.G: Ç:
I)È!I$È%IÈ?I$ÉI	ÉI$ÉI	ÉI$É$I))r{   r&   rv   r%   r   )r@  r‹  s   ` rS   r    r    )  sB   ø€ õ
 ˆ1�X„XðJð Jð Jð Jð Jñ „XðJðX !Ð rR   c                 óJ   ‡ — t          ‰ ¦  «        	 	 	 	 	 	 dˆ fd„¦   «         }|S )r~  rA  r1   r  rv   r$   c                  ó¸  •—  ‰| i |¤Ž}|                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |                      d¦  «        |_        |S r€  r�  r‚  s      €rS   r„  z:_wrap_async_message_stream.<locals>._sentry_patched_stream„  s¿   ø€ ð ˜˜DÐ+ FÐ+Ð+ˆà%+§Z¢Z°Ñ%=Ô%=ˆÔ"Ø#)§:¢:¨jÑ#9Ô#9ˆÔ Ø &§
¢
¨7Ñ 3Ô 3ˆÔØ!'§¢¨HÑ!5Ô!5ˆÔØ&,§j¢j°Ñ&?Ô&?ˆÔ#Ø &§
¢
¨7Ñ 3Ô 3ˆÔØ &§
¢
¨7Ñ 3Ô 3ˆÔØ &§
¢
¨7Ñ 3Ô 3ˆÔàÐrR   )rA  r1   r  r1   rv   r$   r   r…  s   ` rS   r¢   r¢   ~  sS   ø€ õ ˆ1�X„XðØðØ %ðà	$ðð ð ð ð ñ „Xðð  "Ð!rR   c                 óF   ‡ — t          ‰ ¦  «        	 	 	 	 dˆ fd„¦   «         }|S )r‡  r{   r$   rv   r#   c              “   óŠ  •K  — t          | d¦  «        s ‰| ¦  «        ƒ d {V —†S t          d| ¦  «        }t          j        ¦   «         }|                     t
          ¦  «        }|€ ‰| ¦  «        ƒ d {V —†S |j        € ‰| ¦  «        ƒ d {V —†S 	 t          |j        ¦  «         n!# t          $ r  ‰| ¦  «        ƒ d {V —†cY S w xY wt          |j
        ¦  «        rit          j                             |j        €dnd|j        › �                     ¦   «         dt          j        dt
          j        t$          j        di¬¦  «        }n… t)          ¦   «         t          j        |j        €dnd|j        › �                     ¦   «         t
          j        ¬	¦  «        }|                     ¦   «          |                     t$          j        d¦  «         t/          |||j        |j        |j        |j        |j        |j        |j        |j        ¬
¦
  «
         	  ‰| ¦  «        ƒ d {V —†}nr# t<          $ re}t?          j         ¦   «         }tC          ¦   «         5  tE          |¦  «          |j#        |Ž  d d d ¦  «         n# 1 swxY w Y   tI          |Ž  Y d }~nd }~ww xY w||_%        ||_&        tO          |¦  «         tQ          ||j)        ¦  «        |_)        |S )Nr]   ri   rõ   rD  rF  rG  TrH  rK  r  )*rŽ   r   r±   r²   re  rB   r^   rR  rS  r   r³   rT  rU  rD   rV  r   rW  r¨   r   r  r
   r~   r   r  r]   r_   r`   ra   rb   rc   rX  rY  rZ  r   r¶   r�   r   rA   rC   r[  r-  r\  r‰  s	           €rS   Ú_sentry_patched_aenterzI_wrap_async_message_stream_manager_aenter.<locals>._sentry_patched_aenter�  sh  øè è € õ �t˜]Ñ+Ô+ð 	!Ø˜˜4™œ�=�=�=�=�=�=Ð åÐ?ÀÑFÔFˆåÔ&Ñ(Ô(ˆØ×,Ò,Õ-AÑBÔBˆàÐØ˜˜4™œ�=�=�=�=�=�=Ð àÔ!Ð)Ø˜˜4™œ�=�=�=�=�=�=Ð ð	!Ý�Ô'Ñ(Ô(Ð(Ð(øÝð 	!ð 	!ð 	!Ø˜˜4™œ�=�=�=�=�=�=Ð Ð Ð ð	!øøøõ & f¤nÑ5Ô5ð 	DÝÔ$×/Ò/àÔ&Ð.ð �Và2˜\Ô0Ð2Ð2×8Ò8Ñ:Ô:à¥¤Ø#Õ%9Ô%@ÝÔ6¸ðð	 0ñ 	ô 	ˆDˆDð -Õ*Ñ,Ô,Ý”>àÔ&Ð.ð �Và2˜\Ô0Ð2Ð2×8Ò8Ñ:Ô:Ý+Ô2ðñ ô ˆDð �NŠNÑÔÐà�MŠM�(Ô<¸dÑCÔCÐCåØØ#Ø#Ô/Ø!Ô+ØÔ%ØÔ'Ø$Ô1ØÔ%ØÔ%ØÔ%ð	
ñ 	
ô 	
ð 	
ð	Ø˜1˜T™7œ7�]�]�]�]�]�]ˆFˆFøÝð 	ð 	ð 	Ý”|‘~”~ˆHÝ,Ñ.Ô.ð )ð )Ý" 3Ñ'Ô'Ð'Ø�”˜xÐ(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ �XÐÐÐÐÐÐÐøøøøð	øøøð ˆŒØ)ˆÔå+¨FÑ3Ô3Ð3Ý>ØØÔñ
ô 
ˆÔð
 ˆsN   ÂB# Â#CÃ CÈH È
J	È$!JÉI+ÉJÉ+I/	É/JÉ2I/	É3JÊJ	)r{   r$   rv   r#   r   )r@  r�  s   ` rS   r£   r£   ˜  sT   ø€ õ
 ˆ1�X„XðLØ)ðLà	ðLð Lð Lð Lð Lñ „XðLð\ "Ð!rR   Úobjc                 ó~   — t           �t          | t           ¦  «        rdS t          �t          | t          ¦  «        rdS dS )zI
    Check for givenness safely across different anthropic versions.
    NFT)r   r»   r    )r‘  s    rS   r  r  ï  s=   € õ Ð¥
¨3µÑ 9Ô 9ÐØˆuÝÐ�J s­DÑ1Ô1ÐØˆuØˆ4rR   )rª   r1   rv   N)r·   r(   rv   r¸   )NN)rµ   r/   r‰   r½   rŠ   rE   r‹   r¾   rŒ   r½   r�   r½   rv   r¿   )rÐ   rÑ   rv   rÑ   )rÛ   rÜ   rv   rÝ   )r‡   ræ   rˆ   rB   rç   re   rè   ré   r‰   rê   rë   rì   rí   rî   rï   rn   rð   rî   rñ   rò   rv   N)r‡   ræ   r  rÑ   rˆ   rB   rv   N)rs   r!  r"  r#  rv   r#  )rs   r*  r"  r+  rv   r+  )r‡   ræ   rˆ   rB   r‰   r½   rm   r.  rl   r.  rp   r.  ro   r.  r‹   r/  rŒ   r½   r�   r½   rv   N)r@  r1   rA  r1   r  r1   rv   r1   )r@  r1   rv   r1   )rs   rt   rv   N)rs   r†   rµ   r<   rv   N)r‡   ræ   rˆ   rB   r‰   rk  rŠ   rE   r‹   r¾   rŒ   rk  r�   rk  rv   N)r@  ro  rv   ro  )r@  ry  rv   ry  )sr  rY  Úcollections.abcr   Ú	functoolsr   Útypingr   r   r±   Úsentry_sdk.ai.monitoringr   Úsentry_sdk.ai.utilsr	   r
   r   r   r   r   Úsentry_sdk.constsr   r   Úsentry_sdk.integrationsr   r   r   Úsentry_sdk.scoper   Úsentry_sdk.tracesr   Úsentry_sdk.tracingr   Úsentry_sdk.tracing_utilsr   r   Úsentry_sdk.utilsr   r   r   r   r   r   r•   r   ÚImportErrorr    r!   r"   Úanthropic.lib.streamingr#   r$   r%   r&   Úanthropic.resourcesr'   r(   Úanthropic.typesr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   Úsentry_sdk._typesr>   r@   rV   rX   rZ   r\   ri   rj   rE   rr   rB   r¶   r¼   rÏ   rÚ   rå   r  r   r)  r-  r?  r_  ra  r™   r[  r'  r�   r›   r�   rž   rŸ   r    r¢   r£   r“   r  rQ   rR   rS   ú<module>r¤     sG
  ðØ €€€Ø 
€
€
€
Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð +Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø *Ð *Ð *Ð *Ð *Ð *Ø #Ð #Ð #Ð #Ð #Ð #ðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð2ðØ&Ð&Ð&Ð&Ð&Ð&Ð&øØð ð ð ØˆˆˆðøøøðØ"Ð"Ð"Ð"Ð"Ð"Ð"øØð ð ð Øˆˆˆðøøøð .Ð-Ð-Ð-Ð-Ð-Ð-Ð-ðð ð ð ð ð ð ð ð ð ð ð ð <Ð;Ð;Ð;Ð;Ð;Ð;Ð;ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð GØFÐFÐFÐFÐFÐFÐFÐFøøØð 2ð 2ð 2Ø
ˆ,Ð0Ñ
1Ô
1Ð1ð2øøøð ð YYð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð AÐ@Ð@Ð@Ð@Ð@ðð ð ð ð ð ð ð ð ð ð ð ð ð ð +Ð*Ð*Ð*Ð*Ð*ð&ð &ð &ð &ð & 6Ð*?Ô#@ñ &ô &ð &ð&ð &ð &ð &ð & ñ &ô &ð &ð&ð &ð &ð &ð &¨Ð4IÔ(Jñ &ô &ð &ð&ð &ð &ð &ð &Ð%7ñ &ô &ð &ð3ð 3ð 3ð 3ð 3Ð';ñ 3ô 3ð 3ð3ð 3ð 3ð 3ð 3Ð,EÀcÔ,Jñ 3ô 3ð 3ð ˆg�iÐ!6Ð8WÑXÔX€Gð1ð 1ð 1ð 1ð 1ñ 1ô 1ð 1ð3%ð 3%ð 3%ð 3%ð 3%ñ 3%ô 3%ð 3%ðl5Sð 5Sð 5Sð 5Sð 5S˜;ñ 5Sô 5Sð 5Sðp/ð /ð /ð /ð"ð "ð "ð "ðT !%Ø"&ðQØðQàðQð ðQð  ð	Qð
 ðQð  ðQð LðQð Qð Qð Qðh;Ø#ð;àð;ð ;ð ;ð ;ð*Ø?ðàðð ð ð ð*xØ
%ðxà'ðxð ðxð 'ð	xð
 "ðxð =ðxð #ðxð ðxð ðxð 0ðxð 
ðxð xð xð xðvØ
%ðàðð (ðð 
ð	ð ð ð ð:ØDðà!ðð ðð ð ð ð<ØNðà&ðð ðð ð ð ðN !%Ø"&ð>Ø
%ð>à'ð>ð ð>ð ð	>ð
  ð>ð *ð>ð +ð>ð  ð>ð ð>ð  ð>ð 
ð>ð >ð >ð >ðB]ð ]ð ]ð ]ð@_Øð_Øð_Ø&+ð_à
ð_ð _ð _ð _ðD'ð 'ð 'ð 'ð%Øyð%à	ð%ð %ð %ð %ð*Øð*à"ð*ð 
ð*ð *ð *ð *ð.Ø
%ðà'ðð ðð ð	ð
  ðð !ðð #ðð 
ðð ð ð ðDØðàðð ð ð ð(ð (ð (ð (ðØ1ðà/ðð ð ð ð"ð "ð "ð "ð0R!ð R!ð R!ð R!ðj"ð "ð "ð "ð4T"ð T"ð T"ð T"ðn�5ð ˜Tð ð ð ð ð ð sN   Á5A< Á;C Á<BÂC ÂBÂC Â
B ÂC ÂBÂC ÂBÂ9C ÃC&