
    pi<Y                       d dl mZ d dl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 ddlmZ ddlmZmZmZmZmZmZmZmZ dd	lmZmZ dd
lmZ ddlmZ ddl m!Z!m"Z" ddlm#Z# ddl$m%Z%m&Z&m'Z' er,ddl(m)Z)m*Z*m+Z+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1m2Z2 ddl3m4Z4m5Z5 ddl6m7Z7m8Z8 g dZ9 G d de&      Z: G d de'      Z; G d d      Z< G d d      Z= G d d      Z> G d d       Z?e:Z@e;ZAy)!    )annotationsN)TYPE_CHECKINGAnyMapping)Selfoverride   )
_constants_exceptionsQuerystring)OmitHeadersTimeoutNotGiven	TransportProxiesTypesRequestOptions	not_given)is_givenget_async_library)cached_property)__version__)StreamAsyncStream)APIStatusError)DEFAULT_MAX_RETRIESSyncAPIClientAsyncAPIClient)betamodelsmessagescompletions)ModelsAsyncModels)Beta	AsyncBeta)CompletionsAsyncCompletions)MessagesAsyncMessages)r   r   r   r   	AnthropicAsyncAnthropicClientAsyncClientc                      e Zd ZU ded<   ded<   ej
                  Zej                  Zdddeeddddd		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d fdZ	e
dd       Ze
dd	       Ze
dd
       Ze
dd       Ze
dd       Ze
dd       Zeedd              Zeedd              Zedd       Zedd       Zeed  fd              Zed!d       Zdddededdddi d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d"dZeZe	 	 	 	 	 	 	 	 d#d       Z xZS )$r,   
str | Noneapi_key
auth_tokenNF	r2   r3   base_urltimeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validationc       	   
     <   |t         j                  j                  d      }|| _        |t         j                  j                  d      }|| _        |t         j                  j                  d      }|d}t
        
|   t        |||||||	       t        | _	        y)a#  Construct a new synchronous Anthropic client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `ANTHROPIC_API_KEY`
        - `auth_token` from `ANTHROPIC_AUTH_TOKEN`
        NANTHROPIC_API_KEYANTHROPIC_AUTH_TOKENANTHROPIC_BASE_URLhttps://api.anthropic.comversionr5   r7   r6   r:   custom_headerscustom_queryr;   )
osenvirongetr2   r3   super__init__r   r   _default_stream_clsselfr2   r3   r5   r6   r7   r8   r9   r:   r;   	__class__s             S/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/anthropic/_client.pyrI   zAnthropic.__init__>   s    < ?jjnn%89G(>?J$zz~~&:;H2H##*&(C 	 		
 $*     c                    ddl m}  ||       S )Nr	   )r(   )resources.completionsr(   )rL   r(   s     rN   r#   zAnthropic.completionsv   s    64  rO   c                    ddl m}  ||       S )Nr	   )r*   )resources.messagesr*   )rL   r*   s     rN   r"   zAnthropic.messages|   s    0~rO   c                    ddl m}  ||       S )Nr	   )r$   )resources.modelsr$   )rL   r$   s     rN   r!   zAnthropic.models   s    ,d|rO   c                    ddl m}  ||       S )Nr	   )r&   )resources.betar&   )rL   r&   s     rN   r    zAnthropic.beta   s    (DzrO   c                    t        |       S N)AnthropicWithRawResponserL   s    rN   with_raw_responsezAnthropic.with_raw_response   s    '--rO   c                    t        |       S rY   )AnthropicWithStreamedResponser[   s    rN   with_streaming_responsez!Anthropic.with_streaming_response       ,T22rO   c                    t        d      S Ncomma)array_formatr   r[   s    rN   qszAnthropic.qs        00rO   c                6    i | j                   | j                  S rY   _api_key_auth_bearer_authr[   s    rN   auth_headerszAnthropic.auth_headers         ;$$$:(9(9::rO   c                *    | j                   }|i S d|iS N	X-Api-Keyr2   rL   r2   s     rN   ri   zAnthropic._api_key_auth        ,,?IW%%rO   c                0    | j                   }|i S dd| iS NAuthorizationzBearer r3   rL   r3   s     rN   rj   zAnthropic._bearer_auth   (    __
I7:,!788rO   c                >    i t         |   ddd| j                  S )Nfalse
2023-06-01zX-Stainless-Asynczanthropic-version)rH   r8   _custom_headersrL   rM   s    rN   r8   zAnthropic.default_headers   s5    
g%
!(!-
 ""	
 	
rO   c                "   |j                  d      s|j                  d      ry |j                  d      st        |j                  d      t              ry |j                  d      st        |j                  d      t              ry t        d      Nru   ro   z"Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"rG   
isinstancer   	TypeErrorrL   headersrC   s      rN   _validate_headerszAnthropic._validate_headers   w    ;;'7;;{+C;;{#z.2D2D[2QSW'X;;':n6H6H6Y[_+` |
 	
rO   r2   r3   r5   r6   r:   r7   r8   set_default_headersr9   set_default_query_extra_kwargsc                  ||t        d      |	|
t        d      | j                  }|i ||}n||}| j                  }|	i ||	}n|
|
}|xs | j                  } | j                  d|xs | j
                  |xs | j                  |xs | j                  t        |t              r| j                  n||t        |      r|n| j                  ||d|S z~
        Create a new client instance re-using the same options given to the current client with optional overriding.
        zPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusive)r2   r3   r5   r6   r:   r7   r8   r9    
