
    +j                         d dl mZmZ d dlmZ d dlmZ e G d d                      Ze G d d                      Z G d d	e          Z	d
S )    )ABCabstractmethod)Optional)	dataclassc                   .    e Zd ZU eed<   eed<   eed<   dS )CacheContextnode_id
class_typecache_key_hashN)__name__
__module____qualname__str__annotations__     9/home/wildlama/comfy/ComfyUI/comfy_api/latest/_caching.pyr   r      s0         LLLOOOr   r   c                   (    e Zd ZU eed<   dZeed<   dS )
CacheValueoutputsNui)r   r   r   listr   r   dictr   r   r   r   r      s&         MMMBOOOOOr   r   c                       e Zd ZdZededee         fd            Zedededdfd            Z	ddedee         de
fdZd	eddfd
Zd	eddfdZdS )CacheProviderzAbstract base class for external cache providers.
    Exceptions from provider methods are caught by the caller and never break execution.
    contextreturnc                 
   K   dS )zGCalled on local cache miss. Return CacheValue if found, None otherwise.Nr   )selfr   s     r   	on_lookupzCacheProvider.on_lookup          	r   valueNc                 
   K   dS )z=Called after local store. Dispatched via asyncio.create_task.Nr   r   r   r"   s      r   on_storezCacheProvider.on_store   r!   r   c                     dS )zCReturn False to skip external caching for this node. Default: True.Tr   r$   s      r   should_cachezCacheProvider.should_cache"   s    tr   	prompt_idc                     d S Nr   r   r(   s     r   on_prompt_startzCacheProvider.on_prompt_start&       r   c                     d S r*   r   r+   s     r   on_prompt_endzCacheProvider.on_prompt_end)   r-   r   r*   )r   r   r   __doc__r   r   r   r   r    r%   boolr'   r   r,   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>r5      s    # # # # # # # #       ! ! ! ! ! !                
    C     r   