
    ̺i+>                    \   % S SK Jr  S SKrS SKrS SKrS SK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  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%J&r&J'r'J(r(J)r)  SSK*J+r+  SSK,J-r-J.r.  SSK/J0r0J1r1  \Rd                  " \35      r4S\5S'   Sr6\
" S\\Rn                  \Rp                  4   S9r9\
" S\\ \   \!\   4   S9r:S!S jr;S"S jr< " S S\&\9\:4   5      r= " S S\=\Rn                  \ \   4   \'5      r> " S S \=\Rp                  \!\   4   \(5      r?g)#    )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_DefaultStreamTc                l   [        U SS9n[        UR                  5      (       a  UR                  R                  S[        5        [        UR                  5      (       aM  UR                  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_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   )input_optionsoptionsbetasr2   r5   s        \/var/www/piano.thomer.com/venv/lib/python3.13/site-packages/anthropic/lib/bedrock/_client.py_prepare_optionsrI   &   sg   T2Gw  !!$$%8/JGOO$$OO''(89E!!,,-=u{{3?OP{{PPU\UcUcgmUmw(())]^^!!%%gt4""3u:C"8""&&x7#E7*FGGK#E7'2GK{{455LMM{{11MNNN    c                    [         R                  R                  S5      n U c2   SSKnUR	                  5       nUR
                  (       a  UR
                  n U c  [        R                  S5        Sn U $ ! [         a     N(f = f)z]
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_regionrP   sessions      rH   _infer_regionrW   F   sw    
 -J	mmoG""$00
 FG 
  		s   1A1 1
A>=A>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_msgr]   r\   s       rH   _make_status_error$BaseBedrockClient._make_status_error^   s@    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&227TXYYgtDDrJ    N)ri   rC   r]   objectr\   zhttpx.Responsereturnr   )__name__
__module____qualname____firstlineno__r	   rj   __static_attributes__rl   rJ   rH   rY   rY   ]   s@    !E!E 	!E
 !!E 
!E !ErJ   rY   c                  :  ^  \ 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0 S.                           SS jjr\rSrU =r$ )AnthropicBedrock   r!   messagesr#   completionsr   betaNFc                X  > Xl         X l        Uc
  [        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 ])  [        UUUU	U
UUS9  [        U 5      U l        [        U 5      U l        [!        U 5      U l        g NANTHROPIC_BEDROCK_BASE_URLzhttps://bedrock-runtime.z.amazonaws.com)versionbase_urltimeoutmax_retriescustom_headerscustom_queryhttp_client_strict_response_validation)aws_secret_keyaws_access_keyrW   rU   aws_profileaws_session_tokenrN   rO   r:   super__init__r   r   ry   r!   rw   r#   rx   rh   r   r   rU   r   r   r~   r   r   default_headersdefault_queryr   r   	__class__s                rH   r   AnthropicBedrock.__init__   s    0 -,-7-?-/Z&!2zz~~&BCH1$//1B.QH#*&#(C 	 		
 J	 &t,rJ   c                    [        5       $ Nr   rh   s    rH   _make_sse_decoder"AnthropicBedrock._make_sse_decoder       $&&rJ   c                    [        U5      $ r   rI   rh   rF   s     rH   rI   !AnthropicBedrock._prepare_options   s    ((rJ   c                b   SSK Jn  UR                  5       R                  5       nU" UR                  [        UR                  5      UR                  U R                  U R                  U R                  U R                  =(       d    SU R                  US9	nUR                  R                  U5        g Nr   )get_auth_headersrM   )	r=   r<   r9   r   r   r   regionprofiledata_authr   readdecoder=   rC   r<   r9   r   r   r   rU   r   updaterh   requestr   r   r9   s        rH   _prepare_request!AnthropicBedrock._prepare_request   s    +||~$$&">>GKK OO...."44??1k$$

 	w'rJ   r   r   rU   r   r~   r   r   r   r   set_default_headersr   set_default_query_extra_kwargsc               $   U	b  U
b  [        S5      eUb  Ub  [        S5      eU R                  nU	b  0 UEU	E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[        5      (       a  U R                  OUU[        U5      (       a  UOU R                  U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   rU   r   r~   r   r   r   r   r   rl   
ValueError_custom_headers_custom_queryr   r   r   rU   r   r~   
isinstancer   r   r   r   rh   r   r   rU   r   r~   r   r   r   r   r   r   r   r   r9   paramss                   rH   copyAnthropicBedrock.copy      ( &+>+Jopp$):)Fkll&&&44O4G ,)G##$00-0F*&F~~ 
)@T-@-@)@T-@-@!4T__/I43I3I.$.w$A$ADLLw#'/'<'<$BRBR# 
 
 	
rJ   r   r   rU   r   r   ry   rx   rw   )r   
str | Noner   r   rU   r   r   r   r   r   r~   str | httpx.URL | Noner   'float | httpx.Timeout | None | NotGivenr   intr   Mapping[str, str] | Noner   Mapping[str, object] | Noner   httpx.Client | Noner   boolrn   Nonern   r    rF   r   rn   r   r   zhttpx.Requestrn   r   )r   r   r   r   rU   r   r   r   r~   r   r   !float | Timeout | None | NotGivenr   r   r   int | NotGivenr   r   r   r   r   r   r   r   r   Mapping[str, Any]rn   r   ro   rp   rq   rr   __annotations__r   r   r   r	   r   rI   r   r   with_optionsrs   __classcell__r   s   @rH   ru   ru      s   
J &*%)!%"&(,+/;D.4859+/ -2-3-"3- #3- 	3-
  3- &3- )3- 93- 3- 23- 33- )3-, &*-3-. 
/3- 3-j ' ' ) ) ( (* &*%)!%(,+/5>+/&/488<599=+-2
 #2
 #	2

 2
 &2
 )2
 32
 )2
 $2
 22
 62
 32
 72
 )2
  
