
    j	                         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j0                        Z G d& d'e      Z G d( d)ej4                        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egZ G d, d-e      Z G d. d/ej                        Z G d0 d1ej,                        Z  G d2 d3e      Z! G d4 d5e      Z" G d6 d7e      Z# G d8 d9e      Z$ G d: d;e      Z%y)<    )OptionalN)LiteLLMCommonStringsc            
       r     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 )	AuthenticationErrorresponselitellm_debug_infomax_retriesnum_retriesc                 P   d| _         dj                  |      | _        || _        || _        || _        || _        || _        |xs6 t        j                  | j                   t        j                  dd            | _        t        | 5  | j                  | j                  d        y )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	           k/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/litellm/exceptions.pyr   zAuthenticationError.__init__   s     8??H(
"4&&  
ENN((MM"6%
 	LL4==t 	 	
    c                     | 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   V    <<,T-=-=,>fEEH1$2B2B1CDDHr#   c                     | 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,   r/   __classcell__r!   s   @r"   r   r      ]     .2,0%)%)

 5>>*
 %SM
 c]
 c]
6r#   r   c            
       r     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 )	NotFoundErrorr   r   r	   r
   c                 P   d| _         dj                  |      | _        || _        || _        || _        || _        || _        |xs6 t        j                  | j                   t        j                  dd            | _        t        | 5  | j                  | j                  d        y )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
("4&&  
ENN((MM"6%
 	LL4==t 	 	
r#   c                     | 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                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   zNotFoundError.__repr__f   r-   r#   r0   r1   r8   s   @r"   r;   r;   B   r9   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 )
BadRequestErrorr   r   r	   r
   r   c	                 *   d| _         dj                  |      | _        || _        || _        || _        t        j                  | j                   t        j                  dd            }|| _	        || _
        t        	| 1  | j                  ||       y )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
("4>>((MM"6
 '&LL8$ 	 	
r#   c                     | 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                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   zBadRequestError.__repr__   r-   r#   NNNNN)r2   r3   r4   r   r   r   r5   r6   dictr   r,   r/   r7   r8   s   @r"   rA   rA   o   sn     .2,0%)%)#

 5>>*
 %SM
 c]
 c]
 tn
8r#   rA   c                   v     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 )ImageFetchErrorr   r   r	   r
   r   c	           
      4    t         	|   ||||||||       y )N)r   r   r   r   r   r	   r
   r   )r   r   rD   s
            r"   r   zImageFetchError.__init__   s/     	%1## 	 		
r#   )NNNNNNN)r2   r3   r4   r   r   r   r5   r6   rH   r   r7   r8   s   @r"   rJ   rJ      so     -1,0%)%)#

 5>>*
 %SM
 c]
 c]
 tn
 
r#   rJ   c            
       j     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 )	UnprocessableEntityErrorr   r   r	   r
   c                     d| _         dj                  |      | _        || _        || _        || _        || _        || _        t        | %  | j                  |d        y )Ni  z$litellm.UnprocessableEntityError: {}r   )
r   r   r   r   r   r   r	   r
   r   r   r=   s	           r"   r   z!UnprocessableEntityError.__init__   sc     =DDWM
("4&&LL8$ 	 	
r#   c                     | 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                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   z!UnprocessableEntityError.__repr__   r-   r#   NNNr2   r3   r4   r   r   r   r5   r6   r   r,   r/   r7   r8   s   @r"   rM   rM      U     -1%)%)

 ..
 %SM
 c]
 c]
*r#   rM   c                   j     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 )
Timeoutr   r	   r
   headersexception_status_codec	                     t        j                  dd      }	t        
|   |	       |xs d| _        dj                  |      | _        || _        || _        || _	        || _
        || _        || _        y )NPOSThttps://api.openai.com/v1r   )r   i  zlitellm.Timeout: {})r   r   r   r   r   r   r   r   r   r   r	   r
   rV   )r    r   r   r   r   r	   r
   rV   rW   r   r!   s             r"   r   zTimeout.__init__   s     --+
 	 	 	
 17C,33G<
