§
     �’jÅ  ã                  ó  — d dl mZ d dlZd dlZd dlmZmZmZmZm	Z	m
Z
 d dlmZmZ ddlmZ eg ef         Z G d„ de	¦  «        Zd	Zed
ddfZdd„Z ed¬¦  «         G d„ d¦  «        ¦   «         Z G d„ d¦  «        Zddœdd„ZdS )é    )ÚannotationsN)ÚAnyÚLiteralÚMappingÚCallableÚProtocolÚcast)ÚfieldÚ	dataclassé   )ÚOpenAIErrorc                  ó   — e Zd Zdd„ZdS )Ú_BotocoreSessionÚreturnúobject | Nonec                ó   — d S )N© )Úselfs    úFC:\Projects\DSCons\.venv\Lib\site-packages\openai\lib\_bedrock_auth.pyÚget_credentialsz _BotocoreSession.get_credentials   s   € € € ó    N)r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   € € € € € Ø3Ð3Ð3Ð3Ð3Ð3r   r   Úauthorizationzx-amz-content-sha256z
x-amz-datezx-amz-security-tokenr   útuple[Any, Any, Any, Any]c                 ó¢   — 	 ddl m}  ddlm} ddlm} ddlm} n"# t          $ r}t          d¦  «        |‚d }~ww xY wt          d| |||f¦  «        S )Nr   )Ú	SigV4Auth)ÚSession)Ú
AWSRequest)ÚCredentialsz}Bedrock AWS authentication requires optional AWS dependencies. Install them with `pip install openai[bedrock]` and try again.r   )Úbotocore.authr   Úbotocore.sessionr   Úbotocore.awsrequestr    Úbotocore.credentialsr!   ÚImportErrorr   r	   )r   r   r    r!   Úexcs        r   Ú_load_botocorer(      s«   € ð	Ø+Ð+Ð+Ð+Ð+Ð+Ø,Ð,Ð,Ð,Ð,Ð,Ø2Ð2Ð2Ð2Ð2Ð2Ø4Ð4Ð4Ð4Ð4Ð4Ð4øÝð ð ð ÝðMñ
ô 
ð ð	øøøøðøøøõ Ð+¨i¸À[ÐRYÐ-ZÑ[Ô[Ð[s   ‚ ›
:¥5µ:T)Úfrozenc                  óà   — e Zd ZU ded<   de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<   dS )ÚBedrockAwsAuthConfigÚstrÚregionz3Literal['static', 'profile', 'provider', 'default']Úsourceúbedrock-mantleú$Literal['bedrock-mantle', 'bedrock']ÚserviceÚexplicitz-Literal['explicit', 'environment', 'profile']Úregion_sourceNú
str | NoneÚprofileF)ÚdefaultÚreprÚaccess_key_idÚsecret_access_keyÚsession_token)r6   r7   ÚcompareúAwsCredentialsProvider | NoneÚcredentials_provider)r   r   r   Ú__annotations__r1   r3   r5   r
   r8   r9   r:   r=   r   r   r   r+   r+   +   sà   € € € € € € à€K€K�KØ?Ð?Ð?Ñ?Ø4D€GÐDÐDÐDÑDØCM€MÐMÐMÐMÑMØ€GÐÐÐÑØ % ¨d¸Ð ?Ñ ?Ô ?€MÐ?Ð?Ð?Ñ?Ø$) E°$¸UÐ$CÑ$CÔ$CÐÐCÐCÐCÑCØ % ¨d¸Ð ?Ñ ?Ô ?€MÐ?Ð?Ð?Ñ?Ø:?¸%ÈÐSXÐbgÐ:hÑ:hÔ:hÐÐhÐhÐhÑhÐhÐhr   r+   c                  óB   — e Zd Zddœd d	„Zed
