Ë
    Âj�«  ã                  ó0  — d dl mZ d dlZd dlmZmZmZ d dlmZm	Z	 d dl
Z
ddlmZmZ ddlmZ ddlmZmZmZmZmZmZ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"m#Z# ddlm$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l0m1Z1m2Z2 ddl3m4Z4 d)d„Z5d*d„Z6d+d„Z7d,d„Z8d-d„Z9er,ddl:m;Z;m<Z<m=Z=m>Z> ddl?m@Z@mAZA ddlBmCZCmDZD ddlEmFZFmGZG ddlHmIZImJZJ g d¢ZK G d„ de'«      ZL G d„ d e(«      ZM G d!„ d"«      ZN G d#„ d$«      ZO G d%„ d&«      ZP G d'„ d(«      ZQeLZReMZSy).é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚMapping)ÚSelfÚoverrideé   )Ú
_constantsÚ_exceptions©ÚQuerystring)ÚOmitÚHeadersÚTimeoutÚNotGivenÚ	TransportÚProxiesTypesÚRequestOptionsÚ	not_given)Úis_givenÚis_mapping_tÚget_async_library)Úcached_property)Ú__version__)ÚStreamÚAsyncStream)ÚAPIStatusError)ÚDEFAULT_MAX_RETRIESÚSyncAPIClientÚAsyncAPIClient)Ú
TokenCacheÚInMemoryConfigÚAccessTokenAuthÚCredentialsFileÚAccessTokenProviderÚdefault_credentials)Ú&warn_env_static_shadows_auto_discoveryÚ(warn_explicit_static_shadows_credentials)Ú"_has_auto_discoverable_credentialsc                ó0   — t        | «      t        t        fv S )a0  True only for the base ``Anthropic`` / ``AsyncAnthropic`` classes, not subclasses.

    Subclasses (``AnthropicAWS``, ``AnthropicFoundry``) have their own auth paths
    and must not run the credential chain or forward ``credentials`` through their
    ``__init__`` (which doesn't accept the kwarg).
    )ÚtypeÚ	AnthropicÚAsyncAnthropic)Úclients    úD/var/www/html/venv/lib/python3.12/site-packages/anthropic/_client.pyÚ_is_base_clientr0   6   s   € ô �‹<œI¤~Ð6Ð6Ð6ó    c                ó2   — t        | dd«      }|� |«        yy)zPRelease any resources owned by a credential provider, if it exposes ``close()``.ÚcloseN)Úgetattr)Úcredentialsr3   s     r/   Ú_close_credentialsr6   @   s    € ä�K ¨$Ó/€EØÐÙ�ð r1   c                óF   — t        | dd«      }t        |«      r	 ||«       yy)u‘  If the credential provider supports ``bind_base_url``, pass it the
    client's resolved ``base_url`` so the token exchange and API calls hit
    the same deployment without the caller passing the URL twice.

    Providers without the hook (plain callables, custom impls) are left
    untouched and MUST resolve their own token-exchange ``base_url`` â€” the
    client does not second-guess them.
    Úbind_base_urlN)r4   Úcallable)r5   Úbase_urlÚbinds      r/   Ú_bind_credentials_base_urlr<   G   s%   € ô �; °Ó6€DÜ�„~ÙˆX�ð r1   c                ó@   — |€y| �t        d«       |�t        d«       yy)zÉWarn when an explicit ``api_key=`` / ``auth_token=`` argument shadows
    an explicit ``credentials=`` provider. Call *after* any copy-inheritance
    merging so the params reflect the resolved values.NÚapi_keyÚ
auth_token)r(   ©r>   r?   r5   s      r/   Ú_warn_explicit_shadowrA   U   s.   € ð ÐØØÐÜ0°Ô;ØÐÜ0°Õ>ð r1   c                óÎ   — t        «       sy| �*t        j                  j                  d«      rt	        d«       |�,t        j                  j                  d«      rt	        d«       yyy)av  Warn when an ``ANTHROPIC_API_KEY`` / ``ANTHROPIC_AUTH_TOKEN`` from the
    environment is set alongside signals that would normally drive profile /
    federation auto-discovery (``ANTHROPIC_PROFILE``, a ``configs/`` directory,
    or the workload-identity env trio). Per the credential-precedence spec,
    the static credential wins and auto-discovery is silently skipped.NÚANTHROPIC_API_KEYÚANTHROPIC_AUTH_TOKEN)r)   ÚosÚenvironÚgetr'   ©r>   r?   s     r/   Ú_warn_env_shadowrI   a   sT   € ô .Ô/ØØÐœrŸz™zŸ~™~Ð.AÔBÜ.Ð/BÔCØÐ¤"§*¡*§.¡.Ð1GÔ"HÜ.Ð/EÕFð #IÐr1   )ÚbetaÚmodelsÚmessagesÚcompletions)ÚModelsÚAsyncModels)ÚBetaÚ	AsyncBeta)ÚCompletionsÚAsyncCompletions)ÚMessagesÚAsyncMessages)r   r   r   r   r,   r-   ÚClientÚAsyncClientc                  ó¸  ‡ — e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   ej
                  Zej                  Zdddddddeeddddedœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d!ˆ fd„Z	e
d"d„«       Ze
d#d„«       Ze
d$d„«       Ze
d%d„«       Ze
d&d„«       Ze
d'd„«       Zeed(d„«       «       Zeed)d„«       «       Zed)d„«       Zed)d„«       Zeed*ˆ fd„«       «       Zed+d„«       Zeed,d„«       «       Zed-ˆ fd„«       Zed.ˆ fd„«       Zddeddddededdddi dœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d/d„ZeZe	 	 	 	 	 	 	 	 d0d „«       Zˆ xZS )1r,   ú
str | Noner>   r?   Úwebhook_keyúAccessTokenProvider | Noner5   úTokenCache | NoneÚ_token_cacheúAccessTokenAuth | NoneÚ_custom_authNF©r>   r?   r5   ÚconfigÚprofilerZ   r:   ÚtimeoutÚmax_retriesÚdefault_headersÚdefault_queryÚhttp_clientÚ_strict_response_validationr]   c          
     ó  •— |duxs |duxs |duxs
 |duxs |du}|s>t         j                  j                  d«      }t         j                  j                  d«      }|| _        || _        |€t         j                  j                  d«      }|| _        |€t         j                  j                  d«      }|du}|€d}t         j                  j                  d«      }|�li }|j                  d«      D ]C  }|j                  d	«      }|d
