Ë
    Fü´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y)é    )ÚannotationsN)ÚAnyÚLiteralÚMappingÚCallableÚProtocolÚcast)ÚfieldÚ	dataclassé   )ÚOpenAIErrorc                  ó   — e Zd Zdd„Zy)Ú_BotocoreSessionc                 ó   — y )N© )Úselfs    úV/root/workspace/ytshorts/venv/lib/python3.12/site-packages/openai/lib/_bedrock_auth.pyÚget_credentialsz _BotocoreSession.get_credentials   s   � ó    N)Úreturnúobject | None)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   „ Ü3r   r   Úauthorizationzx-amz-content-sha256z
x-amz-datezx-amz-security-tokenc                 óŽ   — 	 ddl m}  ddlm} ddlm} ddlm} t        d| |||f«      S # t        $ r}t        d«      |‚d }~ww xY w)Nr   )Ú	SigV4Auth)ÚSession)Ú
AWSRequest)ÚCredentialsz}Bedrock AWS authentication requires optional AWS dependencies. Install them with `pip install openai[bedrock]` and try again.útuple[Any, Any, Any, Any])Úbotocore.authr   Úbotocore.sessionr   Úbotocore.awsrequestr   Úbotocore.credentialsr    ÚImportErrorr   r	   )r   r   r   r    Úexcs        r   Ú_load_botocorer(      sW   € ð	Ý+Ý,Ý2Ý4ô Ð+¨i¸À[ÐRYÐ-ZÓ[Ð[øô ò ÜðMó
ð ð	ûðús   ‚* ª	A³?¿A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<   y)Ú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+   +   sx   … àƒKØ?Ó?Ø4D€GÐ1ÓDØCM€MÐ@ÓMØ€GˆZÓÙ %¨d¸Ô ?€M�:Ó?Ù$)°$¸UÔ$CÐ�zÓCÙ %¨d¸Ô ?€M�:Ó?Ù:?ÈÐSXÐbgÔ:hÐÐ7Ôhr   r+   c                  óX   — e Zd Zddœdd„Zeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d	d„«       Zd
d„Zy)ÚBedrockAwsAuthN©Úsessionc               óx  — t        «       \  }}}}|€	  ||j                  ¬«      }|€J ‚|| _        || _        |j                  | _        |j                  �4|j                  �( ||j                  |j                  |j                  «      nd | _        || _        || _        y # t        $ r}t        d«      |‚d }~ww xY w)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   ÚconfigÚ_sessionr=   Ú_credentials_providerr8   r9   r:   Ú_explicit_credentialsÚ_aws_request_clsÚ_sigv4_auth_cls)r   rG   rB   Úsigv4_auth_clsÚaws_request_clsÚcredentials_clsÚsession_clsr'   s           r   Ú__init__zBedrockAwsAuth.__init__9   sÕ   € ÜHVÓHXÑEˆ˜¨¸+àˆ?ðÙ%¨f¯n©nÔ=�ð Ð"Ð"Ð"ØˆŒØˆŒØ%+×%@Ñ%@ˆÔ"ð ×#Ñ#Ð/°F×4LÑ4LÐ4Xñ ˜F×0Ñ0°&×2JÑ2JÈF×L`ÑL`Ôaàð 	Ô"ð
 !0ˆÔØ-ˆÕøô! ò Ü!ðGóð ðûðús   “B Â	B9Â(B4Â4B9r/   )r1   c               óþ   — t        «       \  }}}}		  |	|¬«      }
t        ||
¬«      \  }}|�d}n|�d}n|�d}nd}t	        |||||||||¬«	      } | ||
¬«      S # t        $ r ‚ t        $ r}t        d«      |‚d }~ww xY w)	NrD   rA   rE   Ústaticr5   Úproviderr6   )	r-   r.   r1   r3   r5   r8   r9   r:   r=   )r(   Úresolve_aws_region_with_sourcer   rF   r+   )Úclsr-   r5   r8   r9   r:   r=   r1   Ú_rP   rB   Úresolved_regionr3   r'   r.   rG   s                   r   ÚresolvezBedrockAwsAuth.resolveQ   sÇ   € ô  .Ó/Ñˆˆ1ˆa�ð		Ù!¨'Ô2ˆGÜ-KÈFÐ\cÔ-dÑ*ˆO˜]ð Ð$Ø‰FØÐ Ø‰FØ!Ð-Ø‰FàˆFä%Ø"ØØØ'ØØ'Ø/Ø'Ø!5ô

