ó
    °"³jJ  ã                  ó0  • 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
  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Jr  SS
KJr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+J,r,J-r-J.r.  SSK/J0r0  SSK1J2r2J3r3  Sr4\	" S\\Rj                  \Rl                  4   S9r7\	" S\\!\   \"\   4   S9r8SS jr9S S jr: " S S\)\7\84   5      r; " S S\;\Rj                  \!\   4   \*5      r< " S S\;\Rl                  \"\   4   \+5      r=g)!é    )ÚannotationsN)ÚAnyÚUnionÚMappingÚTypeVarÚSequence)ÚSelfÚoverrideé   )Ú_exceptionsé   )ÚBetaÚ	AsyncBeta)ÚTimeoutÚNotGivenÚ	not_given)Úis_dictÚasyncifyÚis_given)Ú
model_copy)Ú__version__)ÚStreamÚAsyncStream)ÚAnthropicErrorÚAPIStatusError)ÚMiddlewareInput)ÚDEFAULT_MAX_RETRIESÚ
BaseClientÚSyncAPIClientÚAsyncAPIClientÚFinalRequestOptionsÚbuild_headersÚmerge_headers©ÚAWSEventStreamDecoder)ÚMessagesÚAsyncMessageszbedrock-2023-05-31Ú_HttpxClientT)ÚboundÚ_DefaultStreamTc                ó„  • [        U SS9n[        UR                  5      (       a“  UR                  R                  S[        5        [        UR                  5      (       aY  [        UR                  5      S   R                  S5      nU(       a+  UR                  R                  SUR                  S5      5        UR                  S;   a²  UR                  S	:X  a¢  [        UR                  5      (       d  [        S
5      eUR                  R                  SS 5      n[        R                  R!                  [#        U5      SS9nUR                  R                  SS5      nU(       a  SU S3Ul
        OSU S3Ul
        UR                  R%                  S5      (       a  ['        S5      eUR                  S:X  a  ['        S5      eU$ )NT)ÚdeepÚanthropic_versionr   z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   Úheadersr"   ÚgetÚsplitÚurlÚmethodÚRuntimeErrorÚpopÚurllibÚparseÚquoteÚstrÚ
startswithr   )Úinput_optionsÚoptionsÚbetasr4   r7   s        ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/anthropic/lib/bedrock/_client.pyÚ_prepare_optionsrK   %   sq  € Ü˜¨TÑ2€Gäˆw× Ñ ×!Ñ!Ø×Ñ×$Ñ$Ð%8¼/ÔJä�G—O‘O×$Ñ$Ü! '§/¡/Ó2°1Ñ5×9Ñ9Ð:JÓKˆEÞØ×!Ñ!×,Ñ,Ð-=¸u¿{¹{È3Ó?OÔPà‡{�{ÐPÓPÐU\×UcÑUcÐgmÓUmÜ�w×(Ñ(×)Ñ)ÜÐ]Ó^Ð^à×!Ñ!×%Ñ% g¨tÓ4ˆÜ—‘×"Ñ"¤3 u£:°CÐ"Ð8ˆØ×"Ñ"×&Ñ& x°Ó7ˆÞØ# E 7Ð*FÐGˆG�Kà# E 7¨'Ð2ˆGŒKà‡{�{×ÑÐ4×5Ñ5ÜÐLÓMÐMà‡{�{Ð1Ó1ÜÐMÓNÐNà€Nó    c                óD  • [         R                  R                  S5      =(       d    [         R                  R                  S5      nU(       d1   SSKnUR	                  U S9nUR
                  (       a  UR
                  nU(       d  [        S5      eU$ ! [         a     N f = f)z]
Infer the AWS region from the environment variables or
from the boto3 session if available.
Ú
AWS_REGIONÚAWS_DEFAULT_REGIONr   N)Úprofile_namez¤No AWS region was provided. Set the `aws_region` argument, the `AWS_REGION` / `AWS_DEFAULT_REGION` environment variable, or configure a region for your AWS profile.)ÚosÚenvironr<   Úboto3ÚSessionÚregion_nameÚImportErrorÚ
ValueError)Úaws_profileÚ
aws_regionrS   Úsessions       rJ   Ú_infer_regionr[   E   sŒ   € ô
 —‘—‘ Ó-×U´·±·±Ð@TÓ1U€JÞð	Ûà—m‘m°�mÐ=ˆGØ×"×"Ø$×0Ñ0�
ö ÜðPó
ð 	
ð
 Ðøô ó 	Ùð	ús   Á0B Â
BÂBc                  ó8   • \ rS rSr\        SS j5       rSrg)ÚBaseBedrockClienté^   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
:¼  a  [        R                  " XUS9$ [        XUS9$ )Ni�  )ÚresponseÚbodyi‘  i“  i”  i™  i¦  i­  i÷  iô  )Ústatus_coder   ÚBadRequestErrorÚAuthenticationErrorÚPermissionDeniedErrorÚNotFoundErrorÚConflictErrorÚUnprocessableEntityErrorÚRateLimitErrorÚServiceUnavailableErrorÚInternalServerErrorr   )ÚselfÚerr_msgra   r`   s       rJ   Ú_make_status_errorÚ$BaseBedrockClient._make_status_error_   s@  € ð ×Ñ 3Ó&Ü×.Ò.¨wÐPTÑUÐUà×Ñ 3Ó&Ü×2Ò2°7ÐTXÑYÐYà×Ñ 3Ó&Ü×4Ò4°WÐVZÑ[Ð[à×Ñ 3Ó&Ü×,Ò,¨WÈdÑSÐSà×Ñ 3Ó&Ü×,Ò,¨WÈdÑSÐSà×Ñ 3Ó&Ü×7Ò7¸ÐY]Ñ^Ð^à×Ñ 3Ó&Ü×-Ò-¨gÈtÑTÐTà×Ñ 3Ó&Ü×6Ò6°wÐX\Ñ]Ð]à×Ñ 3Ó&Ü×2Ò2°7ÐTXÑYÐYÜ˜g¸tÑDÐDrL   © N)rm   rE   ra   Úobjectr`   zhttpx2.ResponseÚreturnr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r
   rn   Ú__static_attributes__rp   rL   rJ   r]   r]   ^   s@   † Øð!Eàð!Eð ð	!Eð
 "ð!Eð 
ó!Eó ó!ErL   r]   c                  óR  ^ • \ rS rSr% S\S'   S\S'   SSSSSSS\\SSSSS4                             SU 4S jjjr\SS	 j5       r	\SS
 j5       r
\SS j5       rSSSSSS\S\SSSS\0 S.                               SS jjr\rSS jrSrU =r$ )ÚAnthropicBedrocké„   r&   Úmessagesr   ÚbetaNFc                ó   >• Uc  [         R                  R                  S5      nUS L=(       d    US L=(       d    US L=(       d    US LnUb  U(       a  [        S5      eX`l        Xl        X l        Uc  [        U5      OUU l        X@l	        XPl
        Uc  [         R                  R                  S5      nUc  SU R                   S3n[        TU ]1  [        UUU	U
UUUUS9	  [        U 5      U l        [!        U 5      U l        g ©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)	ÚversionÚbase_urlÚtimeoutÚmax_retriesÚcustom_headersÚcustom_queryÚhttp_clientÚ
middlewareÚ_strict_response_validation)rQ   rR   r<   rW   Úapi_keyÚaws_secret_keyÚaws_access_keyr[   rY   rX   Úaws_session_tokenÚsuperÚ__init__r   r   r|   r&   r{   ©rl   r‹   rŒ   rY   rX   r�   rŠ   r‚   rƒ   r„   Údefault_headersÚdefault_queryr‡   rˆ   r‰   Úhas_aws_credentialsÚ	__class__s                   €rJ   r�   ÚAnthropicBedrock.__init__ˆ   s  ø€ ð4 ‰?Ü—j‘j—n‘nÐ%?Ó@ˆGð  $Ð&÷ 'Ø TÐ)÷'à ¨Ð,÷'ð  $Ð&ð	 	ð ÑÖ#6Üð Móð ð $+Œà,Ôà,Ôà8BÑ8Jœ-¨Ô4ÐPZˆŒØ&Ôà!2ÔàÑÜ—z‘z—~‘~Ð&BÓCˆHØÑØ1°$·/±/Ð1BÀ.ÐQˆHä‰ÑÜØØØ#Ø*Ø&Ø#Ø!Ø(Cð 	ñ 
	
ô ˜“JˆŒ	Ü  ›ˆ�rL   c                ó   • [        5       $ ©Nr$   ©rl   s    rJ   Ú_make_sse_decoderÚ"AnthropicBedrock._make_sse_decoderÏ   ó   € ä$Ó&Ð&rL   c                ó   • [        U5      $ r—   ©rK   ©rl   rH   s     rJ   rK   Ú!AnthropicBedrock._prepare_optionsÓ   s   € ä Ó(Ð(rL   c                óˆ  • U R                   b  SU R                    3UR                  S'   g SSKJn  UR	                  5       nU" UR
                  [        UR                  5      UR                  U R                  U R                  U R                  U R                  U R                  US9	nUR                  R                  U5        g ©NzBearer ÚAuthorizationr   )Úget_auth_headers)	r?   r>   r;   rŒ   r‹   r�   ÚregionÚprofileÚdata)rŠ   r;   Ú_authr£   Úreadr?   rE   r>   rŒ   r‹   r�   rY   rX   Úupdate©rl   Úrequestr£   r¦   r;   s        rJ   Ú_prepare_requestÚ!AnthropicBedrock._prepare_request×   sœ   € à�<‰<Ñ#Ø18¸¿¹¸Ð/GˆG�O‰O˜OÑ,Øå+à�|‰|‹~ˆá"Ø—>‘>Ü�G—K‘KÓ Ø—O‘OØ×.Ñ.Ø×.Ñ.Ø"×4Ñ4Ø—?‘?Ø×$Ñ$Øñ

ˆð 	�‰×Ñ˜wÕ'rL   ©r‹   rŒ   rY   r�   rŠ   r‚   rƒ   r‡   r„   r‘   Úset_default_headersr’   Úset_default_queryrˆ   Ú_extra_kwargsc               óœ  • U
b  Ub  [        S5      eUb  Ub  [        S5      eU R                  nU
b  [        UU
5      nOUb  UnU R                  nUb  0 UEUEnOUb  UnU R                  " SU=(       d    U R
                  U=(       d    U R                  U=(       d    U R                  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)r‹   rŒ   rY   r�   rŠ   r‚   rƒ   r‡   r„   r‘   r’   rˆ   rp   ©rW   Ú_custom_headersr#   Ú_custom_queryr”   r‹   rŒ   rY   r�   rŠ   r‚   Ú
isinstancer   rƒ   r   r„   Ú_middleware©rl   r‹   rŒ   rY   r�   rŠ   r‚   rƒ   r‡   r„   r‘   r¯   r’   r°   rˆ   r±   r;   Úparamss                     rJ   ÚcopyÚAnthropicBedrock.copyî   ó@  € ð, Ñ&Ð+>Ñ+JÜÐoÓpÐpàÑ$Ð):Ñ)FÜÐkÓlÐlà×&Ñ&ˆØÑ&Ü# G¨_Ó=‰GØ Ñ,Ø)ˆGà×#Ñ#ˆØÑ$Ø0˜Ð0 -Ð0‰FØÑ*Ø&ˆFà�~Š~ð 
Ø)×@¨T×-@Ñ-@Ø)×@¨T×-@Ñ-@Ø!×4 T§_¡_Ø/×I°4×3IÑ3IØ×+˜tŸ|™|Ø×. §¡Ü$.¨w¼×$AÑ$A�D—L’LÀwØ#Ü'/°×'<Ñ'<™À$×BRÑBRØ#Ø Ü+5°jÄ(×+KÑ+K�t×'Ò'ÐQ[ñ
ð ñ
ð 	
rL   c                ó<   • U R                  / U R                  QUQS9$ ©zÖA 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(...)
```
)rˆ   ©r»   r¸   ©rl   rˆ   s     rJ   Úwith_middlewareÚ AnthropicBedrock.with_middleware*  ó&   € ð �y‰yÐ$D d×&6Ñ&6Ð$D¸Ð$DˆyÐEÐErL   ©rŠ   rŒ   rX   rY   r‹   r�   r|   r{   )r‹   ú
str | NonerŒ   rÆ   rY   rÆ   rX   rÆ   r�   rÆ   rŠ   rÆ   r‚   ústr | httpx2.URL | Nonerƒ   ú(float | httpx2.Timeout | None | NotGivenr„   Úintr‘   úMapping[str, str] | Noner’   úMapping[str, object] | Noner‡   úhttpx2.Client | Nonerˆ   ú Sequence[MiddlewareInput] | Noner‰   Úboolrr   ÚNone©rr   r%   ©rH   r!   rr   r!   ©r«   zhttpx2.Requestrr   rÏ   ) r‹   rÆ   rŒ   rÆ   rY   rÆ   r�   rÆ   rŠ   rÆ   r‚   rÇ   rƒ   ú!float | Timeout | None | NotGivenr‡   rÌ   r„   úint | NotGivenr‘   rÊ   r¯   rÊ   r’   rË   r°   rË   rˆ   ú+Sequence[MiddlewareInput] | None | NotGivenr±   úMapping[str, Any]rr   r	   ©rˆ   r   rr   r	   ©rs   rt   ru   rv   Ú__annotations__r   r   r�   r
   r™   rK   r¬   r»   Úwith_optionsrÂ   rw   Ú__classcell__©r”   s   @rJ   ry   ry   „   s  ø‡ ØÓØ
ƒJð &*Ø%)Ø!%Ø"&Ø(,Ø"Ø,0Ø<EØ.Ø48Ø59à,0Ø7;ð -2ð1E'à"ðE'ð #ðE'ð ð	E'ð
  ðE'ð &ðE'ð ðE'ð *ðE'ð :ðE'ð ðE'ð 2ðE'ð 3ðE'ð *ðE'ð 5ðE'ð0 &*ð1E'ð2 
÷3E'ð E'ðN ó'ó ð'ð ó)ó ð)ð ó(ó ð(ð2 &*Ø%)Ø!%Ø(,Ø"Ø,0Ø5>Ø,0Ø&/Ø48Ø8<Ø59Ø9=ØBKØ+-ñ#6
ð #ð6
ð #ð	6
ð
 ð6
ð &ð6
ð ð6
ð *ð6
ð 3ð6
ð *ð6
ð $ð6
ð 2ð6
ð 6ð6
ð 3ð6
ð 7ð6
ð  @ð!6
ð" )ð#6
ð$ 
õ%6
ðt €L÷	Fò 	FrL   ry   c                  óR  ^ • \ rS rSr% S\S'   S\S'   SSSSSSS\\SSSSS4                             SU 4S jjjr\SS	 j5       r	\SS
 j5       r
\SS j5       rSSSSSS\S\SSSS\0 S.                               SS jjr\rSS jrSrU =r$ )ÚAsyncAnthropicBedrocki6  r'   r{   r   r|   NFc                ó   >• Uc  [         R                  R                  S5      nUS L=(       d    US L=(       d    US L=(       d    US LnUb  U(       a  [        S5      eX`l        Xl        X l        Uc  [        U5      OUU l        X@l	        XPl
        Uc  [         R                  R                  S5      nUc  SU R                   S3n[        TU ]1  [        UUU	U
UUUUS9	  [        U 5      U l        [!        U 5      U l        g r~   )rQ   rR   r<   rW   rŠ   r‹   rŒ   r[   rY   rX   r�   rŽ   r�   r   r'   r{   r   r|   r�   s                   €rJ   r�   ÚAsyncAnthropicBedrock.__init__:  s  ø€ ð4 ‰?Ü—j‘j—n‘nÐ%?Ó@ˆGð  $Ð&÷ 'Ø TÐ)÷'à ¨Ð,÷'ð  $Ð&ð	 	ð ÑÖ#6Üð Móð ð $+Œà,Ôà,Ôà8BÑ8Jœ-¨Ô4ÐPZˆŒØ&Ôà!2ÔàÑÜ—z‘z—~‘~Ð&BÓCˆHØÑØ1°$·/±/Ð1BÀ.ÐQˆHä‰ÑÜØØØ#Ø*Ø&Ø#Ø!Ø(Cð 	ñ 
	
ô & dÓ+ˆŒÜ˜d“Oˆ�	rL   c                ó   • [        5       $ r—   r$   r˜   s    rJ   r™   Ú'AsyncAnthropicBedrock._make_sse_decoder�  r›   rL   c              ƒ  ó    #   • [        U5      $ 7fr—   r�   rž   s     rJ   rK   Ú&AsyncAnthropicBedrock._prepare_options…  s   é € ä Ó(Ð(ùs   ‚c              ƒ  ó¶  #   • U R                   b  SU R                    3UR                  S'   g SSKJn  UR	                  5       n[        U5      " UR                  [        UR                  5      UR                  U R                  U R                  U R                  U R                  U R                  US9	I S h  v•N nUR                  R                  U5        g  N 7fr¡   )rŠ   r;   r§   r£   r¨   r   r?   rE   r>   rŒ   r‹   r�   rY   rX   r©   rª   s        rJ   r¬   Ú&AsyncAnthropicBedrock._prepare_request‰  s¯   é € à�<‰<Ñ#Ø18¸¿¹¸Ð/GˆG�O‰O˜OÑ,Øå+à�|‰|‹~ˆä Ð!1Ô2Ø—>‘>Ü�G—K‘KÓ Ø—O‘OØ×.Ñ.Ø×.Ñ.Ø"×4Ñ4Ø—?‘?Ø×$Ñ$Øñ

÷ 

ˆð 	�‰×Ñ˜wÕ'ñ

ùs   ‚B4CÂ6CÂ7!Cr®   c               óœ  • U
b  Ub  [        S5      eUb  Ub  [        S5      eU R                  nU
b  [        UU
5      nOUb  UnU R                  nUb  0 UEUEnOUb  UnU R                  " SU=(       d    U R
                  U=(       d    U R                  U=(       d    U R                  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                     rJ   r»   ÚAsyncAnthropicBedrock.copy   r½   rL   c                ó<   • U R                  / U R                  QUQS9$ r¿   rÀ   rÁ   s     rJ   rÂ   Ú%AsyncAnthropicBedrock.with_middlewareÜ  rÄ   rL   rÅ   )r‹   rÆ   rŒ   rÆ   rY   rÆ   rX   rÆ   r�   rÆ   rŠ   rÆ   r‚   rÇ   rƒ   rÈ   r„   rÉ   r‘   rÊ   r’   rË   r‡   úhttpx2.AsyncClient | Nonerˆ   rÍ   r‰   rÎ   rr   rÏ   rÐ   rÑ   rÒ   ) r‹   rÆ   rŒ   rÆ   rY   rÆ   r�   rÆ   rŠ   rÆ   r‚   rÇ   rƒ   rÓ   r‡   rë   r„   rÔ   r‘   rÊ   r¯   rÊ   r’   rË   r°   rË   rˆ   rÕ   r±   rÖ   rr   r	   r×   rØ   rÜ   s   @rJ   rÞ   rÞ   6  s  ø‡ ØÓØ
ƒOð &*Ø%)Ø!%Ø"&Ø(,Ø"Ø,0Ø<EØ.Ø48Ø59à15Ø7;ð -2ð1E$à"ðE$ð #ðE$ð ð	E$ð
  ðE$ð &ðE$ð ðE$ð *ðE$ð :ðE$ð ðE$ð 2ðE$ð 3ðE$ð /ðE$ð 5ðE$ð0 &*ð1E$ð2 
÷3E$ð E$ðN ó'ó ð'ð ó)ó ð)ð ó(ó ð(ð2 &*Ø%)Ø!%Ø(,Ø"Ø,0Ø5>Ø15Ø&/Ø48Ø8<Ø59Ø9=ØBKØ+-ñ#6
ð #ð6
ð #ð	6
ð
 ð6
ð &ð6
ð ð6
ð *ð6
ð 3ð6
ð /ð6
ð $ð6
ð 2ð6
ð 6ð6
ð 3ð6
ð 7ð6
ð  @ð!6
ð" )ð#6
ð$ 
õ%6
ðt €L÷	Fò 	FrL   rÞ   )rG   r!   rr   r!   )rX   rÆ   rr   rE   )>Ú
__future__r   rQ   Úurllib.parserB   Útypingr   r   r   r   r   Útyping_extensionsr	   r
   Úhttpx2Ú r   Ú_betar   r   Ú_typesr   r   r   Ú_utilsr   r   r   Ú_compatr   Ú_versionr   Ú
_streamingr   r   r   r   r¸   r   Ú_base_clientr   r   r   r    r!   r"   r#   Ú_stream_decoderr%   Úresources.messagesr&   r'   r:   ÚClientÚAsyncClientr(   r*   rK   r[   r]   ry   rÞ   rp   rL   rJ   Ú<module>rý      s  ðÝ "ã 	Û ß 9Õ 9ß ,ã å ß "ß 2Ñ 2ß 1Ñ 1Ý !Ý #ß -ß 9Ý *÷÷ ñ õ 3ß 9à&€á˜¨u°V·]±]ÀF×DVÑDVÐ5VÑ/WÑX€ÙÐ+°5¸À¹ÀkÐRUÑFVÐ9VÑ3WÑX€ôô@ô2#E˜
 =°/Ð#AÑBô #EôLoFÐ(¨¯©¸¸s¹Ð)CÑDÀmô oFôdoFÐ-¨f×.@Ñ.@À+ÈcÑBRÐ.RÑSÐUcõ oFrL   