!2
l LrJ   ru   c                  :  ^  \ 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0 S.                           SS jjr\rSrU =r$ )AsyncAnthropicBedrocki  r"   rw   r$   rx   r   ry   NFc                X  > Xl         X l        Uc
  [        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 ])  [        UUUU	U
UUS9  [        U 5      U l        [        U 5      U l        [!        U 5      U l        g r{   )r   r   rW   rU   r   r   rN   rO   r:   r   r   r   r"   rw   r$   rx   r   ry   r   s                rH   r   AsyncAnthropicBedrock.__init__  s    0 -,-7-?-/Z&!2zz~~&BCH1$//1B.QH#*&#(C 	 		
 &d++D1dO	rJ   c                    [        5       $ r   r   r   s    rH   r   'AsyncAnthropicBedrock._make_sse_decoderK  r   rJ   c                    #    [        U5      $ 7fr   r   r   s     rH   rI   &AsyncAnthropicBedrock._prepare_optionsO  s     ((s   c                j  #    SSK Jn  UR                  5       R                  5       nU" UR                  [        UR                  5      UR                  U R                  U R                  U R                  U R                  =(       d    SU R                  US9	nUR                  R                  U5        g 7fr   r   r   s        rH   r   &AsyncAnthropicBedrock._prepare_requestS  s     +||~$$&">>GKK OO...."44??1k$$

 	w's   B1B3r   c               $   U	b  U
b  [        S5      eUb  Ub  [        S5      eU R                  nU	b  0 UEU	E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[        5      (       a  U R                  OUU[        U5      (       a  UOU R                  UUS.
UD6$ r   r   r   s                   rH   r   AsyncAnthropicBedrock.copyf  r   rJ   r   )r   r   r   r   rU   r   r   r   r   r   r~   r   r   r   r   r   r   r   r   r   r   httpx.AsyncClient | Noner   r   rn   r   r   r   r   )r   r   r   r   rU   r   r   r   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rn   r   r   r   s   @rH   r   r     s   !!
O &*%)!%"&(,+/;D.485904 -2-3$"3$ #3$ 	3$
  3$ &3$ )3$ 93$ 3$ 23$ 33$ .3$, &*-3$. 
/3$ 3$j ' ' ) ) ( (* &*%)!%(,+/5>04&/488<599=+-2
 #2
 #	2

 2
 &2
 )2
 32
 .2
 $2
 22
 62
 32
 72
 )2
  
!2
l LrJ   r   )rE   r   rn   r   )rn   rC   )@
__future__r   rN   loggingurllib.parser@   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$   	getLoggerro   r%   r   r8   ClientAsyncClientr&   r(   rI   rW   rY   ru   r   rl   rJ   rH   <module>r      s   " 	   / / ,   " 2 2 ' ! # - 9  3 9 B''1^ 1&uU\\5CTCT5T/UV+5kRUFV9V3WX@.#E
=/#AB #ELK(vc{)BC] K\K-e.?.?SAQ.QRTb KrJ   