
    mh                        d dl mZ d dlZd dlZd dlmZ  G d dej                  Z G d dej                  Z G d d	ej                  Z G d
 de          Z	 G d dej
                  Z
 G d dej                  Z G d dej                  Z G d dej                  Z G d de          Z G d de          Z G d de          Z G d dej                  Z G d dej                  Z G d dej                  Z G d  d!ej                  Z G d" d#ej                  Z G d$ d%e          Z G d& d'ej                  Z G d( d)e          Zeeee
eeeeeeeeeeeeeeegZ G d* d+e          Z G d, d-ej                  Z G d. d/ej                  Z G d0 d1e          Z  G d2 d3e          Z! G d4 d5e          Z" G d6 d7e          Z#dS )8    )OptionalN)LiteLLMCommonStringsc            
            e Zd Z	 	 	 	 d	deej                 dee         dee         dee         f fdZd Z	d Z
 xZS )
AuthenticationErrorNresponselitellm_debug_infomax_retriesnum_retriesc                 X   d| _         d                    |          | _        || _        || _        || _        || _        || _        |p.t          j	        | j         t          j
        dd                    | _        t                                          | j        | j        d            d S )Ni  zlitellm.AuthenticationError: {}GEThttps://litellm.aimethodurlstatus_coderequestr   bodyr   formatmessagellm_providermodelr   r	   r
   httpxResponseRequestr   super__init__	selfr   r   r   r   r   r	   r
   	__class__s	           =/usr/local/lib/python3.11/site-packages/litellm/exceptions.pyr   zAuthenticationError.__init__   s     8??HH(
"4&&  
EN(M"6  %
 %
 %
 	L4=t 	 	
 	
 	
 	
 	
    c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S N LiteLLM Retried:  times, LiteLLM Max Retries: r   r
   r	   r!   _messages     r#   __str__zAuthenticationError.__str__0   U    < 	FET-=EEEEH 	ED$2BDDDHr$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   __repr__zAuthenticationError.__repr__8   r.   r$   NNNN__name__
__module____qualname__r   r   r   strintr   r-   r0   __classcell__r"   s   @r#   r   r               .2,0%)%)
 

 5>*
 %SM
 c]
 c]
 
 
 
 
 
6        r$   r   c            
            e Zd Z	 	 	 	 d	deej                 dee         dee         dee         f fdZd Z	d Z
 xZS )
NotFoundErrorNr   r   r	   r
   c                 X   d| _         d                    |          | _        || _        || _        || _        || _        || _        |p.t          j	        | j         t          j
        dd                    | _        t                                          | j        | j        d            d S )Ni  zlitellm.NotFoundError: {}r   r   r   r   r   )r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   	r!   r   r   r   r   r   r	   r
   r"   s	           r#   r   zNotFoundError.__init__C   s     299'BB
("4&&  
EN(M"6  %
 %
 %
 	L4=t 	 	
 	
 	
 	
 	
r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   zNotFoundError.__str__^   r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   zNotFoundError.__repr__f   r.   r$   r1   r2   r9   s   @r#   r<   r<   B   r:   r$   r<   c                        e Zd Z	 	 	 	 	 d
deej                 dee         dee         dee         dee         f
 fdZ	d Z
d	 Z xZS )BadRequestErrorNr   r   r	   r
   r   c	                 @   d| _         d                    |          | _        || _        || _        || _        t          j        | j         t          j        dd                    }|| _	        || _
        t                                          | j        ||           d S )N  zlitellm.BadRequestError: {}r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r	   r
   r   r   
r!   r   r   r   r   r   r	   r
   r   r"   s
            r#   r   zBadRequestError.__init__p   s     4;;GDD
("4>(M"6  
 
 
 '&L8$ 	 	
 	
 	
 	
 	
r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   zBadRequestError.__str__   r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   zBadRequestError.__repr__   r.   r$   NNNNN)r3   r4   r5   r   r   r   r6   r7   dictr   r-   r0   r8   r9   s   @r#   rB   rB   o   s         .2,0%)%)#
 

 5>*
 %SM
 c]
 c]
 tn
 
 
 
 
 
8        r$   rB   c                        e Zd Z	 	 	 	 	 	 	 ddeej                 dee         dee         dee         dee         f
 fdZ	 xZ
