§
    ¦eîi­D  ã                  óŽ  — U d dl mZ d dlZd dlZd dlZd dl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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(m)Z) ddl*m+Z+ ddl,m-Z-m.Z. ddl/m0Z0m1Z1  ej2        e3¦  «        Z4de5d<   dZ6 e
deej7        ej8        f         ¬¦  «        Z9 e
dee e         e!e         f         ¬¦  «        Z:d%d„Z;d&d„Z< G d„ d e&e9e:f         ¦  «        Z= G d!„ d"e=ej7        e e         f         e'¦  «        Z> G d#„ d$e=ej8        e!e         f         e(¦  «        Z?dS )'é    )ÚannotationsN)ÚAnyÚUnionÚMappingÚTypeVar)ÚSelfÚoverrideé   )Ú_exceptionsé   )ÚBetaÚ	AsyncBeta)Ú	NOT_GIVENÚTimeoutÚNotGiven)Úis_dictÚis_given)Ú
model_copy)Ú__version__)ÚStreamÚAsyncStream)ÚAnthropicErrorÚAPIStatusError)ÚDEFAULT_MAX_RETRIESÚ
BaseClientÚSyncAPIClientÚAsyncAPIClientÚFinalRequestOptions©ÚAWSEventStreamDecoder)ÚMessagesÚAsyncMessages)ÚCompletionsÚAsyncCompletionszlogging.LoggerÚlogzbedrock-2023-05-31Ú_HttpxClientT)ÚboundÚ_DefaultStreamTÚinput_optionsr   Úreturnc                ó:  — t          | d¬¦  «        }t          |j        ¦  «        r~|j                             dt          ¦  «         t          |j        ¦  «        rJ|j                             d¦  «        }|r.|j                             d|                     d¦  «        ¦  «         |j	        dv r«|j
        dk    r t          |j        ¦  «        st          d	¦  «        ‚|j                             d
d ¦  «        }t          j                             t!          |¦  «        d¬¦  «        }|j                             dd¦  «        }|rd|› d�|_	        nd|› d�|_	        |j	                             d¦  «        rt%          d¦  «        ‚|j	        dk    rt%          d¦  «        ‚|S )NT)ÚdeepÚanthropic_versionzanthropic-betaÚanthropic_betaÚ,>   ú/v1/completeú/v1/messagesú/v1/messages?beta=trueÚpostz<Expected dictionary json_data for post /completions endpointÚmodelú:)ÚsafeÚstreamFz/model/z/invoke-with-response-streamz/invokez/v1/messages/batchesz-The Batch API is not supported in Bedrock yetz/v1/messages/count_tokensz.Token counting is not supported in Bedrock yet)r   r   Ú	json_dataÚ
setdefaultÚDEFAULT_VERSIONr   ÚheadersÚgetÚsplitÚurlÚmethodÚRuntimeErrorÚpopÚurllibÚparseÚquoteÚstrÚ
startswithr   )r)   ÚoptionsÚbetasr4   r7   s        úa/home/div/.hermes/hermes-agent/venv/lib/python3.11/site-packages/anthropic/lib/bedrock/_client.pyÚ_prepare_optionsrJ   &   s£  € Ý˜¨TÐ2Ñ2Ô2€GåˆwÔ Ñ!Ô!ð QØÔ×$Ò$Ð%8½/ÑJÔJÐJå�G”OÑ$Ô$ð 	QØ”O×'Ò'Ð(8Ñ9Ô9ˆEØð QØÔ!×,Ò,Ð-=¸u¿{º{È3Ñ?OÔ?OÑPÔPÐPà„{ÐPÐPÐPÐU\ÔUcÐgmÒUmÐUmÝ�wÔ(Ñ)Ô)ð 	_ÝÐ]Ñ^Ô^Ð^àÔ!×%Ò% g¨tÑ4Ô4ˆÝ”×"Ò"¥3 u¡:¤:°CÐ"Ñ8Ô8ˆØÔ"×&Ò& x°Ñ7Ô7ˆØð 	3ØG EÐGÐGÐGˆGŒKˆKà2 EÐ2Ð2Ð2ˆGŒKà„{×ÒÐ4Ñ5Ô5ð NÝÐLÑMÔMÐMà„{Ð1Ò1Ð1ÝÐMÑNÔNÐNà€Nó    rE   c                 óô   — t           j                             d¦  «        } | €8	 ddl}|                     ¦   «         }|j        r|j        } n# t          $ r Y nw xY w| €t                               d¦  «         d} | S )zi
    Infer the AWS region from the environment variables or
    from the boto3 session if available.
    Ú
