
    j
i                        U d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
  ej        e          Z G d de          Zeegdf         Zg Zd	ed
<    e            ZddZddZdS )    )annotationsN)Callable)Lock)	TypedDict)NotRequiredc                  8    e Zd ZU ded<   ded<   ded<   ded<   dS )
SerdeEventstrkindmodulenamezNotRequired[str]methodN)__name__
__module____qualname____annotations__     C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\langgraph/checkpoint/serde/event_hooks.pyr	   r	      s9         IIIKKKIIIr   r	   zlist[SerdeEventListener]
_listenerslistenerSerdeEventListenerreturnCallable[[], None]c                     t           5  t                                          ddd           n# 1 swxY w Y   d fd}|S )z/Register a listener for serde allowlist events.Nr   Nonec                     t           5  	 t                                          n# t          $ r Y nw xY wd d d            d S # 1 swxY w Y   d S )N)_listeners_lockr   remove
ValueError)r   s   r   
unregisterz1register_serde_event_listener.<locals>.unregister   s     	 	!!(++++   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s,   A&A
3A3AA
A)r   r   )r   r   append)r   r!   s   ` r   register_serde_event_listenerr#      s    	 $ $(###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $      s   044eventr   c                    t           5  t          t                    }ddd           n# 1 swxY w Y   |D ]:}	  ||            # t          $ r t                              dd           Y 7w xY wdS )zYEmit a serde event to all listeners.

    Listener failures are isolated and logged.
    NzSerde listener failedT)exc_info)r   tupler   	Exceptionloggerwarning)r$   	listenersr   s      r   emit_serde_eventr,   )   s    
 
 & &*%%	& & & & & & & & & & & & & & & C C	CHUOOOO 	C 	C 	CNN2TNBBBBB	CC Cs   )--A&A.-A.)r   r   r   r   )r$   r	   r   r   )
__future__r   loggingcollections.abcr   	threadingr   typingr   typing_extensionsr   	getLoggerr   r)   r	   r   r   r   r   r#   r,   r   r   r   <module>r4      s   " " " " " " "  $ $ $ $ $ $             ) ) ) ) ) )		8	$	$        zlD01 ')
 ) ) ) )$&&   C C C C C Cr   