ó
    ûÞ jÒP  ã                  óF  • 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Jr  SSKJr  SSKJrJr  SS	KJr  SS
KJrJrJr  SSKJr  SSKJrJ r J!r!  \/ S4   r"\S   r#Sr$\RJ                  " S5      r&S)S jr'S*S jr(S+S jr)S,S jr*S-S jr+        S.S jr,S/S jr-S0S jr.S1S jr/S2S jr0S3S jr1 " S S5      r2 " S S5      r3\ " S  S!\5      5       r4\" S"S#9 " S$ S%5      5       r5SS\\SSSSSSS&.
                     S4S' jjr6/ S(Qr7g)5é    )ÚannotationsN)ÚLiteralÚCallableÚ	AwaitableÚcast)ÚfieldÚ	dataclassé   )Ú	NOT_GIVENÚNotGiven)Úasyncify)Únormalize_httpx_urlÚrequest_not_read_exceptions)ÚFinalRequestOptions)Ú	_ProviderÚ_create_providerÚ_ProviderRuntime)ÚOpenAIError)ÚBedrockAwsAuthÚBedrockAwsAuthConfigÚAwsCredentialsProviderzstr | Awaitable[str])ÚmantleÚruntime)Úauthorizationzx-amz-content-sha256z
x-amz-datezx-amz-security-tokenz^[a-z]{2,8}(?:-[a-z0-9]+)+-\d+$c                ó@   • U c  g U R                  5       nU=(       d    S $ ©N)Ústrip)ÚvalueÚ
normalizeds     ÚR/var/www/html/gaurav/venv/lib/python3.13/site-packages/openai/providers/bedrock.pyÚ_normalize_optional_stringr!      s    € Ø�}Øà—‘“€JØ×˜Ðó    c                óØ   • [        U 5      nUR                  R                  S5      n[        R                  " SU5      nUb  US UR                  5        nUR                  U=(       d    SS9$ )NÚ/z/responses(?:/.*)?$)Úpath)r   r%   ÚrstripÚreÚsearchÚstartÚ	copy_with)Úbase_urlÚurlr%   Úresponses_matchs       r    Ú_normalize_base_urlr.   &   s`   € Ü
˜hÓ
'€CØ�8‰8�?‰?˜3Ó€DÜ—i’iÐ 6¸Ó=€OØÑ"ØÐ-�o×+Ñ+Ó-Ð.ˆà�=‰=˜dŸk cˆ=Ð*Ð*r"   c                ó  • U R                  S5      (       a  gU R                  S5      (       a  gU R                  S5      (       a  gU R                  S5      (       a  gU R                  S	5      (       a  g
U R                  S5      (       a  gg)Nzcn-)zamazonaws.com.cnzapi.amazonwebservices.com.cnzeusc-)zamazonaws.euzapi.amazonwebservices.euzus-iso-)z
c2s.ic.govzapi.aws.ic.govzus-isob-)zsc2s.sgov.govzapi.aws.scloudzeu-isoe-)zcloud.adc-e.ukzapi.cloud-aws.adc-e.ukzus-isof-)zcsp.hci.ic.govzapi.aws.hci.ic.gov)zamazonaws.comúapi.aws)Ú
startswith©Úregions    r    Ú_runtime_dns_suffixesr4   0   s}   € Ø×Ñ˜×ÑØAØ×Ñ˜×!Ñ!Ø9Ø×Ñ˜×#Ñ#Ø-Ø×Ñ˜×$Ñ$Ø0Ø×Ñ˜×$Ñ$Ø9Ø×Ñ˜×$Ñ$Ø5Ø%r"   c                ó*  • U R                  S5      R                  5       R                  S5      u  pnUR                  S5      u  pEnU(       a  U(       a  [        R	                  U5      c  g US:X  a
  US:X  a  SU4$ US;   a  U[        U5      ;   a  SU4$ g )NÚ.úbedrock-mantler0   r   >   úbedrock-runtimeúbedrock-runtime-fipsr   )ÚremovesuffixÚlowerÚ	partitionÚ_AWS_REGIONÚ	fullmatchr4   )ÚhostnameÚserviceÚ	separatorÚ	remainderr3   Úregion_separatorÚsuffixs          r    Ú _parse_bedrock_endpoint_hostnamerE   @   sš   € Ø$,×$9Ñ$9¸#Ó$>×$DÑ$DÓ$F×$PÑ$PÐQTÓ$UÑ!€G˜	Ø'0×':Ñ':¸3Ó'?Ñ$€F˜fÞÖ,´×0EÑ0EÀfÓ0MÑ0UØàÐ"Ó" v°Ó':Ø˜ÐÐØÐ=Ó=À&ÔLaÐbhÓLiÓBiØ˜&Ð Ð Ør"   c                óN   • U b"  [         R                  U 5      c  [        S5      eg g )NzSThe Bedrock AWS `region` is invalid. Use a standard AWS region such as `us-east-1`.)r=   r>   r   r2   s    r    Ú_validate_bedrock_regionrG   M   s-   € ØÑœk×3Ñ3°FÓ;ÑCÜÐoÓpÐpð DÐr"   c          	     óÞ   • [        U R                  5      nUc  g Uu  pEU R                  S:w  a  [        S5      eXA:w  a  [        SU SU SU S35      eUb  XR:w  a  [        SU SU S	35      eg g )