AWS_REGIONNr   z0No AWS region specified, defaulting to us-east-1ú	us-east-1)	ÚosÚenvironr<   Úboto3ÚSessionÚregion_nameÚImportErrorr%   Úwarning)Ú
aws_regionrQ   Úsessions      rI   Ú_infer_regionrX   F   s’   € õ
 ”—’ Ñ-Ô-€JØÐð	ØˆLˆLˆLà—m’m‘o”oˆGØÔ"ð 1Ø$Ô0�
øøÝð 	ð 	ð 	ØˆDð	øøøð ÐÝ�ŠÐFÑGÔGÐGØ ˆ
àÐs   £&A
 Á

AÁAc                  ó&   — e Zd Zedd	„¦   «         Zd
S )ÚBaseBedrockClientÚerr_msgrE   ÚbodyÚobjectÚresponseúhttpx.Responser*   r   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 t          |||¬¦  «        S )Ni�  )r^   r\   i‘  i“  i”  i™  i¦  i­  i÷  iô  )Ústatus_coder   ÚBadRequestErrorÚAuthenticationErrorÚPermissionDeniedErrorÚNotFoundErrorÚConflictErrorÚUnprocessableEntityErrorÚRateLimitErrorÚServiceUnavailableErrorÚInternalServerErrorr   )Úselfr[   r\   r^   s       rI   Ú_make_status_errorz$BaseBedrockClient._make_status_error^   su  € ð Ô 3Ò&Ð&ÝÔ.¨wÀÐPTÐUÑUÔUÐUàÔ 3Ò&Ð&ÝÔ2°7ÀXÐTXÐYÑYÔYÐYàÔ 3Ò&Ð&ÝÔ4°WÀxÐVZÐ[Ñ[Ô[Ð[àÔ 3Ò&Ð&ÝÔ,¨W¸xÈdÐSÑSÔSÐSàÔ 3Ò&Ð&ÝÔ,¨W¸xÈdÐSÑSÔSÐSàÔ 3Ò&Ð&ÝÔ7¸È(ÐY]Ð^Ñ^Ô^Ð^àÔ 3Ò&Ð&ÝÔ-¨gÀÈtÐTÑTÔTÐTàÔ 3Ò&Ð&ÝÔ6°wÈÐX\Ð]Ñ]Ô]Ð]àÔ 3Ò&Ð&ÝÔ2°7ÀXÐTXÐYÑYÔYÐYÝ˜g°¸tÐDÑDÔDÐDrK   N)r[   rE   r\   r]   r^   r_   r*   r   )Ú__name__Ú
__module__Ú__qualname__r	   rl   © rK   rI   rZ   rZ   ]   s8   € € € € € Øð!Eð !Eð !Eñ „Xð!Eð !Eð !ErK   rZ   c                  óÐ   ‡ — e Zd ZU ded<   ded<   ded<   dddddddeeddddfd2ˆ fd „Zed3d"„¦   «         Zed4d%„¦   «         Z	ed5d(„¦   «         Z
ddddddededdddi d)œd6d1„ZeZˆ xZS )7ÚAnthropicBedrockr!   Úmessagesr#   Úcompletionsr   ÚbetaNFÚaws_secret_keyú
str | NoneÚaws_access_keyrV   Úaws_profileÚaws_session_tokenÚapi_keyÚbase_urlústr | httpx.URL | NoneÚtimeoutú'float | httpx.Timeout | None | NotGivenÚmax_retriesÚintÚdefault_headersúMapping[str, str] | NoneÚdefault_queryúMapping[str, object] | NoneÚhttp_clientúhttpx.Client | NoneÚ_strict_response_validationÚboolr*   ÚNonec           
     ó4  •— |€t           j                             d¦  «        }|d up|d up|d up|d u}|�|rt          d¦  «        ‚|| _        || _        || _        |€t          ¦   «         n|| _        || _	        || _
        |€t           j                             d¦  «        }|€d| j        › d�}t          ¦   «                              t          |||	|
