o
    î6Wjp>  ã                   @  sÌ   d dl mZ d dlmZmZmZ d dlmZmZ d dl	Z	ddl
mZmZmZmZmZ ddlmZmZ dd	lmZmZmZmZmZmZ dd
lmZ ddlmZ ddlmZ G dd„ deƒZ G dd„ deƒZ!dS )é    )Úannotations)ÚAnyÚMappingÚSequence)ÚSelfÚoverrideNé   )Ú	NOT_GIVENÚOmitÚHeadersÚTimeoutÚNotGiven)Ú	AnthropicÚAsyncAnthropicé   )Úresolve_regionÚresolve_api_keyÚresolve_base_urlÚresolve_auth_modeÚresolve_workspace_idÚvalidate_credentials)ÚAnthropicError)ÚMiddlewareInput)ÚDEFAULT_MAX_RETRIESc                      ó  e Zd ZU ded< ded< ded< ded< ded< ded< ded	< ded
< dddddddddeeddddddddœd@‡ fd#d$„ZeedA‡ fd&d'„ƒƒZ	eedB‡ fd)d*„ƒƒZ
edC‡ fd.d/„ƒZedDd2d3„ƒZedddddddddddededdddei d4œdE‡ fd>d?„ƒZeZ‡  ZS )FÚAnthropicAWSú
str | NoneÚaws_access_keyÚaws_secret_keyÚ
aws_regionÚaws_profileÚaws_session_tokenÚworkspace_idÚboolÚ
_use_sigv4Ú
_skip_authNF©Úapi_keyr   r   r   r    r!   r"   Ú	skip_authÚbase_urlÚtimeoutÚmax_retriesÚdefault_headersÚdefault_queryÚhttp_clientÚ
middlewareÚ_strict_response_validationÚ
auth_tokenÚwebhook_keyr'   r(   r)   ústr | httpx.URL | Noner*   ú'float | httpx.Timeout | None | NotGivenr+   Úintr,   úMapping[str, str] | Noner-   úMapping[str, object] | Noner.   úhttpx.Client | Noner/   ú Sequence[MiddlewareInput] | Noner0   r1   r2   ÚreturnÚNonec                  ó  || _ t||d� |rd| _d }nt||||d�| _t|| jd�}t|ƒ}| jr0|d u r0tdƒ‚|| _|| _|| _	|| _
|| _|rE|| _nt|ƒ}|d u rQtdƒ‚|| _|snt|	d ur_t|	ƒnd |d�}|d u rltdƒ‚|}	tƒ j||||	|
||||||d	� d S ©
N)r   r   F)r'   r   r   r    )r'   Ú	use_sigv4zxNo AWS region was provided. Set the `aws_region` argument or the `AWS_REGION`/`AWS_DEFAULT_REGION` environment variable.zpNo workspace ID found. Set the `workspace_id` argument or the `ANTHROPIC_AWS_WORKSPACE_ID` environment variable.)Úregionz²No AWS region was provided and no base_url was given. Set the `aws_region` argument, the `AWS_REGION`/`AWS_DEFAULT_REGION` environment variable, or provide a `base_url` directly.)r'   r1   r2   r)   r*   r+   r,   r-   r.   r/   r0   ©r%   r   r$   r   r   r   r   r   r   r   r    r!   r"   r   r   ÚstrÚsuperÚ__init__©Úselfr'   r   r   r   r    r!   r"   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   Úresolved_api_keyÚresolved_regionÚresolved_workspace_idÚresolved_base_url©Ú	__class__© úh/home/esfera/Documents/content_generation/venv/lib/python3.10/site-packages/anthropic/lib/aws/_client.pyrC   !   ój   üÿÿþÿ
õzAnthropicAWS.__init__údict[str, str | Omit]c                   ó$   i t ƒ j¥}| jd ur| j|d< |S ©Nzanthropic-workspace-id©rB   r,   r"   ©rE   ÚheadersrJ   rL   rM   r,   z   ó   

