
    ̺iD                       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  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  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'J(r(  SSK)J*r*J+r+  SSK,J-r-J.r.  SSK/J-r0J.r1  \	/ \24   r3\	/ S4   r4\" S\\Rj                  \Rl                  4   S9r7\" S\\"\   \#\   4   S9r8 " S S\%5      r9 " S S\(\7\84   5      r: " S S\-5      r; " S S\05      r< " S S\*5      r= " S S \.5      r> " S! S"\15      r? " S# S$\+5      r@ " S% S&\:\Rj                  \"\   4   \5      rA " S' S(\:\Rl                  \#\   4   \5      rBg))    )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                  ,   ^  \ 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    T/var/www/piano.thomer.com/venv/lib/python3.13/site-packages/anthropic/lib/foundry.pyr*   #MutuallyExclusiveAuthError.__init__   s    |	
     returnNone)__name__
__module____qualname____firstlineno__r*   __static_attributes____classcell__r,   s   @r-   r&   r&      s    
 
r/   r&   c                      \ rS rSrSrg)BaseFoundryClient$   r0   N)r4   r5   r6   r7   r8   r0   r/   r-   r<   r<   $   s    Sr/   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.Nr0   r+   s    r-   batchesMessagesFoundry.batches(        r/   r0   Nr1   r4   r5   r6   r7   r   r   rD   r8   r0   r/   r-   r?   r?   '         r/   r?   c                  2    \ rS rSr\\SS j5       5       rSrg)BetaFoundryMessages/   c                    grB   r0   rC   s    r-   rD   BetaFoundryMessages.batches0   rF   r/   r0   Nr1   rG   r0   r/   r-   rJ   rJ   /   rH   r/   rJ   c                  2    \ rS rSr\\SS j5       5       rSrg)BetaFoundry7   c                ,    [        U R                  5      $ zKReturn beta messages resource instance with excluded unsupported endpoints.)rJ   _clientrC   s    r-   messagesBetaFoundry.messages8   s     #4<<00r/   r0   N)r2   BetaMessagesr4   r5   r6   r7   r   r   rT   r8   r0   r/   r-   rO   rO   7   s    1  1r/   rO   c                  2    \ rS rSr\\SS j5       5       rSrg)AsyncMessagesFoundry?   c                    grB   r0   rC   s    r-   rD   AsyncMessagesFoundry.batches@   rF   r/   r0   Nr1   rG   r0   r/   r-   rY   rY   ?   rH   r/   rY   c                  2    \ rS rSr\\SS j5       5       rSrg)AsyncBetaFoundryMessagesG   c                    grB   r0   rC   s    r-   rD    AsyncBetaFoundryMessages.batchesH   rF   r/   r0   Nr1   rG   r0   r/   r-   r^   r^   G   rH   r/   r^   c                  2    \ rS rSr\\SS j5       5       rSrg)AsyncBetaFoundryO   c                ,    [        U R                  5      $ rR   )r^   rS   rC   s    r-   rT   AsyncBetaFoundry.messagesP   s     (55r/   r0   N)r2   AsyncBetaMessagesrW   r0   r/   r-   rc   rc   O   s    6  6r/   rc   c                    ^  \ rS rSr\SSS\\SSSSS.	                   SS jj5       r\SS\\SSSSS.                   SS jj5       r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U 4S jjj5       r\rSS jr\	SS j5       rSrU =r$ )AnthropicFoundryZ   NF	resourceapi_keyazure_ad_token_providertimeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validationc       	            g Nr0   
r+   rl   rm   rn   ro   rp   rq   rr   rs   rt   s
             r-   r*   AnthropicFoundry.__init__[        r/   rm   rn   ro   rp   rq   rr   rs   rt   c       	            g rv   r0   
r+   base_urlrm   rn   ro   rp   rq   rr   rs   rt   s
             r-   r*   rx   j   ry   r/   
rl   rm   rn   r}   ro   rp   rq   rr   rs   rt   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
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rm   r}   ro   rp   rq   rr   rs   rt   osenvirongetr   
ValueErrorr)   r*   _azure_ad_token_providerr+   rl   rm   rn   r}   ro   rp   rq   rr   rs   rt   r,   s              r-   r*   rx   y       2 %0'bjjnnE`6a'38Hd9e'38Hd9e?6>  Y    K  "(+LMH!KLL#+'#(C 	 		
 )@%r/   c                    g)z>Models endpoint is not supported for Anthropic Foundry client.Nr0   rC   s    r-   modelsAnthropicFoundry.models   rF   r/   c                    [        U S9$ zFReturn messages resource instance with excluded unsupported endpoints.client)r?   rC   s    r-   rT   AnthropicFoundry.messages   s     d++r/   c                    [        U 5      $ )BReturn beta resource instance with excluded unsupported endpoints.)rO   rC   s    r-   betaAnthropicFoundry.beta   s     4  r/   rm   rn   