k\  sŒ||dz   d j                  «       ||d| j                  «       <   ŒE i |¥t        |
«      r|
ni ¥}
i }|�P|€|�t        d«      ‚t        t        |«      «      }|}|j                  «       }|s`|j                  rT|j                  }nG|�E|�t        d«      ‚t        |¬«      }|}|j                  «       }|s|j                  r|j                  }|€\|€Z|€Xt!        | «      rMt#        |rt%        |«      nd¬«      }|�2|j&                  }|j                  }|s|j(                  r|j(                  }t+        |t%        |«      «       || _        t/        |||¬«       t1        ||¬«       t3        |t4        «      s|| _        n|�t9        |«      nd| _        | j6                  �t;        | j6                  «      nd| _        |r
i |¥|
xs i ¥}
t>        ‰| ��  tB        ||	|||
||¬«       tD        | _#        y)ul  Construct a new synchronous Anthropic client instance.
        
        Credentials are resolved in the following order (first match wins):

        1. Explicit constructor arguments â€” ``api_key=``, ``auth_token=``,
           ``credentials=``, ``config=``, or ``profile=``. When any of these
           is passed, environment variables are not consulted for credentials.
        2. ``ANTHROPIC_API_KEY`` / ``ANTHROPIC_AUTH_TOKEN`` environment
           variables.
        3. ``ANTHROPIC_PROFILE`` environment variable â€” loads the named
           profile from ``<config_dir>/configs/<profile>.json``.
        4. Workload identity federation environment variables â€”
           ``ANTHROPIC_IDENTITY_TOKEN[_FILE]`` +
           ``ANTHROPIC_FEDERATION_RULE_ID`` + ``ANTHROPIC_ORGANIZATION_ID``.
        5. The active profile on disk â€” the profile named by
           ``<config_dir>/active_config``, or ``default``.

        ``credentials=``, ``config=``, and ``profile=`` are mutually exclusive.

        If a static credential is supplied alongside a credentials provider
        (``credentials=`` / ``config=`` / ``profile=``), or if
        ``ANTHROPIC_API_KEY`` / ``ANTHROPIC_AUTH_TOKEN`` is set alongside a
        profile or federation configuration, the static credential takes
        precedence and a one-shot warning is logged on the ``anthropic``
        logger.
        NrC   rD   ÚANTHROPIC_WEBHOOK_SIGNING_KEYÚANTHROPIC_BASE_URLúhttps://api.anthropic.comÚANTHROPIC_CUSTOM_HEADERSÚ
Ú:r   r	   ú=Pass at most one of `credentials=`, `config=`, or `profile=`.©rb   ©r:   r@   rH   ©Úversionr:   rd   rc   rg   Úcustom_headersÚcustom_queryrh   )$rE   rF   rG   r>   r?   rZ   ÚsplitÚfindÚstripr   Ú	TypeErrorr"   ÚdictÚextra_headersÚresolved_base_urlr$   r0   r&   ÚstrÚproviderr:   r<   r5   rA   rI   Ú
isinstancer   r]   r!   r#   r_   ÚsuperÚ__init__r   r   Ú_default_stream_cls©Úselfr>   r?   r5   ra   rb   rZ   r:   rc   rd   re   rf   rg   rh   r]   Úhas_explicit_credentialÚbase_url_is_explicitÚcustom_headers_envÚparsedÚlineÚcolonÚcredential_headersÚ	in_memoryÚ
creds_fileÚresultÚ	__class__s                            €r/   r‚   zAnthropic.__init__‘   s,  ø€ ðv ˜4Ðò #Ø Ð%ò#à $Ð&ò#ð ˜TÐ!ò#ð ˜dÐ"ð 	 ñ 'Ü—j‘j—n‘nÐ%8Ó9ˆGÜŸ™Ÿ™Ð(>Ó?ˆJØˆŒØ$ˆŒð ÐÜŸ*™*Ÿ.™.Ð)HÓIˆKØ&ˆÔàÐÜ—z‘z—~‘~Ð&:Ó;ˆHð
  (¨tÐ3ÐØÐØ2ˆHäŸZ™ZŸ^™^Ð,FÓGÐØÐ)Ø%'ˆFØ*×0Ñ0°Ö6�ØŸ	™	 #›�Ø˜A“:Ø37¸À¹	¸Ð3D×3JÑ3JÓ3L�F˜4  ˜<×-Ñ-Ó/Ò0ð 7ð g Ðf¼|ÈOÔ?\©OÐbdÐfˆOð .0ÐØÐØÐ&¨'Ð*=ÜÐ _Ó`Ð`Ü&¤t¨F£|Ó4ˆIØ#ˆKØ!*×!8Ñ!8Ó!:ÐÙ'¨I×,GÒ,GØ$×6Ñ6‘ØÐ ØÐ&ÜÐ _Ó`Ð`Ü(°Ô9ˆJØ$ˆKØ!+×!9Ñ!9Ó!;ÐÙ'¨J×,HÒ,HØ%×7Ñ7�ØÐ 7 ?°zÐ7IÌoÐ^bÔNcÜ(Á8´#°h´-ÐQlÔmˆFØÐ!Ø$Ÿo™o�Ø%+×%9Ñ%9Ð"Ù+°·²Ø%Ÿ™�HÜ" ;´°H³Ô>Ø&ˆÔÜ g¸*ÐR]Õ^Ü °ZÕ@Ü˜,¬Ô1Ø ,ˆDÕà;FÐ;R¤
¨;Ô 7ÐX\ˆDÔØBF×BSÑBSÐB_œO¨D×,=Ñ,=Ô>ÐeiˆÔÙØOÐ!3ÐO¸Ò8MÈ2ÐOˆOô 	‰ÑÜØØ#ØØ#Ø*Ø&Ø(Cð 	ô 		
ô $*ˆÕ r1   c                ó   — ddl m}  || «      S )Nr	   )rR   )Úresources.completionsrR   )r…   rR   s     r/   rM   zAnthropic.completions#  s   € å6á˜4Ó Ð r1   c                ó   — ddl m}  || «      S )Nr	   )rT   )Úresources.messagesrT   )r…   rT   s     r/   rL   zAnthropic.messages)  s   € å0á˜‹~Ðr1   c                ó   — ddl m}  || «      S )Nr	   )rN   )Úresources.modelsrN   )r…   rN   s     r/   rK   zAnthropic.models/  s   € å,á�d‹|Ðr1   c                ó   — ddl m}  || «      S )Nr	   )rP   )Úresources.betarP   )r…   rP   s     r/   rJ   zAnthropic.beta5  s   € å(á�D‹zÐr1   c                ó   — t        | «      S ©N)ÚAnthropicWithRawResponse©r…   s    r/   Úwith_raw_responsezAnthropic.with_raw_response;  s   € ä'¨Ó-Ð-r1   c                ó   — t        | «      S rš   )ÚAnthropicWithStreamedResponserœ   s    r/   Úwith_streaming_responsez!Anthropic.with_streaming_response?  ó   € ä,¨TÓ2Ð2r1   c                ó   — t        d¬«      S ©NÚbrackets)Úarray_formatr   rœ   s    r/   ÚqszAnthropic.qsC  ó   € ô ¨
Ô3Ð3r1   c                ó6   — i | j                   ¥| j                  ¥S rš   ©Ú_api_key_authÚ_bearer_authrœ   s    r/   Úauth_headerszAnthropic.auth_headersH  ó    € ð ;�$×$Ñ$Ð:¨×(9Ñ(9Ð:Ð:r1   c                ó*   — | j                   }|€i S d|iS ©Nú	X-Api-Key©r>   ©r…   r>   s     r/   rª   zAnthropic._api_key_authM  ó    € à—,‘,ˆØˆ?ØˆIØ˜WÐ%Ð%r1   c                ó0   — | j                   }|€i S dd|› �iS ©NÚAuthorizationzBearer ©r?   ©r…   r?   s     r/   r«   zAnthropic._bearer_authT  ó*   € ð —_‘_ˆ
ØÐØˆIØ 7¨:¨,Ð!7Ð8Ð8r1   c                ó>   •— i t         ‰| �  ¥dddœ¥| j                  ¥S )NÚfalseú
2023-06-01©zX-Stainless-Asynczanthropic-version)r�   re   Ú_custom_headers©r…   r�   s    €r/   re   zAnthropic.default_headersa  s5   ø€ ð
Ü‰gÑ%ð
à!(Ø!-ò
ð ×"Ñ"ð	
ð 	
r1   c                ó€  — | j                   �#|j                  d«      s|j                  d«      sy |j                  d«      s|j                  d«      ry |j                  d«      st        |j                  d«      t        «      ry |j                  d«      st        |j                  d«      t        «      ry t	        d«      ‚©Nr°   r¶   z»"Could not resolve authentication method. Expected one of api_key, auth_token, or credentials to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"©r]   rG   r€   r   rz   ©r…   Úheadersru   s      r/   Ú_validate_headerszAnthropic._validate_headersk  s¢   € ð ×ÑÐ(°·±¸[Ô1IÐRY×R]ÑR]Ð^mÔRnØà�;‰;�Ô'¨7¯;©;°{Ô+Càà�;‰;�{Ô#¤z°.×2DÑ2DÀ[Ó2QÔSWÔ'XØà�;‰;�Ô'¬:°n×6HÑ6HÈÓ6YÔ[_Ô+`Øäð Jó
ð 	
r1   c                ó   — | j                   S rš   ©r_   rœ   s    r/   Úcustom_authzAnthropic.custom_auth†  ó   € ð × Ñ Ð r1   c                óÞ   •— |j                   dk(  rO| j                  �C| j                  j                  «        |j                  j                  j                  d«      dk(  ryt        ‰| �  |«      S ©Né‘  zx-stainless-retry-countÚ0T©Ústatus_coder]   Ú
invalidateÚrequestrÄ   rG   r�   Ú_should_retry©r…   Úresponser�   s     €r/   rÒ   zAnthropic._should_retry‹  óc   ø€ ð ×Ñ 3Ò&¨4×+<Ñ+<Ð+HØ×Ñ×(Ñ(Ô*Ø×Ñ×'Ñ'×+Ñ+Ð,EÓFÈ#ÒMØÜ‰wÑ$ XÓ.Ð.r1   c                óL   •— t         ‰| �  «        t        | j                  «       y rš   ©r�   r3   r6   r5   r¿   s    €r/   r3   zAnthropic.closeš  s   ø€ ä‰‰ŒÜ˜4×+Ñ+Õ,r1   ©r>   r?   r5   ra   rb   rZ   r:   rc   rg   rd   re   Úset_default_headersrf   Úset_default_queryÚ_extra_kwargsc               ó  — |�|�t        d«      ‚|�|�t        d«      ‚| j                  }|�i |¥|¥}n|�|}| j                  }|�i |¥|¥}n|�|}|	xs | j                  }	|�$t	        |t
        «      r|�t        d«      ‚d|i|¥}nu|�"t	        |t
        «      st        d«      ‚d|i|¥}nQt	        |t
        «      r| j                  n|}|�1t        | «      r&d|i|¥}t	        |t
        «      rd| j                  i|¥} | j                  d	|xs | j                  |xs | j                  |xs | j                  |xs | j                  t	        |t
        «      r| j                  n||	t!        |