S )	ImageFetchErrorNr   r   r	   r
   r   c	           
      Z    t                                          ||||||||           d S )N)r   r   r   r   r   r	   r
   r   )r   r   rE   s
            r#   r   zImageFetchError.__init__   sH     	%1## 	 		
 		
 		
 		
 		
r$   )NNNNNNN)r3   r4   r5   r   r   r   r6   r7   rI   r   r8   r9   s   @r#   rK   rK      s         -1,0%)%)#
 

 5>*
 %SM
 c]
 c]
 tn
 
 
 
 
 
 
 
 
 
r$   rK   c            
       r     e Zd Z	 	 	 d	dej        dee         dee         dee         f fdZd Z	d Z
 xZS )
UnprocessableEntityErrorNr   r   r	   r
   c                     d| _         d                    |          | _        || _        || _        || _        || _        || _        t                      	                    | j        |d            d S )Ni  z$litellm.UnprocessableEntityError: {}r   )
r   r   r   r   r   r   r	   r
   r   r   r>   s	           r#   r   z!UnprocessableEntityError.__init__   s}     =DDWMM
("4&&L8$ 	 	
 	
 	
 	
 	
r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   z UnprocessableEntityError.__str__   r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   z!UnprocessableEntityError.__repr__   r.   r$   NNNr3   r4   r5   r   r   r   r6   r7   r   r-   r0   r8   r9   s   @r#   rN   rN               -1%)%)
 

 .
 %SM
 c]
 c]
 
 
 
 
 
*        r$   rN   c                        e Zd Z	 	 	 	 	 d
dee         dee         dee         dee         dee         f
 fdZd Zd	 Z	 xZ
S )TimeoutNr   r	   r
   headersexception_status_codec	                    t          j        dd          }	t                                          |	           |pd| _        d                    |          | _        || _        || _        || _	        || _
        || _        || _        d S )NPOSThttps://api.openai.com/v1r   )r   i  zlitellm.Timeout: {})r   r   r   r   r   r   r   r   r   r   r	   r
   rW   )r!   r   r   r   r   r	   r
   rW   rX   r   r"   s             r#   r   zTimeout.__init__   s     -+
 
 
 	 	 	
 	
 	
 17C,33G<<
("4&&r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   zTimeout.__str__   r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   zTimeout.__repr__   r.   r$   rH   )r3   r4   r5   r   r6   r7   rI   r   r-   r0   r8   r9   s   @r#   rV   rV      s         -1%)%)"&/3 
 %SM c] c] $  (}     8        r$   rV   c            
       r     e Zd Z	 	 	 d	dej        dee         dee         dee         f fdZd Z	d Z
 xZS )
PermissionDeniedErrorNr   r   r	   r
   c                     d| _         d                    |          | _        || _        || _        || _        || _        || _        t                      	                    | j        |d            d S )Ni  z!litellm.PermissionDeniedError: {}r   )
r   r   r   r   r   r   r	   r
   r   r   r    s	           r#   r   zPermissionDeniedError.__init__
  s}     :AA'JJ(
"4&&L8$ 	 	
 	
 	
 	
 	
r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   zPermissionDeniedError.__str__  r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   zPermissionDeniedError.__repr__'  r.   r$   rR   rS   r9   s   @r#   r_   r_   	  rT   r$   r_   c            
            e Zd Z	 	 	 	 d	deej                 dee         dee         dee         f fdZd Z	d Z
 xZS )
RateLimitErrorNr   r   r	   r
   c                    d| _         d                    |          | _        || _        || _        || _        || _        || _        |t          |dd           nd }t          j
        d|t          j        dd                    | _        t                                          | j        | j        d            d	| _        d
| _        d S )Ni  zlitellm.RateLimitError: {}rW   rZ   $ https://cloud.google.com/vertex-ai/r   )r   rW   r   r   429throttling_error)r   r   r   r   r   r   r	   r
   getattrr   r   r   r   r   r   codetype)
r!   r   r   r   r   r   r	   r
   _response_headersr"   s
            r#   r   zRateLimitError.__init__1  s     3::7CC(
"4&&2:2FGHi...D 	 %M:  
 
 
 	L4=t 	 	
 	
 	
 	&			r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   zRateLimitError.__str__S  r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   zRateLimitError.__repr__[  r.   r$   r1   r2   r9   s   @r#   rd   rd   0  s         .2,0%)%) '  '
 5>* ' %SM ' c] ' c] '  '  '  '  '  'D        r$   rd   c                   \     e Zd Z	 	 ddeej                 dee         f fdZd Zd Z	 xZ
