
    Iig;                        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y)    )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                      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 fdZeed fd              Z	eed fd              Z
ed 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d       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_tokenc                  || _         t        ||       |r
d| _        d }n+t        ||||      | _        t	        || j                        }t        |      }| j                  r|t        d      || _        || _        || _	        || _
        || _        |r|| _        nt        |      }|t        d      || _        |s)t        |	t        |	      nd |      }|t        d      |}	t         | E  |||	|
|||||		       y 
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                        `/volume1/homes/robertsu/coba/app/.venv/lib/python3.12/site-packages/anthropic/lib/aws/_client.pyr7   zAnthropicAWS.__init__    I   * $N>Z#DO#/--'	DO  /w$//Z(4??6  K  -,)&!2 ,D$8$F!$,$ G  !6D 0!)!5H4&! !($8 
 )H$!#+'#(C 	 
	
    c                V    i t         |   }| j                  | j                  |d<   |S Nzanthropic-workspace-idr6   r+   r!   r9   headersr>   s     r?   r+   zAnthropicAWS.default_headersu   6     .UW,-(040A0AG,-rA   c                L    | j                   s| j                  ri S t        |   S Nr#   r$   r6   _api_key_authr9   r>   s    r?   rK   zAnthropicAWS._api_key_auth}   "     ??dooIw$$rA   c                X    | j                   s| j                  ry t        |   ||       y rI   r#   r$   r6   _validate_headersr9   rF   custom_headersr>   s      r?   rP   zAnthropicAWS._validate_headers   "    ??doo!'>:rA   c                r   | j                   sy ddlm} |j                         j	                         } ||j
                  t        |j                        |j                  | j                  | j                  | j                  | j                  | j                  |d
      }|j                  j                  |       y Nr   )get_auth_headerszaws-external-anthropic)
methodurlrF   r   r   r    r3   profiledataservice_namer#   _authrV   readdecoderW   r5   rX   rF   r   r   r    r   r   updater9   requestrV   rZ   rF   s        r?   _prepare_requestzAnthropicAWS._prepare_request   s    +||~$$&">>GKK OO...."44??$$1
 	w'rA   r&   r   r   r   r   r    r!   r'   r/   r(   r)   r-   r*   r+   set_default_headersr,   set_default_query_extra_kwargsc               T   |
xs |rd n| j                   }t        | 	  |xs | j                  |	|||||||||xs | j                  |xs | j
                  |xs | j                  |xs | j                  |xs | j                  |xs | j                  ||n| j                  d|      S N)r   r   r   r   r    r!   r'   )r&   r/   r(   r)   r-   r*   r+   re   r,   rf   rg   r(   r6   copyr&   r   r   r   r   r    r!   r$   r9   r&   r   r   r   r   r    r!   r'   r/   r(   r)   r-   r*   r+   re   r,   rf   rg   r=   r>   s                       r?   rk   zAnthropicAWS.copy       0 %Ow|+t||!&##+ 3'/"0"GD4G4G"0"GD4G4G(;DOO*>d.>.>%6%P$:P:P , A0A0A*3*?YT__	  	  
 	
rA   )"r&   r   r   r   r   r   r   r   r   r   r    r   r!   r   r'   r"   r(   str | httpx.URL | Noner)   'float | httpx.Timeout | None | NotGivenr*   intr+   Mapping[str, str] | Noner,   Mapping[str, object] | Noner-   httpx.Client | Noner.   r"   r/   r   returnNonert   zdict[str, str | Omit]rt   zdict[str, str]rF   r   rR   r   rt   ru   rb   zhttpx.Requestrt   ru   )&r&   r   r   r   r   r   r   r   r   r   r    r   r!   r   r'   bool | Noner/   r   r(   rn   r)   !float | Timeout | None | NotGivenr-   rs   r*   int | NotGivenr+   rq   re   rq   r,   rr   rf   rr   rg   Mapping[str, Any]rt   r   __name__
__module____qualname____annotations__r	   r   r7   propertyr   r+   rK   rP   rc   rk   with_options__classcell__r>   s   @r?   r   r      s   !!
 #%)%)!%"&(,#'+/;D.4859+/,1!%'S
 S
 #	S

 #S
 S
  S
 &S
 !S
 S
 )S
 9S
 S
 2S
 3S
  )!S
" &*#S
& 'S
( 
)S
j    %  %
 ; ;
 ( (,  #%)%)!%"&(,#'!%!%+/5>+/&/488<599=+-).
 .
 #	.

 #.
 .
  .
 &.
 !.
 .
 .
 ).
 3.
 ).
 $.
  2!.
" 6#.
$ 3%.
& 7'.
( )).
* 
+.
 .
` LrA   r   c                      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 fdZeed fd              Z	eed fd              Z
ed 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d       ZeZ xZS )AsyncAnthropicAWSr   r   r   r   r   r    r!   r"   r#   r$   NFr%   c                  || _         t        ||       |r
d| _        d }n+t        ||||      | _        t	        || j                        }t        |      }| j                  r|t        d      || _        || _        || _	        || _
        || _        |r|| _        nt        |      }|t        d      || _        |s)t        |	t        |	      nd |      }|t        d      |}	t         | E  |||	|