dœd!d„¦   «         Zd"d„ZdS )#ÚBedrockAwsAuthN©ÚsessionÚconfigr+   rB   ú_BotocoreSession | Noner   ÚNonec               óT  — t          ¦   «         \  }}}}|€5	  ||j        ¬¦  «        }n"# t          $ r}t          d¦  «        |‚d }~ww xY w|€J ‚|| _        || _        |j        | _        |j        �#|j	        � ||j        |j	        |j
        ¦  «        nd | _        || _        || _        d S )N©r5   ú�Failed to resolve AWS credentials for Bedrock. Verify your AWS profile, environment variables, or runtime identity configuration and try again.)r(   r5   Ú	Exceptionr   rC   Ú_sessionr=   Ú_credentials_providerr8   r9   r:   Ú_explicit_credentialsÚ_aws_request_clsÚ_sigv4_auth_cls)r   rC   rB   Úsigv4_auth_clsÚaws_request_clsÚcredentials_clsÚsession_clsr'   s           r   Ú__init__zBedrockAwsAuth.__init__9   sî   € ÝHVÑHXÔHXÑEˆ˜¨¸+àˆ?ðØ%˜+¨f¬nÐ=Ñ=Ô=��øÝð ð ð Ý!ðGñô ð ðøøøøðøøøð Ð"Ð"Ð"ØˆŒØˆŒØ%+Ô%@ˆÔ"ð Ô#Ð/°FÔ4LÐ4Xð ˆO˜FÔ0°&Ô2JÈFÔL`ÑaÔaÐaàð 	Ô"ð
 !0ˆÔØ-ˆÔÐÐs   —) ©
A³AÁAr/   )r1   r-   r4   r5   r8   r9   r:   r=   r<   r1   r0   c               ó0  — t          ¦   «         \  }}}}		  |	|¬¦  «        }
t          ||
¬¦  «        \  }}n,# t          $ r ‚ t          $ r}t          d¦  «        |‚d }~ww xY w|�d}n|�d}n|�d}nd}t	          |||||||||¬¦	  «	        } | ||
¬¦  «        S )	NrG   rA   rH   Ústaticr5   Úproviderr6   )	r-   r.   r1   r3   r5   r8   r9   r:   r=   )r(   Úresolve_aws_region_with_sourcer   rI   r+   )Úclsr-   r5   r8   r9   r:   r=   r1   Ú_rR   rB   Úresolved_regionr3   r'   r.   rC   s                   r   ÚresolvezBedrockAwsAuth.resolveQ   s  € õ  .Ñ/Ô/Ñˆˆ1ˆa�ð		Ø!�k¨'Ð2Ñ2Ô2ˆGÝ-KÈFÐ\cÐ-dÑ-dÔ-dÑ*ˆO˜]˜]øÝð 	ð 	ð 	ØÝð 	ð 	ð 	ÝðCñô ð ðøøøøð	øøøð Ð$ØˆFˆFØÐ ØˆFˆFØ!Ð-ØˆFˆFàˆFå%Ø"ØØØ'ØØ'Ø/Ø'Ø!5ð

ñ 

ô 

ˆð ˆs�6 7Ð+Ñ+Ô+Ð+s   • 6 ¶AÁ
AÁAÚmethodr,   ÚurlÚheadersúMapping[str, str]Úbodyúbytes | Noneúdict[str, str]c               óÖ  — 	 | j         �|                       ¦   «         n| j        p| j                             ¦   «         }|€t	          d¦  «        ‚t          |dd ¦  «        }t          |¦  «        r
 |¦   «         }d„ |                     ¦   «         D ¦   «         }t          j	        |pd¦  «         
                    ¦   «         |d<   |                      ||||¬¦  «        }|                      || j        j        | j        j        ¦  «                             |¦  «         n,# t          $ r ‚ t"          $ r}	t	          d¦  «        |	‚d }	~	ww xY wt%          |j                             ¦   «         ¦  «        S )Nzµ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.Úget_frozen_credentialsc                óP   — i | ]#\  }}|                      ¦   «         t          v¯ ||“Œ$S r   )ÚlowerÚ_AWS_SIGNING_HEADERS)Ú.0ÚnameÚvalues      r   ú
