§
     �’jÈR  ã                  ó,  — 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mZ ddlmZ ddlmZmZ dd	lmZ dd
lmZmZmZ ddlmZ ddlmZm Z m!Z! eg df         Z"ed         Z#dZ$ ej%        d¦  «        Z&dLd„Z'dMd„Z(dNd„Z)dOd„Z*dPd!„Z+dQd$„Z,dRd%„Z-dSd)„Z.dTd-„Z/dUd.„Z0dVd1„Z1 G d2„ d3¦  «        Z2 G d4„ d5¦  «        Z3e G d6„ d7e¦  «        ¦   «         Z4 ed8¬9¦  «         G d:„ d;¦  «        ¦   «         Z5ddeeddddddd<œ
dWdJ„Z6g dK¢Z7dS )Xé    )Ú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+$Úvalueú
str | NoneÚreturnc                ó:   — | €d S |                       ¦   «         }|pd S ©N)Ústrip)r   Ú
normalizeds     úFC:\Projects\DSCons\.venv\Lib\site-packages\openai\providers\bedrock.pyÚ_normalize_optional_stringr#      s$   € Ø€}Øˆtà—’‘”€JØÐ˜Ðó    Úbase_urlústr | httpx2.URLú
httpx2.URLc                óê   — t          | ¦  «        }|j                             d¦  «        }t          j        d|¦  «        }|�|d |                     ¦   «         …         }|                     |pd¬¦  «        S )Nú/z/responses(?:/.*)?$)Úpath)r   r*   ÚrstripÚreÚsearchÚstartÚ	copy_with)r%   Úurlr*   Úresponses_matchs       r"   Ú_normalize_base_urlr2   &   sn   € Ý
˜hÑ
'Ô
'€CØŒ8�?Š?˜3ÑÔ€DÝ”iÐ 6¸Ñ=Ô=€OØÐ"ØÐ-�o×+Ò+Ñ-Ô-Ð-Ô.ˆà�=Š=˜d˜k cˆ=Ñ*Ô*Ð*r$   ÚregionÚstrútuple[str, str]c                ó  — |                       d¦  «        rdS |                       d¦  «        rdS |                       d¦  «        rdS |                       d¦  «        rdS |                       d	¦  «        rd
S |                       d¦  «        rdS dS )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©r3   s    r"   Ú_runtime_dns_suffixesr:   0   s±   € Ø×Ò˜ÑÔð BØAÐAØ×Ò˜Ñ!Ô!ð :Ø9Ð9Ø×Ò˜Ñ#Ô#ð .Ø-Ð-Ø×Ò˜Ñ$Ô$ð 1Ø0Ð0Ø×Ò˜Ñ$Ô$ð :Ø9Ð9Ø×Ò˜Ñ$Ô$ð 6Ø5Ð5Ø%Ð%r$   Úhostnameú"tuple[BedrockEndpoint, str] | Nonec                óF  — |                       d¦  «                             ¦   «                              d¦  «        \  }}}|                     d¦  «        \  }}}|r|rt                               |¦  «        €d S |dk    r
|dk    rd|fS |dv r|t          |¦  «        v rd|fS d S )Nú.úbedrock-mantler7   r   >   úbedrock-runtimeúbedrock-runtime-fipsr   )ÚremovesuffixÚlowerÚ	partitionÚ_AWS_REGIONÚ	fullmatchr:   )r;   ÚserviceÚ	separatorÚ	remainderr3   Úregion_separatorÚsuffixs          r"   Ú _parse_bedrock_endpoint_hostnamerL   @   sË   € Ø$,×$9Ò$9¸#Ñ$>Ô$>×$DÒ$DÑ$FÔ$F×$PÒ$PÐQTÑ$UÔ$UÑ!€GˆY˜	Ø'0×':Ò':¸3Ñ'?Ô'?Ñ$€FÐ˜fØð Ð,ð µ×0EÒ0EÀfÑ0MÔ0MÐ0UØˆtàÐ"Ò"Ð" v°Ò':Ð':Ø˜ÐÐØÐ=Ð=Ð=À&ÕLaÐbhÑLiÔLiÐBiÐBiØ˜&Ð Ð Øˆ4r$   ÚNonec                ó`   — | �)t                                | ¦  «        €t          d¦  «        ‚d S d S )NzSThe Bedrock AWS `region` is invalid. Use a standard AWS region such as `us-east-1`.)rE   rF   r   r9   s    r"   Ú_validate_bedrock_regionrO   M   s8   € ØÐ�k×3Ò3°FÑ;Ô;ÐCÝÐoÑpÔpÐpð ÐÐCÐCr$   ÚendpointÚBedrockEndpointc          	     óò   — t          | j        ¦  «        }|€d S |\  }}| j        dk    rt          d¦  «        ‚||k    rt          d|› d|› d|› d�¦  «        ‚|�||k    rt          d|› d|› d	�¦  «        ‚d S d S )
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 `ú`.)rL   ÚhostÚschemer   )r%   rP   r3   Úcanonical_endpointÚcanonical_familyÚcanonical_regions         r"   Ú$_validate_canonical_bedrock_endpointr]   R   sè   € õ :¸(¼-ÑHÔHÐØÐ!Øˆà);Ñ&ÐÐ&Ø„˜'Ò!Ð!ÝÐMÑNÔNÐNØ˜8Ò#Ð#ÝðIÐ+ð Ið IÐT\ð Ið IØ.ðIð Ið Iñ
ô 
ð 	
ð ÐÐ.°&Ò8Ð8ÝØtÐ,<ÐtÐtÐjpÐtÐtÐtñ
ô 
ð 	
ð ÐÐ8Ð8r$   c                óv   — | dk    rd|› dt          |¦  «        d         › �nd|› d�}t          d|› d�¦  «        S )	Nr   zbedrock-runtime.r>   r   zbedrock-mantle.z.api.awszhttps://z
/openai/v1)r:   r2   )rP   r3   r;   s      r"   Ú_default_bedrock_base_urlr_   g   se   € ð �yÒ Ð ð 	G˜6ÐFÐFÕ$9¸&Ñ$AÔ$AÀ!Ô$DÐFÐFÐFà/˜vÐ/Ð/Ð/ð õ
 Ð>¨(Ð>Ð>Ð>Ñ?Ô?Ð?r$   ÚleftÚrightÚboolc                óV   — | j         | j        | j        f|j         |j        |j        fk    S r   )rY   rX   Úport)r`   ra   s     r"   Ú_same_originre   p   s'   € ØŒK˜œ D¤IÐ.°5´<ÀÄÈUÌZÐ2XÒXÐXr$   Úrequestúhttpx2.RequestÚbytesc                ód   — 	 | j         S # t          ¦   «         $ r}t          d¦  «        |‚d }~ww xY w)Nz}Bedrock SigV4 authentication requires a replayable request body. Buffer the body before sending or use bearer authentication.)Úcontentr   r   )rf   Úexcs     r"   Ú_body_for_signingrl   t   sQ   € ðØŒÐøÝ&Ñ(Ô(ð ð ð ÝðKñ
ô 
ð ð	øøøøðøøøs   ‚	 ‰/š*ª/c                ó6   — d| j         v rt          d¦  «        ‚d S )NÚAuthorizationzXBedrock provider authentication cannot be combined with a custom `Authorization` header.)Úheadersr   )rf   s    r"   Ú#_assert_provider_owns_authorizationrp   ~   s&   € Ø˜'œ/Ð)Ð)ÝÐtÑuÔuÐuð *Ð)r$   Úoptionsr   c                ó@   — | j         rt          d¦  «        ‚d| _         | S )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   )rq   s    r"   Ú_without_redirectsrt   ƒ   s4   € ØÔð 
ÝðSñ
ô 
ð 	
ð  %€GÔØ€Nr$   c                  ó>   — e Zd Zdd„Zdd
„Zdd„Zdd„Zdd„Zdd„ZdS )Ú_BedrockBearerAuthÚtoken_providerÚBedrockTokenProviderr%   r'   r   rM   c               ó"   — || _         || _        d S r   )Ú_token_providerÚ	_base_url)Úselfrw   r%   s      r"   Ú__init__z_BedrockBearerAuth.__init__Ž   s   € Ø-ˆÔØ!ˆŒˆˆr$   rf   rg   c                óv   — t          |¦  «         t          |j        | j        ¦  «        st	          d¦  «        ‚d S )Nz`Refusing to authenticate a Bedrock request for an origin other than the configured provider URL.)rp   re   r0   r{   r   ©r|   rf   s     r"   Ú_validate_requestz$_BedrockBearerAuth._validate_request’   sE   € Ý+¨GÑ4Ô4Ð4Ý˜GœK¨¬Ñ8Ô8ð 	ÝØrñô ð ð	ð 	r$   r4   c                óº  — 	 t          t          |                      ¦   «         ¦  «        }n,# t          $ r ‚ t          $ r}t          d¦  «        |‚d }~ww xY wt          j        |¦  «        r9t          |dd ¦  «        }t          |¦  «        r
 |¦   «          t          d¦  «        ‚t          |t          ¦  «        r|                     ¦   «         st          d¦  «        ‚|S )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   Úobjectrz   r   Ú	ExceptionÚinspectÚisawaitableÚgetattrÚcallableÚ