S )ContextWindowExceededErrorNr   r   c                 T   d| _         || _        || _        || _        t	          j        dd          }t	          j        d|          | _        t                      	                    || j        | j        | j        | j                   d
                    | j                  | _        d S )NrD   rZ   r[   r   r   r   r   r   r   r   z&litellm.ContextWindowExceededError: {})r   r   r   r   r   r   r   r   r   r   r   r   r!   r   r   r   r   r   r   r"   s          r#   r   z#ContextWindowExceededError.__init__f  s     
("4-v3NOOO3HHH**]#6 	 	
 	
 	
 @FFt|TTr$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   z"ContextWindowExceededError.__str__  r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   z#ContextWindowExceededError.__repr__  r.   r$   NNr3   r4   r5   r   r   r   r6   r   r-   r0   r8   r9   s   @r#   rp   rp   e  s         .2,0U U
 5>*U %SMU U U U U U2        r$   rp   c                   D     e Zd Z	 ddedee         f fdZd Zd Z xZ	S )RejectedRequestErrorNrequest_datar   c                 N   d| _         d                    |          | _        || _        || _        || _        || _        t          j        dd          }t          j	        d|          }t                                          | j        | j        | j        || j                   d S )NrD   z litellm.RejectedRequestError: {}rZ   r[   r   r   rr   )r   r   r   r   r   r   rz   r   r   r   r   r   )	r!   r   r   r   rz   r   r   r   r"   s	           r#   r   zRejectedRequestError.__init__  s     9@@II
("4(-v3NOOO>c7CCCL**#6 	 	
 	
 	
 	
 	
r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   zRejectedRequestError.__str__  r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   zRejectedRequestError.__repr__  r.   r$   N)
r3   r4   r5   rI   r   r6   r   r-   r0   r8   r9   s   @r#   ry   ry     s}         -1
 

 
 %SM
 
 
 
 
 
0        r$   ry   c                   \     e Zd Z	 	 ddeej                 dee         f fdZd Zd Z	 xZ
S )ContentPolicyViolationErrorNr   r   c                 T   d| _         d                    |          | _        || _        || _        || _        t          j        dd          }t          j        d|          | _	        t                                          | j        | j        | j        | j	        | j                   d S )NrD   z'litellm.ContentPolicyViolationError: {}rZ   r[   r   r   rr   )r   r   r   r   r   r   r   r   r   r   r   r   rs   s          r#   r   z$ContentPolicyViolationError.__init__  s     @GGPP
("4-v3NOOO3HHHL**]#6 	 	
 	
 	
 	
 	
r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   z#ContentPolicyViolationError.__str__  r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   z$ContentPolicyViolationError.__repr__  r.   r$   rv   rw   r9   s   @r#   r   r     s         .2,0
 

 5>*
 %SM
 
 
 
 
 
.        r$   r   c            
            e Zd Z	 	 	 	 d	deej                 dee         dee         dee         f fdZd Z	d Z
 xZS )
ServiceUnavailableErrorNr   r   r	   r
   c                 T   d| _         d                    |          | _        || _        || _        || _        || _        || _        t          j	        | j         t          j
        dd                    | _        t                                          | j        | j        d            d S )N  z#litellm.ServiceUnavailableError: {}rZ   rf   r   r   r   r   r    s	           r#   r   z ServiceUnavailableError.__init__  s     <CCGLL(
"4&&(M:  
 
 
 	L4=t 	 	
 	
 	
 	
 	
r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   zServiceUnavailableError.__str__  r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   z ServiceUnavailableError.__repr__
  r.   r$   r1   r2   r9   s   @r#   r   r              .2,0%)%)
 

 5>*
 %SM
 c]
 c]
 
 
 
 
 
8        r$   r   c            
            e Zd Z	 	 	 	 d	deej                 dee         dee         dee         f fdZd Z	d Z
 xZS )
InternalServerErrorNr   r   r	   r
   c                 T   d| _         d                    |          | _        || _        || _        || _        || _        || _        t          j	        | j         t          j
        dd                    | _        t                                          | j        | j        d            d S )N  zlitellm.InternalServerError: {}rZ   rf   r   r   r   r   r    s	           r#   r   zInternalServerError.__init__  s     8??HH(
