
    }
i
                        d dl mZ d dlmZ d dlmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ d	ZddZdddddZd dZd!dZdS )"    )annotations)Mapping)datetimetimezone)
Checkpoint)uuid6)MISSING)BaseChannel)ManagedValueMappingManagedValueSpec   returnr   c                     t          t          t          t          d                    t	          j        t          j                                                  i i i           S )N	clock_seq)vidtschannel_valueschannel_versionsversions_seen)	r   LATEST_VERSIONstrr   r   nowr   utc	isoformat     C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\langgraph/pregel/_checkpoint.pyempty_checkpointr!      sV    
ur"""##<%%//11   r   N)r   updated_channels
checkpointchannels Mapping[str, BaseChannel] | Nonestepintr   
str | Noner"   set[str] | Nonec                  t          j        t          j                                                  }|	| d         }n:i }|D ]5}|| d         vr||                                         }|t          ur|||<   6t          t          ||pt          t          |                    || d         | d         |dnt          |                    S )z+Create a checkpoint for the given channels.Nr   r   r   r   r   r   r   r   r   r   r"   )r   r   r   r   r   r#   r	   r   r   r   r   sorted)	r#   r$   r&   r   r"   r   valueskr   s	            r    create_checkpointr/      s     
hl	#	#	-	-	/	/B,- 	 	A
#5666&&((Aq	
+UT***++#$67 1!1!9vFV?W?W   r   specs,Mapping[str, BaseChannel | ManagedValueSpec]5tuple[Mapping[str, BaseChannel], ManagedValueMapping]c                    i }i }|                                  D ]%\  }}t          |t                    r|||<    |||<   &fd|                                 D             |fS )zGet channels from a checkpoint.c           	         i | ]:\  }}||                     d                              |t                              ;S )r   )from_checkpointgetr	   ).0r.   r   r#   s      r    
<dictcomp>z,channels_from_checkpoint.<locals>.<dictcomp>G   sS     	
 	
 	
1 q  ,<!=!A!A!W!M!MNN	
 	
 	
r   )items
isinstancer
   )r0   r#   channel_specsmanaged_specsr.   r   s    `    r    channels_from_checkpointr=   :   s    
 -/M13M ! !1a%% 	! M! M!	
 	
 	
 	
%++--	
 	
 	
 	 r   c                   t          | d         | d         | d         | d                                         | d                                         d | d                                         D             |                     dd           	          S )
Nr   r   r   r   r   c                >    i | ]\  }}||                                 S r   )copy)r7   r.   r   s      r    r8   z#copy_checkpoint.<locals>.<dictcomp>V   s&    SSStq!q!&&((SSSr   r   r"   r+   )r   r@   r9   r6   )r#   s    r    copy_checkpointrA   O   s    
S/dd!"2388::#$67<<>>SSz//J/P/P/R/RSSS#(:DAA   r   )r   r   )r#   r   r$   r%   r&   r'   r   r(   r"   r)   r   r   )r0   r1   r#   r   r   r2   )r#   r   r   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/   r=   rA   r   r   r    <module>rI      s   " " " " " " # # # # # # ' ' ' ' ' ' ' ' 0 0 0 0 0 0 . . . . . . / / / / / / / / / / / / H H H H H H H H     (,     >   *	 	 	 	 	 	r   