("4&&r#   c                     | 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                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   zTimeout.__repr__  r-   r#   rG   )r2   r3   r4   r   r5   r6   rH   r   r,   r/   r7   r8   s   @r"   rU   rU      si     -1%)%)"&/3
 %SM c] c] $  (}8r#   rU   c            
       j     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 )	PermissionDeniedErrorr   r   r	   r
   c                     d| _         dj                  |      | _        || _        || _        || _        || _        || _        t        | %  | j                  |d        y )Ni  z!litellm.PermissionDeniedError: {}r   )
r   r   r   r   r   r   r	   r
   r   r   r   s	           r"   r   zPermissionDeniedError.__init__  sc     :AA'J(
"4&&LL8$ 	 	
r#   c                     | 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                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   zPermissionDeniedError.__repr__(  r-   r#   rQ   rR   r8   s   @r"   r^   r^   
  rS   r#   r^   c            
       r     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 )	RateLimitErrorr   r   r	   r
   c                 t   d| _         dj                  |      | _        || _        || _        || _        || _        || _        |t        |dd       nd }t        j                  d|t        j                  dd            | _        t        	| 9  | j                  | j                  d        d	| _        d
| _        y )Ni  zlitellm.RateLimitError: {}rV   rY   $ https://cloud.google.com/vertex-ai/r   r   rV   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__2  s     3::7C(
"4&&2:2FGHi.D 	 %MM:
 	LL4==t 	 	
 	&	r#   c                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r,   zRateLimitError.__str__T  r-   r#   c                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   zRateLimitError.__repr__\  r-   r#   r0   r1   r8   s   @r"   rc   rc   1  s^     .2,0%)%) '
 5>>* ' %SM ' c] ' c] 'Dr#   rc   c                   Z     e Zd Z	 	 ddeej
                     dee   f fdZd Zd Z	 xZ
S )ContextWindowExceededErrorr   r   c                 \   d| _         || _        || _        || _        t	        j
                  dd      }t	        j                  d|      | _        t        | %  || j                  | j                  | j                  | j                         dj                  | j                        | _        y )NrC   rY   rZ   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__g  s     
("4--v3NO3H****]]#66 	 	
 @FFt||Tr#   c                     | 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                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   z#ContextWindowExceededError.__repr__  r-   r#   )NN)r2   r3   r4   r   r   r   r5   r   r,   r/   r7   r8   s   @r"   rq   rq   f  s>     .2,0U
 5>>*U %SMU2r#   rq   c                   >     e Zd Z	 ddedee   f fdZd Zd Z xZ	S )RejectedRequestErrorrequest_datar   c                 L   d| _         dj                  |      | _        || _        || _        || _        || _        t        j                  dd      }t        j                  d|      }t        | -  | j                  | j                  | j                  || j
                         y )NrC   z litellm.RejectedRequestError: {}rY   rZ   r   r   rs   )r   r   r   r   r   r   rx   r   r   r   r   r   )	r    r   r   r   rx   r   r   r   r!   s	           r"   r   zRejectedRequestError.__init__  s     9@@I
("4(--v3NO>>c7CLL****#66 	 	
r#   c                     | 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                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   zRejectedRequestError.__repr__  r-   r#   N)
r2   r3   r4   rH   r   r5   r   r,   r/   r7   r8   s   @r"   rw   rw     s/     -1

 
 %SM
0r#   rw   c                   r     e Zd Z	 	 	 d	deej
                     dee   dee   f fdZd Z	d Z
defdZ xZS )
ContentPolicyViolationErrorr   r   provider_specific_fieldsc                 j   d| _         dj                  |      | _        || _        || _        || _        t        j                  dd      }t        j                  d|      | _	        || _
        t        | 1  | j                  | j                  | j                  | j                  | j
                         y )NrC   z'litellm.ContentPolicyViolationError: {}rY   rZ   r   r   rs   )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$ContentPolicyViolationError.__init__  s     @GGP