NÚhttpsz1Canonical Amazon Bedrock endpoints require HTTPS.úThe Bedrock ú' hostname does not match the selected `z` endpoint. Set `endpoint='z'` to use this hostname.úThe Bedrock endpoint region `z,` does not match the configured AWS region `ú`.)rE   ÚhostÚschemer   )r+   Úendpointr3   Úcanonical_endpointÚcanonical_familyÚcanonical_regions         r    Ú$_validate_canonical_bedrock_endpointrT   R   s²   € ô :¸(¿-¹-ÓHÐØÑ!Øà);Ñ&ÐØ‡�˜'Ó!ÜÐMÓNÐNØÓ#ÜØÐ+Ð,Ð,SÐT\ÐS]ð ^Ø.Ð/Ð/GðIó
ð 	
ð ÑÐ.Ó8ÜØ+Ð,<Ð+=Ð=iÐjpÐiqÐqsÐtó
ð 	
ð 9Ðr"   c                ó`   • U S:X  a  SU S[        U5      S    3OSU S3n[        SU S35      $ )	Nr   zbedrock-runtime.r6   r   zbedrock-mantle.z.api.awszhttps://z
/openai/v1)r4   r.   )rP   r3   r?   s      r    Ú_default_bedrock_base_urlrV   g   sQ   € ð �yÓ ð ˜6˜( !Ô$9¸&Ó$AÀ!Ñ$DÐ#EÑFà˜v˜h hÐ/ð ô
  ¨(¨°:Ð>Ó?Ð?r"   c                ó�   • U R                   U R                  U R                  4UR                   UR                  UR                  4:H  $ r   )rO   rN   Úport)ÚleftÚrights     r    Ú_same_originr[   p   s3   € Ø�K‰K˜Ÿ™ D§I¡IÐ.°5·<±<ÀÇÁÈUÏZÉZÐ2XÑXÐXr"   c                ó`   •  U R                   $ ! [        5        a  n[        S5      UeS nAff = f)Nz}Bedrock SigV4 authentication requires a replayable request body. Buffer the body before sending or use bearer authentication.)Úcontentr   r   )ÚrequestÚexcs     r    Ú_body_for_signingr`   t   s<   € ðØ�‰ÐøÜ&Ó(ó ÜðKó
ð ð	ûðús   ‚ Ž-œ(¨-c                ó:   • SU R                   ;   a  [        S5      eg )NÚAuthorizationzXBedrock provider authentication cannot be combined with a custom `Authorization` header.)Úheadersr   )r^   s    r    Ú#_assert_provider_owns_authorizationrd   ~   s   € Ø˜'Ÿ/™/Ó)ÜÐtÓuÐuð *r"   c                óL   • U R                   (       a  [        S5      eSU l         U $ )Nz‡Bedrock SigV4 authentication does not support automatic redirects. Send a new request to the redirect target so it can be signed again.F)Úfollow_redirectsr   )Úoptionss    r    Ú_without_redirectsrh   ƒ   s-   € Ø××ÜðSó
ð 	
ð  %€GÔØ€Nr"   c                  óP   • \ rS rSrS
S jrSS jrSS jrSS jrSS jrSS jr	Sr
g	)Ú_BedrockBearerAuthé�   c               ó   • Xl         X l        g r   )Ú_token_providerÚ	_base_url)ÚselfÚtoken_providerr+   s      r    Ú__init__Ú_BedrockBearerAuth.__init__Ž   s   € Ø-ÔØ!�r"   c                óz   • [        U5        [        UR                  U R                  5      (       d  [	        S5      eg )Nz`Refusing to authenticate a Bedrock request for an origin other than the configured provider URL.)rd   r[   r,   rn   r   ©ro   r^   s     r    Ú_validate_requestÚ$_BedrockBearerAuth._validate_request’   s4   € Ü+¨GÔ4Ü˜GŸK™K¨¯©×8Ñ8ÜØróð ð 9r"   c                ó’  •  [        [        U R                  5       5      n[
        R                  " U5      (       a/  [        USS 5      n[        U5      (       a  U" 5         [        S5      e[        U[        5      (       a  UR                  5       (       d  [        S5      eU$ ! [         a    e [         a  n[        S5      UeS nAff = f)Nú2Failed to resolve a bearer credential for Bedrock.Úclosez7An async Bedrock token provider requires `AsyncOpenAI`.úFThe Bedrock bearer credential provider must return a non-empty string.)r   Úobjectrm   r   Ú	ExceptionÚinspectÚisawaitableÚgetattrÚcallableÚ
isinstanceÚstrr   )ro   Útokenr_   ry   s       r    Ú_resolve_tokenÚ!_BedrockBearerAuth._resolve_token™   s®   € ð	]Üœ ×!5Ñ!5Ó!7Ó8ˆEô ×Ò˜u×%Ñ%Ü˜E 7¨DÓ1ˆEÜ˜�‰Ù”ÜÐWÓXÐXÜ˜%¤×%Ñ%¨U¯[©[¯]©]ÜÐfÓgÐgØˆøô ó 	ØÜó 	]ÜÐRÓSÐY\Ð\ûð	]ús   ‚B! Â!CÂ5CÃCc              ƒ  óT  #   •  [        [        U R                  5       5      n[        R                  " U5      (       a
  UI S h  v•N n[        U[        5      (       a  UR                  5       (       d  [        S5      eU$  N;! [
         a    e [         a  n[        S5      UeS nAff = f7f)Nrx   rz   )
r   r{   rm   r}   r~   r   r|   r�   r‚   r   )ro   rƒ   r_   s      r    Ú_resolve_token_asyncÚ'_BedrockBearerAuth._resolve_token_asyncª   s’   é € ð	]Üœ ×!5Ñ!5Ó!7Ó8ˆEÜ×"Ò" 5×)Ñ)Ø#Ÿ�ô ˜%¤×%Ñ%¨U¯[©[¯]©]ÜÐfÓgÐgØˆñ $øÜó 	ØÜó 	]ÜÐRÓSÐY\Ð\ûð	]üs:   ‚B(„>B  ÁA>ÁB  Á7B(Á>B  Â B%ÂB Â B%Â%B(c                óf   • U R                  U5        SU R                  5        3UR                  S'   g ©NzBearer rb   )ru   r„   rc   rt   s     r    Úprepare_requestÚ"_BedrockBearerAuth.prepare_request¸   s/   € Ø×Ñ˜wÔ'Ø-4°T×5HÑ5HÓ5JÐ4KÐ+Lˆ�‰˜Ò(r"   c              ƒ  ó‚   #   • U R                  U5        SU R                  5       I S h  v•N  3UR                  S'   g  N7frŠ   )ru   r‡   rc   rt   s     r    Úprepare_async_requestÚ(_BedrockBearerAuth.prepare_async_request¼   s8   é € Ø×Ñ˜wÔ'Ø-4¸4×;TÑ;TÓ;V×5VÐ4WÐ+Xˆ�‰˜Ò(Ñ5Vùs   ‚&?¨=©?)rn   rm   N)rp   ÚBedrockTokenProviderr+   ú
httpx2.URLÚreturnÚNone©r^   úhttpx2.Requestr’   r“   ©r’   r‚   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rq   ru   r„   r‡   r‹   rŽ   Ú__static_attributes__© r"   r    rj   rj   �   s"   † ô"ôôô"ôM÷Yr"   rj   c                  ó\   • \ rS rSrSS.       S
S jjrSS jrSS jrSS jrSS jrS	r	g)Ú_BedrockSigV4AuthéÁ   N)Úauthc               ó(   • Xl         X l        X0l        g r   )Ú_configrn   Ú_auth)ro   Úconfigr+   r    s       r    rq   Ú_BedrockSigV4Auth.__init__Â   s   € ð ŒØ!ŒØ�
r"   c                óÂ  • [        U5        [        UR                  U R                  5      (       d  [	        S5      e[        UR                  R                  5      nUbx  Uu  p4U R                  R                  S:X  a  SOSnX5:w  a  [	        SU SU S35      eX@R                  R                  :w  a&  [	        SU S	U R                  R                   S
35      e[        U5      $ )NzXRefusing to sign a Bedrock request for an origin other than the configured provider URL.Úbedrockr   r   rJ   rK   z` endpoint.rL   z#` does not match the SigV4 region `rM   )rd   r[   r,   rn   r   rE   rN   r¢   r@   r3   r`   )ro   r^   rQ   rP   r3   Úexpected_endpoints         r    ru   Ú#_BedrockSigV4Auth._validate_requestÍ   så   € Ü+¨GÔ4Ü˜GŸK™K¨¯©×8Ñ8ÜØjóð ô >¸g¿k¹k×>NÑ>NÓOÐØÑ)Ø1ÑˆHØ-1¯\©\×-AÑ-AÀYÓ-N¡	ÐT\ÐØÓ,Ü!Ø" 8 *Ð,SÐTeÐSfÐfqÐróð ð Ÿ™×,Ñ,Ó,Ü!Ø3°F°8Ð;^Ð_c×_kÑ_k×_rÑ_rÐ^sÐsuÐvóð ô ! Ó)Ð)r"   c               óD  • [          H  nUR                  R                  US 5        M!     UR                  UR                  [        UR                  5      [        UR                  5      US9nUR                  R                  5         UR                  R                  U5        g ©N)Úmethodr,   rc   Úbody)
Ú_AWS_SIGNING_HEADERSrc   ÚpopÚsignr¬   r‚   r,   ÚdictÚclearÚupdate)ro   r^   r    r­   ÚheaderÚsigned_headerss         r    Ú_signÚ_BedrockSigV4Auth._signã   s{   € ß*ˆFØ�O‰O×Ñ ¨Ö-ñ +ð Ÿ™Ø—>‘>Ü�G—K‘KÓ Ü˜Ÿ™Ó)Øð	 #ð 
ˆð 	�‰×ÑÔØ�‰×Ñ˜~Õ.r"   c                ó¨   • U R                  U5      nU R                  c  [        U R                  5      U l        U R	                  XR                  US9  g )N)r    r­   )ru   r£   r   r¢   r¶   )ro   r^   r­   s      r    r‹   Ú!_BedrockSigV4Auth.prepare_requestð   s@   € Ø×%Ñ% gÓ.ˆØ�:‰:ÑÜ'¨¯©Ó5ˆDŒJØ�
‰
�7§¡°$ˆ
Ò7r"   c           
   ƒ  ó@  #   • U R                  U5      nU R                  c,  [        [        5      " U R                  5      I S h  v•N U l        [        U R                  R
                  5      " UR                  [        UR                  5      UR                  R                  5        VVs0 sH!  u  p4UR                  5       [        ;  d  M  X4_M#     snnUS9I S h  v•N nUR                  R                  5         UR                  R                  U5        g  NÐs  snnf  NB7fr«   )ru   r£   r   r   r¢   r°   r¬   r‚   r,   rc   Úitemsr;   r®   r²   r³   )ro   r^   r­   Únamer   rµ   s         r    rŽ   Ú'_BedrockSigV4Auth.prepare_async_requestö   sØ   é € Ø×%Ñ% gÓ.ˆØ�:‰:ÑÜ'¬Ô7¸¿¹ÓE×EˆDŒJä'¨¯
©
¯©Ô8Ø—>‘>Ü�G—K‘KÓ à/6¯©×/DÑ/DÔ/FôÙ/F¡ È$Ï*É*Ë,Ô^rÑJr“�’Ñ/Fòð ñ 
÷ 
ˆð 	�‰×ÑÔØ�‰×Ñ˜~Õ.ñ Fùó
ñ
ùs7   ‚ADÁDÁA$DÂ(DÃ	DÃ
DÃDÃ;DÄD)r£   rn   r¢   )r¤   r   r+   r‘   r    zBedrockAwsAuth | Noner’   r“   ©r^   r•   r’   Úbytes)r^   r•   r    r   r­   r¿   r’   r“   r”   )
r—   r˜   r™   rš   rq   ru   r¶   r‹   rŽ   r›   rœ   r"   r    rž   rž   Á   sH   † ð '+ñ	ð %ð	ð ð		ð
 $ð	ð 
õ	ô*ô,/ô8÷/r"   rž   c                  ó$   • \ rS rSr% SrS\S'   Srg)Ú_BedrockProviderRuntimei  Nú
str | Noner3   rœ   )r—   r˜   r™   rš   r3   Ú__annotations__r›   rœ   r"   r    rÁ   rÁ     s   ‡ à€FˆJÖr"   rÁ   T)Úfrozenc                  ó$  • \ rS rSr% S\S'   S\S'   S\S'   S\S	'   \" S
SS9rS\S'   \" S
SSS9rS\S'   SrS\S'   S
r	S\S'   \" S
SS9r
S\S'   \" S
SS9rS\S'   \" S
SS9rS\S'   \" S
SSS9rS\S'   \" SSS9rS\S'   S!S jrS"S jrS#S jrS rg
)$Ú_BedrockProviderDefinitioni  ÚBedrockEndpointrP   rÂ   Úconfigured_regionz)Literal['explicit', 'environment'] | NoneÚregion_sourcezhttpx2.URL | NoneÚconfigured_base_urlNF)ÚdefaultÚreprÚapi_key)rË   rÌ   ÚcompareúBedrockTokenProvider | Nonerp   ÚboolÚuse_environment_bearerÚprofileÚaccess_key_idÚsecret_access_keyÚsession_tokenúAwsCredentialsProvider | NoneÚcredential_providerr§   )rË   Úinitr‚   r¼   c                óX   • U R                   b  gU R                  b  gU R                  b  gg)NÚstaticrÒ   ÚproviderrË   )rÓ   rÒ   r×   ©ro   s    r    Ú_aws_sourceÚ&_BedrockProviderDefinition._aws_source  s0   € Ø×ÑÑ)ØØ�<‰<Ñ#ØØ×#Ñ#Ñ/ØØr"   c                óø  • U R                   b‚  [        U R                   U R                  5       U R                  S:X  a  SOSU R                  =(       d    SU R
                  U R                  U R                  U R                  U R                  S9	S 4$ [        R                  " S U R
                  U R                  U R                  U R                  U R                  U R                  S:X  a  SOSS9nUR                  U4$ )Nr   r§   r7   Úexplicit)	r3   Úsourcer@   rÉ   rÒ   rÓ   rÔ   rÕ   Úcredentials_provider)r3   rÒ   rÓ   rÔ   rÕ   râ   r@   )rÈ   r   rÝ   rP   rÉ   rÒ   rÓ   rÔ   rÕ   r×   r   Úresolver¤   )ro   r    s     r    Ú_resolve_aws_authÚ,_BedrockProviderDefinition._resolve_aws_auth%  sæ   € Ø×!Ñ!Ñ-ä$Ø×1Ñ1Ø×+Ñ+Ó-Ø)-¯©¸)Ó)C™IÐIYØ"&×"4Ñ"4×"B¸
