
    ^h                     f    S SK r S SKJrJrJr  SSKJr  \(       a	  S SKJr	  \	rO\r " S S\5      r
g)    N)TYPE_CHECKINGAnyOptional   )	BaseCache)Spanc                       \ rS rSrSS\\   4S jjrS rS rS r	S r
S	\4S
 jrS\S\4S jrS rS	\4S jrS\S\4S jrS rS rS rSrg)	DiskCache   Ndisk_cache_dirc                 l    SS K nUc  UR                  S5      U l        g UR                  U5      U l        g )Nr   z.litellm_cache)	diskcacheCache
disk_cache)selfr   dcs      T/home/james-whalen/.local/lib/python3.13/site-packages/litellm/caching/disk_cache.py__init__DiskCache.__init__   s.     ! hh'78DO hh~6DO    c                     SU;   a  U R                   R                  XUS   S9  g U R                   R                  X5        g )Nttl)expire)r   setr   keyvaluekwargss       r   	set_cacheDiskCache.set_cache   s6    F?OO6%=AOO+r   c                 4   #    U R                   " SXS.UD6  g 7f)Nr   r    r   r   s       r   async_set_cacheDiskCache.async_set_cache   s     636v6s   c                 v   #    U H/  u  p4SU;   a  U R                  X4US   S9  M   U R                  X4S9  M1     g 7f)Nr   )r   r   r   r"   r$   )r   
cache_listr   	cache_keycache_values        r   async_set_cache_pipeline"DiskCache.async_set_cache_pipeline!   s;     &0"I9VE]S9@	 '1s   79c                     U R                   R                  U5      nU(       a   [        R                  " U5      nU$ g ! [         a    Un U$ f = fN)r   getjsonloads	Exception)r   r   r   original_cached_responsecached_responses        r   	get_cacheDiskCache.get_cache(   sU    #'??#6#6s#; #;"&**-E"F #"  ;":"";s   = AAkeysc                 f    / nU H(  nU R                   " SSU0UD6nUR                  U5        M*     U$ Nr   r#   r5   appendr   r7   r   
return_valkvals         r   batch_get_cacheDiskCache.batch_get_cache2   s=    
A..1Q1&1Cc"  r   r   returnc                 d    U R                  US9=(       d    SnXB-   nU R                  " X40 UD6  U$ N)r   r   )r5   r   r   r   r   r   
init_values        r   increment_cacheDiskCache.increment_cache9   s5    ^^^,1
"s,V,r   c                 2   #    U R                   " SSU0UD6$ 7fr9   )r5   )r   r   r   s      r   async_get_cacheDiskCache.async_get_cache@   s     ~~0#000s   c                 n   #    / nU H(  nU R                   " SSU0UD6nUR                  U5        M*     U$ 7fr9   r:   r<   s         r   async_batch_get_cacheDiskCache.async_batch_get_cacheC   s@     
A..1Q1&1Cc"  s   35c                    #    U R                  US9I S h  vN =(       d    SnXB-   nU R                  " X40 UD6I S h  vN   U$  N. N7frD   )rJ   r%   rE   s        r   async_incrementDiskCache.async_incrementJ   sN     //C/88=A
"""38888 98s   AA'AAAAc                 8    U R                   R                  5         g r.   )r   clearr   s    r   flush_cacheDiskCache.flush_cacheQ   s    r   c                    #    g 7fr.   r#   rT   s    r   
disconnectDiskCache.disconnectT   s     s   c                 :    U R                   R                  U5        g r.   )r   pop)r   r   s     r   delete_cacheDiskCache.delete_cacheW   s    C r   )r   r.   )__name__
__module____qualname____firstlineno__r   strr   r   r%   r+   r5   listr@   intrG   rJ   rM   rP   rU   rX   r\   __static_attributes__r#   r   r   r
   r
      sy    7x} 7,7AD # C 1  #  !r   r
   )r0   typingr   r   r   
base_cacher   opentelemetry.tracer   _Spanr
   r#   r   r   <module>rj      s/     / / !1DDJ!	 J!r   