
    9i              	          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mZ d dlmZ dZ G d	 d
ee   eeeef         Zy)    )annotations)Sequence)AnyGeneric)Self)MISSING)BaseChannelValue)EmptyChannelError)AnyValuec                       e Zd ZU dZdZded<   dd fdZddZedd       Z	edd       Z
dd	Zdd
ZddZddZddZddZ xZS )r   zeStores the last value received, assumes that if multiple values are
    received, they are all equal.)typvaluezValue | Anyr   c                <    t         |   ||       t        | _        y N)super__init__r   r   )selfr   key	__class__s      f/var/www/html/backtest/airagagent/rag_env/lib/python3.12/site-packages/langgraph/channels/any_value.pyr   zAnyValue.__init__   s    c"
    c                "    t        |t              S r   )
isinstancer   )r   r   s     r   __eq__zAnyValue.__eq__   s    %**r   c                    | j                   S )z,The type of the value stored in the channel.r   r   s    r   	ValueTypezAnyValue.ValueType        xxr   c                    | j                   S )z/The type of the update received by the channel.r   r   s    r   
UpdateTypezAnyValue.UpdateType#   r    r   c                t    | j                  | j                  | j                        }| j                  |_        |S )zReturn a copy of the channel.)r   r   r   r   )r   emptys     r   copyzAnyValue.copy(   s*    txx2jjr   c                p    | j                  | j                  | j                        }|t        ur||_        |S r   )r   r   r   r   r   )r   
checkpointr$   s      r   from_checkpointzAnyValue.from_checkpoint.   s.    txx2W$$EKr   c                r    t        |      dk(  r| j                  t        u ryt        | _        y|d   | _        y)Nr   FT)lenr   r   )r   valuess     r   updatezAnyValue.update4   s5    v;!zzW$$
BZ
r   c                R    | j                   t        u r
t               | j                   S r   )r   r   r   r   s    r   getzAnyValue.get?   s!    :: #%%zzr   c                &    | j                   t        uS r   )r   r   r   s    r   is_availablezAnyValue.is_availableD   s    zz((r   c                    | j                   S r   )r   r   s    r   r'   zAnyValue.checkpointG   s    zzr   ) )r   r   r   strreturnNone)r   objectr5   bool)r5   ztype[Value])r5   r   )r'   r
   r5   r   )r,   zSequence[Value]r5   r8   )r5   r
   )r5   r8   )__name__
__module____qualname____doc__	__slots____annotations__r   r   propertyr   r"   r%   r(   r-   r/   r1   r'   __classcell__)r   s   @r   r   r      se    % !I+    	
)r   r   N)
__future__r   collections.abcr   typingr   r   typing_extensionsr   langgraph._internal._typingr   langgraph.channels.baser	   r
   langgraph.errorsr   __all__r    r   r   <module>rJ      s=    " $  " / 6 .
9wu~{5%+>? 9r   