<dictcomp>z'BedrockAwsAuth.sign.<locals>.<dictcomp>“   s8   € ð ð ð Ù +  eÀ$Ç*Â*Á,Ä,ÕVjÐBjÐBj��eÐBjÐBjÐBjr   r   zX-Amz-Content-SHA256)r\   r]   Údatar^   rH   )rK   rL   rJ   r   r   ÚgetattrÚcallableÚitemsÚhashlibÚsha256Ú	hexdigestrM   rN   rC   r1   r-   Úadd_authrI   Údictr^   )
r   r\   r]   r^   r`   Úcredentialsrd   Úsigned_headersÚaws_requestr'   s
             r   ÚsignzBedrockAwsAuth.sign�   s²  € ð"	ð Ô-Ð9ð ×*Ò*Ñ,Ô,Ð,àÔ/ÐR°4´=×3PÒ3PÑ3RÔ3Rð ð
 Ð"Ý!ðeñô ð õ &-¨[Ð:RÐTXÑ%YÔ%YÐ"ÝÐ.Ñ/Ô/ð 7Ø4Ð4Ñ6Ô6�ðð Ø/6¯}ª}©¬ðñ ô ˆNõ 6=´^ÀDÀKÈCÑ5PÔ5P×5ZÒ5ZÑ5\Ô5\ˆNÐ1Ñ2Ø×/Ò/ØØØØ&ð	 0ñ ô ˆKð × Ò  ¨d¬kÔ.AÀ4Ä;ÔCUÑVÔV×_Ò_Ð`kÑlÔlÐlÐløÝð 	ð 	ð 	ØÝð 	ð 	ð 	ÝðCñô ð ðøøøøð	øøøõ �KÔ'×-Ò-Ñ/Ô/Ñ0Ô0Ð0s   ‚DD ÄEÄ-D=Ä=E)rC   r+   rB   rD   r   rE   )r-   r4   r5   r4   r8   r4   r9   r4   r:   r4   r=   r<   r1   r0   r   r@   )
r\   r,   r]   r,   r^   r_   r`   ra   r   rb   )r   r   r   rS   Úclassmethodr[   rx   r   r   r   r@   r@   8   sz   € € € € € Ø[_ð .ð .ð .ð .ð .ð .ð0 ð 9Ið-,ð -,ð -,ð -,ð -,ñ „[ð-,ð^%1ð %1ð %1ð %1ð %1ð %1r   r@   rA   Ú
aws_regionr4   rB   r   ú9tuple[str, Literal['explicit', 'environment', 'profile']]c               óÒ  — | }d}|�|                      ¦   «         s@t          j                             d¦  «        pt          j                             d¦  «        }d}|�|                      ¦   «         s=|�;t	          |dd ¦  «        }t          |¦  «        rt          d |d¦  «        ¦  «        }d}|�|                      ¦   «         st          d	¦  «        ‚|                      ¦   «         |fS )
Nr2   Ú
AWS_REGIONÚAWS_DEFAULT_REGIONÚenvironmentÚget_config_variabler4   r-   r5   zmBedrock requires an AWS region. Pass `region` to `bedrock(...)`, or set `AWS_REGION` or `AWS_DEFAULT_REGION`.)ÚstripÚosÚenvironÚgetrm   rn   r	   r   )rz   rB   r-   r.   r€   s        r   rW   rW   ©   sâ   € ð €FØ<F€FØ€~˜VŸ\š\™^œ^€~Ý”—’ Ñ-Ô-ÐUµ´·²Ð@TÑ1UÔ1UˆØˆØˆ˜fŸlšl™nœnˆ°'Ð2EÝ% gÐ/DÀdÑKÔKÐÝÐ'Ñ(Ô(ð 	Ý˜,Ð(;Ð(;¸HÑ(EÔ(EÑFÔFˆFØˆFà€~˜VŸ\š\™^œ^€~Ýð$ñ
ô 
ð 	
ð
 �<Š<‰>Œ>˜6Ð!Ð!r   )r   r   )rz   r4   rB   r   r   r{   )Ú
__future__r   r‚   rp   Útypingr   r   r   r   r   r	   Údataclassesr
   r   Ú_exceptionsr   ÚobjectÚAwsCredentialsProviderr   Ú_AUTHORIZATIONrg   r(   r+   r@   rW   r   r   r   ú<module>rŒ      s™  ðð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ (Ð (Ð (Ð (Ð (Ð (Ð (Ð (à %Ð %Ð %Ð %Ð %Ð %à! " f *Ô-Ð ð4ð 4ð 4ð 4ð 4�xñ 4ô 4ð 4ð !€àØØØð	Ð ð\ð \ð \ð \ð €�$ÐÑÔð	ið 	ið 	ið 	ið 	iñ 	iô 	iñ Ôð	iðn1ð n1ð n1ð n1ð n1ñ n1ô n1ð n1ðd 9=ð"ð "ð "ð "ð "ð "ð "ð "r   