«      r|
n| j"                  ||dœ	|¤ŽS ©
z~
        Create a new client instance re-using the same options given to the current client with optional overriding.
        zPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusiverp   ra   rb   r5   r]   )	r>   r?   rZ   r:   rc   rg   rd   re   rf   © ©Ú
ValueErrorr¾   Ú_custom_queryÚ_clientr€   r   rz   r5   r0   r]   r�   r>   r?   rZ   r:   rc   r   rd   ©r…   r>   r?   r5   ra   rb   rZ   r:   rc   rg   rd   re   rÙ   rf   rÚ   rÛ   rÄ   ÚparamsÚresolved_credentialss                      r/   ÚcopyzAnthropic.copy¡  óÊ  € ð, Ð&Ð+>Ð+JÜÐoÓpÐpàÐ$Ð):Ð)FÜÐkÓlÐlà×&Ñ&ˆØÐ&Ø4˜Ð4 OÐ4‰GØ Ð,Ø)ˆGà×#Ñ#ˆØÐ$Ø0˜Ð0 -Ð0‰FØÐ*Ø&ˆFà!Ò1 T§\¡\ˆàÐÜ˜k¬8Ô4¸Ð8KÜÐ _Ó`Ð`Ø% vÐ?°Ð?‰MØÐ Ü˜k¬8Ô4ÜÐ _Ó`Ð`Ø&¨ÐA°=ÐA‰Mä7AÀ+ÌxÔ7X 4×#3Ò#3Ð^iÐ Ø#Ð/´OÀDÔ4IØ!.Ð0DÐ VÈÐ V�ô ˜k¬8Ô4Ø%3°T×5FÑ5FÐ$XÈ-Ð$X�Màˆt�~‰~ð 
ØÒ+˜tŸ|™|Ø!Ò4 T§_¡_Ø#Ò7 t×'7Ñ'7ØÒ. §¡Ü$.¨w¼Ô$A�D—L’LÀwØ#Ü'/°Ô'<™À$×BRÑBRØ#Ø ñ
ð ñ
ð 	
r1   c               ó*  — |j                   dk(  rt        j                  |||¬«      S |j                   dk(  rt        j                  |||¬«      S |j                   dk(  rt        j                  |||¬«      S |j                   dk(  rt        j
                  |||¬«      S |j                   dk(  rt        j                  |||¬«      S |j                   dk(  rt        j                  |||¬«      S |j                   dk(  rt        j                  |||¬«      S |j                   d	k(  rt        j                  |||¬«      S |j                   d
k(  rt        j                  |||¬«      S |j                   dk\  rt        j                  |||¬«      S t        |||¬«      S ©Ni�  )rÔ   ÚbodyrÌ   i“  i”  i™  i�  i¦  i­  i  iô  ©rÏ   r   ÚBadRequestErrorÚAuthenticationErrorÚPermissionDeniedErrorÚNotFoundErrorÚConflictErrorÚRequestTooLargeErrorÚUnprocessableEntityErrorÚRateLimitErrorÚOverloadedErrorÚInternalServerErrorr   ©r…   Úerr_msgrê   rÔ   s       r/   Ú_make_status_errorzAnthropic._make_status_errorî  óx  € ð ×Ñ 3Ò&Ü×.Ñ.¨wÀÐPTÔUÐUà×Ñ 3Ò&Ü×2Ñ2°7ÀXÐTXÔYÐYà×Ñ 3Ò&Ü×4Ñ4°WÀxÐVZÔ[Ð[à×Ñ 3Ò&Ü×,Ñ,¨W¸xÈdÔSÐSà×Ñ 3Ò&Ü×,Ñ,¨W¸xÈdÔSÐSà×Ñ 3Ò&Ü×3Ñ3°GÀhÐUYÔZÐZà×Ñ 3Ò&Ü×7Ñ7¸È(ÐY]Ô^Ð^à×Ñ 3Ò&Ü×-Ñ-¨gÀÈtÔTÐTà×Ñ 3Ò&Ü×.Ñ.¨wÀÐPTÔUÐUà×Ñ 3Ò&Ü×2Ñ2°7ÀXÐTXÔYÐYÜ˜g°¸tÔDÐDr1   )r>   rY   r?   rY   r5   r[   ra   úMapping[str, Any] | Nonerb   rY   rZ   rY   r:   ústr | httpx.URL | Nonerc   ú!float | Timeout | None | NotGivenrd   Úintre   úMapping[str, str] | Nonerf   úMapping[str, object] | Nonerg   úhttpx.Client | Nonerh   Úboolr]   úTokenCache | None | NotGivenÚreturnÚNone)r  rR   )r  rT   )r  rN   )r  rP   )r  r›   )r  rŸ   ©r  r   ©r  zdict[str, str]©r  zdict[str, str | Omit]©rÄ   r   ru   r   r  r  ©r  zhttpx.Auth | None©rÔ   úhttpx.Responser  r  ©r  r  ) r>   rY   r?   rY   r5   ú%AccessTokenProvider | None | NotGivenra   rú   rb   rY   rZ   rY   r:   rû   rc   rü   rg   r   rd   úint | NotGivenre   rþ   rÙ   rþ   rf   rÿ   rÚ   rÿ   rÛ   úMapping[str, Any]r  r   ©r÷   r~   rê   ÚobjectrÔ   r  r  r   © Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r
   ÚHUMAN_PROMPTÚ	AI_PROMPTr   r   r‚   r   rM   rL   rK   rJ   r�   r    Úpropertyr   r¦   r¬   rª   r«   re   rÅ   rÈ   rÒ   r3   ræ   Úwith_optionsrø   Ú__classcell__©r�   s   @r/   r,   r,   „   s’  ø… àÓØÓØÓØ+Ó+Ø#Ó#Ø(Ó(ð ×*Ñ*€LØ×$Ñ$€Ið
 #Ø!%Ø26Ø+/Ø"Ø"&Ø+/Ø5>Ø.Ø48Ø59ð ,0ð -2Ø5>ñ7P*ð ðP*ð ð	P*ð
 0ðP*ð )ðP*ð ðP*ð  ðP*ð )ðP*ð 3ðP*ð ðP*ð 2ðP*ð 3ðP*ð" )ð#P*ð4 &*ð5P*ð6 3ð7P*ð8 
