§
    šŠtjb	  ã            	      ó¦   — 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mZ dZ G d	„ d
ee         eeeef         ¦  «        ZdS )é    )Úannotations)ÚSequence)ÚAnyÚGeneric)ÚSelf)ÚMISSING)ÚBaseChannelÚValue)ÚEmptyChannelErrorÚInvalidUpdateError)ÚEphemeralValuec                  ó¨   ‡ — e Zd ZU dZdZded<   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   zJStores the value received in the step immediately preceding, clears after.)ÚvalueÚguardzValue | Anyr   Úboolr   TÚtypr   ÚreturnÚNonec                óp   •— t          ¦   «                              |¦  «         || _        t          | _        d S ©N)ÚsuperÚ__init__r   r   r   )Úselfr   r   Ú	__class__s      €ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langgraph/channels/ephemeral_value.pyr   zEphemeralValue.__init__   s-   ø€ Ý‰Œ×Ò˜ÑÔÐØˆŒ
ÝˆŒ
ˆ
ˆ
ó    Úobjectc                óL   — t          |t          ¦  «        o|j        | j        k    S r   )Ú
isinstancer   r   )r   r   s     r   Ú__eq__zEphemeralValue.__eq__   s    € Ý˜%¥Ñ0Ô0ÐN°U´[ÀDÄJÒ5NÐNr   útype[Value]c                ó   — | j         S )z,The type of the value stored in the channel.©r   ©r   s    r   Ú	ValueTypezEphemeralValue.ValueType   ó   € ð Œxˆr   c                ó   — | j         S )z/The type of the update received by the channel.r#   r$   s    r   Ú
UpdateTypezEphemeralValue.UpdateType$   r&   r   r   c                óv   — |                       | j        | j        ¦  «        }| j        |_        | j        |_        |S )zReturn a copy of the channel.)r   r   r   Úkeyr   )r   Úemptys     r   ÚcopyzEphemeralValue.copy)   s0   € à—’˜tœx¨¬Ñ4Ô4ˆØ”HˆŒ	Ø”jˆŒØˆr   Ú
checkpointr
   c                ó~   — |                       | j        | j        ¦  «        }| j        |_        |t          ur||_        |S r   )r   r   r   r*   r   r   )r   r-   r+   s      r   Úfrom_checkpointzEphemeralValue.from_checkpoint0   s9   € Ø—’˜tœx¨¬Ñ4Ô4ˆØ”HˆŒ	Ø�WÐ$Ð$Ø$ˆEŒKØˆr   ÚvaluesúSequence[Value]c                óæ   — t          |¦  «        dk    r| j        t          urt          | _        dS dS t          |¦  «        dk    r| j        rt	          d| j        › d�¦  «        ‚|d         | _        dS )Nr   TFé   zAt key 'zƒ': EphemeralValue(guard=True) can receive only one value per step. Use guard=False if you want to store any one of multiple values.éÿÿÿÿ)Úlenr   r   r   r   r*   )r   r0   s     r   ÚupdatezEphemeralValue.update7   s‰   € Ýˆv‰;Œ;˜!ÒÐØŒz¥Ð(Ð(Ý$�”
Ø�tà�uÝˆv‰;Œ;˜!ÒÐ ¤
ÐÝ$ð i˜4œ8ð  ið  ið  iñô ð ð ˜B”ZˆŒ
Øˆtr   c                óH   — | j         t          u rt          ¦   «         ‚| j         S r   )r   r   r   r$   s    r   ÚgetzEphemeralValue.getF   s#   € ØŒ:�Ð Ð Ý#Ñ%Ô%Ð%ØŒzÐr   c                ó   — | j         t          uS r   )r   r   r$   s    r   Úis_availablezEphemeralValue.is_availableK   s   € ØŒz¥Ð(Ð(r   c                ó   — | j         S r   )r   r$   s    r   r-   zEphemeralValue.checkpointN   s
   € ØŒzÐr   )T)r   r   r   r   r   r   )r   r   r   r   )r   r!   )r   r   )r-   r
   r   r   )r0   r1   r   r   )r   r
   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__Ú__annotations__r   r    Úpropertyr%   r(   r,   r/   r6   r8   r:   r-   Ú__classcell__)r   s   @r   r   r      s4  ø€ € € € € € ØTÐTà"€IàÐÐÑØ€K€K�Kðð ð ð ð ð ð ð
Oð Oð Oð Oð ðð ð ñ „Xðð ðð ð ñ „Xððð ð ð ðð ð ð ðð ð ð ðð ð ð ð
)ð )ð )ð )ðð ð ð ð ð ð ð r   r   N)Ú
__future__r   Úcollections.abcr   Útypingr   r   Útyping_extensionsr   Úlanggraph._internal._typingr   Úlanggraph.channels.baser	   r
   Úlanggraph.errorsr   r   Ú__all__r   © r   r   ú<module>rM      sê   ðØ "Ð "Ð "Ð "Ð "Ð "à $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ð Ð à "Ð "Ð "Ð "Ð "Ð "à /Ð /Ð /Ð /Ð /Ð /Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bà
€ð@ð @ð @ð @ð @�W˜U”^ [°¸¸uÐ1DÔ%Eñ @ô @ð @ð @ð @r   