isinstancer4   r    )r|   Útokenrk   rƒ   s       r"   Ú_resolve_tokenz!_BedrockBearerAuth._resolve_token™   sõ   € ð	]Ý� ×!5Ò!5Ñ!7Ô!7Ñ8Ô8ˆEˆEøÝð 	ð 	ð 	ØÝð 	]ð 	]ð 	]ÝÐRÑSÔSÐY\Ð\øøøøð	]øøøõ Ô˜uÑ%Ô%ð 	YÝ˜E 7¨DÑ1Ô1ˆEÝ˜‰Œð Ø�‘”�ÝÐWÑXÔXÐXÝ˜%¥Ñ%Ô%ð 	h¨U¯[ª[©]¬]ð 	hÝÐfÑgÔgÐgØˆs   ‚'* ªA¾AÁAc              ƒ  ó\  K  — 	 t          t          |                      ¦   «         ¦  «        }t          j        |¦  «        r|ƒ d {V —†}n,# t
          $ r ‚ t          $ r}t          d¦  «        |‚d }~ww xY wt          |t          ¦  «        r| 	                    ¦   «         st          d¦  «        ‚|S )Nr‚   r„   )
r   r…   rz   r‡   rˆ   r   r†   r‹   r4   r    )r|   rŒ   rk   s      r"   Ú_resolve_token_asyncz'_BedrockBearerAuth._resolve_token_asyncª   sÏ   è è € ð	]Ý� ×!5Ò!5Ñ!7Ô!7Ñ8Ô8ˆEÝÔ" 5Ñ)Ô)ð $Ø#˜˜˜˜˜˜�øøÝð 	ð 	ð 	ØÝð 	]ð 	]ð 	]ÝÐRÑSÔSÐY\Ð\øøøøð	]øøøõ ˜%¥Ñ%Ô%ð 	h¨U¯[ª[©]¬]ð 	hÝÐfÑgÔgÐgØˆs   „AA ÁA1ÁA,Á,A1c                ón   — |                       |¦  «         d|                      ¦   «         › �|j        d<   d S ©NzBearer rn   )r€   r�   ro   r   s     r"   Úprepare_requestz"_BedrockBearerAuth.prepare_request¸   s<   € Ø×Ò˜wÑ'Ô'Ð'Ø+L°T×5HÒ5HÑ5JÔ5JÐ+LÐ+LˆŒ˜Ñ(Ð(Ð(r$   c              ƒ  ó~   K  — |                       |¦  «         d|                      ¦   «         ƒ d {V —†› �|j        d<   d S r‘   )r€   r�   ro   r   s     r"   Úprepare_async_requestz(_BedrockBearerAuth.prepare_async_request¼   sR   è è € Ø×Ò˜wÑ'Ô'Ð'Ø+X¸4×;TÒ;TÑ;VÔ;VÐ5VÐ5VÐ5VÐ5VÐ5VÐ5VÐ+XÐ+XˆŒ˜Ñ(Ð(Ð(r$   N)rw   rx   r%   r'   r   rM   ©rf   rg   r   rM   ©r   r4   )	Ú__name__Ú
__module__Ú__qualname__r}   r€   r�   r�   r’   r”   © r$   r"   rv   rv   �   s–   € € € € € ð"ð "ð "ð "ðð ð ð ðð ð ð ð"ð ð ð ðMð Mð Mð MðYð Yð Yð Yð Yð Yr$   rv   c                  ó<   — e Zd Zddœdd„Zdd„Zdd„Zdd„Zdd„ZdS )Ú_BedrockSigV4AuthN)ÚauthÚconfigr   r%   r'   r�   úBedrockAwsAuth | Noner   rM   c               ó0   — || _         || _        || _        d S r   )Ú_configr{   Ú_auth)r|   rž   r%   r�   s       r"   r}   z_BedrockSigV4Auth.__init__Â   s   € ð ˆŒØ!ˆŒØˆŒ
ˆ
ˆ
r$   rf   rg   rh   c                ó�  — t          |¦  «         t          |j        | j        ¦  «        st	          d¦  «        ‚t          |j        j        ¦  «        }|�e|\  }}| j        j        dk    rdnd}||k    rt	          d|› d|› d�¦  «        ‚|| j        j	        k    r t	          d|› d	| j        j	        › d
�¦  «        ‚t          |¦  «        S )NzXRefusing to sign a Bedrock request for an origin other than the configured provider URL.Úbedrockr   r   rT   rU   z` endpoint.rV   z#` does not match the SigV4 region `rW   )rp   re   r0   r{   r   rL   rX   r¡   rG   r3   rl   )r|   rf   rZ   rP   r3   Úexpected_endpoints         r"   r€   z#_BedrockSigV4Auth._validate_requestÍ   s   € Ý+¨GÑ4Ô4Ð4Ý˜GœK¨¬Ñ8Ô8ð 	ÝØjñô ð õ >¸g¼kÔ>NÑOÔOÐØÐ)Ø1ÑˆH�fØ-1¬\Ô-AÀYÒ-NÐ-N 	 	ÐT\ÐØÐ,Ò,Ð,Ý!Ør 8ÐrÐrÐTeÐrÐrÐrñô ð ð ˜œÔ,Ò,Ð,Ý!Øv°FÐvÐvÐ_cÔ_kÔ_rÐvÐvÐvñô ð õ ! Ñ)Ô)Ð)r$   r   Úbodyc               ó:  — t           D ]}|j                             |d ¦  «         Œ|                     |j        t          |j        ¦  «        t          |j        ¦  «        |¬¦  «        }|j                             ¦   «          |j         	                    |¦  «         d S )N©Úmethodr0   ro   r¦   )
Ú_AWS_SIGNING_HEADERSro   ÚpopÚsignr©   r4   r0   ÚdictÚclearÚupdate)r|   rf   r�   r¦   ÚheaderÚsigned_headerss         r"   Ú_signz_BedrockSigV4Auth._signã   s˜   € Ý*ð 	.ð 	.ˆFØŒO×Ò ¨Ñ-Ô-Ð-Ð-àŸšØ”>Ý�G”KÑ Ô Ý˜œÑ)Ô)Øð	 #ñ 
ô 
ˆð 	Œ×ÒÑÔÐØŒ×Ò˜~Ñ.Ô.Ð.Ð.Ð.r$   c                óª   — |                       |¦  «        }| j        €t          | j        ¦  «        | _        |                      || j        |¬¦  «         d S )N)r�   r¦   )r€   r¢   r   r¡   r²   )r|   rf   r¦   s      r"   r’   z!_BedrockSigV4Auth.prepare_requestð   sN   € Ø×%Ò% gÑ.Ô.ˆØŒ:ÐÝ'¨¬Ñ5Ô5ˆDŒJØ�
Š
�7 ¤°$ˆ
Ñ7Ô7Ð7Ð7Ð7r$   c              ƒ  óÊ  K  — |                       |¦  «        }| j        €- t          t          ¦  «        | j        ¦  «        ƒ d {V —†| _         t          | j        j        ¦  «        |j        t          |j        ¦  «        d„ |j	         
                    ¦   «         D ¦   «         |¬¦  «        ƒ d {V —†}|j	                             ¦   «          |j	                             |¦  «         d S )Nc                óP   — i | ]#\  }}|                      ¦   «         t          v¯ ||“Œ$S rš   )rC   rª   )Ú.0Únamer   s      r"   ú
<dictcomp>z;_BedrockSigV4Auth.prepare_async_request.<locals>.<dictcomp>þ   s8   € ð ð ð Ù +  eÈ$Ï*Ê*É,Ì,Õ^rÐJrÐJr��eÐJrÐJrÐJrr$   r¨   )r€   r¢   r   r   r¡   r¬   r©   r4   r0   ro   Úitemsr®   r¯   )r|   rf   r¦   r±   s       r"   r”   z'_BedrockSigV4Auth.prepare_async_requestö   s  è è € Ø×%Ò% gÑ.Ô.ˆØŒ:ÐØ7�x­Ñ7Ô7¸¼ÑEÔEÐEÐEÐEÐEÐEÐEˆDŒJà8�x¨¬
¬Ñ8Ô8Ø”>Ý�G”KÑ Ô ðð Ø/6¬×/DÒ/DÑ/FÔ/Fðñ ô ð ð 
ñ  
ô  
ð 
ð 
ð 
ð 
ð 
ð 
ˆð 	Œ×ÒÑÔÐØŒ×Ò˜~Ñ.Ô.Ð.Ð.Ð.r$   )rž   r   r%   r'   r�   rŸ   r   rM   ©rf   rg   r   rh   )rf   rg   r�   r   r¦   rh   r   rM   r•   )r—   r˜   r™   r}   r€   r²   r’   r”   rš   r$   r"   rœ   rœ   Á   s‡   € € € € € ð '+ð	ð 	ð 	ð 	ð 	ð 	ð*ð *ð *ð *ð,/ð /ð /ð /ð8ð 8ð 8ð 8ð/ð /ð /ð /ð /ð /r$   rœ   c                  ó   — e Zd ZU dZded<   dS )Ú_BedrockProviderRuntimeNr   r3   )r—   r˜   r™   r3   Ú__annotations__rš   r$   r"   r¼   r¼     s#   € € € € € € à€FÐÐÐÑÐÐr$   r¼   T)Úfrozenc                  ól  — e Zd ZU ded<   ded<   ded<   ded<    ed	d
¬¦  «        Zded<    ed	d
d
¬¦  «        Zded<   d
Zded<   d	Zded<    ed	d
¬¦  «        Z	ded<    ed	d
¬¦  «        Z
ded<    ed	d
¬¦  «        Zded<    ed	d
d
¬¦  «        Zded<    edd
¬¦  «        Zded<   d#d„Zd$d „Zd%d"„Zd	S )&Ú_BedrockProviderDefinitionrQ   rP   r   Úconfigured_regionz)Literal['explicit', 'environment'] | NoneÚregion_sourcezhttpx2.URL | NoneÚconfigured_base_urlNF)ÚdefaultÚreprÚapi_key)rÄ   rÅ   ÚcompareúBedrockTokenProvider | Nonerw   rb   Úuse_environment_bearerÚprofileÚaccess_key_idÚsecret_access_keyÚsession_tokenúAwsCredentialsProvider | NoneÚcredential_providerr¤   )rÄ   Úinitr4   r·   r   ú3Literal['static', 'profile', 'provider', 'default']c                ó<   — | j         �dS | j        �dS | j        �dS dS )NÚstaticrÊ   ÚproviderrÄ   )rË   rÊ   rÏ   ©r|   s    r"   Ú_aws_sourcez&_BedrockProviderDefinition._aws_source  s0   € ØÔÐ)Ø�8ØŒ<Ð#Ø�9ØÔ#Ð/Ø�:Øˆyr$   ú2tuple[BedrockAwsAuthConfig, BedrockAwsAuth | None]c                ó`  — | j         �^t          | j         |                      ¦   «         | j        dk    rdnd| j        pd| j        | j        | j        | j        | j	        ¬¦	  «	        d fS t          j        d | j        | j        | j        | j        | j	        | j        dk    rdnd¬¦  «        }|j        |fS )Nr   r¤   r?   Úexplicit)	r3   ÚsourcerG   rÂ   rÊ   rË   rÌ   rÍ   Úcredentials_provider)r3   rÊ   rË   rÌ   rÍ   rÛ   rG   )rÁ   r   rÖ   rP   rÂ   rÊ   rË   rÌ   rÍ   rÏ   r   Úresolverž   )r|   r�   s     r"   Ú_resolve_aws_authz,_BedrockProviderDefinition._resolve_aws_auth%  sÙ   € ØÔ!Ð-å$ØÔ1Ø×+Ò+Ñ-Ô-Ø)-¬¸)Ò)CÐ)C˜I˜IÐIYØ"&Ô"4Ð"B¸
Ø œLØ"&Ô"4Ø&*Ô&<Ø"&Ô"4Ø)-Ô)Að
ñ 
ô 
ð ðð õ Ô%ØØ”LØÔ,Ø"Ô4ØÔ,Ø!%Ô!9Ø!%¤°)Ò!;Ð!;�I�IÐAQð
ñ 
ô 
ˆð Œ{˜DÐ Ð r$   r   c                óÊ  ‡ — dd„}d }d }‰ j         �ˆ fd„}‰ j        }n™‰ j        �‰ j        }‰ j        }nƒ‰ j        r
|}‰ j        }nr‰                      ¦   «         \  }}|j        }t          |¦  «         ‰ j        pt          ‰ j	        |¦  «        }t          |‰ j	        |¬¦  «         t          |||¬¦  «        }‰ j        �‰ j        }n'|�t          ‰ j	        |¦  «        }nt          d¦  «        ‚|�t          ||¬¦  «        }|€J ‚t          |t          ¦  «        r)t          ‰ j        ||t"          |j        |j        ¬	¦  «        S t          ‰ j        |||j        |j        ¬
¦  «        S )Nr   r4   c                 óf   — t           j                             d¦  «        } | st          d¦  «        ‚| S )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_tokenz?_BedrockProviderDefinition.configure.<locals>.environment_tokenB  s=   € Ý”J—N’NÐ#=Ñ>Ô>ˆEØð Ý!ðuñô ð ð ˆLr$   c                 ó   •— ‰ j         pdS )NÚ )rÆ   rÕ   s   €r"   ú<lambda>z6_BedrockProviderDefinition.configure.<locals>.<lambda>N  s   ø€  d¤lÐ&8°b€ r$   ©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Á   rw   rÉ   rÝ   r3   rO   rÃ   r_   rP   r]   rœ   r   rv   r‹   r¼   r·   rt   r’   r”   )r|   rä   r�   Úbearer_providerr3   Ú
aws_configÚaws_authr%   s   `       r"   Ú	configurez$_BedrockProviderDefinition.configureA  sË  ø€ ð	ð 	ð 	ð 	ð ?CˆØ7;ˆØŒ<Ð#Ø8Ð8Ð8Ð8ˆOØÔ+ˆFˆFØÔ Ð,Ø"Ô1ˆOØÔ+ˆFˆFØÔ(ð 		ZØ/ˆOØÔ+ˆFˆFà#'×#9Ò#9Ñ#;Ô#;Ñ ˆJ˜ØÔ&ˆFÝ$ VÑ,Ô,Ð,ØÔ/ÐcÕ3LÈTÌ]Ð\bÑ3cÔ3cˆHÝ0°ÀDÄMÐZ`ÐaÑaÔaÐaÝ$¨JÀÐPXÐYÑYÔYˆDàÔ#Ð/ØÔ/ˆHˆHØÐÝ0°´ÀÑGÔGˆHˆHåð(ñô ð ð
 Ð&Ý% oÀÐIÑIÔIˆDàÐÐÐÝ�dÕ-Ñ.Ô.ð 	Ý*Ø”YØ!ØÝ"4Ø $Ô 4Ø&*Ô&@ðñ ô ð õ 'Ø”ØØØ Ô0Ø"&Ô"<ð