õ9P*ðd ò!ó ð!ð
 òó ðð
 òó ðð
 òó ðð
 ò.ó ð.ð ò3ó ð3ð Øò4ó ó ð4ð Øò;ó ó ð;ð ò&ó ð&ð ò
9ó ð
9ð Øô
ó ó ð
ð ò
ó ð
ð4 Øò!ó ó ð!ð ô/ó ð/ð ô-ó ð-ð #Ø!%Ø=FØ+/Ø"Ø"&Ø+/Ø5>Ø+/Ø&/Ø48Ø8<Ø59Ø9=Ø+-ñ#G
ð ðG
ð ð	G
ð
 ;ðG
ð )ðG
ð ðG
ð  ðG
ð )ðG
ð 3ðG
ð )ðG
ð $ðG
ð 2ðG
ð 6ðG
ð 3ðG
ð  7ð!G
ð" )ð#G
ð$ 
ó%G
ðV €Làð$Eàð$Eð ð	$Eð
 !ð$Eð 
ò$Eó ô$Er1   r,   c                  ó¸  ‡ — e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   ej
                  Zej                  Zdddddddeeddddedœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d!ˆ fd„Z	e
d"d„«       Ze
d#d„«       Ze
d$d„«       Ze
d%d„«       Ze
d&d„«       Ze
d'd„«       Zeed(d„«       «       Zeed)d„«       «       Zed)d„«       Zed)d„«       Zeed*ˆ fd„«       «       Zed+d„«       Zeed,d„«       «       Zed-ˆ fd„«       Zed.ˆ fd„«       Zddeddddededdddi dœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d/d„ZeZe	 	 	 	 	 	 	 	 d0d „«       Zˆ xZS )1r-   rY   r>   r?   rZ   r[   r5   r\   r]   r^   r_   NFr`   c          
     ó  •— |duxs |duxs |duxs
 |duxs |du}|s>t         j                  j                  d«      }t         j                  j                  d«      }|| _        || _        |€t         j                  j                  d«      }|| _        |€t         j                  j                  d«      }|du}|€d}t         j                  j                  d«      }|�li }|j                  d«      D ]C  }|j                  d	«      }|d
