
    b\jX                       S SK Jr  S SKrS SKrS SKJrJrJrJrJ	r	J
r
JrJrJr  S SKJr  S SKJrJr  S SKrSSKJrJrJrJrJr  SSKJr  SS	KJrJr  SS
KJ r   SSK!J"r"  SSK#J$r$J%r%  SSK&J'r'  SSK(J)r)  SSK*J+r+J,r,J-r-  SSK.J/r/J0r0  SSK1J2r2J3r3  SSK4J2r5J3r6  \	/ \74   r8\	/ S4   r9\" S\\Rt                  \Rv                  4   S9r<\" S\\$\   \%\   4   S9r= " S S\'5      r> " S S\,\<\=4   5      r? " S S\25      r@ " S S\55      rA " S S\/5      rB " S  S!\35      rC " S" S#\65      rD " S$ S%\05      rE " S& S'\?\Rt                  \$\   4   \5      rF " S( S)\?\Rv                  \%\   4   \5      rGg)*    )annotationsN)	AnyUnionMappingTypeVarCallableSequence	Awaitablecastoverload)cached_property)Selfoverride   )	NOT_GIVENOmitHeadersTimeoutNotGiven)is_given)	AnthropicAsyncAnthropic)
model_copy)FinalRequestOptions)StreamAsyncStream)AnthropicError)MiddlewareInput)DEFAULT_MAX_RETRIES
BaseClientmerge_headers)Beta	AsyncBeta)MessagesAsyncMessageszstr | Awaitable[str]_HttpxClientT)bound_DefaultStreamTc                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )MutuallyExclusiveAuthError"   c                $   > [         TU ]  S5        g )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    K/var/www/website/venv/lib/python3.13/site-packages/anthropic/lib/foundry.pyr.   #MutuallyExclusiveAuthError.__init__#   s    |	
     returnNone)__name__
__module____qualname____firstlineno__r.   __static_attributes____classcell__r0   s   @r1   r*   r*   "   s    
 
r3   r*   c                      \ rS rSrSrg)BaseFoundryClient)   r4   N)r8   r9   r:   r;   r<   r4   r3   r1   r@   r@   )   s    Sr3   r@   c                  2    \ rS rSr\\SS j5       5       rSrg)MessagesFoundry,   c                    gz?Batches endpoint is not supported for Anthropic Foundry client.Nr4   r/   s    r1   batchesMessagesFoundry.batches-        r3   r4   Nr5   r8   r9   r:   r;   r   r   rH   r<   r4   r3   r1   rC   rC   ,         r3   rC   c                  2    \ rS rSr\\SS j5       5       rSrg)BetaFoundryMessages4   c                    grF   r4   rG   s    r1   rH   BetaFoundryMessages.batches5   rJ   r3   r4   Nr5   rK   r4   r3   r1   rN   rN   4   rL   r3   rN   c                  2    \ rS rSr\\SS j5       5       rSrg)BetaFoundry<   c                ,    [        U R                  5      $ zKReturn beta messages resource instance with excluded unsupported endpoints.)rN   _clientrG   s    r1   messagesBetaFoundry.messages=   s     #4<<00r3   r4   N)r6   BetaMessagesr8   r9   r:   r;   r   r   rX   r<   r4   r3   r1   rS   rS   <   s    1  1r3   rS   c                  2    \ rS rSr\\SS j5       5       rSrg)AsyncMessagesFoundryD   c                    grF   r4   rG   s    r1   rH   AsyncMessagesFoundry.batchesE   rJ   r3   r4   Nr5   rK   r4   r3   r1   r]   r]   D   rL   r3   r]   c                  2    \ rS rSr\\SS j5       5       rSrg)AsyncBetaFoundryMessagesL   c                    grF   r4   rG   s    r1   rH    AsyncBetaFoundryMessages.batchesM   rJ   r3   r4   Nr5   rK   r4   r3   r1   rb   rb   L   rL   r3   rb   c                  2    \ rS rSr\\SS j5       5       rSrg)AsyncBetaFoundryT   c                ,    [        U R                  5      $ rV   )rb   rW   rG   s    r1   rX   AsyncBetaFoundry.messagesU   s     (55r3   r4   N)r6   AsyncBetaMessagesr[   r4   r3   r1   rg   rg   T   s    6  6r3   rg   c                  N  ^  \ rS rSr\SSSS\\SSSSSS.                       SS jj5       r\SSS\\SSSSSS.
                       SS jj5       rSSSSS\\SSSSSS.                         SU 4S	 jjjr\\	SS
 j5       5       r