"4&&(M:  
 
 
 	L4=t 	 	
 	
 	
 	
 	
r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   zInternalServerError.__str__0  r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   zInternalServerError.__repr__8  r.   r$   r1   r2   r9   s   @r#   r   r     r   r$   r   c                        e Zd Z	 	 	 	 d
dedeej                 dee         dee         dee         f
 fdZd Z	d	 Z
 xZS )APIErrorNr   r   r   r	   r
   c	                    || _         d                    |          | _        || _        || _        || _        || _        || _        |t          j	        dd          }t                                          | j        |d            d S )Nzlitellm.APIError: {}rZ   r[   r   r   r   r   r   r   r   r   r   r	   r
   r   r   r   r   
r!   r   r   r   r   r   r   r	   r
   r"   s
            r#   r   zAPIError.__init__C  s     '-44W==(
"4&&?m67RSSSGwTBBBBBr$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   zAPIError.__str__Y  r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   zAPIError.__repr__a  r.   r$   r1   )r3   r4   r5   r7   r   r   r   r6   r   r-   r0   r8   r9   s   @r#   r   r   B  s         ,0,0%)%)C CC %-(C %SMC c]C c]C C C C C C,        r$   r   c            
            e Zd Z	 	 	 	 d	deej                 dee         dee         dee         f fdZd Z	d Z
 xZS )
APIConnectionErrorNr   r   r	   r
   c                     d                     |          | _        || _        || _        d| _        || _        t          j        dd          | _        || _	        || _
        t                                          | j        | j                   d S )Nzlitellm.APIConnectionError: {}r   rZ   r[   r   )r   r   )r   r   r   r   r   r   r   r   r   r	   r
   r   r   )	r!   r   r   r   r   r   r	   r
   r"   s	           r#   r   zAPIConnectionError.__init__l  s     8>>wGG(
"4}F8STTT&&t|DDDDDr$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   zAPIConnectionError.__str__  r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   zAPIConnectionError.__repr__  r.   r$   r1   )r3   r4   r5   r   r   r   r6   r7   r   r-   r0   r8   r9   s   @r#   r   r   k  s         ,0,0%)%)E E
 %-(E %SME c]E c]E E E E E E(        r$   r   c                   d     e Zd Z	 	 	 ddee         dee         dee         f fdZd Zd Z xZ	S )	APIResponseValidationErrorNr   r	   r
   c                 "   d                     |          | _        || _        || _        t	          j        dd          }t	          j        d|          }|| _        || _        || _	        t                                          |d |           d S )Nz&litellm.APIResponseValidationError: {}rZ   r[   r   r   r   )r   r   r   )r   r   r   r   r   r   r   r   r	   r
   r   r   )
r!   r   r   r   r   r	   r
   r   r   r"   s
            r#   r   z#APIResponseValidationError.__init__  s     @FFwOO(
-v3NOOO>c7CCC"4&&(wGGGGGr$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r-   z"APIResponseValidationError.__str__  r.   r$   c                 f    | j         }| j        r|d| j         dz  }| j        r|d| j         z  }|S r&   r*   r+   s     r#   r0   z#APIResponseValidationError.__repr__  r.   r$   rR   )
r3   r4   r5   r   r6   r7   r   r-   r0   r8   r9   s   @r#   r   r     s         -1%)%)H H
 %SMH c]H c]H H H H H H&        r$   r   c            
       4     e Zd Zdededededdf
 fdZ xZS )JSONSchemaValidationErrorr   r   raw_responseschemareturnNc                     || _         || _        || _        d                    |||          }|| _        t                                          |||           d S )Nzlitellm.JSONSchemaValidationError: model={}, returned an invalid response={}, for schema={}.
Access raw response with `e.raw_response`)r   r   r   )r   r   r   r   r   r   r   )r!   r   r   r   r   r   r"   s         r#   r   z"JSONSchemaValidationError.__init__  sn     )
 \  c  c<
 
 ugLQQQQQr$   )r3   r4   r5   r6   r   r8   r9   s   @r#   r   r     st        
