Ë
    Âj³B  ã                  ó0  — d dl mZ d dlZd dlmZmZmZmZmZ d dl	m
Z
mZ d dl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ZmZ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&m'Z' ddl(m)Z)m*Z*m+Z+m,Z, ddl-m.Z.m/Z/ erd dl0m1Z2 dZ3 edeejh                  ejj                  f   ¬«      Z6 edee$e   e%e   f   ¬«      Z7 G d„ de*e6e7f   «      Z8 G d„ de8ejh                  e$e   f   e+«      Z9 G d„ de8ejj                  e%e   f   e,«      Z:dd„Z;y) é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚUnionÚMappingÚTypeVar)Ú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)ÚDEFAULT_MAX_RETRIESÚ
BaseClientÚSyncAPIClientÚAsyncAPIClient)ÚMessagesÚAsyncMessages)ÚCredentialszvertex-2023-10-16Ú_HttpxClientT)ÚboundÚ_DefaultStreamTc                  óR   — e Zd Zedd„«       Zedd„«       Ze	 	 	 	 	 	 	 	 dd„«       Zy)ÚBaseVertexClientc                ó   — t        d«      ‚)Nzregion not set)ÚRuntimeError)Úselfs    úO/var/www/html/venv/lib/python3.12/site-packages/anthropic/lib/vertex/_client.pyÚregionzBaseVertexClient.region&   s   € äÐ+Ó,Ð,ó    c                óJ   — t         j                  j                  d«      }|r|S y )NÚANTHROPIC_VERTEX_PROJECT_ID)ÚosÚenvironÚget©r-   Ú
project_ids     r.   r7   zBaseVertexClient.project_id*   s!   € ä—Z‘Z—^‘^Ð$AÓBˆ
ÙØÐàr0   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�  )ÚresponseÚbodyi‘  i“  i”  i™  i¦  i­  i÷  iø  iô  )Ústatus_coder   ÚBadRequestErrorÚAuthenticationErrorÚPermissionDeniedErrorÚNotFoundErrorÚConflictErrorÚUnprocessableEntityErrorÚRateLimitErrorÚServiceUnavailableErrorÚDeadlineExceededErrorÚInternalServerErrorr   )r-   Úerr_msgr:   r9   s       r.   Ú_make_status_errorz#BaseVertexClient._make_status_error2   sx  € ð ×Ñ 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Ò&Ü×7Ñ7¸È(ÐY]Ô^Ð^à×Ñ 3Ò&Ü×-Ñ-¨gÀÈtÔTÐTà×Ñ 3Ò&Ü×6Ñ6°wÈÐX\Ô]Ð]à×Ñ 3Ò&Ü×4Ñ4°WÀxÐVZÔ[Ð[à×Ñ 3Ò&Ü×2Ñ2°7ÀXÐTXÔYÐYÜ˜g°¸tÔDÐDr0   N©ÚreturnÚstr)rI   ú
str | None)rF   rJ   r:   Úobjectr9   zhttpx.ResponserI   r   )Ú__name__Ú
__module__Ú__qualname__r   r/   r7   r
   rG   © r0   r.   r*   r*   %   sh   „ Øò-ó ð-ð òó ðð ð$Eàð$Eð ð	$Eð
 !ð$Eð 
ò$Eó ñ$Er0   r*   c                  ó
  ‡ — e Zd ZU ded<   ded<   eedddeedddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zedd	„«       Zedd
„«       Z	dd„Z
eedddededdddi dœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„ZeZˆ xZS )ÚAnthropicVertexr#   Úmessagesr   ÚbetaNF©r/   r7   Úaccess_tokenÚcredentialsÚbase_urlÚtimeoutÚmax_retriesÚdefault_headersÚdefault_queryÚhttp_clientÚ_strict_response_validationc          
     óÖ  •— t        |«      s$t        j                  j                  dt        «      }t        |«      st        d«      ‚|€?t        j                  j                  d«      }|€|dk(  rd}n|dk(  rd}n|dk(  rd	}nd
|› d�}t        ‰| �  t        |||||	|
|¬«       t        |«      r|| _	        || _
        || _        || _        t        | «      | _        t        | «      | _        y ©NÚCLOUD_ML_REGIONzŽNo 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)ÚversionrX   rY   rZ   Úcustom_headersÚcustom_queryr]   r^   )r   r3   r4   r5   r   Ú