ValueErrorr}   _custom_query_clientrM   r2   r3   r5   r   r   r6   r   r7   rL   r2   r3   r5   r6   r:   r7   r8   r   r9   r   r   r   paramss                 rN   copyzAnthropic.copy      $ &+>+Jopp$):)Fkll&&&44O4G ,)G##$00-0F*&F!1T\\t~~ 

+t||!4T__.$.w$ADLLw#'/'<$BRBR# 

 

 
	
rO   c               *   |j                   dk(  rt        j                  |||      S |j                   dk(  rt        j                  |||      S |j                   dk(  rt        j                  |||      S |j                   dk(  rt        j
                  |||      S |j                   dk(  rt        j                  |||      S |j                   dk(  rt        j                  |||      S |j                   dk(  rt        j                  |||      S |j                   d	k(  rt        j                  |||      S |j                   d
k(  rt        j                  |||      S |j                   dk\  rt        j                  |||      S t        |||      S )N  responsebody        i      i    )status_coder   BadRequestErrorAuthenticationErrorPermissionDeniedErrorNotFoundErrorConflictErrorRequestTooLargeErrorUnprocessableEntityErrorRateLimitErrorOverloadedErrorInternalServerErrorr   rL   err_msgr   r   s       rN   _make_status_errorzAnthropic._make_status_error   sx    3&..wPTUU3&227XTXYY3&44WxVZ[[3&,,WxdSS3&,,WxdSS3&33GhUYZZ3&77(Y]^^3&--gtTT3&..wPTUU3&227XTXYYgtDDrO   )r2   r1   r3   r1   r5   str | httpx.URL | Noner6   !float | Timeout | None | NotGivenr7   intr8   Mapping[str, str] | Noner9   Mapping[str, object] | Noner:   httpx.Client | Noner;   boolreturnNone)r   r(   )r   r*   )r   r$   )r   r&   )r   rZ   )r   r^   r   r   r   zdict[str, str]r   zdict[str, str | Omit]r   r   rC   r   r   r   )r2   r1   r3   r1   r5   r   r6   r   r:   r   r7   int | NotGivenr8   r   r   r   r9   r   r   r   r   Mapping[str, Any]r   r   r   strr   objectr   zhttpx.Responser   r   __name__
__module____qualname____annotations__r
   HUMAN_PROMPT	AI_PROMPTr   r   rI   r   r#   r"   r!   r    r\   r_   propertyr   re   rk   ri   rj   r8   r   r   with_optionsr   __classcell__rM   s   @rN   r,   r,   5   s    **L$$I
 #!%+/5>.4859 ,0 -2-6* 6* 	6*
 )6* 36* 6* 26* 36* )6*, &*-6*. 
/6*p ! !
  
  
  
 . . 3 3 1  1 ;  ; & & 9 9 
  
 
 
