
    <i
                        S SK Jr  S SKJr  S SKJrJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJrJr  S	rSS
 jrSSS.           SS jjr      SS jrSS jrg)    )annotations)Mapping)datetimetimezone)
Checkpoint)uuid6)MISSING)BaseChannel)ManagedValueMappingManagedValueSpec   c            	         [        [        [        [        SS95      [        R
                  " [        R                  5      R                  5       0 0 0 S9$ )N	clock_seq)vidtschannel_valueschannel_versionsversions_seen)	r   LATEST_VERSIONstrr   r   nowr   utc	isoformat     l/home/dmtnaga/Documents/work/airagagent/rag_env/lib/python3.13/site-packages/langgraph/pregel/_checkpoint.pyempty_checkpointr       sA    
ur"#<<%//1 r   N)r   updated_channelsc               h   [         R                  " [        R                  5      R	                  5       nUc  U S   nO60 nU H.  nXpS   ;  a  M  X   R                  5       nU[        Ld  M*  XU'   M0     [        [        UU=(       d    [        [        US95      UU S   U S   Uc  SS9$ [        U5      S9$ )z+Create a checkpoint for the given channels.Nr   r   r   r   r   r   r   r   r   r   r!   )r   r   r   r   r   
checkpointr	   r   r   r   r   sorted)	r$   channelsstepr   r!   r   valueskr   s	            r   create_checkpointr*      s     
hll	#	-	-	/B,-A#566&&(Aq	  
+UT*+#$67 1!1!9  @FFV?W r   c                    0 n0 nU R                  5        H$  u  pE[        U[        5      (       a  XRU'   M   XSU'   M&     UR                  5        VVs0 s H-  u  pEXER                  US   R	                  U[
        5      5      _M/     snnU4$ s  snnf )zGet channels from a checkpoint.r   )items
isinstancer
   from_checkpointgetr	   )specsr$   channel_specsmanaged_specsr)   r   s         r   channels_from_checkpointr3   :   s    
 -/M13Ma%% ! !	  &++-	
-   ,<!=!A!A!W!MNN-	
 	 	
s   4B
c                
   [        U S   U S   U S   U S   R                  5       U S   R                  5       U S   R                  5        VVs0 s H  u  pXR                  5       _M     snnU R                  SS 5      S9$ s  snnf )	Nr   r   r   r   r   r   r!   r#   )r   copyr,   r/   )r$   r)   r   s      r   copy_checkpointr6   O   s    
S/dd!"2388:#$67<<>/9//J/P/P/RS/Rtqq&&({/RS#(:DA  Ts   A?)returnr   )r$   r   r&   z Mapping[str, BaseChannel] | Noner'   intr   z
str | Noner!   zset[str] | Noner7   r   )r0   z,Mapping[str, BaseChannel | ManagedValueSpec]r$   r   r7   z5tuple[Mapping[str, BaseChannel], ManagedValueMapping])r$   r   r7   r   )
__future__r   collections.abcr   r   r   langgraph.checkpoint.baser   langgraph.checkpoint.base.idr   langgraph._internal._typingr	   langgraph.channels.baser
   langgraph.managed.baser   r   r   r    r*   r3   r6   r   r   r   <module>r@      s    " # ' 0 . / / H  (,. 
 	 & >7 ;*	r   