ˆñ �6 7Ô+Ð+øô; ò 	ØÜò 	ÜðCóð ðûð	ús   ‘A ÁA<Á+A7Á7A<c               ó  — 	 | j                   �| j                  «       n'| j                  xs | j                  j                  «       }|€t	        d«      ‚t        |dd «      }t        |«      r |«       }|j                  «       D ��ci c]  \  }}|j                  «       t        vsŒ||“Œ! }	}}t        j                  |xs d«      j                  «       |	d<   | j                  ||||	¬«      }
| j                  || j                  j                   | j                  j"                  «      j%                  |
«       t)        |
j*                  j                  «       «      S c c}}w # t        $ r ‚ t&        $ r}t	        d«      |‚d }~ww xY w)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_credentialsr   zX-Amz-Content-SHA256)ÚmethodÚurlÚdataÚheadersrE   )rI   rJ   rH   r   r   ÚgetattrÚcallableÚitemsÚlowerÚ_AWS_SIGNING_HEADERSÚhashlibÚsha256Ú	hexdigestrK   rL   rG   r1   r-   Úadd_authrF   Údictr_   )r   r\   r]   r_   ÚbodyÚcredentialsr[   ÚnameÚvalueÚsigned_headersÚaws_requestr'   s               r   ÚsignzBedrockAwsAuth.sign�   sˆ  € ð"	ð ×-Ñ-Ð9ð ×*Ñ*Ô,à×/Ñ/ÒR°4·=±=×3PÑ3PÓ3Rð ð
 Ð"Ü!ðeóð ô &-¨[Ð:RÐTXÓ%YÐ"ÜÐ.Ô/Ù4Ó6�ð 07¯}©}«÷Ù +  eÀ$Ç*Á*Ã,ÔVjÒBj��e‘ðˆNñ ô 6=·^±^ÀDÂKÈCÓ5P×5ZÑ5ZÓ5\ˆNÐ1Ñ2Ø×/Ñ/ØØØØ&ð	 0ó ˆKð × Ñ  ¨d¯k©k×.AÑ.AÀ4Ç;Á;×CUÑCUÓV×_Ñ_Ð`kÔlô �K×'Ñ'×-Ñ-Ó/Ó0Ð0ùó'øô ò 	ØÜò 	ÜðCóð ðûð	ús1   ‚BE ÂEÂ$EÂ)BE ÅE ÅFÅ0E<Å<F)rG   r+   rB   z_BotocoreSession | Noner   ÚNone)r-   r4   r5   r4   r8   r4   r9   r4   r:   r4   r=   r<   r1   r0   r   r@   )
r\   r,   r]   r,   r_   zMapping[str, str]rj   zbytes | Noner   zdict[str, str])r   r   r   rQ   ÚclassmethodrY   rp   r   r   r   r@   r@   8   sz   „ Ø[_õ .ð0 ð 9Iñ-,ð ð-,ð ð	-,ð
 "ð-,ð &ð-,ð "ð-,ð <ð-,ð 6ð-,ð 
ò-,ó ð-,ô^%1r   r@   rA   c               ó�  — | }d}|�|j                  «       sBt        j                  j                  d«      xs t        j                  j                  d«      }d}|�|j                  «       s.|�,t	        |dd «      }t        |«      rt        d |d«      «      }d}|�|j                  «       st        d	«      ‚|j                  «       |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Úgetr`   ra   r	   r   )Ú
aws_regionrB   r-   r.   rw   s        r   rU   rU   ©   s¹   € ð €FØ<F€FØ€~˜VŸ\™\œ^Ü—‘—‘ Ó-ÒU´·±·±Ð@TÓ1UˆØˆØˆ˜fŸl™lœn°'Ð2EÜ% gÐ/DÀdÓKÐÜÐ'Ô(Ü˜,Ñ(;¸HÓ(EÓFˆFØˆFà€~˜VŸ\™\œ^Üð$ó
ð 	
ð
 �<‰<‹>˜6Ð!Ð!r   )r   r!   )r|   r4   rB   r   r   z9tuple[str, Literal['explicit', 'environment', 'profile']])Ú
__future__r   ry   re   Útypingr   r   r   r   r   r	   Údataclassesr
   r   Ú_exceptionsr   ÚobjectÚAwsCredentialsProviderr   Ú_AUTHORIZATIONrd   r(   r+   r@   rU   r   r   r   ú<module>r„      s¨   ðõ #ã 	Û ß B× Bß (å %à! " f *Ñ-Ð ô4�xô 4ð !€àØØØð	Ð ó\ñ �$Ô÷	ið 	ió ð	i÷n1ñ n1ðd 9=ñ"Øð"Ø(5ð"à>ô"r   