zAnthropicAWS.default_headersúdict[str, str]c                   ó   | j s| jri S tƒ jS ©N©r$   r%   rB   Ú_api_key_auth©rE   rJ   rL   rM   rZ   ‚   ó   zAnthropicAWS._api_key_authrT   r   Úcustom_headersc                   ó"   | j s| jrd S tƒ  ||¡ d S rX   ©r$   r%   rB   Ú_validate_headers©rE   rT   r]   rJ   rL   rM   r`   ‰   ó   zAnthropicAWS._validate_headersÚrequestúhttpx.Requestc                 C  sb   | j sd S ddlm} | ¡  ¡ }||jt|jƒ|j| j	| j
| j| j| j|dd�
}|j |¡ d S ©Nr   )Úget_auth_headerszaws-external-anthropic)
ÚmethodÚurlrT   r   r   r!   r?   ÚprofileÚdataÚservice_name©r$   Ú_authrf   ÚreadÚdecoderg   rA   rh   rT   r   r   r!   r   r    Úupdate©rE   rc   rf   rj   rT   rL   rL   rM   Ú_prepare_request�   s"   özAnthropicAWS._prepare_request©r'   r   r   r   r    r!   r"   r(   r1   r2   r)   r*   r.   r+   r,   Úset_default_headersr-   Úset_default_queryr/   Ú_extra_kwargsúbool | Noneú!float | Timeout | None | NotGivenúint | NotGivenrt   ru   ú+Sequence[MiddlewareInput] | None | NotGivenrv   úMapping[str, Any]r   c                  ó„   |p|rd n| j }tƒ j|p| j|	|
||||||||||p| j|p#| j|p'| j|p+| j|p/| j|p3| j	|d ur9|n| j
dœ|¥d�S ©N)r   r   r   r    r!   r"   r(   )r'   r1   r2   r)   r*   r.   r+   r,   rt   r-   ru   r/   rv   ©r)   rB   Úcopyr'   r   r   r   r    r!   r"   r%   ©rE   r'   r   r   r   r    r!   r"   r(   r1   r2   r)   r*   r.   r+   r,   rt   r-   ru   r/   rv   rI   rJ   rL   rM   r   ¦   ó2   ùøózAnthropicAWS.copy)&r'   r   r   r   r   r   r   r   r    r   r!   r   r"   r   r(   r#   r)   r3   r*   r4   r+   r5   r,   r6   r-   r7   r.   r8   r/   r9   r0   r#   r1   r   r2   r   r:   r;   ©r:   rO   ©r:   rV   ©rT   r   r]   r   r:   r;   ©rc   rd   r:   r;   )*r'   r   r   r   r   r   r   r   r    r   r!   r   r"   r   r(   rw   r1   r   r2   r   r)   r3   r*   rx   r.   r8   r+   ry   r,   r6   rt   r6   r-   r7   ru   r7   r/   rz   rv   r{   r:   r   ©Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r	   r   rC   Úpropertyr   r,   rZ   r`   rr   r   Úwith_optionsÚ__classcell__rL   rL   rJ   rM   r      óz   
 ëYê4r   c                      r   )FÚAsyncAnthropicAWSr   r   r   r   r    r!   r"   r#   r$   r%   NFr&   r'   r(   r)   r3   r*   r4   r+   r5   r,   r6   r-   r7   r.   úhttpx.AsyncClient | Noner/   r9   r0   r1   r2   r:   r;   c                  r<   r=   r@   rD   rJ   rL   rM   rC   è   rN   zAsyncAnthropicAWS.__init__rO   c                   rP   rQ   rR   rS   rJ   rL   rM   r,   A  rU   z!AsyncAnthropicAWS.default_headersrV   c                   rW   rX   rY   r[   rJ   rL   rM   rZ   I  r\   zAsyncAnthropicAWS._api_key_authrT   r   r]   c                   r^   rX   r_   ra   rJ   rL   rM   r`   P  rb   z#AsyncAnthropicAWS._validate_headersrc   rd   c                 Ã  sd   �| j sd S ddlm} | ¡  ¡ }||jt|jƒ|j| j	| j
| j| j| j|dd�
}|j |¡ d S re   rl   rq   rL   rL   rM   rr   V  s$   €öz"AsyncAnthropicAWS._prepare_requestrs   rw   rx   ry   rt   ru   rz   rv   r{   r   c                  r|   r}   r~   r€   rJ   rL   rM   r   m  r�   zAsyncAnthropicAWS.copy)&r'   r   r   r   r   r   r   r   r    r   r!   r   r"   r   r(   r#   r)   r3   r*   r4   r+   r5   r,   r6   r-   r7   r.   r�   r/   r9   r0   r#   r1   r   r2   r   r:   r;   r‚   rƒ   r„   r…   )*r'   r   r   r   r   r   r   r   r    r   r!   r   r"   r   r(   rw   r1   r   r2   r   r)   r3   r*   rx   r.   r�   r+   ry   r,   r6   rt   r6   r-   r7   ru   r7   r/   rz   rv   r{   r:   r   r†   rL   rL   rJ   rM   r�   Þ   rŽ   r�   )"Ú
__future__r   Útypingr   r   r   Útyping_extensionsr   r   ÚhttpxÚ_typesr	   r
   r   r   r   Ú_clientr   r   Ú_credentialsr   r   r   r   r   r   Ú_exceptionsr   Ú_middlewarer   Ú_base_clientr   r   r�   rL   rL   rL   rM   Ú<module>   s      H