
    gn                     D   d dl mZ d dlZd dl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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y)-    )OptionalNc            
       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	           G/var/www/openai/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 Nz LiteLLM Retried: z timesz, LiteLLM Max Retries: r   r	   r   r    _messages     r"   __str__zAuthenticationError.__str__.   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__6   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__A   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__d   r*   r#   r-   r.   r5   s   @r"   r8   r8   @   r6   r#   r8   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 )	BadRequestErrorr   r   r   r	   c                 *   d| _         dj                  |      | _        || _        || _        || _        t        j                  | j                   t        j                  dd            }|| _	        || _
        t        | 1  | j                  |d        y )N  zlitellm.BadRequestError: {}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__n   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#   r-   r.   r5   s   @r"   r>   r>   m   r6   r#   r>   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r/   r0   r1   r   r   r   r2   r3   r   r)   r,   r4   r5   s   @r"   rD   rD      U     -1%)%)

 ..
 %SM
 c]
 c]
*r#   rD   c            
       ^     e Zd Z	 	 	 	 d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	   headersc                     t        j                  dd      }t        	|   |       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	   rM   )
r    r   r   r   r   r   r	   rM   r   r!   s
            r"   r   zTimeout.__init__   sz     --+
 	 	 	
 ,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#   r-   )r/   r0   r1   r   r2   r3   dictr   r)   r,   r4   r5   s   @r"   rL   rL      sX     -1%)%)"&
 %SM c] c] $6r#   rL   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#   rH   rI   r5   s   @r"   rU   rU      rJ   r#   rU   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: {}rM   rO   $ https://cloud.google.com/vertex-ai/r   )r   rM   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__  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__8  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#   r-   r.   r5   s   @r"   rZ   rZ     s^     .2,0%)%) '
 5>>* ' %SM ' c] ' c] 'Dr#   rZ   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 )Nr@   rO   rP   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__K  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__d  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__l  r*   r#   NNr/   r0   r1   r   r   r   r2   r   r)   r,   r4   r5   s   @r"   rf   rf   J  s>     .2,0U
 5>>*U %SMU2r#   rf   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 )Nr@   z litellm.RejectedRequestError: {}rO   rP   r   r   rh   )r   r   r   r   r   r   rp   r   r   r   r   r   )	r    r   r   r   rp   r   r   r   r!   s	           r"   r   zRejectedRequestError.__init__w  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)
r/   r0   r1   rS   r   r2   r   r)   r,   r4   r5   s   @r"   ro   ro   v  s/     -1

 
 %SM
0r#   ro   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 )ContentPolicyViolationErrorr   r   c                 \   d| _         dj                  |      | _        || _        || _        || _        t        j                  dd      }t        j                  d|      | _	        t        | -  | j                  | j                  | j                  | j                  | j
                         y )Nr@   z'litellm.ContentPolicyViolationError: {}rO   rP   r   r   rh   )r   r   r   r   r   r   r   r   r   r   r   r   ri   s          r"   r   z$ContentPolicyViolationError.__init__  s     @GGP
("4--v3NO3H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#ContentPolicyViolationError.__str__  r*   r#   c                     | j                   }| j                  r|d| j                   dz  }| j                  r|d| j                   z  }|S r%   r&   r'   s     r"   r,   z$ContentPolicyViolationError.__repr__  r*   r#   rl   rm   r5   s   @r"   rv   rv     s;     .2,0

 5>>*
 %SM
.r#   rv   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                 H   d| _         dj                  |      | _        || _        || _        || _        || _        || _        t        j                  | j                   t        j                  dd            | _        t        | 5  | j                  | j                  d        y )Ni  z#litellm.ServiceUnavailableError: {}rO   r\   r   r   r   r   r   s	           r"   r   z ServiceUnavailableError.__init__  s     <CCGL(
"4&&((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#   r-   r.   r5   s   @r"   r{   r{     ]     .2,0%)%)

 5>>*
 %SM
 c]
 c]
8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                 H   d| _         dj                  |      | _        || _        || _        || _        || _        || _        t        j                  | j                   t        j                  dd            | _        t        | 5  | j                  | j                  d        y )N  zlitellm.InternalServerError: {}rO   r\   r   r   r   r   r   s	           r"   r   zInternalServerError.__init__  s     8??H(
"4&&((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__  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__  r*   r#   r-   r.   r5   s   @r"   r   r     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: {}rO   rP   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__F  r*   r#   r-   )r/   r0   r1   r3   r   r   r   r2   r   r)   r,   r4   r5   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   rO   rP   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__Q  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__e  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__m  r*   r#   r-   )r/   r0   r1   r   r   r   r2   r3   r   r)   r,   r4   r5   s   @r"   r   r   P  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: {}rO   rP   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__x  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#   rH   )
r/   r0   r1   r   r2   r3   r   r)   r,   r4   r5   s   @r"   r   r   w  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schemareturnNc                     || _         || _        || _        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#   )r/   r0   r1   r2   r   r4   r5   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#   rt   r/   r0   r1   r   r4   r5   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 )Nr@   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#   )NNr@   NNNN)	r/   r0   r1   r   r2   r3   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#   rt   )r/   r0   r1   floatr   r2   r   r4   r5   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 )Nr@   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__  si    
(MM"6
 	LL4==t 	 	
r#   r   r5   s   @r"   r   r     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: {}rO   rP   r   r   r   r   s
            r"   r   zMockException.__init__  st     '299'B(
"4&&?mm67RSGwTBr#   r-   )
r/   r0   r1   r3   r   r   r   r2   r   r4   r5   s   @r"   r   r     sg     ,0,0%)%)CC %--(C %SMC c]C c]C Cr#   r   )typingr   r   r   r   r8   r>   rD   APITimeoutErrorrL   rU   rZ   rf   ro   rv   APIStatusErrorr{   r   r   r   r   r   r   r   LITELLM_EXCEPTION_TYPES	Exceptionr   r   r   r   r#   r"   <module>r      s     *&44 *\*F(( *Z*f,, *Z$v>> $N*f$$ *Z$F88 $N1V** 1j( (X'? 'T'/ 'T+f33 +\+&44 +^%v %R#22 #N"!B!B "JR : R%&$$ %'_ '8 ' .") "
&00 
"CFOO Cr#   