Ë
    @²Xj4  ã                  óð   — 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    ú^/var/www/html/content_generation/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                 óz   — 	 ddl m}  ddlm} ddlm} ddlm} | |||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.)
Úbotocore.authr   Úbotocore.sessionr   Úbotocore.awsrequestr   Úbotocore.credentialsr    ÚImportErrorr   )r   r   r   r    Úexcs        r   Ú_load_botocorer'      sN   € ð	Ý+Ý,Ý2Ý4ð �j +¨wÐ6Ð6øô ò ÜðMó
ð ð	ûðú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
<    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Úexplicitz-Literal['explicit', 'environment', 'profile']Úregion_sourceNú
str | NoneÚprofileF)ÚdefaultÚreprÚaccess_key_idÚsecret_access_keyÚsession_token)r2   r3   ÚcompareúAwsCredentialsProvider | NoneÚcredentials_provider)r   r   r   Ú__annotations__r/   r1   r
   r4   r5   r6   r9   r   r   r   r*   r*   +   sm   … àƒKØ?Ó?ØCM€MÐ@ÓMØ€GˆZÓÙ %¨d¸Ô ?€M�:Ó?Ù$)°$¸UÔ$CÐ�zÓCÙ %¨d¸Ô ?€M�:Ó?Ù:?ÈÐSXÐbgÔ:hÐÐ7Ôhr   r*   c                  óP   — e Zd Zddœdd„Ze	 	 	 	 	 	 	 	 	 	 	 	 	 	 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©r1   ú�Failed to resolve AWS credentials for Bedrock. Verify your AWS profile, environment variables, or runtime identity configuration and try again.)r'   r1   Ú	Exceptionr   ÚconfigÚ_sessionr9   Ú_credentials_providerr4   r5   r6   Ú_explicit_credentialsÚ_aws_request_clsÚ_sigv4_auth_cls)r   rC   r>   Úsigv4_auth_clsÚaws_request_clsÚcredentials_clsÚsession_clsr&   s           r   Ú__init__zBedrockAwsAuth.__init__8   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c          
     óü   — t        «       \  }}}}	  ||¬«      }	t        ||	¬«      \  }
}|�d}n|�d}n|�d}nd}t	        |
|||||||¬«      } | ||	¬«      S # t        $ r ‚ t        $ r}t        d«      |‚d }~ww xY w)	Nr@   r=   rA   Ústaticr1   Úproviderr2   )r,   r-   r/   r1   r4   r5   r6   r9   )r'   Úresolve_aws_region_with_sourcer   rB   r*   )Úclsr,   r1   r4   r5   r6   r9   Ú_rL   r>   Úresolved_regionr/   r&   r-   rC   s                  r   ÚresolvezBedrockAwsAuth.resolveP   sÄ   € ô  .Ó/Ñˆˆ1ˆa�ð		Ù!¨'Ô2ˆGÜ-KÈFÐ\cÔ-dÑ*ˆO˜]ð Ð$Ø‰FØÐ Ø‰FØ!Ð-Ø‰FàˆFä%Ø"ØØ'ØØ'Ø/Ø'Ø!5ô	
ˆñ �6 7Ô+Ð+øô9 ò 	ØÜò 	ÜðCóð ðûð	ús   ‘A ÁA;Á*A6Á6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                  |d| 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Úheaderszbedrock-mantlerA   )rE   rF   rD   r   r   ÚgetattrÚcallableÚitemsÚlowerÚ_AWS_SIGNING_HEADERSÚhashlibÚsha256Ú	hexdigestrG   rH   rC   r,   Úadd_authrB   Údictr[   )r   rX   rY   r[   ÚbodyÚcredentialsrW   Ú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‘¨ð ñ ô 6=·^±^ÀDÂKÈCÓ5P×5ZÑ5ZÓ5\ˆNÐ1Ñ2Ø×/Ñ/ØØØØ&ð	 0ó ˆKð × Ñ  Ð.>ÀÇÁ×@RÑ@RÓS×\Ñ\Ð]hÔiô �K×'Ñ'×-Ñ-Ó/Ó0Ð0ùó'øô ò 	ØÜò 	ÜðCóð ðûð	ús1   ‚BE
 ÂEÂ$EÂ)A8E
 ÅE
 Å
E-ÅE(Å(E-)rC   r*   r>   z_BotocoreSession | Noner   ÚNone)r,   r0   r1   r0   r4   r0   r5   r0   r6   r0   r9   r8   r   r<   )
rX   r+   rY   r+   r[   zMapping[str, str]rf   zbytes | Noner   zdict[str, str])r   r   r   rM   ÚclassmethodrU   rl   r   r   r   r<   r<   7   sj   „ Ø[_õ .ð0 ð+,ð ð+,ð ð	+,ð
 "ð+,ð &ð+,ð "ð+,ð <ð+,ð 
ò+,ó ð+,ôZ%1r   r<   r=   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 )
Nr.   Ú
AWS_REGIONÚAWS_DEFAULT_REGIONÚenvironmentÚget_config_variabler0   r,   r1   zmBedrock requires an AWS region. Pass `region` to `bedrock(...)`, or set `AWS_REGION` or `AWS_DEFAULT_REGION`.)ÚstripÚosÚenvironÚgetr\   r]   r	   r   )Ú
aws_regionr>   r,   r-   rs   s        r   rQ   rQ   ¦   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   ztuple[Any, Any, Any, Any])rx   r0   r>   r   r   z9tuple[str, Literal['explicit', 'environment', 'profile']])Ú
__future__r   ru   ra   Útypingr   r   r   r   r   r	   Údataclassesr
   r   Ú_exceptionsr   ÚobjectÚAwsCredentialsProviderr   Ú_AUTHORIZATIONr`   r'   r*   r<   rQ   r   r   r   Ú<module>r€      s§   ðõ #ã 	Û ß B× Bß (å %à! " f *Ñ-Ð ô4�xô 4ð !€àØØØð	Ð ó7ñ �$Ô÷ið ió ði÷l1ñ l1ð` 9=ñ"Øð"Ø(5ð"à>ô"r   