auth_tokenr}   ro   rs   rp   rq   set_default_headersrr   set_default_query_extra_kwargsc               `   > [         TU ]  UUUUUUUU	U
USU=(       d    U R                  0UES9$ zn
Create a new client instance re-using the same options given to the current client with optional overriding.
rn   )rm   r   r}   ro   rs   rp   rq   r   rr   r   r   r)   copyr   r+   rm   rn   r   r}   ro   rs   rp   rq   r   rr   r   r   r,   s                r-   r   AnthropicFoundry.copy   W    ( w|!##+ 3'/)+B+cdFcFc  
 	
r/   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   
isinstancestrr   r+   providertokens      r-   _get_azure_ad_token$AnthropicFoundry._get_azure_ad_token   sL    00JE
5# 6 6 efkelm  Lr/   c                j   [        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
                  b2  UR	                  S5      c  U R
                  c   eU R
                  US'   U$ [        S5      eNAuthorizationzBearer zapi-keyzUnable to handle authr   headersr   r   r   rm   r   r+   optionsr   azure_ad_tokens       r-   _prepare_options!AnthropicFoundry._prepare_options   s    @H@Y@Y)<GOO)<_aW%!113%{{?+3-4^4D+E(  \\%{{9%-||///%)\\	"
  455r/   r   )rl   
str | Nonerm   r   rn   AzureADTokenProvider | Nonero   !float | Timeout | None | NotGivenrp   intrq   Mapping[str, str] | Nonerr   Mapping[str, object] | Noners   httpx.Client | Nonert   boolr2   r3   )r}   r   rm   r   rn   r   ro   r   rp   r   rq   r   rr   r   rs   r   rt   r   r2   r3   )rl   r   rm   r   rn   r   r}   r   ro   r   rp   r   rq   r   rr   r   rs   r   rt   r   r2   r3   r1   )r2   r?   )r2   r   )rm   r   rn   r   r   r   r}   str | httpx.URL | Nonero   r   rs   r   rp   int | NotGivenrq   r   r   r   rr   r   r   r   r   Mapping[str, Any]r2   r   r2   r   r   r   r2   r   r4   r5   r6   r7   r   r   r   r*   r   r   r   rT   r   r   with_optionsr   r   r8   r9   r:   s   @r-   ri   ri   Z   s     $"?C5>.4859+/,1  	
 "= 3  2 3 ) &* 
  
 #?C5>.4859+/,1  	
 "= 3  2 3 ) &* 
 "  $"?C#5>.4859+/,15@ 5@ 	5@
 "=5@ 5@ 35@ 5@ 25@ 35@ )5@ &*5@ 
5@ 5@n    ,  , !  !  #?C!%+/5>+/&/488<599=+-"
 "
 "=	"

 "
 )"
 3"
 )"
 $"
 2"
 6"
 3"
 7"
 )"
 
"
 "
H L
  r/   ri   c                    ^  \ rS rSr\SSS\\SSSSS.	                   SS jj5       r\SS\\SSSSS.                   SS jj5       r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U 4S jjj5       r\rSS jr\	SS j5       rSrU =r$ )AsyncAnthropicFoundryi  NFrk   c       	            g rv   r0   rw   s
             r-   r*   AsyncAnthropicFoundry.__init__  ry   r/   rz   c       	            g rv   r0   r|   s
             r-   r*   r     ry   r/   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
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              r-   r*   r   *  r   r/   c                    g)z<Models endpoint is not supported for Azure Anthropic client.Nr0   rC   s    r-   r   AsyncAnthropicFoundry.modelsa  rF   r/   c                    [        U S9$ r   )rY   rC   s    r-   rT   AsyncAnthropicFoundry.messagesg  s     $400r/   c                    [        U S9$ )r   r   )rc   rC   s    r-   r   AsyncAnthropicFoundry.betam  s      t,,r/   r   c               `   > [         TU ]  UUUUUUUU	U
USU=(       d    U R                  0UES9$ r   r   r   s                r-   r   AsyncAnthropicFoundry.copys  r   r/   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      r-   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
                  b2  U R
                  c   eUR	                  S5      c  U R
                  US'   U$ [        S5      e Nm7fr   r   r   s       r-   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B?A.Cr   )rl   r   rm   r   rn    AsyncAzureADTokenProvider | Nonero   r   rp   r   rq   r   rr   r   rs   httpx.AsyncClient | Nonert   r   r2   r3   )r}   r   rm   r   rn   r   ro   r   rp   r   rq   r   rr   r   rs   r   rt   r   r2   r3   )rl   r   rm   r   rn   r   r}   r   ro   r   rp   r   rq   r   rr   r   rs   r   rt   r   r2   r3   r1   )r2   rY   )r2   rc   )rm   r   rn   r   r   r   r}   r   ro   r   rs   r   rp   r   rq   r   r   r   rr   r   r   r   r   r   r2   r   r   r   r   r:   s   @r-   r   r     s     $"DH5>.485904,1  	
 "B 3  2 3 . &* 
  
 #DH5>.485904,1  	
 "B 3  2 3 . &* 
 "  $"DH#5>.485904,15@ 5@ 	5@
 "B5@ 5@ 35@ 5@ 25@ 35@ .5@ &*5@ 
5@ 5@n    1  1 -  -  #DH!%+/5>04&/488<599=+-"
 "
 "B	"

 "
 )"
 3"
 ."
 $"
 2"
 6"
 3"
 7"
 )"
 
"
 "
H L  r/   r   )C
__future__r   r   r   typingr   r   r   r   r   r	   r
   r   	functoolsr   typing_extensionsr   r   httpx_typesr   r   r   r   _utilsr   rS   r   r   _compatr   _modelsr   
_streamingr   r   _exceptionsr   _base_clientr   r   resources.betar   r   resources.messagesr    r!   resources.beta.messagesrV   rg   r   AzureADTokenProviderAsyncAzureADTokenProviderClientAsyncClientr"   r$   r&   r<   r?   rJ   rO   rY   r^   rc   ri   r   r0   r/   r-   <module>r      sZ   " 	  T T T % ,  7 7  /   ) , ( : , 8 bC( $R)?%?@ uU\\5CTCT5T/UV+5kRUFV9V3WX
 
 I
=/#AB Hh , 1$ 1= 0 6y 6n(vc{)BCY nbp-e.?.?SAQ.QRTb pr/   