ValueErrorÚsuperÚ__init__r   r7   r/   rV   rW   r#   rS   r   rT   ©r-   r/   r7   rV   rW   rX   rY   rZ   r[   r\   r]   r^   Ú	__class__s               €r.   rk   zAnthropicVertex.__init__^   sú   ø€ ô  ˜ÔÜ—Z‘Z—^‘^Ð$5´yÓAˆFÜ˜ÔÜð aóð ð ÐÜ—z‘z—~‘~Ð&AÓBˆHØÐØ˜XÒ%ØE‘HØ˜t’^ØL‘HØ˜t’^ØL‘Hà!)¨&¨Ð1NÐO�Hä‰ÑÜØØØ#Ø*Ø&Ø#Ø(Cð 	ô 		
ô �JÔØ(ˆDŒOàˆŒØ(ˆÔØ&ˆÔä  ›ˆŒÜ˜“Jˆ�	r0   c                óF   — t        || j                  | j                  ¬«      S ©N)r7   r/   ©Ú_prepare_optionsr7   r/   ©r-   Úoptionss     r.   rq   z AnthropicVertex._prepare_options–   s   € ä °D·O±OÈDÏKÉKÔXÐXr0   c                ó|   — |j                   j                  d«      ry d| j                  «       › �|j                   d<   y ©NÚAuthorizationzBearer ©Úheadersr5   Ú_ensure_access_token©r-   Úrequests     r.   Ú_prepare_requestz AnthropicVertex._prepare_requestš   s6   € à�?‰?×Ñ˜Ô/àà-4°T×5NÑ5NÓ5PÐ4QÐ+Rˆ�‰˜Ò(r0   c                óè  — | j                   �| j                   S | j                  s1t        | j                  ¬«      \  | _        }| j                  s|| _        | j                  j                  s| j                  j
                  st        | j                  «       | j                  j
                  st        d«      ‚t        | j                  j
                  t        «      sJ ‚| j                  j
                  S ©N)r7   z0Could not resolve API token from the environment)
rV   rW   r   r7   ÚexpiredÚtokenr   r,   Ú
isinstancerJ   r6   s     r.   ry   z$AnthropicVertex._ensure_access_token¢   s»   € Ø×ÑÐ(Ø×$Ñ$Ð$à×ÒÜ+4ÀÇÁÔ+PÑ(ˆDÔ˜jØ—?’?Ø",�”à×Ñ×#Ò#¨4×+;Ñ+;×+AÒ+AÜ˜×)Ñ)Ô*à×Ñ×%Ò%ÜÐQÓRÐRä˜$×*Ñ*×0Ñ0´#Ô6Ð6Ð6Ø×Ñ×%Ñ%Ð%r0   ©r/   r7   rV   rW   rX   rY   r]   rZ   r[   Úset_default_headersr\   Úset_default_queryÚ_extra_kwargsc               ó"  — |	�|
�t        d«      ‚|�|�t        d«      ‚| j                  }|	�i |¥|	¥}n|
�|
}| j                  }|�i |¥|¥}n|�|}|xs | j                  } | j                  dt        |«      r|n| j                  t        |«      r|n| j                  xs t        |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 exclusive)
r/   r7   rV   rW   rX   rY   r]   rZ   r[   r\   rP   ©ri   Ú_custom_headersÚ_custom_queryÚ_clientrm   r   r/   r7   r   rV   rW   rX   r�   r   rY   rZ   ©r-   r/   r7   rV   rW   rX   rY   r]   rZ   r[   rƒ   r\   r„   r…   rx   Úparamss                   r.   ÚcopyzAnthropicVertex.copy´   ó5  € ð( Ð&Ð+>Ð+JÜÐoÓpÐpàÐ$Ð):Ð)FÜÐkÓlÐlà×&Ñ&ˆØÐ&Ø4˜Ð4 OÐ4‰GØ Ð,Ø)ˆGà×#Ñ#ˆØÐ$Ø0˜Ð0 -Ð0‰FØÐ*Ø&ˆFà!Ò1 T§\¡\ˆàˆt�~‰~ð 
Ü% fÔ-‘6°4·;±;Ü%-¨jÔ%9‘z¸t¿¹Ò?[ÔR[Ø%Ò:¨×):Ñ):Ø#Ò7 t×'7Ñ'7ØÒ. §¡Ü$.¨w¼Ô$A�D—L’LÀwØ#Ü'/°Ô'<™À$×BRÑBRØ#Ø ñ
ð ñ
ð 	
r0   )r/   ústr | NotGivenr7   r�   rV   rK   rW   úGoogleCredentials | NonerX   ústr | httpx.URL | NonerY   ú'float | httpx.Timeout | None | NotGivenrZ   Úintr[   úMapping[str, str] | Noner\   úMapping[str, object] | Noner]   úhttpx.Client | Noner^   ÚboolrI   ÚNone©rs   r   rI   r   ©r{   zhttpx.RequestrI   r™   rH   )r/   r�   r7   r�   rV   rK   rW   r‘   rX   r’   rY   r“   r]   r—   rZ   úint | NotGivenr[   r•   rƒ   r•   r\   r–   r„   r–   r…   úMapping[str, Any]rI   r	   ©rM   rN   rO   Ú__annotations__r   r   rk   r
   rq   r|   ry   rŽ   Úwith_optionsÚ__classcell__©rm   s   @r.   rR   rR   Z   s¢  ø… ØÓØ
