Ë
    Âj‰G  ã                  óÒ  — d dl mZ d dlZd dl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 d dlmZmZ d dlZddlmZmZmZmZ ddlmZ dd	l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( ddl)m*Z*m+Z+ ddl,m-Z-m.Z. ddl/m-Z0m.Z1 e	g e2f   Z3e	g df   Z4 edeejj                  ejl                  f   ¬«      Z7 edee"e   e#e   f   ¬«      Z8 G d„ de%«      Z9 G d„ de(e7e8f   «      Z: G d„ de-«      Z; G d„ de0«      Z< G d„ de*«      Z= G d„ d e.«      Z> G d!„ d"e1«      Z? G d#„ d$e+«      Z@ G d%„ d&e:ejj                  e"e   f   e«      ZA G d'„ d(e:ejl                  e#e   f   e«      ZBy))é    )ÚannotationsN)ÚAnyÚUnionÚMappingÚTypeVarÚCallableÚ	AwaitableÚcastÚoverload)Úcached_property)ÚSelfÚoverrideé   )Ú	NOT_GIVENÚOmitÚTimeoutÚNotGiven)Úis_given)Ú	AnthropicÚAsyncAnthropic)Ú
model_copy)ÚFinalRequestOptions)ÚStreamÚAsyncStream)ÚAnthropicError)ÚDEFAULT_MAX_RETRIESÚ
BaseClient)ÚBetaÚ	AsyncBeta)ÚMessagesÚAsyncMessageszstr | Awaitable[str]Ú_HttpxClientT)ÚboundÚ_DefaultStreamTc                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ÚMutuallyExclusiveAuthErrorc                ó$   •— t         ‰| �  d«       y )NznThe `api_key` and `azure_ad_token_provider` arguments are mutually exclusive; Only one can be passed at a time)ÚsuperÚ__init__)ÚselfÚ	__class__s    €úH/var/www/html/venv/lib/python3.12/site-packages/anthropic/lib/foundry.pyr)   z#MutuallyExclusiveAuthError.__init__   s   ø€ Ü‰ÑØ|õ	
ó    ©ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__r)   Ú__classcell__©r+   s   @r,   r&   r&      s   ø„ ÷
ñ 
r-   r&   c                  ó   — e Zd Zy)ÚBaseFoundryClientN)r1   r2   r3   © r-   r,   r7   r7   $   s   … r-   r7   c                  ó(   — e Zd Zeedd„«       «       Zy)ÚMessagesFoundryc                 ó   — y©z?Batches endpoint is not supported for Anthropic Foundry client.Nr8   ©r*   s    r,   ÚbatcheszMessagesFoundry.batches(   ó   € ð r-   Nr.   ©r1   r2   r3   r   r   r>   r8   r-   r,   r:   r:   '   ó   „ ØØòó ó ñr-   r:   c                  ó(   — e Zd Zeedd„«       «       Zy)ÚBetaFoundryMessagesc                 ó   — yr<   r8   r=   s    r,   r>   zBetaFoundryMessages.batches0   r?   r-   Nr.   r@   r8   r-   r,   rC   rC   /   rA   r-   rC   c                  ó(   — e Zd Zeedd„«       «       Zy)ÚBetaFoundryc                ó,   — t        | j                  «      S ©zKReturn beta messages resource instance with excluded unsupported endpoints.)rC   Ú_clientr=   s    r,   ÚmessageszBetaFoundry.messages8   s   € ô # 4§<¡<Ó0Ð0r-   N)r/   ÚBetaMessages©r1   r2   r3   r   r   rJ   r8   r-   r,   rF   rF   7   s   „ ØØò1ó ó ñ1r-   rF   c                  ó(   — e Zd Zeedd„«       «       Zy)ÚAsyncMessagesFoundryc                 ó   — yr<   r8   r=   s    r,   r>   zAsyncMessagesFoundry.batches@   r?   r-   Nr.   r@   r8   r-   r,   rN   rN   ?   rA   r-   rN   c                  ó(   — e Zd Zeedd„«       «       Zy)ÚAsyncBetaFoundryMessagesc                 ó   — yr<   r8   r=   s    r,   r>   z AsyncBetaFoundryMessages.batchesH   r?   r-   Nr.   r@   r8   r-   r,   rQ   rQ   G   rA   r-   rQ   c                  ó(   — e Zd Zeedd„«       «       Zy)ÚAsyncBetaFoundryc                ó,   — t        | j                  «      S rH   )rQ   rI   r=   s    r,   rJ   zAsyncBetaFoundry.messagesP   s   € ô (¨¯©Ó5Ð5r-   N)r/   ÚAsyncBetaMessagesrL   r8   r-   r,   rT   rT   O   s   „ ØØò6ó ó ñ6r-   rT   c                  óê  ‡ — e Zd Zeddddeedddddœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       Zedddeedddddœ		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       Zdddddeedddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zeedd	„«       «       Z	eedd
„«       «       Z
eedd„«       «       Zedddddededdddi dœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„«       ZeZdd„Zedd„«       Zˆ xZS )ÚAnthropicFoundryNF©
ÚresourceÚapi_keyÚazure_ad_token_providerÚwebhook_keyÚtimeoutÚmax_retriesÚdefault_headersÚdefault_queryÚhttp_clientÚ_strict_response_validationc       
         ó   — y ©Nr8   ©r*   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   s              r,   r)   zAnthropicFoundry.__init__[   ó   € ð r-   ©	r[   r\   r]   r^   r_   r`   ra   rb   rc   c       
         ó   — y re   r8   ©r*   Úbase_urlr[   r\   r]   r^   r_   r`   ra   rb   rc   s              r,   r)   zAnthropicFoundry.__init__k   rg   r-   ©rZ   r[   r\   r]   rk   r^   r_   r`   ra   rb   rc   c               óz  •— |�|nt         j                  j                  d«      }|�|nt         j                  j                  d«      }|�|nt         j                  j                  d«      }|€|€t        d«      ‚|€|€t	        d«      ‚d|› d�}n|�t	        d	«      ‚t
        ‰| �  |||||||	|
|¬
«	       || _        y)a‡  Construct a new synchronous Anthropic Foundry client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `ANTHROPIC_FOUNDRY_API_KEY`
        - `resource` from `ANTHROPIC_FOUNDRY_RESOURCE`
        - `base_url` from `ANTHROPIC_FOUNDRY_BASE_URL`

        Args:
            resource: Your Foundry resource name, e.g. `example-resource` for `https://example-resource.services.ai.azure.com/anthropic/`
            azure_ad_token_provider: A function that returns an Azure Active Directory token, will be invoked on every request.
        NÚANTHROPIC_FOUNDRY_API_KEYÚANTHROPIC_FOUNDRY_RESOURCEÚANTHROPIC_FOUNDRY_BASE_URLú†Missing credentials. Please pass one of `api_key`, `azure_ad_token_provider`, or the `ANTHROPIC_FOUNDRY_API_KEY` environment variable.útMust provide one of the `base_url` or `resource` arguments, or the `ANTHROPIC_FOUNDRY_RESOURCE` environment variableúhttps://ú!.services.ai.azure.com/anthropic/ú,base_url and resource are mutually exclusive©	r[   r]   rk   r^   r_   r`   ra   rb   rc   ©ÚosÚenvironÚgetr   Ú
