Ë
    Ô~ïiÏA  ã                  ó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    ús/var/www/acinvestment.org/public_html/aci/backend/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_REGIONúŽ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Úglobalú$https://aiplatform.googleapis.com/v1Úusz+https://aiplatform.us.rep.googleapis.com/v1Úeuz+https://aiplatform.eu.rep.googleapis.com/v1úhttps://ú-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.   ro   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.   ru   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.   r}   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   ©rm   Ú_custom_headersÚ_custom_queryÚ_clientrq   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‰   r|   Ú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©rw   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   ro   r
   ru   r€   r}   r’   Úwith_optionsÚ__classcell__©rq   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|› d�}t        ‰| �  t        |||||	|
|¬«       t        |«      r|| _	        || _
        || _        || _        t        | «      | _        t        | «      | _        y )	Nr`   ra   rb   rc   rd   rg   rh   ri   )r   r3   r4   r5   r   rm   rn   ro   r   r7   r/   rV   rW   r$   rS   r   rT   rp   s               €r.   ro   zAsyncAnthropicVertex.__init__ó   sã   ø€ ô  ˜ÔÜ—Z‘Z—^‘^Ð$5´yÓAˆFÜ˜ÔÜð aóð ð ÐÜ—z‘z—~‘~Ð&AÓBˆHØÐØ˜XÒ%ØE‘Hà!)¨&¨Ð1NÐO�Hä‰ÑÜØØØ#Ø*Ø&Ø#Ø(Cð 	ô 		
ô �JÔØ(ˆDŒOàˆŒØ(ˆÔØ&ˆÔä% dÓ+ˆŒÜ˜d“Oˆ�	r0   c              ƒ  óN   K  — t        || j                  | j                  ¬«      S ­wrs   rt   rv   s     r.   ru   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ry   r{   r~   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.   r}   z)AsyncAnthropicVertex._ensure_access_token3  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.copyE  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ñ2$ð ð2$ð #ð	2$ð
 !ð2$ð .ð2$ð )ð2$ð 9ð2$ð ð2$ð 2ð2$ð 3ð2$ð .ð2$ð &*ð2$ð 
õ2$ðh ò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/   rw   rµ   r¶   Ú	specifiers          r.   ru   ru   €  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¨   ru   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NÐ+¨E×,=Ñ,=¸{È3Ñ?OÐ,OÑPÐR`ô Nôb r0   