ƒJð
 "+Ø%.Ø#'Ø04Ø+/Ø;DØ.Ø48Ø59à+/Ø,1ñ6ð ð6ð #ð	6ð
 !ð6ð .ð6ð )ð6ð 9ð6ð ð6ð 2ð6ð 3ð6ð )ð6ð &*ð6ð 
õ6ðp òYó ðYð òSó ðSó&ð* "+Ø%.Ø#'Ø04Ø+/Ø;DØ+/Ø&/Ø48Ø8<Ø59Ø9=Ø+-ñ4
ð ð4
ð #ð	4
ð
 !ð4
ð .ð4
ð )ð4
ð 9ð4
ð )ð4
ð $ð4
ð 2ð4
ð 6ð4
ð 3ð4
ð 7ð4
ð )ð4
ð  
ó!4
ðp „Lr0   rR   c                  ó
  ‡ — e Zd ZU ded<   ded<   eedddeedddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zedd	„«       Zedd
„«       Z	dd„Z
eedddededdddi dœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„ZeZˆ xZS )ÚAsyncAnthropicVertexr$   rS   r   rT   NFrU   c          
     óÖ  •— t        |«      s$t        j                  j                  dt        «      }t        |«      st        d«      ‚|€?t        j                  j                  d«      }|€|dk(  rd}n|dk(  rd}n|dk(  rd	}nd