R
R(+
R;>
RHK
R	
R 
R 
R 
R 
R 
R 
R 
R 
R 
Rr$   r   c                         e Zd Zd fd	Z xZS )OpenAIErrorNc                 V    t                                                       d| _        d S )Nopenai)r   r   r   )r!   original_exceptionr"   s     r#   r   zOpenAIError.__init__  s'    $r$   r~   r3   r4   r5   r   r8   r9   s   @r#   r   r     s=        % % % % % % % % % %r$   r   c                       e Zd Z	 	 	 	 	 	 	 ddee         dee         dedeej                 dee         dee         d	ee         fd
ZdS )UnsupportedParamsErrorNrD   r   r   r   r   r   r	   r
   c	                     d| _         d                    |          | _        || _        || _        || _        |p.t          j        | j         t          j        dd                    }|| _	        || _
        d S )NrD   z"litellm.UnsupportedParamsError: {}r   r   r   r   )r   r   r   r   r   r   r   r   r   r	   r
   )	r!   r   r   r   r   r   r   r	   r
   s	            r#   r   zUnsupportedParamsError.__init__  s     ;BB7KK
("4 
u~(M"6   
  
  
 '&r$   )NNrD   NNNN)	r3   r4   r5   r   r6   r7   r   r   r    r$   r#   r   r     s         '+#-1,0%)%)' ' sm' }	'
 ' 5>*' %SM' c]' c]' ' ' ' ' 'r$   r   c                   <     e Zd Z	 ddededee         f fdZ xZS )BudgetExceededErrorNcurrent_cost
max_budgetr   c                     || _         || _        |pd| d| }|| _        t                                          |           d S )Nz(Budget has been exceeded! Current cost: z, Max budget: )r   r   r   r   r   )r!   r   r   r   r"   s       r#   r   zBudgetExceededError.__init__  s]     )$ cb,bbV`bb 	 !!!!!r$   r~   )r3   r4   r5   floatr   r6   r   r8   r9   s   @r#   r   r     sa        OS
" 
"!
"/4
"?G}
" 
" 
" 
" 
" 
" 
" 
" 
" 
"r$   r   c                        e Zd Z fdZ xZS )InvalidRequestErrorc                     d| _         || _        || _        || _        t	          j        dt	          j        dd                    | _        t                      	                    | j        | j        d            d S )NrD   r   r   r   r   )r   r   r   )
r   r   r   r   r   r   r   r   r   r   )r!   r   r   r   r"   s       r#   r   zInvalidRequestError.__init__  s    
(M"6  
 
 
 	L4=t 	 	
 	
 	
 	
 	
r$   r   r9   s   @r#   r   r     s8        
 
 
 
 
 
 
 
 
r$   r   c                   x     e Zd Z	 	 	 	 ddedeej                 dee         dee         dee         f
 fdZ xZ	S )	MockExceptionNr   r   r   r	   r
   c	                    || _         d                    |          | _        || _        || _        || _        || _        || _        |t          j	        dd          }t                                          | j        |d            d S )Nzlitellm.MockException: {}rZ   r[   r   r   r   r   s
            r#   r   zMockException.__init__  s     '299'BB(
"4&&?m67RSSSGwTBBBBBr$   r1   )
r3   r4   r5   r7   r   r   r   r6   r   r8   r9   s   @r#   r   r     s         ,0,0%)%)C CC %-(C %SMC c]C c]C C C C C C C C C Cr$   r   c                   <     e Zd Zddedee         f fdZd Z xZS )LiteLLMUnknownProviderNr   custom_llm_providerc                     t           j        j                            ||          | _        t                                          | j        ||d            d S )N)r   r   )r   r   r   )r   llm_provider_not_providedvaluer   r   r   r   )r!   r   r   r"   s      r#   r   zLiteLLMUnknownProvider.__init__7  sf    +EKRR-@ S 
 
 	L4GRV 	 	
 	
 	
 	
 	
r$   c                     | j         S r~   )r   r!   s    r#   r-   zLiteLLMUnknownProvider.__str__?  s
    |r$   r~   )r3   r4   r5   r6   r   r   r-   r8   r9   s   @r#   r   r   6  sc        
 