k\  sŒ||dz   d j                  «       ||d| j                  «       <   ŒE i |¥t        |
«      r|
ni ¥}
i }|�P|€|�t        d«      ‚t        t        |«      «      }|}|j                  «       }|s`|j                  rT|j                  }nG|�E|�t        d«      ‚t        |¬«      }|}|j                  «       }|s|j                  r|j                  }|€\|€Z|€Xt!        | «      rMt#        |rt%        |«      nd¬«      }|�2|j&                  }|j                  }|s|j(                  r|j(                  }t+        |t%        |«      «       || _        t/        |||¬«       t1        ||¬«       t3        |t4        «      s|| _        n|�t9        |«      nd| _        | j6                  �t;        | j6                  «      nd| _        |r
i |¥|
xs i ¥}
t>        ‰| ��  tB        ||	|||
||¬«       tD        | _#        y)uc  Construct a new async AsyncAnthropic client instance.

        Credentials are resolved in the following order (first match wins):

        1. Explicit constructor arguments â€” ``api_key=``, ``auth_token=``,
           ``credentials=``, ``config=``, or ``profile=``. When any of these
           is passed, environment variables are not consulted for credentials.
        2. ``ANTHROPIC_API_KEY`` / ``ANTHROPIC_AUTH_TOKEN`` environment
           variables.
        3. ``ANTHROPIC_PROFILE`` environment variable â€” loads the named
           profile from ``<config_dir>/configs/<profile>.json``.
        4. Workload identity federation environment variables â€”
           ``ANTHROPIC_IDENTITY_TOKEN[_FILE]`` +
           ``ANTHROPIC_FEDERATION_RULE_ID`` + ``ANTHROPIC_ORGANIZATION_ID``.
        5. The active profile on disk â€” the profile named by
           ``<config_dir>/active_config``, or ``default``.

        ``credentials=``, ``config=``, and ``profile=`` are mutually exclusive.

        If a static credential is supplied alongside a credentials provider
        (``credentials=`` / ``config=`` / ``profile=``), or if
        ``ANTHROPIC_API_KEY`` / ``ANTHROPIC_AUTH_TOKEN`` is set alongside a
        profile or federation configuration, the static credential takes
        precedence and a one-shot warning is logged on the ``anthropic``
        logger.
        NrC   rD   rj   rk   rl   rm   rn   ro   r   r	   rp   rq   rr   r@   rH   rs   )$rE   rF   rG   r>   r?   rZ   rw   rx   ry   r   rz   r"   r{   r|   r}   r$   r0   r&   r~   r   r:   r<   r5   rA   rI   r€   r   r]   r!   r#   r_   r�   r‚   r   r   rƒ   r„   s                            €r/   r‚   zAsyncAnthropic.__init__#  s,  ø€ ðv ˜4Ðò #Ø Ð%ò#à $Ð&ò#ð ˜TÐ!ò#ð ˜dÐ"ð 	 ñ 'Ü—j‘j—n‘nÐ%8Ó9ˆGÜŸ™Ÿ™Ð(>Ó?ˆJØˆŒØ$ˆŒð ÐÜŸ*™*Ÿ.™.Ð)HÓIˆKØ&ˆÔàÐÜ—z‘z—~‘~Ð&:Ó;ˆHð
  (¨tÐ3ÐØÐØ2ˆHäŸZ™ZŸ^™^Ð,FÓGÐØÐ)Ø%'ˆFØ*×0Ñ0°Ö6�ØŸ	™	 #›�Ø˜A“:Ø37¸À¹	¸Ð3D×3JÑ3JÓ3L�F˜4  ˜<×-Ñ-Ó/Ò0ð 7ð g Ðf¼|ÈOÔ?\©OÐbdÐfˆOð .0ÐØÐØÐ&¨'Ð*=ÜÐ _Ó`Ð`Ü&¤t¨F£|Ó4ˆIØ#ˆKØ!*×!8Ñ!8Ó!:ÐÙ'¨I×,GÒ,GØ$×6Ñ6‘ØÐ ØÐ&ÜÐ _Ó`Ð`Ü(°Ô9ˆJØ$ˆKØ!+×!9Ñ!9Ó!;ÐÙ'¨J×,HÒ,HØ%×7Ñ7�ØÐ 7 ?°zÐ7IÌoÐ^bÔNcÜ(Á8´#°h´-ÐQlÔmˆFØÐ!Ø$Ÿo™o�Ø%+×%9Ñ%9Ð"Ù+°·²Ø%Ÿ™�HÜ" ;´°H³Ô>Ø&ˆÔÜ g¸*ÐR]Õ^Ü °ZÕ@Ü˜,¬Ô1Ø ,ˆDÕà;FÐ;R¤
¨;Ô 7ÐX\ˆDÔØBF×BSÑBSÐB_œO¨D×,=Ñ,=Ô>ÐeiˆÔÙØOÐ!3ÐO¸Ò8MÈ2ÐOˆOô 	‰ÑÜØØ#ØØ#Ø*Ø&Ø(Cð 	ô 		
ô $/ˆÕ r1   c                ó   — ddl m}  || «      S )Nr	   )rS   )r’   rS   )r…   rS   s     r/   rM   zAsyncAnthropic.completionsµ  s   € å;á Ó%Ð%r1   c                ó   — ddl m}  || «      S )Nr	   )rU   )r”   rU   )r…   rU   s     r/   rL   zAsyncAnthropic.messages»  s   € å5á˜TÓ"Ð"r1   c                ó   — ddl m}  || «      S )Nr	   )rO   )r–   rO   )r…   rO   s     r/   rK   zAsyncAnthropic.modelsÁ  s   € å1á˜4Ó Ð r1   c                ó   — ddl m}  || «      S )Nr	   )rQ   )r˜   rQ   )r…   rQ   s     r/   rJ   zAsyncAnthropic.betaÇ  s   € å-á˜‹Ðr1   c                ó   — t        | «      S rš   )ÚAsyncAnthropicWithRawResponserœ   s    r/   r�   z AsyncAnthropic.with_raw_responseÍ  r¡   r1   c                ó   — t        | «      S rš   )Ú"AsyncAnthropicWithStreamedResponserœ   s    r/   r    z&AsyncAnthropic.with_streaming_responseÑ  s   € ä1°$Ó7Ð7r1   c                ó   — t        d¬«      S r£   r   rœ   s    r/   r¦   zAsyncAnthropic.qsÕ  r§   r1   c                ó6   — i | j                   ¥| j                  ¥S rš   r©   rœ   s    r/   r¬   zAsyncAnthropic.auth_headersÚ  r­   r1   c                ó*   — | j                   }|€i S d|iS r¯   r±   r²   s     r/   rª   zAsyncAnthropic._api_key_authß  r³   r1   c                ó0   — | j                   }|€i S dd|› �iS rµ   r·   r¸   s     r/   r«   zAsyncAnthropic._bearer_authæ  r¹   r1   c                óT   •— i t         ‰| �  ¥dt        «       › �ddœ¥| j                  ¥S )Nzasync:r¼   r½   )r�   re   r   r¾   r¿   s    €r/   re   zAsyncAnthropic.default_headersó  sA   ø€ ð
Ü‰gÑ%ð
à#)Ô*;Ó*=Ð)>Ð!?Ø!-ò
ð ×"Ñ"ð	
ð 	
r1   c                ó€  — | j                   �#|j                  d«      s|j                  d«      sy |j                  d«      s|j                  d«      ry |j                  d«      st        |j                  d«      t        «      ry |j                  d«      st        |j                  d«      t        «      ry t	        d«      ‚rÁ   rÂ   rÃ   s      r/   rÅ   z AsyncAnthropic._validate_headersý  s¢   € ð ×ÑÐ(°·±¸[Ô1IÐRY×R]ÑR]Ð^mÔRnØà�;‰;�Ô'¨7¯;©;°{Ô+Càà�;‰;�{Ô#¤z°.×2DÑ2DÀ[Ó2QÔSWÔ'XØà�;‰;�Ô'¬:°n×6HÑ6HÈÓ6YÔ[_Ô+`Øäð Jó
ð 	
r1   c                ó   — | j                   S rš   rÇ   rœ   s    r/   rÈ   zAsyncAnthropic.custom_auth  rÉ   r1   c                óÞ   •— |j                   dk(  rO| j                  �C| j                  j                  «        |j                  j                  j                  d«      dk(  ryt        ‰| �  |«      S rË   rÎ   rÓ   s     €r/   rÒ   zAsyncAnthropic._should_retry  rÕ   r1   c              ƒ  óh   •K  — t         ‰| �  «       ƒ d {  –—†  t        | j                  «       y 7 Œ­wrš   r×   r¿   s    €r/   r3   zAsyncAnthropic.close&  s+   øè ø€ ä‰g‰m‹o×Ðô 	˜4×+Ñ+Õ,ð 	ús   ƒ2•0–2rØ   c               ó  — |�|�t        d«      ‚|�|�t        d«      ‚| j                  }|�i |¥|¥}n|�|}| j                  }|�i |¥|¥}n|�|}|	xs | j                  }	|�$t	        |t
        «      r|�t        d«      ‚d|i|¥}nu|�"t	        |t
        «      st        d«      ‚d|i|¥}nQt	        |t
        «      r| j                  n|}|�1t        | «      r&d|i|¥}t	        |t
        «      rd| j                  i|¥} | j                  d	|xs | j                  |xs | j                  |xs | j                  |xs | j                  t	        |t
        «      r| j                  n||	t!        |
