
    b\jSH                    D   S SK Jr  S SKrS SKJrJrJrJrJrJ	r	  S SK
JrJr  S SK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rJr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'J(r(  SSK)J*r*  SSK+J,r,J-r-J.r.J/r/J0r0  SSK1J2r2J3r3  \(       a  S SK4J5r6  Sr7\" S\\Rp                  \Rr                  4   S9r:\" S\\%\   \&\   4   S9r; " S S\-\:\;4   5      r< " S S\<\Rp                  \%\   4   \.5      r= " S S\<\Rr                  \&\   4   \/5      r>S S jr?g)!    )annotationsN)TYPE_CHECKINGAnyUnionMappingTypeVarSequence)Selfoverride   )_exceptions   )	load_authrefresh_auth)Beta	AsyncBeta)	NOT_GIVENNotGiven)is_dictasyncifyis_given)
model_copytyped_cached_property)FinalRequestOptions)__version__)StreamAsyncStream)AnthropicErrorAPIStatusError)MiddlewareInput)DEFAULT_MAX_RETRIES
BaseClientSyncAPIClientAsyncAPIClientmerge_headers)MessagesAsyncMessages)Credentialszvertex-2023-10-16_HttpxClientT)bound_DefaultStreamTc                  `    \ rS rSr\SS j5       r\SS j5       r\        S	S j5       rSr	g)
BaseVertexClient'   c                    [        S5      e)Nzregion not set)RuntimeError)selfs    R/var/www/website/venv/lib/python3.13/site-packages/anthropic/lib/vertex/_client.pyregionBaseVertexClient.region(   s    +,,    c                T    [         R                  R                  S5      nU(       a  U$ g )NANTHROPIC_VERTEX_PROJECT_ID)osenvirongetr1   
project_ids     r2   r<   BaseVertexClient.project_id,   s!    ZZ^^$AB
r5   c                  UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R
                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S	:X  a  [        R                  " XUS9$ UR                   S
:X  a  [        R                  " XUS9$ UR                   S:  a  [        R                  " XUS9$ [        XUS9$ )Ni  )responsebodyi  i  i  i  i  i  i  i  i  )status_coder   BadRequestErrorAuthenticationErrorPermissionDeniedErrorNotFoundErrorConflictErrorUnprocessableEntityErrorRateLimitErrorServiceUnavailableErrorDeadlineExceededErrorInternalServerErrorr   )r1   err_msgr@   r?   s       r2   _make_status_error#BaseVertexClient._make_status_error4   sb    3&..wPTUU3&227TXYY3&44WVZ[[3&,,WdSS3&,,WdSS3&77Y]^^3&--gtTT3&66wX\]]3&44WVZ[[3&227TXYYgtDDr5    Nreturnstr)rQ   
str | None)rL   rR   r@   objectr?   zhttpx.ResponserQ   r   )
__name__
__module____qualname____firstlineno__r   r3   r<   r   rM   __static_attributes__rO   r5   r2   r-   r-   '   sh    - -   $E$E 	$E
 !$E 
$E $Er5   r-   c                  8  ^  \ rS rSr% S\S'   S\S'   \\SSS\\SSSSSS.                         SU 4S	 jjjr\SS
 j5       r	\SS j5       r
SS jr\\SSS\S\SSSS\0 S.                             SS jjr\rSS jrSrU =r$ )AnthropicVertex\   r&   messagesr   betaNFr3   r<   access_tokencredentialsbase_urltimeoutmax_retriesdefault_headersdefault_queryhttp_client
middleware_strict_response_validationc                 > [        U5      (       d$  [        R                  R                  S[        5      n[        U5      (       d  [        S5      eUcC  [        R                  R                  S5      nUc!  US:X  a  SnOUS:X  a  SnOUS:X  a  S	nOS
U S3n[        TU ]  [        UUUUU	U
UUS9	  [        U5      (       a  X l	        Xl
        X0l        X@l        [        U 5      U l        [        U 5      U l        g NCLOUD_ML_REGIONzNo region was given. The client should be instantiated with the `region` argument or the `CLOUD_ML_REGION` environment variable should be set.ANTHROPIC_VERTEX_BASE_URLglobalz$https://aiplatform.googleapis.com/v1usz+https://aiplatform.us.rep.googleapis.com/v1euz+https://aiplatform.eu.rep.googleapis.com/v1zhttps://z-aiplatform.googleapis.com/v1)	versionrb   rc   rd   custom_headerscustom_queryrg   rh   ri   )r   r8   r9   r:   r   
ValueErrorsuper__init__r   r<   r3   r`   ra   r&   r]   r   r^   r1   r3   r<   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   	__class__s                r2   rv   AnthropicVertex.__init__`   s    " ZZ^^$5yAF a  zz~~&ABHX%EHt^LHt^LH!)&1NOH#*&#!(C 	 
	
 J(O(& J	r5   c                >    [        XR                  U R                  S9$ N)r<   r3   _prepare_optionsr<   r3   r1   optionss     r2   r}    AnthropicVertex._prepare_options   s    OODKKXXr5   c                    UR                   R                  S5      (       a  g SU R                  5        3UR                   S'   g NAuthorizationzBearer headersr:   _ensure_access_tokenr1   requests     r2   _prepare_request AnthropicVertex._prepare_request   s9    ??//-4T5N5N5P4Q+R(r5   c                   U R                   b  U R                   $ U R                  (       d2  [        U R                  S9u  U l        nU R                  (       d  Xl        U R                  R                  (       d  U R                  R
                  (       d  [        U R                  5        U R                  R
                  (       d  [        S5      e[        U R                  R
                  [        5      (       d   eU R                  R
                  $ N)r<   z0Could not resolve API token from the environment)
r`   ra   r   r<   expiredtokenr   r0   
isinstancerR   r;   s     r2   r   $AnthropicVertex._ensure_access_token   s    ($$$+4+P(Dj??",##4+;+;+A+A))*%%QRR$**00#6666%%%r5   r3   r<   r`   ra   rb   rc   rg   rd   re   set_default_headersrf   set_default_queryrh   _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=(       d    U R                  nU R
                  " S[        U5      (       a  UOU R                  [        U5      (       a  UOU R                  =(       d    [        U=(       d    U R                  U=(       d    U R                  U=(       d    U R                  [        U[        5      (       a  U R                  OUU[        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)r3   r<   r`   ra   rb   rc   rg   rd   re   rf   rh   rO   rt   _custom_headersr%   _custom_query_clientrx   r   r3   r<   r   r`   ra   rb   r   r   rc   rd   _middlewarer1   r3   r<   r`   ra   rb   rc   rg   rd   re   r   rf   r   rh   r   r   paramss                    r2   copyAnthropicVertex.copy   R   * &+>+Jopp$):)Fkll&&&#G=G ,)G##$00-0F*&F!1T\\~~ 
%f--64;;%-j%9%9zt?[R[%:):):#7t'7'7.$.w$A$ADLLw#'/'<'<$BRBR# +5j(+K+Kt''Q[
 
 	
r5   c                <    U R                  / U R                  QUQS9$ zA new client with the given middleware appended after this client's middleware.

Convenience for applying extra middleware to a single request:

```py
client.with_middleware(my_middleware).messages.create(...)
```
)rh   r   r   r1   rh   s     r2   with_middlewareAnthropicVertex.with_middleware   &     yy$Dd&6&6$D$DyEEr5   r`   r^   ra   r]   r<   r3   )r3   str | NotGivenr<   r   r`   rS   ra   GoogleCredentials | Nonerb   str | httpx.URL | Nonerc   'float | httpx.Timeout | None | NotGivenrd   intre   Mapping[str, str] | Nonerf   Mapping[str, object] | Nonerg   httpx.Client | Nonerh    Sequence[MiddlewareInput] | Noneri   boolrQ   Noner   r   rQ   r   r   zhttpx.RequestrQ   r   rP   )r3   r   r<   r   r`   rS   ra   r   rb   r   rc   r   rg   r   rd   int | NotGivenre   r   r   r   rf   r   r   r   rh   +Sequence[MiddlewareInput] | None | NotGivenr   Mapping[str, Any]rQ   r
   rh   r    rQ   r
   rU   rV   rW   rX   __annotations__r   r!   rv   r   r}   r   r   r   with_optionsr   rY   __classcell__rx   s   @r2   r[   r[   \   s   
J
 "+%.#'04+/;D.4859+/7;,18 8 #	8
 !8 .8 )8 98 8 28 38 )8 58 &*8  