|||¬¦  «         t          | ¦  «        | _        t!          | ¦  «        | _        t%          | ¦  «        | _        d S ©NÚAWS_BEARER_TOKEN_BEDROCKzzCannot specify both `api_key` and AWS credentials (`aws_access_key`, `aws_secret_key`, `aws_session_token`, `aws_profile`)ÚANTHROPIC_BEDROCK_BASE_URLzhttps://bedrock-runtime.z.amazonaws.com)Úversionr|   r~   r€   Úcustom_headersÚcustom_queryr†   rˆ   )rO   rP   r<   Ú
ValueErrorr{   rv   rx   rX   rV   ry   rz   ÚsuperÚ__init__r   r   ru   r!   rs   r#   rt   ©rk   rv   rx   rV   ry   rz   r{   r|   r~   r€   r‚   r„   r†   rˆ   Úhas_aws_credentialsÚ	__class__s                  €rI   r”   zAnthropicBedrock.__init__ˆ   sV  ø€ ð2 ˆ?Ý”j—n’nÐ%?Ñ@Ô@ˆGð  $Ð&ð 'Ø TÐ)ð'à ¨Ð,ð'ð  $Ð&ð	 	ð ÐÐ#6ÐÝð Mñô ð ð $+ˆŒà,ˆÔà,ˆÔà-7Ð-?�-™/œ/˜/ÀZˆŒØ&ˆÔà!2ˆÔàÐÝ”z—~’~Ð&BÑCÔCˆHØÐØQ°$´/ÐQÐQÐQˆHå‰Œ×ÒÝØØØ#Ø*Ø&Ø#Ø(Cð 	ñ 		
ô 		
ð 		
õ ˜‘J”JˆŒ	Ý  ™œˆŒÝ& tÑ,Ô,ˆÔÐÐrK   r    c                ó   — t          ¦   «         S ©Nr   ©rk   s    rI   Ú_make_sse_decoderz"AnthropicBedrock._make_sse_decoderÎ   ó   € å$Ñ&Ô&Ð&rK   rG   r   c                ó    — t          |¦  «        S r™   ©rJ   ©rk   rG   s     rI   rJ   z!AnthropicBedrock._prepare_optionsÒ   s   € å Ñ(Ô(Ð(rK   Úrequestúhttpx.Requestc                ó^  — | j         �d| j         › �|j        d<   d S ddlm} |                     ¦   «                              ¦   «         } ||j        t          |j        ¦  «        |j        | j	        | j
        | j        | j        pd| j        |¬¦	  «	        }|j                             |¦  «         d S ©NzBearer ÚAuthorizationr   )Úget_auth_headersrN   )	r?   r>   r;   rx   rv   rz   ÚregionÚprofileÚdata©r{   r;   Ú_authr¥   ÚreadÚdecoder?   rE   r>   rx   rv   rz   rV   ry   Úupdate©rk   r    r¥   r¨   r;   s        rI   Ú_prepare_requestz!AnthropicBedrock._prepare_requestÖ   sÁ   € àŒ<Ð#Ø/G¸¼Ð/GÐ/GˆGŒO˜OÑ,ØˆFà+Ð+Ð+Ð+Ð+Ð+à�|Š|‰~Œ~×$Ò$Ñ&Ô&ˆà"Ð"Ø”>Ý�G”KÑ Ô Ø”OØÔ.ØÔ.Ø"Ô4Ø”?Ð1 kØÔ$Øð

ñ 

ô 

ˆð 	Œ×Ò˜wÑ'Ô'Ð'Ð'Ð'rK   ©rv   rx   rV   rz   r{   r|   r~   r†   r€   r‚   Úset_default_headersr„   Úset_default_queryÚ_extra_kwargsú!float | Timeout | None | NotGivenúint | NotGivenr±   r²   r³   úMapping[str, Any]r   c               óˆ  — |
�|�t          d¦  «        ‚|�|�t          d¦  «        ‚| j        }|
�i |¥|
¥}n|�|}| j        }|�i |¥|¥}n|�|} | j        d|p| j        |p| j        |p| j        |p| j        |p| j        |p| 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.
        NzPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusive)rv   rx   rV   rz   r{   r|   r~   r†   r€   r‚   r„   rp   ©r’   Ú_custom_headersÚ_custom_queryr—   rv   rx   rV   rz   r{   r|   Ú
isinstancer   r~   r   r€   ©rk   rv   rx   rV   rz   r{   r|   r~   r†   r€   r‚   r±   r„   r²   r³   r;   Úparamss                    rI   ÚcopyzAnthropicBedrock.copyí   ó/  € ð* Ð&Ð+>Ð+JÝÐoÑpÔpÐpàÐ$Ð):Ð)FÝÐkÑlÔlÐlàÔ&ˆØÐ&Ø4˜Ð4 OÐ4ˆGˆGØ Ð,Ø)ˆGàÔ#ˆØÐ$Ø0˜Ð0 -Ð0ˆFˆFØÐ*Ø&ˆFàˆtŒ~ð 
Ø)Ð@¨TÔ-@Ø)Ð@¨TÔ-@Ø!Ð4 T¤_Ø/ÐI°4Ô3IØÐ+˜tœ|ØÐ. ¤Ý$.¨w½Ñ$AÔ$AÐN�D”L�LÀwØ#Ý'/°Ñ'<Ô'<ÐR˜˜À$ÔBRØ#Ø ð
ð 
ð ð
ð 
ð 	
rK   )rv   rw   rx   rw   rV   rw   ry   rw   rz   rw   r{   rw   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   r*   rŠ   ©r*   r    ©rG   r   r*   r   ©r    r¡   r*   rŠ   )rv   rw   rx   rw   rV   rw   rz   rw   r{   rw   r|   r}   r~   r´   r†   r‡   r€   rµ   r‚   rƒ   r±   rƒ   r„   r…   r²   r…   r³   r¶   r*   r   ©rm   rn   ro   Ú__annotations__r   r   r”   r	   r›   rJ   r¯   r¿   Úwith_optionsÚ__classcell__©r—   s   @rI   rr   rr   ƒ   s>  ø€ € € € € € ØÐÐÑØÐÐÑØ€J€J�Jð &*Ø%)Ø!%Ø"&Ø(,Ø"Ø+/Ø;DØ.Ø48Ø59à+/ð -2ð/D-ð D-ð D-ð D-ð D-ð D-ð D-ðL ð'ð 'ð 'ñ „Xð'ð ð)ð )ð )ñ „Xð)ð ð(ð (ð (ñ „Xð(ð2 &*Ø%)Ø!%Ø(,Ø"Ø+/Ø5>Ø+/Ø&/Ø48Ø8<Ø59Ø9=Ø+-ð!4
ð 4
ð 4
ð 4
ð 4
ð 4
ðp €L€L€L€L€LrK   rr   c                  óÐ   ‡ — e Zd ZU ded<   ded<   ded<   dddddddeeddddfd2ˆ fd „Zed3d"„¦   «         Zed4d%„¦   «         Z	ed5d(„¦   «         Z
ddddddededdddi d)œd6d1„ZeZˆ xZS )7ÚAsyncAnthropicBedrockr"   rs   r$   rt   r   ru   NFrv   rw   rx   rV   ry   rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   úhttpx.AsyncClient | Nonerˆ   r‰   r*   rŠ   c           
     ó4  •— |€t           j                             d¦  «        }|d up|d up|d up|d u}|�|rt          d¦  «        ‚|| _        || _        || _        |€t          ¦   «         n|| _        || _	        || _
        |€t           j                             d¦  «        }|€d| j        › d�}t          ¦   «                              t          |||	|