ValueErrorr(   r)   Ú_azure_ad_token_provider©r*   rZ   r[   r\   r]   rk   r^   r_   r`   ra   rb   rc   r+   s               €r,   r)   zAnthropicFoundry.__init__{   óí   ø€ ð4 %Ð0‘'´b·j±j·n±nÐE`Ó6aˆØ'Ð3‘8¼¿¹¿¹ÐHdÓ9eˆØ'Ð3‘8¼¿¹¿¹ÐHdÓ9eˆàˆ?Ð6Ð>Ü ð Yóð ð ÐØÐÜ ð Kóð ð " ( Ð+LÐM‰HØÐ!ÜÐKÓLÐLä‰ÑØØ#ØØØ#Ø+Ø'Ø#Ø(Cð 	ô 
	
ð )@ˆÕ%r-   c                 ó   — y)z>Models endpoint is not supported for Anthropic Foundry client.Nr8   r=   s    r,   ÚmodelszAnthropicFoundry.models´   r?   r-   c                ó   — t        | ¬«      S ©zFReturn messages resource instance with excluded unsupported endpoints.©Úclient)r:   r=   s    r,   rJ   zAnthropicFoundry.messagesº   s   € ô  dÔ+Ð+r-   c                ó   — t        | «      S )úBReturn beta resource instance with excluded unsupported endpoints.)rF   r=   s    r,   ÚbetazAnthropicFoundry.betaÀ   s   € ô ˜4Ó Ð r-   ©r[   r\   Ú
auth_tokenr]   rk   r^   rb   r_   r`   Úset_default_headersra   Úset_default_queryÚ_extra_kwargsc               ó^   •— t         ‰| �  ||||||||	|
||d|xs | j                  i|¥¬«      S ©z~
        Create a new client instance re-using the same options given to the current client with optional overriding.
        r\   )r[   r‰   r]   rk   r^   rb   r_   r`   rŠ   ra   r‹   rŒ   ©r(   Úcopyr|   ©r*   r[   r\   r‰   r]   rk   r^   rb   r_   r`   rŠ   ra   r‹   rŒ   r+   s                 €r,   r�   zAnthropicFoundry.copyÆ   óZ   ø€ ô* ‰w‰|ØØ!Ø#ØØØ#Ø#Ø+Ø 3Ø'Ø/à)Ð+BÒ+cÀd×FcÑFcðàðð ó 
ð 	
r-   c                ór   — | j                   }|�) |«       }|rt        |t        «      st        d|› �«      ‚|S y ©NzOExpected `azure_ad_token_provider` argument to return a string but it returned )r|   Ú
isinstanceÚstrr{   ©r*   ÚproviderÚtokens      r,   Ú_get_azure_ad_tokenz$AnthropicFoundry._get_azure_ad_tokenï   sI   € Ø×0Ñ0ˆØÐÙ“JˆEÙ¤
¨5´#Ô 6Ü ØeÐfkÐelÐmóð ð ˆLàr-   c                óX  — t        |j                  «      ri |j                  ¥ni }t        |«      }||_        | j                  «       }|�|j	                  d«      €d|› �|d<   |S | j
                  �0|j	                  d«      €| j
                  €J ‚| j
                  |d<   |S t        d«      ‚©NÚAuthorizationzBearer zapi-keyzUnable to handle auth©r   Úheadersr   rš   rz   r[   r{   ©r*   ÚoptionsrŸ   Úazure_ad_tokens       r,   Ú_prepare_optionsz!AnthropicFoundry._prepare_optionsû   sº   € ä@HÈÏÉÔ@YÐ)<¨G¯O©OÑ)<Ð_aˆä˜WÓ%ˆØ!ˆŒà×1Ñ1Ó3ˆØÐ%Ø�{‰{˜?Ó+Ð3Ø-4°^Ð4DÐ+E�˜Ñ(ð ˆð �\‰\Ð%Ø�{‰{˜9Ó%Ð-Ø—|‘|Ð/Ð/Ð/Ø%)§\¡\�˜	Ñ"ð
 ˆô Ð4Ó5Ð5r-   )rZ   ú
str | Noner[   r¤   r\   úAzureADTokenProvider | Noner]   r¤   r^   ú!float | Timeout | None | NotGivenr_   Úintr`   úMapping[str, str] | Nonera   úMapping[str, object] | Nonerb   úhttpx.Client | Nonerc   Úboolr/   r0   )rk   r–   r[   r¤   r\   r¥   r]   r¤   r^   r¦   r_   r§   r`   r¨   ra   r©   rb   rª   rc   r«   r/   r0   )rZ   r¤   r[   r¤   r\   r¥   r]   r¤   rk   r¤   r^   r¦   r_   r§   r`   r¨   ra   r©   rb   rª   rc   r«   r/   r0   r.   )r/   r:   )r/   r   )r[   r¤   r\   r¥   r‰   r¤   r]   r¤   rk   ústr | httpx.URL | Noner^   r¦   rb   rª   r_   úint | NotGivenr`   r¨   rŠ   r¨   ra   r©   r‹   r©   rŒ   úMapping[str, Any]r/   r   ©r/   r¤   ©r¡   r   r/   r   ©r1   r2   r3   r   r   r   r)   r   r   r€   rJ   r‡   r�   Úwith_optionsrš   r£   r4   r5   s   @r,   rX   rX   Z   s.  ø„ Øð  $Ø"Ø?CØ"&Ø5>Ø.Ø48Ø59Ø+/Ø,1ñð ðð ð	ð
 "=ðð  ðð 3ðð ðð 2ðð 3ðð )ðð &*ðð 
òó ðð ð
 #Ø?CØ"&Ø5>Ø.Ø48Ø59Ø+/Ø,1ñð ðð ð	ð
 "=ðð  ðð 3ðð ðð 2ðð 3ðð )ðð &*ðð 
òó ðð$  $Ø"Ø?CØ"&Ø#Ø5>Ø.Ø48Ø59Ø+/Ø,1ñ7@ð ð7@ð ð	7@ð
 "=ð7@ð  ð7@ð ð7@ð 3ð7@ð ð7@ð 2ð7@ð 3ð7@ð )ð7@ð &*ð7@ð 
õ7@ðr Øòó ó ðð Øò,ó ó ð,ð Øò!ó ó ð!ð ð #Ø?CØ!%Ø"&Ø+/Ø5>Ø+/Ø&/Ø48Ø8<Ø59Ø9=Ø+-ñ$
ð ð$
ð "=ð	$
ð
 ð$
ð  ð$
ð )ð$
ð 3ð$
ð )ð$
ð $ð$
ð 2ð$
ð 6ð$
ð 3ð$
ð 7ð$
ð )ð$
ð  
ô!$
ó ð$
ðL €Ló
ð òó ôr-   rX   c                  óê  ‡ — e Zd Zeddddeedddddœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       Zedddeedddddœ		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       Zdddddeedddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zeedd	„«       «       Z	eedd
„«       «       Z
eedd„«       «       Zedddddededdddi dœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„«       ZeZdd„Zedd„«       Zˆ xZS )ÚAsyncAnthropicFoundryNFrY   c       
         ó   — y re   r8   rf   s              r,   r)   zAsyncAnthropicFoundry.__init__  rg   r-   rh   c       
         ó   — y re   r8   rj   s              r,   r)   zAsyncAnthropicFoundry.__init__"  rg   r-   rl   c               óz  •— |�|nt         j                  j                  d«      }|�|nt         j                  j                  d«      }|�|nt         j                  j                  d«      }|€|€t        d«      ‚|€|€t	        d«      ‚d|› d�}n|�t	        d	«      ‚t
        ‰| �  |||||||	|
|¬
«	       || _        y)aˆ  Construct a new asynchronous Anthropic Foundry client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `ANTHROPIC_FOUNDRY_API_KEY`
        - `resource` from `ANTHROPIC_FOUNDRY_RESOURCE`
        - `base_url` from `ANTHROPIC_FOUNDRY_BASE_URL`

        Args:
            resource: Your Foundry resource name, e.g. `example-resource` for `https://example-resource.services.ai.azure.com/anthropic/`
            azure_ad_token_provider: A function that returns an Azure Active Directory token, will be invoked on every request.
        Nrn   ro   rp   rq   rr   rs   rt   ru   rv   rw   r}   s               €r,   r)   zAsyncAnthropicFoundry.__init__2  r~   r-   c                 ó   — y)z<Models endpoint is not supported for Azure Anthropic client.Nr8   r=   s    r,   r€   zAsyncAnthropicFoundry.modelsk  r?   r-   c                ó   — t        | ¬«      S r‚   )rN   r=   s    r,   rJ   zAsyncAnthropicFoundry.messagesq  s   € ô $¨4Ô0Ð0r-   c                ó   — t        | ¬«      S )r†   rƒ   )rT   r=   s    r,   r‡   zAsyncAnthropicFoundry.betaw  s   € ô   tÔ,Ð,r-   rˆ   c               ó^   •— t         ‰| �  ||||||||	|