ñ 
ô 
ð 	
r$   )r   rÑ   )r   r×   )r   r   )r—   r˜   r™   r½   r   rÆ   rw   rÉ   rÊ   rË   rÌ   rÍ   rÏ   r·   rÖ   rÝ   rí   rš   r$   r"   rÀ   rÀ     sŽ  € € € € € € àÐÐÑØ!Ð!Ð!Ñ!Ø<Ð<Ð<Ñ<Ø*Ð*Ð*Ñ*Ø˜%¨°5Ð9Ñ9Ô9€GÐ9Ð9Ð9Ñ9Ø27°%ÀÈ5ÐZ_Ð2`Ñ2`Ô2`€NÐ`Ð`Ð`Ñ`Ø#(ÐÐ(Ð(Ð(Ñ(Ø€GÐÐÐÑØ % ¨d¸Ð ?Ñ ?Ô ?€MÐ?Ð?Ð?Ñ?Ø$) E°$¸UÐ$CÑ$CÔ$CÐÐCÐCÐCÑCØ % ¨d¸Ð ?Ñ ?Ô ?€MÐ?Ð?Ð?Ñ?Ø9>¸ÀtÐRWÐafÐ9gÑ9gÔ9gÐÐgÐgÐgÑgØ�˜i¨eÐ4Ñ4Ô4€DÐ4Ð4Ð4Ñ4ðð ð ð ð!ð !ð !ð !ð8;
ð ;
ð ;
ð ;
ð ;
ð ;
r$   rÀ   )
rP   r3   r%   rÆ   rw   rË   rÌ   rÍ   rÊ   rÏ   úBedrockEndpoint | Noneú"str | httpx2.URL | None | NotGivenrÆ   ústr | None | NotGivenrw   rÈ   rË   rÌ   rÍ   rÊ   rÏ   rÎ   r   c        
        óè  — | �| dvrt          d¦  «        ‚t          |¦  «        }