|› d�}t        ‰| �  t        |||||	|
|¬«       t        |«      r|| _	        || _
        || _        || _        t        | «      | _        t        | «      | _        y r`   )r   r3   r4   r5   r   ri   rj   rk   r   r7   r/   rV   rW   r$   rS   r   rT   rl   s               €r.   rk   zAsyncAnthropicVertex.__init__ó   sû   ø€ ô  ˜ÔÜ—Z‘Z—^‘^Ð$5´yÓAˆFÜ˜ÔÜð aóð ð ÐÜ—z‘z—~‘~Ð&AÓBˆHØÐØ˜XÒ%ØE‘HØ˜t’^ØL‘HØ˜t’^ØL‘Hà!)¨&¨Ð1NÐO�Hä‰ÑÜØØØ#Ø*Ø&Ø#Ø(Cð 	ô 		
ô �JÔØ(ˆDŒOàˆŒØ(ˆÔØ&ˆÔä% dÓ+ˆŒÜ˜d“Oˆ�	r0   c              ƒ  óN   K  — t        || j                  | j                  ¬«      S ­wro   rp   rr   s     r.   rq   z%AsyncAnthropicVertex._prepare_options+  s   è ø€ ä °D·O±OÈDÏKÉKÔXÐXùs   ‚#%c              ƒ  ó˜   K  — |j                   j                  d«      ry d| j                  «       ƒ d {  –—† › �|j                   d<   y 7 Œ­wru   rw   rz   s     r.   r|   z%AsyncAnthropicVertex._prepare_request/  s@   è ø€ à�?‰?×Ñ˜Ô/àà-4¸4×;TÑ;TÓ;V×5VÐ4WÐ+Xˆ�‰˜Ò(Ð5Vús   ‚1A
³A´A
c              ƒ  ó@  K  — | j                   �| j                   S | j                  sC t        t        «      | j                  ¬«      ƒ d {  –—† \  | _        }| j                  s|| _        | j                  j
                  s| j                  j                  s' t        t        «      | j                  «      ƒ d {  –—†  | j                  j                  st        d«      ‚t        | j                  j                  t        «      sJ ‚| j                  j                  S 7 ŒÏ7 Œc­wr~   )rV   rW   r   r   r7   r   r€   r   r,   r�   rJ   r6   s     r.   ry   z)AsyncAnthropicVertex._ensure_access_token7  så   è ø€ Ø×ÑÐ(Ø×$Ñ$Ð$à×ÒØ1D´¼)Ó1DÐPT×P_ÑP_Ô1`×+`Ñ(ˆDÔ˜jØ—?’?Ø",�”à×Ñ×#Ò#¨4×+;Ñ+;×+AÒ+AØ(”(œ<Ó(¨×)9Ñ)9Ó:×:Ð:à×Ñ×%Ò%ÜÐQÓRÐRä˜$×*Ñ*×0Ñ0´#Ô6Ð6Ð6Ø×Ñ×%Ñ%Ð%ð ,aøð
 ;ús&   ‚ADÁ
DÁA-DÂ8DÂ9A"DÄDr‚   c               ó"  — |	�|
�t        d«      ‚|�|�t        d«      ‚| j                  }|	�i |¥|	¥}n|
�|
}| j                  }|�i |¥|¥}n|�|}|xs | j                  } | j                  dt        |«      r|n| j                  t        |«      r|n| j                  xs t        |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AsyncAnthropicVertex.copyI  r�   r0   )r/   r�   r7   r�   rV   rK   rW   r‘   rX   r’   rY   r“   rZ   r”   r[   r•   r\   r–   r]   úhttpx.AsyncClient | Noner^   r˜   rI   r™   rš   r›   rH   )r/   r�   r7   r�   rV   rK   rW   r‘   rX   r’   rY   r“   r]   rª   rZ   rœ   r[   r•   rƒ   r•   r\   r–   r„   r–   r…   r�   rI   r	   rž   r¢   s   @r.   r¤   r¤   ï   s¢  ø… ØÓØ
ƒOð
 "+Ø%.Ø#'Ø04Ø+/Ø;DØ.Ø48Ø59à04Ø,1ñ6$ð ð6$ð #ð	6$ð
 !ð6$ð .ð6$ð )ð6$ð 9ð6$ð ð6$ð 2ð6$ð 3ð6$ð .ð6$ð &*ð6$ð 
õ6$ðp òYó ðYð òYó ðYó&ð* "+Ø%.Ø#'Ø04Ø+/Ø;DØ04Ø&/Ø48Ø8<Ø59Ø9=Ø+-ñ4
ð ð4
ð #ð	4
ð
 !ð4
ð .ð4
ð )ð4
ð 9ð4
ð .ð4
ð $ð4
ð 2ð4
ð 6ð4
ð 3ð4
ð 7ð4
ð )ð4
ð  
ó!4
ðp „Lr0   r¤   c               óz  — t        | d¬«      }t        |j                  «      r |j                  j                  dt        «       |j
                  dv rŒ|j                  dk(  r}|€t        d«      ‚t        |j                  «      st        d«      ‚|j                  j                  d«      }|j                  j                  d	d
«      }|rdnd}d|› d|› d|› d|› �|_        |j
                  dv r*|j                  dk(  r|€t        d«      ‚d|› d|› d�|_        |j
                  j                  d«      rt        d«      ‚|S )NT)ÚdeepÚanthropic_version>   ú/v1/messagesú/v1/messages?beta=trueÚpostzÐNo 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Úmethodr,   Úpopr5   Ú
startswithr   )Úinput_optionsr7   r/   rs   r±   r²   Ú	specifiers          r.   rq   rq   „  sQ  € Ü˜¨TÔ2€Gäˆw× Ñ Ô!Ø×Ñ×$Ñ$Ð%8¼/ÔJà‡{�{Ð@Ñ@ÀWÇ^Á^ÐW]ÒE]ØÐÜð cóð ô �w×(Ñ(Ô)ÜÐ\Ó]Ð]à×!Ñ!×%Ñ% gÓ.ˆØ×"Ñ"×&Ñ& x°Ó7ˆÙ*0Ñ&°lˆ	à" : ,¨k¸&¸ÐA^Ð_dÐ^eÐefÐgpÐfqÐrˆŒà‡{�{ÐZÑZÐ_f×_mÑ_mÐqwÒ_wØÐÜð cóð ð # : ,¨k¸&¸ÐAuÐvˆŒà‡{�{×ÑÐ4Ô5ÜÐVÓWÐWà€Nr0   )r¿   r   r7   rK   r/   rJ   rI   r   )<Ú
__future__r   r3   Útypingr   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   Ú_base_clientr   r    r!   r"   Úresources.messagesr#   r$   Úgoogle.auth.credentialsr%   ÚGoogleCredentialsrº   ÚClientÚAsyncClientr&   r(   r*   rR   r¤   rq   rP   r0   r.   Ú<module>rÔ      sÿ   ðÝ "ã 	ß >Õ >ß ,ã å ß *ß "ß )ß 1Ñ 1ß 8Ý *Ý #ß -ß 9÷ó ÷ :áÝHð &€á˜¨u°U·\±\À5×CTÑCTÐ5TÑ/UÔV€ÙÐ+°5¸À¹ÀkÐRUÑFVÐ9VÑ3WÔX€ô2E�z -°Ð"@ÑAô 2EôjRÐ& u§|¡|°V¸C±[Ð'@ÑAÀ=ô RôjRÐ+¨E×,=Ñ,=¸{È3Ñ?OÐ,OÑPÐR`ô Rôj r0   