!8 8t Y Y S S&* "+%.#'04+/;D+/&/488<599=BK+-!6
 6
 #	6

 !6
 .6
 )6
 96
 )6
 $6
 26
 66
 36
 76
 @6
  )!6
" 
#6
t L	F 	Fr5   r[   c                  8  ^  \ rS rSr% S\S'   S\S'   \\SSS\\SSSSSS.                         SU 4S	 jjjr\SS
 j5       r	\SS j5       r
SS jr\\SSS\S\SSSS\0 S.                             SS jjr\rSS jrSrU =r$ )AsyncAnthropicVertex   r'   r]   r   r^   NFr_   c                 > [        U5      (       d$  [        R                  R                  S[        5      n[        U5      (       d  [        S5      eUcC  [        R                  R                  S5      nUc!  US:X  a  SnOUS:X  a  SnOUS:X  a  S	nOS
U S3n[        TU ]  [        UUUUU	U
UUS9	  [        U5      (       a  X l	        Xl
        X0l        X@l        [        U 5      U l        [        U 5      U l        g rk   )r   r8   r9   r:   r   rt   ru   rv   r   r<   r3   r`   ra   r'   r]   r   r^   rw   s                r2   rv   AsyncAnthropicVertex.__init__  s    " ZZ^^$5yAF a  zz~~&ABHX%EHt^LHt^LH!)&1NOH#*&#!(C 	 
	
 J(O(&%d+dO	r5   c                F   #    [        XR                  U R                  S9$ 7fr{   r|   r~   s     r2   r}   %AsyncAnthropicVertex._prepare_options>  s     OODKKXXs   !c                   #    UR                   R                  S5      (       a  g SU R                  5       I S h  vN  3UR                   S'   g  N7fr   r   r   s     r2   r   %AsyncAnthropicVertex._prepare_requestB  sB     ??//-44;T;T;V5V4W+X(5Vs   6AAAc                v  #    U R                   b  U R                   $ U R                  (       dD  [        [        5      " U R                  S9I S h  vN u  U l        nU R                  (       d  Xl        U R                  R
                  (       d  U R                  R                  (       d'  [        [        5      " U R                  5      I S h  vN   U R                  R                  (       d  [        S5      e[        U R                  R                  [        5      (       d   eU R                  R                  $  N Nm7fr   )r`   ra   r   r   r<   r   r   r   r0   r   rR   r;   s     r2   r   )AsyncAnthropicVertex._ensure_access_tokenJ  s     ($$$19)1DPTP_P_1`+`(Dj??",##4+;+;+A+A<()9)9:::%%QRR$**00#6666%%% ,a
 ;s&   AD9D5A;D9	D7
A,D97D9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=(       d    U R                  nU R
                  " S[        U5      (       a  UOU R                  [        U5      (       a  UOU R                  =(       d    [        U=(       d    U R                  U=(       d    U R                  U=(       d    U R                  [        U[        5      (       a  U R                  OUU[        U5      (       a  UOU R                   UU[        U[        5      (       a  U R"                  OUS.UD6$ r   r   r   s                    r2   r   AsyncAnthropicVertex.copy\  r   r5   c                <    U R                  / U R                  QUQS9$ r   r   r   s     r2   r   $AsyncAnthropicVertex.with_middleware  r   r5   r   )r3   r   r<   r   r`   rS   ra   r   rb   r   rc   r   rd   r   re   r   rf   r   rg   httpx.AsyncClient | Nonerh   r   ri   r   rQ   r   r   r   rP   )r3   r   r<   r   r`   rS   ra   r   rb   r   rc   r   rg   r   rd   r   re   r   r   r   rf   r   r   r   rh   r   r   r   rQ   r
   r   r   r   s   @r2   r   r      s   
O
 "+%.#'04+/;D.4859047;,18$ 8$ #	8$
 !8$ .8$ )8$ 98$ 8$ 28$ 38$ .8$ 58$ &*8$  
!8$ 8$t Y Y Y Y&* "+%.#'04+/;D04&/488<599=BK+-!6
 6
 #	6

 !6
 .6
 )6
 96
 .6
 $6
 26
 66
 36
 76
 @6
  )!6
" 
#6
t L	F 	Fr5   r   c                  [        U SS9n[        UR                  5      (       a   UR                  R                  S[        5        UR
                  S;   a  UR                  S:X  a  Uc  [        S5      e[        UR                  5      (       d  [        S5      eUR                  R                  S5      nUR                  R                  S	S
5      nU(       a  SOSnSU SU SU SU 3Ul        UR
                  S;   a,  UR                  S:X  a  Uc  [        S5      eSU SU S3Ul        UR
                  R                  S5      (       a  [        S5      eU$ )NT)deepanthropic_version>   /v1/messages/v1/messages?beta=truepostzNo project_id was given and it could not be resolved from credentials. The client should be instantiated with the `project_id` argument or the `ANTHROPIC_VERTEX_PROJECT_ID` environment variable should be set.z;Expected json data to be a dictionary for post /v1/messagesmodelstreamFstreamRawPredict
rawPredictz
/projects/z/locations/z/publishers/anthropic/models/:>   /v1/messages/count_tokens#/v1/messages/count_tokens?beta=truez4/publishers/anthropic/models/count-tokens:rawPredictz/v1/messages/batchesz7The Batch API is not supported in the Vertex client yet)r   r   	json_data
setdefaultDEFAULT_VERSIONurlmethodr0   popr:   
startswithr   )input_optionsr<   r3   r   r   r   	specifiers          r2   r}   r}     sZ   T2Gw  !!$$%8/J{{@@W^^W]E] c  w(())\]]!!%%g.""&&x7*0&l	":,k&A^_d^eefgpfqr{{ZZ_f_m_mqw_w c  #:,k&Auv{{455VWWNr5   )r   r   r<   rS   r3   rR   rQ   r   )@
__future__r   r8   typingr   r   r   r   r   r	   typing_extensionsr
   r   httpx r   _authr   r   _betar   r   _typesr   r   _utilsr   r   r   _compatr   r   _modelsr   _versionr   
_streamingr   r   r   r   r   r    _base_clientr!   r"   r#   r$   r%   resources.messagesr&   r'   google.auth.credentialsr(   GoogleCredentialsr   ClientAsyncClientr)   r+   r-   r[   r   r}   rO   r5   r2   <module>r      s   " 	 H H ,   * " ) 1 1 8 * # - 9 *  :H &uU\\5CTCT5T/UV+5kRUFV9V3WX2Ez-"@A 2EjaF&u||VC['@A= aFHaF+E,=,={3?O,OPR` aFH r5   