
    i*                        S SK Jr  S SKJrJr  S SKJrJr  S SKJ	r	J
r
  S SKJr  S SKJr  \
" S5      r\\S4   r\\\4   r " S	 S
\\	\   5      rg)    )annotations)ABCabstractmethod)MappingSequence)GenericTypeVar)SerializerProtocol)JsonPlusSerializerValueT.c                      \ rS rSr% Sr\" SS9rS\S'   SS.SS	 jjr\	SS
 j5       r
\	SS j5       r\	SS j5       r\	SS j5       r\	SSS jj5       r\	SSS jj5       rSrg)	BaseCache   zBase class for a cache.T)pickle_fallbackr
   serdeNr   c               8    U=(       d    U R                   U l         g)z'Initialize the cache with a serializer.Nr   )selfr   s     W/home/james-whalen/.local/lib/python3.13/site-packages/langgraph/cache/base/__init__.py__init__BaseCache.__init__   s    (djj
    c                    g)z)Get the cached values for the given keys.N r   keyss     r   getBaseCache.get       r   c                   #    g7f)z8Asynchronously get the cached values for the given keys.Nr   r   s     r   agetBaseCache.aget           c                    g)z2Set the cached values for the given keys and TTLs.Nr   r   pairss     r   setBaseCache.set    r   r   c                   #    g7f)zAAsynchronously set the cached values for the given keys and TTLs.Nr   r&   s     r   asetBaseCache.aset$   r#   r$   c                    g)zjDelete the cached values for the given namespaces.
If no namespaces are provided, clear all cached values.Nr   r   
namespacess     r   clearBaseCache.clear(   r   r   c                   #    g7f)zyAsynchronously delete the cached values for the given namespaces.
If no namespaces are provided, clear all cached values.Nr   r.   s     r   aclearBaseCache.aclear-   r#   r$   )r   zSerializerProtocol | NonereturnNone)r   zSequence[FullKey]r5   zdict[FullKey, ValueT])r'   z+Mapping[FullKey, tuple[ValueT, int | None]]r5   r6   )N)r/   zSequence[Namespace] | Noner5   r6   )__name__
__module____qualname____firstlineno____doc__r   r   __annotations__r   r   r   r!   r(   r+   r0   r3   __static_attributes__r   r   r   r   r      s    ! 24 HEH=A ) 8 8 G G A A P P C C C Cr   r   N)
__future__r   abcr   r   collections.abcr   r   typingr   r	   langgraph.checkpoint.serde.baser
   #langgraph.checkpoint.serde.jsonplusr   r   tuplestr	NamespaceFullKeyr   r   r   r   <module>rH      sP    " # - # > B		#s(O	
	3
!CWV_ !Cr   