o
    ưi                     @   s   d dl Z d dlmZmZ ddlT ddlmZ ddlmZ ddl	m
Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ zd dlmZ W n eyS   i ZY nw e
eeeeeedZe dd dkrleed< ee deed ef fddZdS )    N)LiteralUnion   )*)_PROXY_CacheControlCheck)SkillsInjectionHook)_PROXY_MaxBudgetLimiter)!_PROXY_MaxBudgetPerSessionHandler)_PROXY_MaxIterationsHandler)!_PROXY_MaxParallelRequestsHandler)$_PROXY_MaxParallelRequestsHandler_v3)ResponsesIDSecurity)ENTERPRISE_PROXY_HOOKS)max_budget_limiterparallel_request_limitercache_control_checkresponses_id_securitylitellm_skillsmax_iterations_limitermax_budget_per_session_limiterZ#LEGACY_MULTI_INSTANCE_RATE_LIMITINGfalsetruer   	hook_name)r   Zmanaged_filesr   r   c                 C   s,   | t vrtd|  dtt   t |  S )z=
    Factory method to get a proxy hook instance by name
    zUnknown hook: z. Available hooks: )PROXY_HOOKS
ValueErrorlistkeys)r    r   S/home/app/Keep/.python/lib/python3.10/site-packages/litellm/proxy/hooks/__init__.pyget_proxy_hook*   s
   r   )ostypingr   r    r   r   r   r   r   r   r   r	   r   r
   r   r   Zparallel_request_limiter_v3r   r   r   Zenterprise.enterprise_hooksr   ImportErrorr   getenvlowerupdatestrr   r   r   r   r   <module>   sH    