$ #!%+/5>+/&/488<599=+-/
 /
 	/

 )/
 3/
 )/
 $/
 2/
 6/
 3/
 7/
 )/
 
/
f L$E$E 	$E
 !$E 
$E $ErO   r,   c                      e Zd ZU ded<   ded<   ej
                  Zej                  Zdddeeddddd		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d fdZ	e
dd       Ze
dd	       Ze
dd
       Ze
dd       Ze
dd       Ze
dd       Zeedd              Zeedd              Zedd       Zedd       Zeed  fd              Zed!d       Zdddededdddi d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d"dZeZe	 	 	 	 	 	 	 	 d#d       Z xZS )$r-   r1   r2   r3   NFr4   c       	   
     <   |t         j                  j                  d      }|| _        |t         j                  j                  d      }|| _        |t         j                  j                  d      }|d}t
        
|   t        |||||||	       t        | _	        y)a"  Construct a new async AsyncAnthropic client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `ANTHROPIC_API_KEY`
        - `auth_token` from `ANTHROPIC_AUTH_TOKEN`
        Nr=   r>   r?   r@   rA   )
rE   rF   rG   r2   r3   rH   rI   r   r   rJ   rK   s             rN   rI   zAsyncAnthropic.__init__.  s    < ?jjnn%89G(>?J$zz~~&:;H2H##*&(C 	 		
 $/ rO   c                    ddl m}  ||       S )Nr	   )r)   )rQ   r)   )rL   r)   s     rN   r#   zAsyncAnthropic.completionsf  s    ;%%rO   c                    ddl m}  ||       S )Nr	   )r+   )rS   r+   )rL   r+   s     rN   r"   zAsyncAnthropic.messagesl  s    5T""rO   c                    ddl m}  ||       S )Nr	   )r%   )rU   r%   )rL   r%   s     rN   r!   zAsyncAnthropic.modelsr  s    14  rO   c                    ddl m}  ||       S )Nr	   )r'   )rW   r'   )rL   r'   s     rN   r    zAsyncAnthropic.betax  s    -rO   c                    t        |       S rY   )AsyncAnthropicWithRawResponser[   s    rN   r\   z AsyncAnthropic.with_raw_response~  r`   rO   c                    t        |       S rY   )"AsyncAnthropicWithStreamedResponser[   s    rN   r_   z&AsyncAnthropic.with_streaming_response  s    1$77rO   c                    t        d      S rb   r   r[   s    rN   re   zAsyncAnthropic.qs  rf   rO   c                6    i | j                   | j                  S rY   rh   r[   s    rN   rk   zAsyncAnthropic.auth_headers  rl   rO   c                *    | j                   }|i S d|iS rn   rp   rq   s     rN   ri   zAsyncAnthropic._api_key_auth  rr   rO   c                0    | j                   }|i S dd| iS rt   rv   rw   s     rN   rj   zAsyncAnthropic._bearer_auth  rx   rO   c                T    i t         |   dt                dd| j                  S )Nzasync:r{   r|   )rH   r8   r   r}   r~   s    rN   r8   zAsyncAnthropic.default_headers  sA    
g%
#)*;*=)>!?!-
 ""	
 	