||d|xs | j                  i|¥¬«      S rŽ   r�   r‘   s                 €r,   r�   zAsyncAnthropicFoundry.copy}  r’   r-   c              ƒ  óê   K  — | j                   }|�_ |«       }t        j                  |«      r
|ƒ d {  –—† }|rt        t	        t
        |«      t        «      st        d|› �«      ‚t        |«      S y 7 Œ>­wr”   )r|   ÚinspectÚisawaitabler•   r
   r   r–   r{   r—   s      r,   rš   z)AsyncAnthropicFoundry._get_azure_ad_token¦  ss   è ø€ Ø×0Ñ0ˆØÐÙ“JˆEÜ×"Ñ" 5Ô)Ø#Ÿ�Ù¤
¬4´°UÓ+;¼SÔ AÜ ØeÐfkÐelÐmóð ô �u“:Ðàð $ús   ‚0A3²A1³?A3c              ƒ  ót  K  — t        |j                  «      ri |j                  ¥ni }t        |«      }||_        | j                  «       ƒ d {  –—† }|�|j	                  d«      €d|› �|d<   |S | j
                  �0| j
                  €J ‚|j	                  d«      €| j
                  |d<   |S t        d«      ‚7 Œh­wrœ   rž   r    s       r,   r£   z&AsyncAnthropicFoundry._prepare_options´  sÆ   è ø€ ä@HÈÏÉÔ@YÐ)<¨G¯O©OÑ)<Ð_aˆä˜WÓ%ˆØ!ˆŒà#×7Ñ7Ó9×9ˆØÐ%Ø�{‰{˜?Ó+Ð3Ø-4°^Ð4DÐ+E�˜Ñ(ð ˆð �\‰\Ð%Ø—<‘<Ð+Ð+Ð+Ø�{‰{˜9Ó%Ð-Ø%)§\¡\�˜	Ñ"ð
 ˆô Ð4Ó5Ð5ð :ús   ‚AB8ÁB6ÁA)B8)rZ   r¤   r[   r¤   r\   ú AsyncAzureADTokenProvider | Noner]   r¤   r^   r¦   r_   r§   r`   r¨   ra   r©   rb   úhttpx.AsyncClient | Nonerc   r«   r/   r0   )rk   r–   r[   r¤   r\   rÀ   r]   r¤   r^   r¦   r_   r§   r`   r¨   ra   r©   rb   rÁ   rc   r«   r/   r0   )rZ   r¤   r[   r¤   r\   rÀ   r]   r¤   rk   r¤   r^   r¦   r_   r§   r`   r¨   ra   r©   rb   rÁ   rc   r«   r/   r0   r.   )r/   rN   )r/   rT   )r[   r¤   r\   rÀ   r‰   r¤   r]   r¤   rk   r¬   r^   r¦   rb   rÁ   r_   r­   r`   r¨   rŠ   r¨   ra   r©   r‹   r©   rŒ   r®   r/   r   r¯   r°   r±   r5   s   @r,   r´   r´     s2  ø„ Øð  $Ø"ØDHØ"&Ø5>Ø.Ø48Ø59Ø04Ø,1ñð ðð ð	ð
 "Bðð  ðð 3ðð ðð 2ðð 3ðð .ðð &*ðð 