|�|
€t          d¦  «        ‚t          |
¦  «         |
�dnd}t          |t          ¦  «        r@t          t
          j                             d¦  «        ¦  «        }|rt          |¦  «        nd}nL|€d}nGt          |t          ¦  «        r#| 
                    ¦   «         st          d¦  «        ‚t          |¦  «        }|�t          |j        ¦  «        nd}| p|�|d         nd	}t          |¦  «        }|�|€t          d
¦  «        ‚|du |du k    s|�|€t          d¦  «        ‚|�J| 
                    ¦   «         r't          t          |¦  «         
                    ¦   «         st          d¦  «        ‚|�#| 
                    ¦   «         st          d¦  «        ‚t          |t          ¦  «         o|du}|r8t          |t          ¦  «        r| 
                    ¦   «         st          d¦  «        ‚|r|�t          d¦  «        ‚|p|du}t          |du|du|	duf¦  «        }|dk    rt          d¦  «        ‚|r|rt          d¦  «        ‚t          |t          ¦  «         o|du }| o1| o.| o+t          t
          j                             d¦  «        ¦  «        }|
€d|�|s`|s^t          t
          j                             d¦  «        pt
          j                             d¦  «        ¦  «        }
t          |
¦  «         |
�d}|�t!          |||
¬¦  «         t#          t%          ||
|||rt          d|¦  «        nd|||||||	¬¦  «        ¦  «        S )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Æ   rw   rÉ   rÊ   rË   rÌ   rÍ   rÏ   )r   r#   rO   r‹   r   rá   râ   rã   r2   r4   r    rL   rX   r   Úsumrb   r]   r   rÀ   )rP   r3   r%   rÆ   rw   rË   rÌ   rÍ   rÊ   rÏ   Únormalized_regionrÂ   Úenvironment_base_urlrÃ   rZ   Úresolved_endpointÚnormalized_profileÚexplicit_api_keyÚexplicit_bearerÚ	aws_modesÚskip_environment_bearerrÉ   s                         r"   r¤   r¤     s[  € ð Ð Ð0EÐ EÐ EÝÐXÑYÔYÐYå2°6Ñ:Ô:ÐØÐÐ/Ð7ÝÐGÑHÔHÐHÝÐ.Ñ/Ô/Ð/àM^ÐMj¸z¸zÐpt€Mõ �(�HÑ%Ô%ð <Ý9½"¼*¿.º.ÐI_Ñ:`Ô:`ÑaÔaÐØK_ÐiÕ1Ð2FÑGÔGÐGÐeiÐÐØ	Ð	Ø"ÐÐå�h¥Ñ$Ô$ð 	K¨X¯^ª^Ñ-=Ô-=ð 	KÝÐIÑJÔJÐJÝ1°(Ñ;Ô;Ðð GZÐFeÕ(Ð)<Ô)AÑBÔBÐBÐkoð ð *2ð *Ø!3Ð!?Ð˜1ÔÐÀXð õ 4°GÑ<Ô<ÐØÐÐ1Ð9ÝÐHÑIÔIÐIà˜ÐÐ#4¸Ð#<Ò=Ð=À-ÐB[Ð`mÐ`uÝð<ñ
ô 
ð 	
ð Ð ¨-×*=Ò*=Ñ*?Ô*?Ð ÅtÍCÐQbÑGcÔGc×GiÒGiÑGkÔGkÐ ÝÐtÑuÔuÐuØÐ ¨×)<Ò)<Ñ)>Ô)>Ð ÝÐYÑZÔZÐZå% g­xÑ8Ô8Ð8ÐP¸WÈDÐ=PÐØð N¥¨GµSÑ!9Ô!9ð NÀÇÂÁÄð NÝÐLÑMÔMÐMØð t˜NÐ6ÝÐrÑsÔsÐsà&ÐD¨.ÀÐ*D€OÝà Ð%Ø dÐ*Ø tÐ+ð	
ñô €Ið �1‚}€}Ýð/ñ
ô 
ð 	
ð ð 
˜9ð 
ÝðGñ
ô 
ð 	
õ
 #-¨WµhÑ"?Ô"?Ð?ÐSÀGÈtÀOÐàÐð 	=ØˆMð	=à'Ð'ð	=õ •”—’Ð :Ñ;Ô;Ñ<Ô<ð	 ð Ð Ð&9Ð&AÈ/Ð&AÐ]sÐ&AÝ6ÝŒJ�NŠN˜<Ñ(Ô(ÐP­B¬J¯NªNÐ;OÑ,PÔ,Pñ
ô 
Ðõ 	!Ð!2Ñ3Ô3Ð3ØÐ(Ø)ˆMàÐ&Ý,Ð-@ÐK\ÐevÐwÑwÔwÐwåÝ"Ø&Ø/Ø'Ø 3Ø3CÐM•D˜ wÑ/Ô/Ð/ÈØ)Ø#9Ø&Ø'Ø/Ø'Ø 3ð	
ñ 	
ô 	
ñô ð r$   )r¤   rQ   rx   r   )r   r   r   r   )r%   r&   r   r'   )r3   r4   r   r5   )r;   r4   r   r<   )r3   r   r   rM   )r%   r'   rP   rQ   r3   r   r   rM   )rP   rQ   r3   r4   r   r'   )r`   r'   ra   r'   r   rb   rº   r•   )rq   r   r   r   )rP   rî   r3   r   r%   rï   rÆ   rð   rw   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   rx   rQ   rª   ÚcompilerE   r#   r2   r:   rL   rO   r]   r_   re   rl   rp   rt   rv   rœ   r¼   rÀ   r¤   Ú__all__rš   r$   r"   ú<module>r     sŠ  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 	€	€	€	Ø €€€Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (à €€€à (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ )Ð )Ð )Ð )Ð )Ð )Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð   Ð$:Ð :Ô;Ð ØÐ-Ô.€àfÐ ØˆbŒjÐ;Ñ<Ô<€ðð ð ð ð+ð +ð +ð +ð&ð &ð &ð &ð 
ð 
ð 
ð 
ðqð qð qð qð

ð 
ð 
ð 
ð*@ð @ð @ð @ðYð Yð Yð Yðð ð ð ðvð vð vð vð
ð ð ð ð1Yð 1Yð 1Yð 1Yð 1Yñ 1Yô 1Yð 1YðhC/ð C/ð C/ð C/ð C/ñ C/ô C/ð C/ðL ðð ð ð ð Ð.ñ ô ñ „ðð €�$ÐÑÔðo
ð o
ð o
ð o
ð o
ñ o
ô o
ñ Ôðo
ðh (,ØØ3<Ø%.Ø26Ø $Ø$(Ø $ØØ9=ðtð tð tð tð tð tðn [Ð
ZÐ
Z€€€r$   