rO   c                "   |j                  d      s|j                  d      ry |j                  d      st        |j                  d      t              ry |j                  d      st        |j                  d      t              ry t        d      r   r   r   s      rN   r   z AsyncAnthropic._validate_headers  r   rO   r   c                  ||t        d      |	|
t        d      | j                  }|i ||}n||}| j                  }|	i ||	}n|
|
}|xs | j                  } | j                  d|xs | j
                  |xs | j                  |xs | j                  t        |t              r| j                  n||t        |      r|n| j                  ||d|S r   r   r   s                 rN   r   zAsyncAnthropic.copy  r   rO   c                  |j                   dk(  rt        j                  |||      S |j                   dk(  rt        j                  |||      S |j                   dk(  rt        j                  |||      S |j                   dk(  rt        j
                  |||      S |j                   dk(  rt        j                  |||      S |j                   dk(  rt        j                  |||      S |j                   dk(  rt        j                  |||      S |j                   d	k\  rt        j                  |||      S t        |||      S )
Nr   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   s       rN   r   z!AsyncAnthropic._make_status_error  s0    3&..wPTUU3&227XTXYY3&44WxVZ[[3&,,WxdSS3&,,WxdSS3&77(Y]^^3&--gtTT3&227XTXYYgtDDrO   )r2   r1   r3   r1   r5   r   r6   r   r7   r   r8   r   r9   r   r:   httpx.AsyncClient | Noner;   r   r   r   )r   r)   )r   r+   )r   r%   )r   r'   )r   r   )r   r   r   r   r   r   )r2   r1   r3   r1   r5   r   r6   r   r:   r   r7   r   r8   r   r   r   r9   r   r   r   r   r   r   r   r   r   r   s   @rN   r-   r-   %  s    **L$$I
 #!%+/5>.4859 15 -2-6/ 6/ 	6/
 )6/ 36/ 6/ 26/ 36/ .6/, &*-6/. 
/6/p & &
 # #
 ! !
  
 3 3 8 8 1  1 ;  ; & & 9 9 
  
 
 
$ #!%+/5>04&/488<599=+-/
 /
 	/

 )/
 3/
 ./
 $/
 2/
 6/
 3/
 7/
 )/
 
/
f LEE 	E
 !E 
E ErO   r-   c                  h    e Zd ZU ded<   d	dZed
d       Zedd       Zedd       Zedd       Z	y)rZ   r,   r   c                    || _         y rY   r   rL   clients     rN   rI   z!AnthropicWithRawResponse.__init__  	    rO   c                F    ddl m}  || j                  j                        S )Nr	   )CompletionsWithRawResponse)rQ   r   r   r#   )rL   r   s     rN   r#   z$AnthropicWithRawResponse.completions  s    E)$,,*B*BCCrO   c                F    ddl m}  || j                  j                        S )Nr	   )MessagesWithRawResponse)rS   r   r   r"   )rL   r   s     rN   r"   z!AnthropicWithRawResponse.messages  s    ?&t||'<'<==rO   c                F    ddl m}  || j                  j                        S )Nr	   )ModelsWithRawResponse)rU   r   r   r!   )rL   r   s     rN   r!   zAnthropicWithRawResponse.models!  s    ;$T\\%8%899rO   c                F    ddl m}  || j                  j                        S )Nr	   )BetaWithRawResponse)rW   r   r   r    )rL   r   s     rN   r    zAnthropicWithRawResponse.beta'  s    7"4<<#4#455rO   Nr   r,   r   r   )r   z&completions.CompletionsWithRawResponse)r   z messages.MessagesWithRawResponse)r   zmodels.ModelsWithRawResponse)r   zbeta.BetaWithRawResponse
r   r   r   r   rI   r   r#   r"   r!   r    r   rO   rN   rZ   rZ     s_     D D
 > >
 : :
 6 6rO   rZ   c                  h    e Zd ZU ded<   d	dZed
d       Zedd       Zedd       Zedd       Z	y)r   r-   r   c                    || _         y rY   r   r   s     rN   rI   z&AsyncAnthropicWithRawResponse.__init__1  r   rO   c                F    ddl m}  || j                  j                        S )Nr	   )AsyncCompletionsWithRawResponse)rQ   r   r   r#   )rL   r   s     rN   r#   z)AsyncAnthropicWithRawResponse.completions4  s    J.t||/G/GHHrO   c                F    ddl m}  || j                  j                        S )Nr	   )AsyncMessagesWithRawResponse)rS   r   r   r"   )rL   r   s     rN   r"   z&AsyncAnthropicWithRawResponse.messages:  s    D+DLL,A,ABBrO   c                F    ddl m}  || j                  j                        S )Nr	   )AsyncModelsWithRawResponse)rU   r   r   r!   )rL   r   s     rN   r!   z$AsyncAnthropicWithRawResponse.models@  s    @)$,,*=*=>>rO   c                F    ddl m}  || j                  j                        S )Nr	   )AsyncBetaWithRawResponse)rW   r   r   r    )rL   r   s     rN   r    z"AsyncAnthropicWithRawResponse.betaF  s    <'(9(9::rO   Nr   r-   r   r   )r   z+completions.AsyncCompletionsWithRawResponse)r   z%messages.AsyncMessagesWithRawResponse)r   z!models.AsyncModelsWithRawResponse)r   zbeta.AsyncBetaWithRawResponser   r   rO   rN   r   r   .  sa     I I
 C C
 ? ?
 ; ;rO   r   c                  h    e Zd ZU ded<   d	dZed
