o
    ưi6                     @   s2   d Z ddlmZmZ ddlmZ G dd dZdS )z
This file is used to store the state variables of the proxy server.

Example: `spend_logs_row_count` is used to store the number of rows in the `LiteLLM_SpendLogs` table.
    )AnyLiteral)ProxyStateVariablesc                   @   sJ   e Zd ZdZed ZdddZdedefdd	Zded
eddfddZ	dS )
ProxyStatezJ
    Proxy state class has get/set methods for Proxy state variables.
    spend_logs_row_countreturnNc                 C   s   t dd| _d S )Nr   )r   )r   proxy_state_variables)self r
   ]/home/app/Keep/.python/lib/python3.10/site-packages/litellm/proxy/common_utils/proxy_state.py__init__   s   zProxyState.__init__variable_namec                 C   s   | j |d S N)r   get)r	   r   r
   r
   r   get_proxy_state_variable   s   z#ProxyState.get_proxy_state_variablevaluec                 C   s   || j |< d S r   )r   )r	   r   r   r
   r
   r   set_proxy_state_variable   s   z#ProxyState.set_proxy_state_variable)r   N)
__name__
__module____qualname____doc__r   Zvalid_keys_literalr   r   r   r   r
   r
   r
   r   r      s     

r   N)r   typingr   r   Zlitellm.proxy._typesr   r   r
   r
   r
   r   <module>   s    