«      r|
n| j"                  ||dœ	|¤ŽS rÝ   rß   rã   s                      r/   ræ   zAsyncAnthropic.copy/  rç   r1   c               ó*  — |j                   dk(  rt        j                  |||¬«      S |j                   dk(  rt        j                  |||¬«      S |j                   dk(  rt        j                  |||¬«      S |j                   dk(  rt        j
                  |||¬«      S |j                   dk(  rt        j                  |||¬«      S |j                   dk(  rt        j                  |||¬«      S |j                   dk(  rt        j                  |||¬«      S |j                   d	k(  rt        j                  |||¬«      S |j                   d
k(  rt        j                  |||¬«      S |j                   dk\  rt        j                  |||¬«      S t        |||¬«      S ré   rë   rö   s       r/   rø   z!AsyncAnthropic._make_status_error|  rù   r1   )r>   rY   r?   rY   r5   r[   ra   rú   rb   rY   rZ   rY   r:   rû   rc   rü   rd   rý   re   rþ   rf   rÿ   rg   úhttpx.AsyncClient | Nonerh   r  r]   r  r  r  )r  rS   )r  rU   )r  rO   )r  rQ   )r  r$  )r  r&  r  r  r  r  r	  r
  r  ) r>   rY   r?   rY   r5   r  ra   rú   rb   rY   rZ   rY   r:   rû   rc   rü   rg   r2  rd   r  re   rþ   rÙ   rþ   rf   rÿ   rÚ   rÿ   rÛ   r  r  r   r  r  r  s   @r/   r-   r-     s’  ø… àÓØÓØÓØ+Ó+Ø#Ó#Ø(Ó(ð ×*Ñ*€LØ×$Ñ$€Ið
 #Ø!%Ø26Ø+/Ø"Ø"&Ø+/Ø5>Ø.Ø48Ø59ð 15ð -2Ø5>ñ7P/ð ðP/ð ð	P/ð
 0ðP/ð )ðP/ð ðP/ð  ðP/ð )ðP/ð 3ðP/ð ðP/ð 2ðP/ð 3ðP/ð" .ð#P/ð4 &*ð5P/ð6 3ð7P/ð8 