d       Zedd       Zedd       Zedd       Z	y)r^   r,   r   c                    || _         y rY   r   r   s     rN   rI   z&AnthropicWithStreamedResponse.__init__P  r   rO   c                F    ddl m}  || j                  j                        S )Nr	   ) CompletionsWithStreamingResponse)rQ   r   r   r#   )rL   r   s     rN   r#   z)AnthropicWithStreamedResponse.completionsS  s    K/0H0HIIrO   c                F    ddl m}  || j                  j                        S )Nr	   )MessagesWithStreamingResponse)rS   r  r   r"   )rL   r  s     rN   r"   z&AnthropicWithStreamedResponse.messagesY  s    E,T\\-B-BCCrO   c                F    ddl m}  || j                  j                        S )Nr	   )ModelsWithStreamingResponse)rU   r  r   r!   )rL   r  s     rN   r!   z$AnthropicWithStreamedResponse.models_  s    A*4<<+>+>??rO   c                F    ddl m}  || j                  j                        S )Nr	   )BetaWithStreamingResponse)rW   r  r   r    )rL   r  s     rN   r    z"AnthropicWithStreamedResponse.betae  s    =():):;;rO   Nr   )r   z,completions.CompletionsWithStreamingResponse)r   z&messages.MessagesWithStreamingResponse)r   z"models.ModelsWithStreamingResponse)r   zbeta.BetaWithStreamingResponser   r   rO   rN   r^   r^   M  sc     J J
 D D
 @ @
 < <rO   r^   c                  h    e Zd ZU ded<   d	dZed
d       Zedd       Zedd       Zedd       Z	y)r   r-   r   c                    || _         y rY   r   r   s     rN   rI   z+AsyncAnthropicWithStreamedResponse.__init__o  r   rO   c                F    ddl m}  || j                  j                        S )Nr	   )%AsyncCompletionsWithStreamingResponse)rQ   r	  r   r#   )rL   r	  s     rN   r#   z.AsyncAnthropicWithStreamedResponse.completionsr  s    P4T\\5M5MNNrO   c                F    ddl m}  || j                  j                        S )Nr	   )"AsyncMessagesWithStreamingResponse)rS   r  r   r"   )rL   r  s     rN   r"   z+AsyncAnthropicWithStreamedResponse.messagesx  s    J1$,,2G2GHHrO   c                F    ddl m}  || j                  j                        S )Nr	   ) AsyncModelsWithStreamingResponse)rU   r  r   r!   )rL   r  s     rN   r!   z)AsyncAnthropicWithStreamedResponse.models~  s    F/0C0CDDrO   c                F    ddl m}  || j                  j                        S )Nr	   )AsyncBetaWithStreamingResponse)rW   r  r   r    )rL   r  s     rN   r    z'AsyncAnthropicWithStreamedResponse.beta  s    B-dll.?.?@@rO   Nr   )r   z1completions.AsyncCompletionsWithStreamingResponse)r   z+messages.AsyncMessagesWithStreamingResponse)r   z'models.AsyncModelsWithStreamingResponse)r   z#beta.AsyncBetaWithStreamingResponser   r   rO   rN   r   r   l  se     O O
 I I
 E E
 A ArO   r   )B
__future__r   rE   typingr   r   r   typing_extensionsr   r   httpx r
   r   _qsr   _typesr   r   r   r   r   r   r   r   _utilsr   r   _compatr   _versionr   
_streamingr   r   r   _base_clientr   r   r   	resourcesr    r!   r"   r#   rU   r$   r%   resources.beta.betar&   r'   rQ   r(   r)   resources.messages.messagesr*   r+   __all__r,   r-   rZ   r   r^   r   r.   r/   r   rO   rN   <module>r      s    # 	 . . ,  % 	 	 	 0 $ ! D '  >>54DD	mE mE`gE^ gET6 6>; ;>< <>A A> 
rO   