Ø ŸL™LØ"&×"4Ñ"4Ø&*×&<Ñ&<Ø"&×"4Ñ"4Ø)-×)AÑ)Añ
ð ðð ô ×%Ò%ØØ—L‘LØ×,Ñ,Ø"×4Ñ4Ø×,Ñ,Ø!%×!9Ñ!9Ø!%§¡°)Ó!;‘IÐAQñ
ˆð �{‰{˜DÐ Ð r"   c           	     óD  ^ • S	S jnS nS nT R                   b  U 4S jnT R                  nO·T R                  b  T R                  nT R                  nO‘T R                  (       a  UnT R                  nOqT R	                  5       u  pVUR
                  n[        U5        T R                  =(       d    [        T R                  U5      n[        UT R                  US9  [        XWUS9nT R                  b  T R                  nO%Ub  [        T R                  U5      nO[        S5      eUb	  [        X7S9nUc   e[        U[        5      (       a0  [        T R                   UU["        UR$                  UR&                  S9$ [        T R                   UUUR$                  UR&                  S9$ )
Nc                 óh   • [         R                  R                  S5      n U (       d  [        S5      eU $ )NÚAWS_BEARER_TOKEN_BEDROCKzµCould not find credentials for Bedrock. Pass a bearer credential or AWS credentials to `bedrock(...)`, set `AWS_BEARER_TOKEN_BEDROCK`, or configure the default AWS credential chain.)ÚosÚenvironÚgetr   )rƒ   s    r    Úenvironment_tokenÚ?_BedrockProviderDefinition.configure.<locals>.environment_tokenB  s2   € Ü—J‘J—N‘NÐ#=Ó>ˆEÞÜ!ðuóð ð ˆLr"   c                 ó.   >• T R                   =(       d    S$ )NÚ )rÍ   rÜ   s   €r    Ú<lambda>Ú6_BedrockProviderDefinition.configure.<locals>.<lambda>N  s   ø€  d§l¡l×&8°bÐ&8r"   ©rP   r3   )r¤   r+   r    zmBedrock requires an AWS region. Pass `region` to `bedrock(...)`, or set `AWS_REGION` or `AWS_DEFAULT_REGION`.)r+   )r¼   r+   r3   Útransform_requestr‹   rŽ   )r¼   r+   r3   r‹   rŽ   r–   )rÍ   rÈ   rp   rÑ   rä   r3   rG   rÊ   rV   rP   rT   rž   r   rj   r�   rÁ   r¼   rh   r‹   rŽ   )ro   rì   r    Úbearer_providerr3   Ú
aws_configÚaws_authr+   s   `       r    Ú	configureÚ$_BedrockProviderDefinition.configureA  s‘  ø€ ô	ð ?CˆØ7;ˆØ�<‰<Ñ#Ü8ˆOØ×+Ñ+‰FØ× Ñ Ñ,Ø"×1Ñ1ˆOØ×+Ñ+‰FØ×(×(Ø/ˆOØ×+Ñ+‰Fà#'×#9Ñ#9Ó#;Ñ ˆJØ×&Ñ&ˆFÜ$ VÔ,Ø×/Ñ/×cÔ3LÈTÏ]É]Ð\bÓ3cˆHÜ0°ÀDÇMÁMÐZ`ÒaÜ$¨JÐPXÑYˆDà×#Ñ#Ñ/Ø×/Ñ/‰HØÑÜ0°·±ÀÓG‰Häð(óð ð
 Ñ&Ü% oÑIˆDàÑÐÐÜ�dÔ-×.Ñ.Ü*Ø—Y‘YØ!ØÜ"4Ø $× 4Ñ 4Ø&*×&@Ñ&@ñð ô 'Ø—‘ØØØ ×0Ñ0Ø"&×"<Ñ"<ñ
ð 	
r"   rœ   )r’   z3Literal['static', 'profile', 'provider', 'default'])r’   z2tuple[BedrockAwsAuthConfig, BedrockAwsAuth | None])r’   r   )r—   r˜   r™   rš   rÃ   r   rÍ   rp   rÑ   rÒ   rÓ   rÔ   rÕ   r×   r¼   rÝ   rä   r÷   r›   rœ   r"   r    rÆ   rÆ     sÀ   ‡ àÓØ!Ó!Ø<Ó<Ø*Ó*Ù¨°5Ñ9€GˆZÓ9Ù27ÀÈ5ÐZ_Ñ2`€NÐ/Ó`Ø#(Ð˜DÓ(Ø€GˆZÓÙ %¨d¸Ñ ?€M�:Ó?Ù$)°$¸UÑ$CÐ�zÓCÙ %¨d¸Ñ ?€M�:Ó?Ù9>ÀtÐRWÐafÑ9gÐÐ6ÓgÙ˜i¨eÑ4€Dˆ#Ó4ôô!÷8;
r"   rÆ   )
rP   r3   r+   rÍ   rp   rÓ   rÔ   rÕ   rÒ   r×   c        
        ó
  • U b  U S;  a  [        S5      e[        U5      n
Ub  U
c  [        S5      e[        U
5        U
b  SOSn[        U[        5      (       a=  [        [
        R                  R                  S5      5      nU(       a  [        U5      OSnOFUc  SnO@[        U[        5      (       a   UR                  5       (       d  [        S5      e[        U5      nUb  [        UR                  5      OSnU =(       d
    Ub  US   OS	n[        U5      nUb  Uc  [        S
5      eUSL USL :w  d  Ub  Uc  [        S5      eUbC  UR                  5       (       a#  [        [        U5      R                  5       (       d  [        S5      eUb   UR                  5       (       d  [        S5      e[        U[        5      (       + =(       a    USLnU(       a5  [        U[        5      (       a  UR                  5       (       d  [        S5      eU(       a  Ub  [        S5      eU=(       d    USLn[        USLUSLU	SL45      nUS:”  a  [        S5      eU(       a  U(       a  [        S5      e[        U[        5      (       + =(       a    USL nU(       + =(       aD    U(       + =(       a6    U(       + =(       a(    [        [
        R                  R                  S5      5      nU
co  Ub  U(       de  U(       d^  [        [
        R                  R                  S5      =(       d    [
        R                  R                  S5      5      n
[        U
5        U
b  SnUb
  [!        XßU
S9  [#        [%        UU
UUU(       a  [        SU5      OSUUUUUUU	S95      $ )zJConfigure the standard OpenAI client for Amazon Bedrock Mantle or Runtime.N>   r   r   z<The Bedrock `endpoint` must be either `mantle` or `runtime`.z+The Bedrock AWS `region` must not be empty.rà   ÚAWS_BEDROCK_BASE_URLz)The Bedrock `base_url` must not be empty.r   r   z,The Bedrock AWS `profile` must not be empty.zzStatic AWS credentials require both `access_key_id` and `secret_access_key`. A `session_token` may only be used with both.zXStatic AWS credentials require non-empty `access_key_id` and `secret_access_key` values.z=A static AWS `session_token` must not be empty when provided.z0The Bedrock bearer credential must not be empty.zVThe `api_key` and `token_provider` options are mutually exclusive. Configure only one.é   z‚Bedrock authentication is ambiguous. Configure exactly one explicit AWS mode: static credentials, profile, or credential provider.z•Bedrock authentication is ambiguous. Configure exactly one explicit mode: bearer credential, static AWS credentials, profile, or credential provider.rè   Ú
AWS_REGIONÚAWS_DEFAULT_REGIONÚenvironmentrò   rÂ   )rP   rÈ   rÉ   rÊ   rÍ   rp   rÑ   rÒ   rÓ   rÔ   rÕ   r×   )r   r!   rG   r�   r   ré   rê   rë   r.   r‚   r   rE   rN   r   ÚsumrÐ   rT   r   rÆ   )rP   r3   r+   rÍ   rp   rÓ   rÔ   rÕ   rÒ   r×   Únormalized_regionrÉ   Úenvironment_base_urlrÊ   rQ   Úresolved_endpointÚnormalized_profileÚexplicit_api_keyÚexplicit_bearerÚ	aws_modesÚskip_environment_bearerrÑ   s                         r    r§   r§     s}  € ð Ñ Ð0EÓ EÜÐXÓYÐYä2°6Ó:ÐØÑÐ/Ñ7ÜÐGÓHÐHÜÐ.Ô/àM^ÑMj¹zÐpt€Mô �(œH×%Ñ%Ü9¼"¿*¹*¿.¹.ÐI_Ó:`ÓaÐÞK_Ô1Ð2FÔGÐeiÑØ	Ñ	Ø"Ñä�h¤×$Ñ$¨X¯^©^×-=Ñ-=ÜÐIÓJÐJÜ1°(Ó;Ðð GZÑFeÔ(Ð)<×)AÑ)AÔBÐkoð ð *2÷ *Ø!3Ñ!?Ð˜1ÒÀXð ô 4°GÓ<ÐØÑÐ1Ñ9ÜÐHÓIÐIà˜ÐÐ#4¸Ð#<Ó=À-ÑB[Ð`mÑ`uÜð<ó
ð 	
ð Ñ ¨-×*=Ñ*=×*?Ñ*?ÄtÌCÐQbÓGc×GiÑGi×GkÑGkÜÐtÓuÐuØÑ ¨×)<Ñ)<×)>Ñ)>ÜÐYÓZÐZä% g¬xÓ8Ô8×P¸WÈDÐ=PÐÞ¤¨G´S×!9Ñ!9ÀÇÁÇÁÜÐLÓMÐMÞ˜NÑ6ÜÐrÓsÐsà&×D¨.ÀÐ*D€OÜà Ð%Ø dÐ*Ø tÐ+ð	
ó€Ið �1ƒ}Üð/ó
ð 	
ö ž9ÜðGó
ð 	
ô
 #-¨W´hÓ"?Ô?×SÀGÈtÀOÐàÔ÷ 	=ØŒM÷	=à'Ô'÷	=ô ”—‘—‘Ð :Ó;Ó<ð	 ð Ñ Ð&9Ñ&AÎ/Ö]sÜ6Ü�J‰J�N‰N˜<Ó(×P¬B¯J©J¯N©NÐ;OÓ,Pó
Ðô 	!Ð!2Ô3ØÑ(Ø)ˆMàÑ&Ü,Ð-@ÐevÒwäÜ"Ø&Ø/Ø'Ø 3Þ3C”D˜ wÔ/ÈØ)Ø#9Ø&Ø'Ø/Ø'Ø 3ñ	
óð r"   )r§   rÇ   r�   r   )r   rÂ   r’   rÂ   )r+   zstr | httpx2.URLr’   r‘   )r3   r‚   r’   ztuple[str, str])r?   r‚   r’   z"tuple[BedrockEndpoint, str] | None)r3   rÂ   r’   r“   )r+   r‘   rP   rÇ   r3   rÂ   r’   r“   )rP   rÇ   r3   r‚   r’   r‘   )rY   r‘   rZ   r‘   r’   rÐ   r¾   r”   )rg   r   r’   r   )rP   zBedrockEndpoint | Noner3   rÂ   r+   z"str | httpx2.URL | None | NotGivenrÍ   zstr | None | NotGivenrp   rÏ   rÓ   rÂ   rÔ   rÂ   rÕ   rÂ   rÒ   rÂ   r×   rÖ   r’   r   )8Ú
__future__r   ré   r'   r}   Útypingr   r   r   r   Údataclassesr   r	   Úhttpx2Ú_typesr   r   Ú_utilsr   Ú_httpx2r   r   Ú_modelsr   Ú	_providerr   r   r   Ú_exceptionsr   Úlib._bedrock_authr   r   r   r�   rÇ   r®   Úcompiler=   r!   r.   r4   rE   rG   rT   rV   r[   r`   rd   rh   rj   rž   rÁ   rÆ   r§   Ú__all__rœ   r"   r    Ú<module>r     sÈ  ðÝ "ã 	Û 	Û ß 5Ó 5ß (ã ç (Ý ß FÝ )ß EÑ EÝ %÷ñ ð   Ð$:Ð :Ñ;Ð ØÐ-Ñ.€àfÐ Ø�jŠjÐ;Ó<€ôô+ô&ô 
ôqð

Øð
Ø'6ð
Ø@Jð
à	ô
ô*@ôYôôvô
÷1Yñ 1Y÷hC/ñ C/ðL ôÐ.ó ó ðñ �$Ñ÷o
ð o
ó ðo
ðh (,ØØ3<Ø%.Ø26Ø $Ø$(Ø $ØØ9=ñtà$ðtð ðtð 1ð	tð
 #ðtð 0ðtð ðtð "ðtð ðtð ðtð 7ðtð õtòn [�r"   