("4--v3NO3H(@%LL****]]#66 	 	
r#   c                 "    | j                         S r|   _transform_error_to_stringr    s    r"   r,   z#ContentPolicyViolationError.__str__      ..00r#   c                 "    | j                         S r|   r   r   s    r"   r/   z$ContentPolicyViolationError.__repr__  r   r#   returnc                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S )z1
        Transform the error to a string
        r&   r'   r(   r)   r*   s     r"   r   z6ContentPolicyViolationError._transform_error_to_string  sX     <<,T-=-=,>fEEH1$2B2B1CDDHr#   rQ   )r2   r3   r4   r   r   r   r5   rH   r   r,   r/   r   r7   r8   s   @r"   r~   r~     sX     .2,037

 5>>*
 %SM
 #+4.
611	C 	r#   r~   c            
       r     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 )	ServiceUnavailableErrorr   r   r	   r
   c                 l   d| _         dj                  |      | _        || _        || _        || _        || _        || _        |t        |dd       nd }t        j                  | j                   |t        j                  dd            | _        t        	| 9  | j                  | j                  d        y )	N  z#litellm.ServiceUnavailableError: {}rV   rY   re   r   rf   r   r   r   r   r   r   r   r	   r
   ri   r   r   r   r   r   r   rl   s
            r"   r   z ServiceUnavailableError.__init__  s     <CCGL(
"4&&2:2FGHi.D 	 ((%MM:
 	LL4==t 	 	
r#   c                     | 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                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   z ServiceUnavailableError.__repr__  r-   r#   r0   r1   r8   s   @r"   r   r     ^     .2,0%)%)

 5>>*
 %SM
 c]
 c]
@r#   r   c            
       r     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 )	BadGatewayErrorr   r   r	   r
   c                 l   d| _         dj                  |      | _        || _        || _        || _        || _        || _        |t        |dd       nd }t        j                  | j                   |t        j                  dd            | _        t        	| 9  | j                  | j                  d        y )	Ni  zlitellm.BadGatewayError: {}rV   rY   re   r   rf   r   r   rl   s
            r"   r   zBadGatewayError.__init__  s     4;;GD(
"4&&2:2FGHi.D 	 ((%MM:
 	LL4==t 	 	
r#   c                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r,   zBadGatewayError.__str__>  r-   r#   c                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   zBadGatewayError.__repr__F  r-   r#   r0   r1   r8   s   @r"   r   r     r   r#   r   c            
       r     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 )	InternalServerErrorr   r   r	   r
   c                 l   d| _         dj                  |      | _        || _        || _        || _        || _        || _        |t        |dd       nd }t        j                  | j                   |t        j                  dd            | _        t        	| 9  | j                  | j                  d        y )	N  zlitellm.InternalServerError: {}rV   rY   re   r   rf   r   r   rl   s
            r"   r   zInternalServerError.__init__P  s     8??H(
"4&&2:2FGHi.D 	 ((%MM:
 	LL4==t 	 	
r#   c                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r,   zInternalServerError.__str__p  r-   r#   c                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   zInternalServerError.__repr__x  r-   r#   r0   r1   r8   s   @r"   r   r   O  r   r#   r   c                   v     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 )
APIErrorr   r   r   r	   r
   c	                     || _         dj                  |      | _        || _        || _        || _        || _        || _        |t        j                  dd      }t        	| -  | j                  |d        y )Nzlitellm.APIError: {}rY   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!   s
            r"   r   zAPIError.__init__  st     '-44W=(
"4&&?mm67RSGwTBr#   c                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r,   zAPIError.__str__  r-   r#   c                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   zAPIError.__repr__  r-   r#   r0   )r2   r3   r4   r6   r   r   r   r5   r   r,   r/   r7   r8   s   @r"   r   r     sk     ,0,0%)%)CC %--(C %SMC c]C c]C,r#   r   c            
       r     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 )	APIConnectionErrorr   r   r	   r
   c                    dj                  |      | _        || _        || _        d| _        || _        t        j                  dd      | _        || _	        || _
        t        | 1  | j                  | j                         y )Nzlitellm.APIConnectionError: {}r   rY   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!   s	           r"   r   zAPIConnectionError.__init__  ss     8>>wG(