õ9P/ðd ò&ó ð&ð
 ò#ó ð#ð
 ò!ó ð!ð
 òó ðð
 ò3ó ð3ð ò8ó ð8ð Øò4ó ó ð4ð Øò;ó ó ð;ð ò&ó ð&ð ò
9ó ð
9ð Øô
ó ó ð
ð ò
ó ð
ð( Øò!ó ó ð!ð ô/ó ð/ð ô-ó ð-ð #Ø!%Ø=FØ+/Ø"Ø"&Ø+/Ø5>Ø04Ø&/Ø48Ø8<Ø59Ø9=Ø+-ñ#G
ð ðG
ð ð	G
ð
 ;ðG
ð )ðG
ð ðG
ð  ðG
ð )ðG
ð 3ðG
ð .ðG
ð $ðG
ð 2ðG
ð 6ðG
ð 3ðG
ð  7ð!G
ð" )ð#G
ð$ 
ó%G
ðV €Làð$Eàð$Eð ð	$Eð
 !ð$Eð 
ò$Eó ô$Er1   r-   c                  óh   — e Zd ZU ded<   d	d„Zed
d„«       Zedd„«       Zedd„«       Zedd„«       Z	y)r›   r,   râ   c                ó   — || _         y rš   ©râ   ©r…   r.   s     r/   r‚   z!AnthropicWithRawResponse.__init__§  ó	   € Øˆ�r1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚCompletionsWithRawResponse)r’   r9  râ   rM   )r…   r9  s     r/   rM   z$AnthropicWithRawResponse.completionsª  s   € åEá)¨$¯,©,×*BÑ*BÓCÐCr1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚMessagesWithRawResponse)r”   r;  râ   rL   )r…   r;  s     r/   rL   z!AnthropicWithRawResponse.messages°  s   € å?á& t§|¡|×'<Ñ'<Ó=Ð=r1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚModelsWithRawResponse)r–   r=  râ   rK   )r…   r=  s     r/   rK   zAnthropicWithRawResponse.models¶  s   € å;á$ T§\¡\×%8Ñ%8Ó9Ð9r1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚBetaWithRawResponse)r˜   r?  râ   rJ   )r…   r?  s     r/   rJ   zAnthropicWithRawResponse.beta¼  s   € å7á" 4§<¡<×#4Ñ#4Ó5Ð5r1   N©r.   r,   r  r  )r  z&completions.CompletionsWithRawResponse)r  z messages.MessagesWithRawResponse)r  zmodels.ModelsWithRawResponse)r  zbeta.BetaWithRawResponse©
r  r  r  r  r‚   r   rM   rL   rK   rJ   rÞ   r1   r/   r›   r›   ¤  s_   … ØÓóð òDó ðDð
 ò>ó ð>ð
 ò:ó ð:ð
 ò6ó ñ6r1   r›   c                  óh   — e Zd ZU ded<   d	d„Zed
