
    i3:                        d dl mZ d dl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  G d de          Z G d de          ZdS )    )annotations)AnyMapping)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)DEFAULT_MAX_RETRIESc                  j    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d6 fd Zeed7 fd"                        Z	eed8 fd$                        Z
ed9 fd(            Zed:d+            Zeddddddddddededdddi d,d; fd5            ZeZ xZS )<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_strict_response_validation
auth_tokenr&   r'   r(   str | httpx.URL | Noner)   'float | httpx.Timeout | None | NotGivenr*   intr+   Mapping[str, str] | Noner,   Mapping[str, object] | Noner-   httpx.Client | Noner.   r/   returnNonec               d   || _         t          ||           |r
d| _        d }n.t          ||||          | _        t	          || j                  }t          |          }| j        r|t          d          || _        || _        || _	        || _
        || _        |r|| _        n't          |          }|t          d          || _        |s5t          |	t          |	          nd |          }|t          d          |}	t!                                          |||	|
|||||		  	         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.)regionzNo 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&   r/   r(   r)   r*   r+   r,   r-   r.   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.   r/   resolved_api_keyresolved_regionresolved_workspace_idresolved_base_url	__class__s                        V/root/projects/qq-shell/venv/lib/python3.11/site-packages/anthropic/lib/aws/_client.pyr?   zAnthropicAWS.__init__       * $N>ZZZZ 
	[#DO#/--'	  DO  /w$/ZZZ(44? 	6  K   -,)&!2 	6 ,D$8$F$F!$,$ G   !6D 	) 0!)!5H4&! ! ! !($8  
 )H$!#+'#(C 	 
	
 
	
 
	
 
	
 
	
    dict[str, str | Omit]c                T    i t                      j        }| j        
| j        |d<   |S Nzanthropic-workspace-idr>   r+   r!   rA   headersrF   s     rG   r+   zAnthropicAWS.default_headersu   2     .UWW,-(040AG,-rI   dict[str, str]c                J    | j         s| j        ri S t                      j        S Nr#   r$   r>   _api_key_authrA   rF   s    rG   rU   zAnthropicAWS._api_key_auth}   *     ? 	do 	Iww$$rI   rO   r   custom_headersc                l    | j         s| j        rd S t                                          ||           d S rS   r#   r$   r>   _validate_headersrA   rO   rX   rF   s      rG   r[   zAnthropicAWS._validate_headers   ;    ? 	do 	F!!'>:::::rI   requesthttpx.Requestc                8   | j         sd S ddlm} |                                                                } ||j        t          |j                  |j        | j	        | j
        | j        | j        | j        |d
  
        }|j                            |           d S Nr   )get_auth_headerszaws-external-anthropic)