"4}}F8ST&&t||Dr#   c                     | 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                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   zAPIConnectionError.__repr__  r-   r#   r0   )r2   r3   r4   r   r   r   r5   r6   r   r,   r/   r7   r8   s   @r"   r   r     sb     ,0,0%)%)E
 %--(E %SME c]E c]E(r#   r   c                   R     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 )APIResponseValidationErrorr   r	   r
   c                     dj                  |      | _        || _        || _        t	        j
                  dd      }t	        j                  d|      }|| _        || _        || _	        t        	| -  |d |       y )Nz&litellm.APIResponseValidationError: {}rY   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!   s
            r"   r   z#APIResponseValidationError.__init__  st     @FFwO(
--v3NO>>c7C"4&&(wGr#   c                     | 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                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r)   r*   s     r"   r/   z#APIResponseValidationError.__repr__  r-   r#   rQ   )
r2   r3   r4   r   r5   r6   r   r,   r/   r7   r8   s   @r"   r   r     sK     -1%)%)H
 %SMH c]H c]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schemar   Nc                     || _         || _        || _        dj                  |||      }|| _        t
        |   |||       y )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__  sX     )
 \  c  c<
 ugLQr#   )r2   r3   r4   r5   r   r7   r8   s   @r"   r   r     s<    
R
R(+
R;>
RHK
R	
R 
Rr#   r   c                         e Zd Zd fd	Z xZS )OpenAIErrorc                 0    t         |           d| _        y )Nopenai)r   r   r   )r    original_exceptionr!   s     r"   r   zOpenAIError.__init__  s    $r#   r|   r2   r3   r4   r   r7   r8   s   @r"   r   r     s    % %r#   r   c                   x    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y)UnsupportedParamsErrorNr   r   r   r   r   r	   r
   c	                     d| _         dj                  |      | _        || _        || _        || _        |xs6 t        j                  | j                   t        j                  dd            }|| _	        || _
        y )NrC   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__  sw     ;BB7K
("4 
u~~((MM"6 
 '&r#   )NNrC   NNNN)	r2   r3   r4   r   r5   r6   r   r   r    r#   r"   r   r     s     '+#-1,0%)%)' sm' }	'
 ' 5>>*' %SM' c]' c]'r#   r   c                   6     e Zd Z	 ddededee   f fdZ xZS )BudgetExceededErrorcurrent_cost
max_budgetr   c                 f    || _         || _        |xs d| d| }|| _        t        |   |       y )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__?  sJ     )$ c9,~V`Uab 	 !r#   r|   )r2   r3   r4   floatr   r5   r   r7   r8   s   @r"   r   r   >  s,    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        y )NrC   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__N  si    
(MM"6
 	LL4==t 	 	
r#   r   r8   s   @r"   r   r   M  s    
 
r#   r   c                   j     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 )MockExceptionr   r   r   r	   r
   c	                     || _         dj                  |      | _        || _        || _        || _        || _        || _        |t        j                  dd      }t        	| -  | j                  |d        y )Nzlitellm.MockException: {}rY   rZ   r   r   r   r   s
            r"   r   zMockException.__init__`  st     '299'B(
"4&&?mm67RSGwTBr#   r0   )
r2   r3   r4   r6   r   r   r   r5   r   r7   r8   s   @r"   r   r   ^  sg     ,0,0%)%)CC %--(C %SMC c]C c]C Cr#   r   c                   6     e Zd Zddedee   f fdZd Z xZS )LiteLLMUnknownProviderr   custom_llm_providerc                     t         j                  j                  j                  ||      | _        t
        |   | j                  ||d        y )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__x  sP    +EEKKRR-@ S 
 	LL4GRV 	 	
