
    +j                     ~    S SK JrJr  S SKJr  S SKJr  \ " S S5      5       r\ " S S5      5       r " S S	\5      r	g
)    )ABCabstractmethod)Optional)	dataclassc                   4    \ rS rSr% \\S'   \\S'   \\S'   Srg)CacheContext   node_id
class_typecache_key_hash N)__name__
__module____qualname____firstlineno__str__annotations____static_attributes__r       9/home/wildlama/comfy/ComfyUI/comfy_api/latest/_caching.pyr   r      s    LOr   r   c                   .    \ rS rSr% \\S'   Sr\\S'   Srg)
CacheValue   outputsNuir   )	r   r   r   r   listr   r   dictr   r   r   r   r   r      s    MBOr   r   c                       \ rS rSrSr\S\S\\   4S j5       r	\S\S\SS4S j5       r
SS\S\\   S\4S	 jjrS
\SS4S jrS
\SS4S jrSrg)CacheProvider   zAbstract base class for external cache providers.
Exceptions from provider methods are caught by the caller and never break execution.
contextreturnc                    #    g7f)zGCalled on local cache miss. Return CacheValue if found, None otherwise.Nr   )selfr!   s     r   	on_lookupCacheProvider.on_lookup   
      	   valueNc                    #    g7f)z=Called after local store. Dispatched via asyncio.create_task.Nr   r$   r!   r)   s      r   on_storeCacheProvider.on_store   r'   r(   c                     g)zCReturn False to skip external caching for this node. Default: True.Tr   r+   s      r   should_cacheCacheProvider.should_cache"   s    r   	prompt_idc                     g Nr   r$   r1   s     r   on_prompt_startCacheProvider.on_prompt_start&       r   c                     g r3   r   r4   s     r   on_prompt_endCacheProvider.on_prompt_end)   r7   r   r   r3   )r   r   r   r   __doc__r   r   r   r   r%   r,   boolr/   r   r5   r9   r   r   r   r   r   r      s     | 8L   l : $  L *9M Y]   s t r   r   N)
abcr   r   typingr   dataclassesr   r   r   r   r   r   r   <module>r@      sL    #  !      
C r   