methodurlrO   r   r   r    r;   profiledataservice_namer#   _authrb   readdecoderc   r=   rd   rO   r   r   r    r   r   updaterA   r^   rb   rf   rO   s        rG   _prepare_requestzAnthropicAWS._prepare_request   s     	F++++++||~~$$&&"">GK  O.."4?$1
 
 
 	w'''''rI   r&   r   r   r   r   r    r!   r'   r/   r(   r)   r-   r*   r+   set_default_headersr,   set_default_query_extra_kwargsbool | None!float | Timeout | None | NotGivenint | NotGivenrp   rq   rr   Mapping[str, Any]r   c                   |
p
|rd n| j         }t                                          |p| j        |	|||||||||p| j        |p| j        |p| j        |p| j        |p| j        |p| j	        ||n| j
        d|          S N)r   r   r   r   r    r!   r'   )r&   r/   r(   r)   r-   r*   r+   rp   r,   rq   rr   r(   r>   copyr&   r   r   r   r   r    r!   r$   rA   r&   r   r   r   r   r    r!   r'   r/   r(   r)   r-   r*   r+   rp   r,   rq   rr   rE   rF   s                       rG   rz   zAnthropicAWS.copy       0 %O)Nww||+t|!&##+ 3'/"0"GD4G"0"GD4G(;DO*>d.>%6%P$:P , A0A*3*?YYT_	 	  	  
 
 	
rI   )"r&   r   r   r   r   r   r   r   r   r   r    r   r!   r   r'   r"   r(   r0   r)   r1   r*   r2   r+   r3   r,   r4   r-   r5   r.   r"   r/   r   r6   r7   r6   rJ   r6   rQ   rO   r   rX   r   r6   r7   r^   r_   r6   r7   )&r&   r   r   r   r   r   r   r   r   r   r    r   r!   r   r'   rs   r/   r   r(   r0   r)   rt   r-   r5   r*   ru   r+   r3   rp   r3   r,   r4   rq   r4   rr   rv   r6   r   __name__
__module____qualname____annotations__r	   r   r?   propertyr   r+   rU   r[   rn   rz   with_options__classcell__rF   s   @rG   r   r      s        !!!!
 #%)%)!%"&(,#'+/;D.4859+/,1!%'S
 S
 S
 S
 S
 S
 S
 S
j      X X % % % % % X X%
 ; ; ; ; ; X;
 ( ( ( X(,  #%)%)!%"&(,#'!%!%+/5>+/&/488<599=+-).
 .
 .
 .
 .
 .
 .
 X.
` LLLLLrI   r   c                  j    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d6 fd Zeed7 fd"                        Z	eed8 fd$                        Z
ed9 fd(            Zed:d+            Zeddddddddddededdddi d,d; fd5            ZeZ xZS )<AsyncAnthropicAWSr   r   r   r   r   r    r!   r"   r#   r$   NFr%   r&   r'   r(   r0   r)   r1   r*   r2   r+   r3   r,   r4   r-   httpx.AsyncClient | Noner.   r/   r6   r7   c               d   || _         t          ||           |r
d| _        d }n.t          ||||          | _        t	          || j                  }t          |          }| j        r|t          d          || _        || _        || _	        || _
        || _        |r|| _        n't          |          }|t          d          || _        |s5t          |	t          |	          nd |          }|t          d          |}	t!                                          |||	|
|||||		  	         d S r9   r<   r@   s                        rG   r?   zAsyncAnthropicAWS.__init__   rH   rI   rJ   c                T    i t                      j        }| j        
| j        |d<   |S rL   rM   rN   s     rG   r+   z!AsyncAnthropicAWS.default_headers4  rP   rI   rQ   c                J    | j         s| j        ri S t                      j        S rS   rT   rV   s    rG   rU   zAsyncAnthropicAWS._api_key_auth<  rW   rI   rO   r   rX   c                l    | j         s| j        rd S t                                          ||           d S rS   rZ   r\   s      rG   r[   z#AsyncAnthropicAWS._validate_headersC  r]   rI   r^   r_   c                <  K   | j         sd S ddlm} |                                                                } ||j        t          |j                  |j        | j	        | j
        | j        | j        | j        |d
  
        }|j                            |           d S ra   rh   rm   s        rG   rn   z"AsyncAnthropicAWS._prepare_requestI  s       	F++++++||~~$$&&"">GK  O.."4?$1
 
 
 	w'''''rI   ro   rs   rt   ru   rp   rq   rr   rv   r   c                   |
p
|rd n| j         }t                                          |p| j        |	|||||||||p| j        |p| j        |p| j        |p| j        |p| j        |p| j	        ||n| j
        d|          S rx   ry   r{   s                       rG   rz   zAsyncAnthropicAWS.copy`  r|   rI   )"r&   r   r   r   r   r   r   r   r   r   r    r   r!   r   r'   r"   r(   r0   r)   r1   r*   r2   r+   r3   r,   r4   r-   r   r.   r"   r/   r   r6   r7   r}   r~   r   r   )&r&   r   r   r   r   r   r   r   r   r   r    r   r!   r   r'   rs   r/   r   r(   r0   r)   rt   r-   r   r*   ru   r+   r3   rp   r3   r,   r4   rq   r4   rr   rv   r6   r   r   r   s   @rG   r   r      s        !!!!
 #%)%)!%"&(,#'+/;D.485904,1!%'S
 S
 S
 S
 S
 S
 S
 S
j      X X % % % % % X X%
 ; ; ; ; ; X;
 ( ( ( X(,  #%)%)!%"&(,#'!%!%+/5>04&/488<599=+-).
 .
 .
 .
 .
 .
 .
 X.
` LLLLLrI   r   )
__future__r   typingr   r   typing_extensionsr   r   httpx_typesr	   r
   r   r   r   _clientr   r   _credentialsr   r   r   r   r   r   _exceptionsr   _base_clientr   r   r    rI   rG   <module>r      sy   " " " " " "         , , , , , , , ,  A A A A A A A A A A A A A A 0 0 0 0 0 0 0 0                * ) ) ) ) ) / / / / / /| | | | |9 | | |~| | | | | | | | | |rI   