
    ^h                     ^    S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S SKJ	r	   " S S\5      r
g)	    )HTTPExceptionN)verbose_logger)	DualCache)CustomLogger)UserAPIKeyAuthc                   :    \ rS rSrS rS rS\S\S\S\	4S jr
S	rg
)_PROXY_MaxBudgetLimiter
   c                     g )N )selfs    `/home/james-whalen/.local/lib/python3.13/site-packages/litellm/proxy/hooks/max_budget_limiter.py__init__ _PROXY_MaxBudgetLimiter.__init__   s        c                 B    [         R                  SL a  [        U5        g g )NT)litellmset_verboseprint)r   print_statements     r   print_verbose%_PROXY_MaxBudgetLimiter.print_verbose   s    $&/" 'r   user_api_key_dictcachedata	call_typec                   #     U R                  S5        UR                   S3nUR                  XQR                  S9I S h  vN nUc  g US   nUS   nUc  g Uc  g X:  a
  [	        SSS9eg  N*! [         a  n	U	eS n	A	f[
         a8  n	[        R                  " S	R                  [        U	5      5      5         S n	A	g S n	A	ff = f7f)
Nz'Inside Max Budget Limiter Pre-Call Hook_user_api_key_user_id)parent_otel_span
max_budgetspendi  zMax budget limit reached.)status_codedetailzXlitellm.proxy.hooks.max_budget_limiter.py::async_pre_call_hook(): Exception occured - {})
r   user_idasync_get_cacher   r   	Exceptionr   	exceptionformatstr)
r   r   r   r   r   	cache_keyuser_rowr    
curr_spendes
             r   async_pre_call_hook+_PROXY_MaxBudgetLimiter.async_pre_call_hook   s     	HI,4455JKI"22,N,N 3  H !,/J!'*J!! '#<WXX ("  	G 	$$jqqF 	sp   C<A-  A+A- C	A- CA- CA- *C+A- -
B>7A99B>.B94C9B>>Cr   N)__name__
__module____qualname____firstlineno__r   r   r   r   dictr)   r.   __static_attributes__r   r   r   r	   r	   
   s7    #")" " 	"
 "r   r	   )fastapir   r   r   litellm.caching.cachingr   "litellm.integrations.custom_loggerr   litellm.proxy._typesr   r	   r   r   r   <module>r:      s#    !  " - ; /+l +r   