
    <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Jr  S SKJr  Sr " S	 S
\\   \\\\4   5      rg)    )annotations)Sequence)AnyGeneric)Self)MISSING)BaseChannelValue)EmptyChannelError)AnyValuec                     ^  \ rS rSr% SrSrS\S'   SSU 4S jjjrSS jr\	SS j5       r
\	SS	 j5       rSS
 jrSS jrSS jrSS jrSS jrSS jrSrU =r$ )r      zaStores the last value received, assumes that if multiple values are
received, they are all equal.)typvaluezValue | Anyr   c                :   > [         TU ]  X5        [        U l        g N)super__init__r   r   )selfr   key	__class__s      l/home/dmtnaga/Documents/work/airagagent/rag_env/lib/python3.13/site-packages/langgraph/channels/any_value.pyr   AnyValue.__init__   s    "
    c                "    [        U[        5      $ r   )
isinstancer   )r   r   s     r   __eq__AnyValue.__eq__   s    %**r   c                    U R                   $ )z,The type of the value stored in the channel.r   r   s    r   	ValueTypeAnyValue.ValueType        xxr   c                    U R                   $ )z/The type of the update received by the channel.r    r!   s    r   
UpdateTypeAnyValue.UpdateType#   r$   r   c                t    U R                  U R                  U R                  5      nU R                  Ul        U$ )zReturn a copy of the channel.)r   r   r   r   )r   emptys     r   copyAnyValue.copy(   s*    txx2jjr   c                p    U R                  U R                  U R                  5      nU[        La  Xl        U$ r   )r   r   r   r   r   )r   
checkpointr)   s      r   from_checkpointAnyValue.from_checkpoint.   s,    txx2W$$Kr   c                v    [        U5      S:X  a   U R                  [        L a  g[        U l        gUS   U l        g)Nr   FT)lenr   r   )r   valuess     r   updateAnyValue.update4   s5    v;!zzW$$
BZ
r   c                T    U R                   [        L a
  [        5       eU R                   $ r   )r   r   r   r!   s    r   getAnyValue.get?   s!    :: #%%zzr   c                &    U R                   [        L$ r   )r   r   r!   s    r   is_availableAnyValue.is_availableD   s    zz((r   c                    U R                   $ r   r   r!   s    r   r-   AnyValue.checkpointG   s    zzr   r=   ) )r   r   r   strreturnNone)r   objectrA   bool)rA   ztype[Value])rA   r   )r-   r
   rA   r   )r3   zSequence[Value]rA   rD   )rA   r
   )rA   rD   )__name__
__module____qualname____firstlineno____doc__	__slots____annotations__r   r   propertyr"   r&   r*   r.   r4   r7   r:   r-   __static_attributes____classcell__)r   s   @r   r   r      so    % !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>rX      s=    " $  " / 6 .
9wu~{5%+>? 9r   