òó ðð ð
 #ØDHØ"&Ø5>Ø.Ø48Ø59Ø04Ø,1ñð ðð ð	ð
 "Bðð  ðð 3ðð ðð 2ðð 3ðð .ðð &*ðð 
òó ðð$  $Ø"ØDHØ"&Ø#Ø5>Ø.Ø48Ø59Ø04Ø,1ñ7@ð ð7@ð ð	7@ð
 "Bð7@ð  ð7@ð ð7@ð 3ð7@ð ð7@ð 2ð7@ð 3ð7@ð .ð7@ð &*ð7@ð 
õ7@ðr Øòó ó ðð Øò1ó ó ð1ð Øò-ó ó ð-ð ð #ØDHØ!%Ø"&Ø+/Ø5>Ø04Ø&/Ø48Ø8<Ø59Ø9=Ø+-ñ$
ð ð$
ð "Bð	$
ð
 ð$
ð  ð$
ð )ð$
ð 3ð$
ð .ð$
ð $ð$
ð 2ð$
ð 6ð$
ð 3ð$
ð 7ð$
ð )ð$
ð  
ô!$
ó ð$
ðL €Lóð òó ôr-   r´   )CÚ
__future__r   rx   r½   Útypingr   r   r   r   r   r	   r
   r   Ú	functoolsr   Útyping_extensionsr   r   ÚhttpxÚ_typesr   r   r   r   Ú_utilsr   rI   r   r   Ú_compatr   Ú_modelsr   Ú