d„«       Zedd„«       Zedd„«       Zedd„«       Z	y)r$  r-   râ   c                ó   — || _         y rš   r5  r6  s     r/   r‚   z&AsyncAnthropicWithRawResponse.__init__Æ  r7  r1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚAsyncCompletionsWithRawResponse)r’   rE  râ   rM   )r…   rE  s     r/   rM   z)AsyncAnthropicWithRawResponse.completionsÉ  s   € åJá.¨t¯|©|×/GÑ/GÓHÐHr1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚAsyncMessagesWithRawResponse)r”   rG  râ   rL   )r…   rG  s     r/   rL   z&AsyncAnthropicWithRawResponse.messagesÏ  s   € åDá+¨D¯L©L×,AÑ,AÓBÐBr1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚAsyncModelsWithRawResponse)r–   rI  râ   rK   )r…   rI  s     r/   rK   z$AsyncAnthropicWithRawResponse.modelsÕ  s   € å@á)¨$¯,©,×*=Ñ*=Ó>Ð>r1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚAsyncBetaWithRawResponse)r˜   rK  râ   rJ   )r…   rK  s     r/   rJ   z"AsyncAnthropicWithRawResponse.betaÛ  s   € å<á'¨¯©×(9Ñ(9Ó:Ð:r1   N©r.   r-   r  r  )r  z+completions.AsyncCompletionsWithRawResponse)r  z%messages.AsyncMessagesWithRawResponse)r  z!models.AsyncModelsWithRawResponse)r  zbeta.AsyncBetaWithRawResponserA  rÞ   r1   r/   r$  r$  Ã  sa   … ØÓóð òIó ðIð
 òCó ðCð
 ò?ó ð?ð
 ò;ó ñ;r1   r$  c                  óh   — e Zd ZU ded<   d	d„Zed
d„«       Zedd„«       Zedd„«       Zedd„«       Z	y)rŸ   r,   râ   c                ó   — || _         y rš   r5  r6  s     r/   r‚   z&AnthropicWithStreamedResponse.__init__å  r7  r1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )Ú CompletionsWithStreamingResponse)r’   rP  râ   rM   )r…   rP  s     r/   rM   z)AnthropicWithStreamedResponse.completionsè  s   € åKá/°·±×0HÑ0HÓIÐIr1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚMessagesWithStreamingResponse)r”   rR  râ   rL   )r…   rR  s     r/   rL   z&AnthropicWithStreamedResponse.messagesî  s   € åEá,¨T¯\©\×-BÑ-BÓCÐCr1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚModelsWithStreamingResponse)r–   rT  râ   rK   )r…   rT  s     r/   rK   z$AnthropicWithStreamedResponse.modelsô  s   € åAá*¨4¯<©<×+>Ñ+>Ó?Ð?r1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚBetaWithStreamingResponse)r˜   rV  râ   rJ   )r…   rV  s     r/   rJ   z"AnthropicWithStreamedResponse.betaú  s   € å=á(¨¯©×):Ñ):Ó;Ð;r1   Nr@  )r  z,completions.CompletionsWithStreamingResponse)r  z&messages.MessagesWithStreamingResponse)r  z"models.ModelsWithStreamingResponse)r  zbeta.BetaWithStreamingResponserA  rÞ   r1   r/   rŸ   rŸ   â  sc   … ØÓóð òJó ðJð
 òDó ðDð
 ò@ó ð@ð
 ò<ó ñ<r1   rŸ   c                  óh   — e Zd ZU ded<   d	d„Zed
d„«       Zedd„«       Zedd„«       Zedd„«       Z	y)r&  r-   râ   c                ó   — || _         y rš   r5  r6  s     r/   r‚   z+AsyncAnthropicWithStreamedResponse.__init__  r7  r1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )Ú%AsyncCompletionsWithStreamingResponse)r’   rZ  râ   rM   )r…   rZ  s     r/   rM   z.AsyncAnthropicWithStreamedResponse.completions  s   € åPá4°T·\±\×5MÑ5MÓNÐNr1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )Ú"AsyncMessagesWithStreamingResponse)r”   r\  râ   rL   )r…   r\  s     r/   rL   z+AsyncAnthropicWithStreamedResponse.messages  s   € åJá1°$·,±,×2GÑ2GÓHÐHr1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )Ú AsyncModelsWithStreamingResponse)r–   r^  râ   rK   )r…   r^  s     r/   rK   z)AsyncAnthropicWithStreamedResponse.models  s   € åFá/°·±×0CÑ0CÓDÐDr1   c                óF   — ddl m}  || j                  j                  «      S )Nr	   )ÚAsyncBetaWithStreamingResponse)r˜   r`  râ   rJ   )r…   r`  s     r/   rJ   z'AsyncAnthropicWithStreamedResponse.beta  s   € åBá-¨d¯l©l×.?Ñ.?Ó@Ð@r1   NrL  )r  z1completions.AsyncCompletionsWithStreamingResponse)r  z+messages.AsyncMessagesWithStreamingResponse)r  z'models.AsyncModelsWithStreamingResponse)r  z#beta.AsyncBetaWithStreamingResponserA  rÞ   r1   r/   r&  r&    se   … ØÓóð òOó ðOð
 òIó ðIð
 òEó ðEð
 òAó ñAr1   r&  )r.   r  r  r  )r5   r  r  r  )r5   r[   r:   r~   r  r  )r>   rY   r?   rY   r5   r  r  r  )r>   rY   r?   rY   r  r  )TÚ
__future__r   rE   Útypingr   r   r   Útyping_extensionsr   r   ÚhttpxÚ r
   r   Ú_qsr   Ú_typesr   r   r   r   r   r   r   r   Ú_utilsr   r   r   Ú_compatr   Ú_versionr   Ú
_streamingr   r   r   Ú_base_clientr   r   r    Úlib.credentialsr!   r"   r#   r$   r%   r&   Úlib.credentials._authr'   r(   Úlib.credentials._constantsr)   r0   r6   r<   rA   rI   Ú	resourcesrJ   rK   rL   rM   r–   rN   rO   Úresources.beta.betarP   rQ   r’   rR   rS   Úresources.messages.messagesrT   rU   Ú__all__r,   r-   r›   r$  rŸ   r&  rV   rW   rÞ   r1   r/   Ú<module>rt     sõ   ðõ #ã 	ß .Ñ .ß ,ã ç %Ý ÷	÷ 	ó 	÷ñ õ
 %Ý !ß DÝ '÷ñ ÷÷ ÷õ Kó7óóó	?óGñ  ß>Ó>ß5ß4ßDßDò	€ôOE�ô OEôdKE�^ô KE÷\6ñ 6÷>;ñ ;÷><ñ <÷>Añ Að> 
€à�r1   