|||¬¦  «         t          | ¦  «        | _        t!          | ¦  «        | _        t%          | ¦  «        | _        d S rŒ   )rO   rP   r<   r’   r{   rv   rx   rX   rV   ry   rz   r“   r”   r   r"   rs   r$   rt   r   ru   r•   s                  €rI   r”   zAsyncAnthropicBedrock.__init__-  sV  ø€ ð2 ˆ?Ý”j—n’nÐ%?Ñ@Ô@ˆGð  $Ð&ð 'Ø TÐ)ð'à ¨Ð,ð'ð  $Ð&ð	 	ð ÐÐ#6ÐÝð Mñô ð ð $+ˆŒà,ˆÔà,ˆÔà-7Ð-?�-™/œ/˜/ÀZˆŒØ&ˆÔà!2ˆÔàÐÝ”z—~’~Ð&BÑCÔCˆHØÐØQ°$´/ÐQÐQÐQˆHå‰Œ×ÒÝØØØ#Ø*Ø&Ø#Ø(Cð 	ñ 		
ô 		
ð 		
õ & dÑ+Ô+ˆŒÝ+¨DÑ1Ô1ˆÔÝ˜d‘O”OˆŒ	ˆ	ˆ	rK   r    c                ó   — t          ¦   «         S r™   r   rš   s    rI   r›   z'AsyncAnthropicBedrock._make_sse_decoders  rœ   rK   rG   r   c              ƒ  ó$   K  — t          |¦  «        S r™   rž   rŸ   s     rI   rJ   z&AsyncAnthropicBedrock._prepare_optionsw  s   è è € å Ñ(Ô(Ð(rK   r    r¡   c              ƒ  ób  K  — | j         �d| j         › �|j        d<   d S ddlm} |                     ¦   «                              ¦   «         } ||j        t          |j        ¦  «        |j        | j	        | j
        | j        | j        pd| j        |¬¦	  «	        }|j                             |¦  «         d S r£   r©   r®   s        rI   r¯   z&AsyncAnthropicBedrock._prepare_request{  sÅ   è è € àŒ<Ð#Ø/G¸¼Ð/GÐ/GˆGŒO˜OÑ,ØˆFà+Ð+Ð+Ð+Ð+Ð+à�|Š|‰~Œ~×$Ò$Ñ&Ô&ˆà"Ð"Ø”>Ý�G”KÑ Ô Ø”OØÔ.ØÔ.Ø"Ô4Ø”?Ð1 kØÔ$Øð

ñ 

ô 

ˆð 	Œ×Ò˜wÑ'Ô'Ð'Ð'Ð'rK   r°   r´   rµ   r±   r²   r³   r¶   r   c               óˆ  — |
�|�t          d¦  «        ‚|�|�t          d¦  «        ‚| j        }|
�i |¥|
¥}n|�|}| j        }|�i |¥|¥}n|�|} | j        d|p| j        |p| j        |p| j        |p| j        |p| j        |p| j	        t          |t          ¦  «        r| j        n||t          |	¦  «        r|	n| j        ||dœ|¤ŽS r¸   r¹   r½   s                    rI   r¿   zAsyncAnthropicBedrock.copy’  rÀ   rK   )rv   rw   rx   rw   rV   rw   ry   rw   rz   rw   r{   rw   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   rË   rˆ   r‰   r*   rŠ   rÁ   rÂ   rÃ   )rv   rw   rx   rw   rV   rw   rz   rw   r{   rw   r|   r}   r~   r´   r†   rË   r€   rµ   r‚   rƒ   r±   rƒ   r„   r…   r²   r…   r³   r¶   r*   r   rÄ   rÈ   s   @rI   rÊ   rÊ   (  s>  ø€ € € € € € ØÐÐÑØ!Ð!Ð!Ñ!Ø€O€O�Oð &*Ø%)Ø!%Ø"&Ø(,Ø"Ø+/Ø;DØ.Ø48Ø59à04ð -2ð/D$ð D$ð D$ð D$ð D$ð D$ð D$ðL ð'ð 'ð 'ñ „Xð'ð ð)ð )ð )ñ „Xð)ð ð(ð (ð (ñ „Xð(ð2 &*Ø%)Ø!%Ø(,Ø"Ø+/Ø5>Ø04Ø&/Ø48Ø8<Ø59Ø9=Ø+-ð!4
ð 4
ð 4
ð 4
ð 4
ð 4
ðp €L€L€L€L€LrK   rÊ   )r)   r   r*   r   )r*   rE   )@Ú
__future__r   rO   ÚloggingÚurllib.parserB   Útypingr   r   r   r   Útyping_extensionsr   r	   ÚhttpxÚ r   Ú_betar   r   Ú_typesr   r   r   Ú_utilsr   r   Ú_compatr   Ú_versionr   Ú
_streamingr   r   r   r   Ú_base_clientr   r   r   r   r   Ú_stream_decoderr    Úresources.messagesr!   r"   Úresources.completionsr#   r$   Ú	getLoggerrm   r%   rÅ   r:   ÚClientÚAsyncClientr&   r(   rJ   rX   rZ   rr   rÊ   rp   rK   rI   ú<module>rå      s*  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à €€€à Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø !Ð !Ð !Ð !Ð !Ð !Ø #Ð #Ð #Ð #Ð #Ð #Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ðð ð ð ð ð ð ð ð ð ð ð ð ð ð 3Ð 2Ð 2Ð 2Ð 2Ð 2Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bà'�gÔ'¨Ñ1Ô1€Ð 1Ð 1Ð 1Ñ 1à&€à�˜¨u°U´\À5ÔCTÐ5TÔ/UÐVÑVÔV€Ø�'Ð+°5¸À¼ÀkÐRUÔFVÐ9VÔ3WÐXÑXÔX€ðð ð ð ð@ð ð ð ð.#Eð #Eð #Eð #Eð #E˜
 =°/Ð#AÔBñ #Eô #Eð #EðLbð bð bð bð bÐ(¨¬°v¸c´{Ð)BÔCÀ]ñ bô bð bðJbð bð bð bð bÐ-¨eÔ.?ÀÈSÔAQÐ.QÔRÐTbñ bô bð bð bð brK   