_streamingr   r   Ú_exceptionsr   Ú_base_clientr   r   Úresources.betar   r   Úresources.messagesr    r!   Úresources.beta.messagesrK   rV   r–   ÚAzureADTokenProviderÚAsyncAzureADTokenProviderÚClientÚAsyncClientr"   r$   r&   r7   r:   rC   rF   rN   rQ   rT   rX   r´   r8   r-   r,   Ú<module>rÕ      sZ  ðÝ "ã 	Û ß T× TÓ TÝ %ß ,ã ç 7Ó 7Ý ß /Ý  Ý )ß ,Ý (ß :ß ,ß 8ß bà  C Ñ(Ð Ø$ RÐ)?Ð%?Ñ@Ð Ù˜¨u°U·\±\À5×CTÑCTÐ5TÑ/UÔV€ÙÐ+°5¸À¹ÀkÐRUÑFVÐ9VÑ3WÔX€ô
 ô 
ô I˜
 =°/Ð#AÑBÔ Hô�hô ô˜,ô ô1�$ô 1ô˜=ô ôÐ0ô ô6�yô 6ôtÐ(¨¯©°v¸c±{Ð)BÑCÀYô tônvÐ-¨e×.?Ñ.?ÀÈSÑAQÐ.QÑRÐTbõ vr-   