c 
 
 
 
 
 
 
      r$   r   c                   6     e Zd Zddee         def fdZ xZS )GuardrailRaisedExceptionN guardrail_namer   c                 |    || _         d| d| | _        t                                          | j                   d S )Nz*Guardrail raised an exception, Guardrail: z, Message: )r   r   r   r   )r!   r   r   r"   s      r#   r   z!GuardrailRaisedException.__init__D  sC    ,hNhh_fhh&&&&&r$   )Nr   )r3   r4   r5   r   r6   r   r8   r9   s   @r#   r   r   C  sT        ' 'x} 'c ' ' ' ' ' ' ' ' ' 'r$   r   c                   8     e Zd Z	 ddedee         f fdZ xZS )BlockedPiiEntityErrorNentity_typer   c                     || _         || _        d| d| d| _        t                                          | j                   dS )zJ
        Raised when a blocked entity is detected by a guardrail.
        zBlocked entity detected: z by Guardrail: z8. This entity is not allowed to be used in this request.N)r   r   r   r   r   )r!   r   r   r"   s      r#   r   zBlockedPiiEntityError.__init__K  sa     ', X;  X  X~  X  X  X&&&&&r$   r~   )r3   r4   r5   r6   r   r   r8   r9   s   @r#   r   r   J  s]         )-' '' !' ' ' ' ' ' ' ' ' 'r$   r   c                        e Zd Z	 	 	 	 	 	 	 ddedededee         deej                 d	ee         d
ee         dee         dede	f fdZ
d Zd Z xZS )MidStreamFallbackErrorNr   Fr   r   r   r   r   r   r	   r
   generated_contentis_pre_first_chunkc           	         d| _         d| | _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        |9t          j        | j         t          j        dd| d                    | _        n|| _        t                                          | j        ||| j        | j        | j        | j                   d S )	Nr   z litellm.MidStreamFallbackError: rZ   zhttps://z.com/v1/r   r   )r   r   r   r   r   r	   r
   )r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   )r!   r   r   r   r   r   r   r	   r
   r   r   r"   s              r#   r   zMidStreamFallbackError.__init__Z  s     C'CC
("4"4&&!2"4 !N ,!9<999    DMM %DM 	L%]#6(( 	 	
 	
 	
 	
 	
r$   c                     | j         }| j        r|d| j         dz  }| j        r|d| j         z  }| j        r4|dt	          | j                  j         dt          | j                   z  }|S )Nr'   r(   r)   z Original exception: z: )r   r
   r	   r   rk   r3   r6   r+   s     r#   r-   zMidStreamFallbackError.__str__  s    < 	FET-=EEEEH 	ED$2BDDDH" 	yxT5L0M0M0VxxZ]^b^uZvZvxxxHr$   c                 *    |                                  S r~   )r-   r   s    r#   r0   zMidStreamFallbackError.__repr__  s    ||~~r$   )NNNNNr   F)r3   r4   r5   r6   r   	Exceptionr   r   r7   boolr   r-   r0   r8   r9   s   @r#   r   r   Y  s         37-1,0%)%)!##(-
 -
-
 -
 	-

 %Y/-
 5>*-
 %SM-
 c]-
 c]-
 -
 !-
 -
 -
 -
 -
 -
^        r$   r   )$typingr   r   r   litellm.types.utilsr   r   r<   rB   rK   rN   APITimeoutErrorrV   r_   rd   rp   ry   r   APIStatusErrorr   r   r   r   r   r   r   r   LITELLM_EXCEPTION_TYPESr   r   r   r   r   r   r   r   r   r$   r#   <module>r      s           4 4 4 4 4 4* * * * *&4 * * *\* * * * *F( * * *Z+ + + + +f, + + +Z
 
 
 
 
o 
 
 
0$ $ $ $ $v> $ $ $N+ + + + +f$ + + +\$ $ $ $ $F8 $ $ $N1 1 1 1 1V* 1 1 1j( ( ( ( ( ( ( (X' ' ' ' '? ' ' 'T' ' ' ' '/ ' ' 'T+ + + + +f3 + + +\+ + + + +&4 + + +^% % % % %v % % %R# # # # #2 # # #N" " " " "!B " " "JR R R R R : R R R% % % % %&$ % % %' ' ' ' '_ ' ' '8 ' ." " " " ") " " "
 
 
 
 
&0 
 
 
"C C C C CFO C C C2
 
 
 
 
_ 
 
 
' ' ' ' 'y ' ' '' ' ' ' 'I ' ' '; ; ; ; ;4 ; ; ; ; ;r$   