r#   c                     | j                   S r|   r   r   s    r"   r,   zLiteLLMUnknownProvider.__str__      ||r#   r|   )r2   r3   r4   r5   r   r   r,   r7   r8   s   @r"   r   r   w  s    
c 
 
r#   r   c                   0     e Zd Zddee   def fdZ xZS )GuardrailRaisedExceptionguardrail_namer   c                 `    || _         d| d| | _        t        |   | j                         y )Nz*Guardrail raised an exception, Guardrail: z, Message: )r   r   r   r   )r    r   r   r!   s      r"   r   z!GuardrailRaisedException.__init__  s4    ,CNCSS^_f^gh&r#   )N )r2   r3   r4   r   r5   r   r7   r8   s   @r"   r   r     s    'x} 'c ' 'r#   r   c                   2     e Zd Z	 ddedee   f fdZ xZS )BlockedPiiEntityErrorentity_typer   c                 p    || _         || _        d| d| d| _        t        |   | j                         y)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__  sE     ',2;-~N^  _W  X&r#   r|   )r2   r3   r4   r5   r   r   r7   r8   s   @r"   r   r     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 )MidStreamFallbackErrorr   r   r   r   r   r   r	   r
   generated_contentis_pre_first_chunkc           	         d| _         d| | _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        |@t        j                  | j                   t        j                  dd| d            | _        n|| _        t        | =  | j                  ||| j                  | j
                  | j                  | j                         y )	Nr   z litellm.MidStreamFallbackError: rY   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__  s     9'C
("4"4&&!2"4 !NN ,,!"<.9DM %DM 	LL%]]#66(((( 	 	
r#   c                 &   | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }| j                  r;|dt	        | j                        j
                   dt        | j                         z  }|S )Nr&   r'   r(   z Original exception: z: )r   r
   r	   r   rk   r2   r5   r*   s     r"   r,   zMidStreamFallbackError.__str__  s    <<,T-=-=,>fEEH1$2B2B1CDDH""/T5L5L0M0V0V/WWYZ]^b^u^uZvYwxxHr#   c                 "    | j                         S r|   r,   r   s    r"   r/   zMidStreamFallbackError.__repr__      ||~r#   )NNNNNr   F)r2   r3   r4   r5   r   	Exceptionr   r   r6   boolr   r,   r/   r7   r8   s   @r"   r   r     s     37-1,0%)%)!##(-
-
 -
 	-

 %Y/-
 5>>*-
 %SM-
 c]-
 c]-
 -
 !-
^r#   r   c                   0     e Zd Zdef fdZd Zd Z xZS )&GuardrailInterventionNormalStringErrorr   c                 F    || _         t        | 	  | j                          y r|   )r   r   r   )r    r   r!   s     r"   r   z/GuardrailInterventionNormalStringError.__init__  s    &r#   c                     | j                   S r|   r   r   s    r"   r,   z.GuardrailInterventionNormalStringError.__str__  r   r#   c                 "    | j                         S r|   r   r   s    r"   r/   z/GuardrailInterventionNormalStringError.__repr__  r   r#   )r2   r3   r4   r5   r   r,   r/   r7   r8   s   @r"   r   r     s    ' 'r#   r   )&typingr   r   r   litellm.types.utilsr   r   r;   rA   rJ   rM   APITimeoutErrorrU   r^   rc   rq   rw   r~   APIStatusErrorr   r   r   r   r   r   r   r   r   LITELLM_EXCEPTION_TYPESr   r   r   r   r   r   r   r   r   r   r#   r"   <module>r      s      4*&44 *\*F(( *Z+f,, +\
o 
0$v>> $N+f$$ +\$F88 $N1V** 1j( (X'? 'T,/ ,^/f33 /d/f++ /d/&44 /f%v %R#22 #N"!B!B "JR : R%&$$ %'_ '8 ) 0") "
&00 
"CFOO C2
_ 
'y ''I ';4 ;|r#   