|||||		       y r1   r4   r8   s                        r?   r7   zAsyncAnthropicAWS.__init__   r@   rA   c                V    i t         |   }| j                  | j                  |d<   |S rC   rD   rE   s     r?   r+   z!AsyncAnthropicAWS.default_headers4  rG   rA   c                L    | j                   s| j                  ri S t        |   S rI   rJ   rL   s    r?   rK   zAsyncAnthropicAWS._api_key_auth<  rM   rA   c                X    | j                   s| j                  ry t        |   ||       y rI   rO   rQ   s      r?   rP   z#AsyncAnthropicAWS._validate_headersC  rS   rA   c                z  K   | j                   sy ddlm} |j                         j	                         } ||j
                  t        |j                        |j                  | j                  | j                  | j                  | j                  | j                  |d
      }|j                  j                  |       y wrU   r\   ra   s        r?   rc   z"AsyncAnthropicAWS._prepare_requestI  s     +||~$$&">>GKK OO...."44??$$1
 	w's   B9B;rd   c               T   |
xs |rd n| j                   }t        | 	  |xs | j                  |	|||||||||xs | j                  |xs | j
                  |xs | j                  |xs | j                  |xs | j                  |xs | j                  ||n| j                  d|      S ri   rj   rl   s                       r?   rk   zAsyncAnthropicAWS.copy`  rm   rA   )"r&   r   r   r   r   r   r   r   r   r   r    r   r!   r   r'   r"   r(   rn   r)   ro   r*   rp   r+   rq   r,   rr   r-   httpx.AsyncClient | Noner.   r"   r/   r   rt   ru   rv   rw   rx   ry   )&r&   r   r   r   r   r   r   r   r   r   r    r   r!   r   r'   rz   r/   r   r(   rn   r)   r{   r-   r   r*   r|   r+   rq   re   rq   r,   rr   rf   rr   rg   r}   rt   r   r~   r   s   @r?   r   r      s   !!
 #%)%)!%"&(,#'+/;D.485904,1!%'S
 S
 #	S

 #S
 S
  S
 &S
 !S
 S
 )S
 9S
 S
 2S
 3S
  .!S
" &*#S
& 'S
( 
)S
j    %  %
 ; ;
 ( (,  #%)%)!%"&(,#'!%!%+/5>04&/488<599=+-).
 .
 #	.

 #.
 .
  .
 &.
 !.
 .
 .
 ).
 3.
 ..
 $.
  2!.
" 6#.
$ 3%.
& 7'.
( )).
* 
+.
 .
` LrA   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    rA   r?   <module>r      sI    "  ,  A A 0  * /|9 |~| |rA   