\\	SS j5       5       r\\	SS j5       5       r\	SSSS\S\SSSS\0 S.                           SS jj5       r\rSS jr\	SS j5       r\\	SS j5       5       r\	SS j5       rSrU =r$ )AnthropicFoundry_   NFresourceapi_keyazure_ad_token_providerwebhook_keytimeoutmax_retriesdefault_headersdefault_queryhttp_client
middleware_strict_response_validationc                   g Nr4   r/   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   s               r1   r.   AnthropicFoundry.__init__`        r3   
rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   c                   g r|   r4   r/   base_urlrq   rr   rs   rt   ru   rv   rw   rx   ry   rz   s               r1   r.   r~   q   r   r3   rp   rq   rr   rs   r   rt   ru   rv   rw   rx   ry   rz   c                 > Ub  UO[         R                  R                  S5      nUb  UO[         R                  R                  S5      nUb  UO[         R                  R                  S5      nUc  Uc  [        S5      eUc  Uc  [	        S5      eSU S3nOUb  [	        S	5      e[
        TU ]  UUUUUUU	U
UUS
9
  X0l        g)aG  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_URLMissing 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
rq   rs   r   rt   ru   rv   rw   rx   ry   rz   osenvirongetr   
ValueErrorr-   r.   _azure_ad_token_providerr/   rp   rq   rr   rs   r   rt   ru   rv   rw   rx   ry   rz   r0   s                r1   r.   r~          6 %0'bjjnnE`6a'38Hd9e'38Hd9e?6>  Y    K  "(+LMH!KLL##+'#!(C 	 	
 )@%r3   c                    g)z>Models endpoint is not supported for Anthropic Foundry client.Nr4   rG   s    r1   modelsAnthropicFoundry.models   rJ   r3   c                    [        U S9$ zFReturn messages resource instance with excluded unsupported endpoints.client)rC   rG   s    r1   rX   AnthropicFoundry.messages   s     d++r3   c                    [        U 5      $ )BReturn beta resource instance with excluded unsupported endpoints.)rS   rG   s    r1   betaAnthropicFoundry.beta   s     4  r3   rq   rr   rs   r   rt   rx   ru   rv   set_default_headersrw   set_default_queryry   _extra_kwargsc                  Ub  U	b  [        S5      eU
b  Ub  [        S5      eU R                  nUb  [        X5      nOU	b  U	nU R                  nU
b  0 UEU
EnOUb  UnU R                  " SU=(       d    U R
                  U=(       d    U R                  U=(       d    U R                  [        U=(       d    U R                  5      [        U[        5      (       a  U R                  OUU=(       d    U R                  [        U5      (       a  UOU R                  UU[        U[        5      (       a  U R                   OUS.
UD6$ zn
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 exclusive)
rq   rr   rs   r   rt   rx   ru   rv   rw   ry   r4   r   _custom_headersr!   _custom_queryr0   rq   r   rs   strr   
isinstancer   rt   rW   r   ru   _middlewarer/   rq   rr   rs   r   rt   rx   ru   rv   r   rw   r   ry   r   headersparamss                   r1   copyAnthropicFoundry.copy   2   * &+>+Jopp$):)Fkll&&&#G=G ,)G##$00-0F*&F~~ 
+t||$;$\t?\?\#7t'7'72T]]3$.w$A$ADLLw#3t||'/'<'<$BRBR# +5j(+K+Kt''Q[
 
 	
r3   c                    U R                   nUb3  U" 5       nU(       a  [        U[        5      (       d  [        SU 35      eU$ g NzOExpected `azure_ad_token_provider` argument to return a string but it returned )r   r   r   r   r/   providertokens      r1   _get_azure_ad_token$AnthropicFoundry._get_azure_ad_token  sL    00JE
5# 6 6 efkelm  Lr3   c                   [        UR                  5      (       a  0 UR                  EO0 n[        U5      nX!l        U R                  5       nUb  UR	                  S5      c  SU 3US'   U$ U R
                  bD  UR	                  S5      c  U R
                  US'   UR	                  S5      c  U R
                  US'   U$ [        S5      eNAuthorizationzBearer z	x-api-keyzapi-keyzUnable to handle authr   r   r   r   r   rq   r   r/   optionsr   azure_ad_tokens       r1   _prepare_options!AnthropicFoundry._prepare_options  s    @H@Y@Y)<GOO)<_aW%!113%{{?+3-4^4D+E(  \\% {{;'/'+||${{9%-%)\\	"
  455r3   c                    0 $ r|   r4   rG   s    r1   auth_headersAnthropicFoundry.auth_headers-  s	     	r3   c                    g r|   r4   r/   r   custom_headerss      r1   _validate_headers"AnthropicFoundry._validate_headers9  s     	r3   r   )rp   
str | Nonerq   r   rr   AzureADTokenProvider | Noners   r   rt   !float | Timeout | None | NotGivenru   intrv   Mapping[str, str] | Nonerw   Mapping[str, object] | Nonerx   httpx.Client | Nonery    Sequence[MiddlewareInput] | Nonerz   boolr6   r7   )r   r   rq   r   rr   r   rs   r   rt   r   ru   r   rv   r   rw   r   rx   r   ry   r   rz   r   r6   r7   )rp   r   rq   r   rr   r   rs   r   r   r   rt   r   ru   r   rv   r   rw   r   rx   r   ry   r   rz   r   r6   r7   r5   )r6   rC   )r6   r"   )rq   r   rr   r   rs   r   r   str | httpx.URL | Nonert   r   rx   r   ru   int | NotGivenrv   r   r   r   rw   r   r   r   ry   +Sequence[MiddlewareInput] | None | NotGivenr   Mapping[str, Any]r6   r   r6   r   r   r   r6   r   r6   zdict[str, str]r   r   r   r   r6   r7   r8   r9   r:   r;   r   r   r   r.   r   r   r   rX   r   r   with_optionsr   r   propertyr   r   r<   r=   r>   s   @r1   rm   rm   _   s     $"?C"&5>.4859+/7;,1  	
 "=   3  2 3 ) 5 &* 
   
 #?C"&5>.4859+/7;,1  	
 "=   3  2 3 ) 5 &* 
 &  $"?C"&#5>.4859+/7;,19@ 9@ 	9@
 "=9@  9@ 9@ 39@ 9@ 29@ 39@ )9@ 59@ &*9@ 
9@ 9@v    ,  , !  !  #?C"&+/5>+/&/488<599=BK+-2
 2
 "=	2

  2
 )2
 32
 )2
 $2
 22
 62
 32
 72
 @2
 )2
  
!2
 2
h L
  4     r3   rm   c                  N  ^  \ rS rSr\SSSS\\SSSSSS.                       SS jj5       r\SSS\\SSSSSS.
                       SS jj5       rSSSSS\\SSSSSS.                         SU 4S	 jjjr\\	SS
 j5       5       r
\\	SS j5       5       r\\	SS j5       5       r\	SSSS\S\SSSS\0 S.                           SS jj5       r\rSS jr\	SS j5       r\\	SS j5       5       r\	SS j5       rSrU =r$ )AsyncAnthropicFoundryi@  NFro   c                   g r|   r4   r}   s               r1   r.   AsyncAnthropicFoundry.__init__A  r   r3   r   c                   g r|   r4   r   s               r1   r.   r   R  r   r3   r   c                 > Ub  UO[         R                  R                  S5      nUb  UO[         R                  R                  S5      nUb  UO[         R                  R                  S5      nUc  Uc  [        S5      eUc  Uc  [	        S5      eSU S3nOUb  [	        S	5      e[
        TU ]  UUUUUUU	U
UUS
9
  X0l        g)aH  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.
Nr   r   r   r   r   r   r   r   r   r   r   s                r1   r.   r   c  r   r3   c                    g)z<Models endpoint is not supported for Azure Anthropic client.Nr4   rG   s    r1   r   AsyncAnthropicFoundry.models  rJ   r3   c                    [        U S9$ r   )r]   rG   s    r1   rX   AsyncAnthropicFoundry.messages  s     $400r3   c                    [        U S9$ )r   r   )rg   rG   s    r1   r   AsyncAnthropicFoundry.beta  s      t,,r3   r   c                  Ub  U	b  [        S5      eU
b  Ub  [        S5      eU R                  nUb  [        X5      nOU	b  U	nU R                  nU
b  0 UEU
EnOUb  UnU R                  " SU=(       d    U R
                  U=(       d    U R                  U=(       d    U R                  [        U=(       d    U R                  5      [        U[        5      (       a  U R                  OUU=(       d    U R                  [        U5      (       a  UOU R                  UU[        U[        5      (       a  U R                   OUS.
UD6$ r   r   r   s                   r1   r   AsyncAnthropicFoundry.copy  r   r3   c                  #    U R                   nUbo  U" 5       n[        R                  " U5      (       a
  UI S h  vN nU(       a#  [        [	        [
        U5      [        5      (       d  [        SU 35      e[        U5      $ g  NH7fr   )r   inspectisawaitabler   r   r   r   r   r   s      r1   r   )AsyncAnthropicFoundry._get_azure_ad_token  sx     00JE""5))#
4U+;S A A efkelm  u: $s   7BBA	Bc                  #    [        UR                  5      (       a  0 UR                  EO0 n[        U5      nX!l        U R                  5       I S h  vN nUb  UR	                  S5      c  SU 3US'   U$ U R
                  bD  UR	                  S5      c  U R
                  US'   UR	                  S5      c  U R
                  US'   U$ [        S5      e N7fr   r   r   s       r1   r   &AsyncAnthropicFoundry._prepare_options  s     @H@Y@Y)<GOO)<_aW%!#7799%{{?+3-4^4D+E(  \\% {{;'/'+||${{9%-%)\\	"
  455 :s   ACCB Cc                    0 $ r|   r4   rG   s    r1   r   "AsyncAnthropicFoundry.auth_headers  s	    
 	r3   c                    g r|   r4   r   s      r1   r   'AsyncAnthropicFoundry._validate_headers  s     	r3   r   )rp   r   rq   r   rr    AsyncAzureADTokenProvider | Noners   r   rt   r   ru   r   rv   r   rw   r   rx   httpx.AsyncClient | Nonery   r   rz   r   r6   r7   )r   r   rq   r   rr   r   rs   r   rt   r   ru   r   rv   r   rw   r   rx   r   ry   r   rz   r   r6   r7   )rp   r   rq   r   rr   r   rs   r   r   r   rt   r   ru   r   rv   r   rw   r   rx   r   ry   r   rz   r   r6   r7   r5   )r6   r]   )r6   rg   )rq   r   rr   r   rs   r   r   r   rt   r   rx   r   ru   r   rv   r   r   r   rw   r   r   r   ry   r   r   r   r6   r   r   r   r   r   r   r>   s   @r1   r   r   @  s     $"DH"&5>.4859047;,1  	
 "B   3  2 3 . 5 &* 
   
 #DH"&5>.4859047;,1  	
 "B   3  2 3 . 5 &* 
 &  $"DH"&#5>.4859047;,19@ 9@ 	9@
 "B9@  9@ 9@ 39@ 9@ 29@ 39@ .9@ 59@ &*9@ 
9@ 9@v    1  1 -  -  #DH"&+/5>04&/488<599=BK+-2
 2
 "B	2

  2
 )2
 32
 .2
 $2
 22
 62
 32
 72
 @2
 )2
  
!2
 2
h L  .   
  r3   r   )H
__future__r   r   r   typingr   r   r   r   r   r	   r
   r   r   	functoolsr   typing_extensionsr   r   httpx_typesr   r   r   r   r   _utilsr   rW   r   r   _compatr   _modelsr   
_streamingr   r   _exceptionsr   r   r   _base_clientr   r    r!   resources.betar"   r#   resources.messagesr$   r%   resources.beta.messagesrZ   rk   r   AzureADTokenProviderAsyncAzureADTokenProviderClientAsyncClientr&   r(   r*   r@   rC   rN   rS   r]   rb   rg   rm   r   r4   r3   r1   <module>r     sf   " 	  ^ ^ ^ % ,  @ @  /   ) , ( ) 
 - 8 bC( $R)?%?@ uU\\5CTCT5T/UV+5kRUFV9V3WX
 
 I
=/#AB Hh , 1$ 1= 0 6y 6^(vc{)BCY ^BW-e.?.?SAQ.QRTb Wr3   