§
    šŠtjæ/  ã                  óF  — U d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	m
Z
mZ ddlmZ ddlmZmZ ddlmZmZ dd	lmZ dd
lmZ dZe	d         Zded<   	  ed¬¦  «         G d„ d¦  «        ¦   «         Z ed¬¦  «         G d„ d¦  «        ¦   «         Zeez  Zded<   	  G d„ de¦  «        Z e¦   «         Z d@d„Z!dAd+„Z"dBd1„Z#dCd4„Z$ G d5„ d6e¦  «        Z% G d7„ d8e¦  «        Z& ed0e%e&¦  «        Z'e%e&z  ez  ez  ee         z  ee         z  d9z  Z(ded:<   d9d;œdDd>„Z)d9d;œdEd?„Z*d9S )Fz¾Graph lifecycle callback interfaces and event payloads.

This module defines the public callback surface for observing LangGraph-specific
lifecycle transitions such as interrupt and resume.
é    )Úannotations)ÚSequence)Ú	dataclass)ÚAnyÚLiteralÚ	TypeAliasÚTypeVar)ÚUUID)ÚBaseCallbackHandlerÚBaseCallbackManager)Úahandle_eventÚhandle_event)ÚRunnableConfig)Ú	Interrupt)ÚGraphCallbackHandlerÚGraphInterruptEventÚGraphLifecycleEventÚGraphLifecycleStatusÚGraphResumeEventÚ+get_async_graph_callback_manager_for_configÚ*get_sync_graph_callback_manager_for_config)ÚinputÚpendingÚdoneÚinterrupt_beforeÚinterrupt_afterÚout_of_stepsr   r   T)Úfrozenc                  óN   — e Zd ZU dZded<   	 ded<   	 ded<   	 ded	<   	 d
ed<   dS )r   zCGraph lifecycle event emitted when execution pauses for interrupts.úUUID | NoneÚrun_idr   ÚstatusÚstrÚcheckpoint_idútuple[str, ...]Úcheckpoint_nsztuple[Interrupt, ...]Ú
interruptsN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© ó    úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langgraph/callbacks.pyr   r   *   s`   € € € € € € àMÐMàÐÐÑØ?à Ð Ð Ñ Ø6àÐÐÑØBà"Ð"Ð"Ñ"ØFà%Ð%Ð%Ñ%Ø<Ð<r/   r   c                  óB   — e Zd ZU dZded<   	 ded<   	 ded<   	 ded	<   d
S )r   zGGraph lifecycle event emitted when execution resumes from a checkpoint.r    r!   r   r"   r#   r$   r%   r&   Nr(   r.   r/   r0   r   r   >   sQ   € € € € € € àQÐQàÐÐÑØ?à Ð Ð Ñ Ø3àÐÐÑØ/à"Ð"Ð"Ñ"ØFÐFr/   r   r   c                  ó"   — e Zd ZdZd
d„Zdd„Zd	S )r   a‹  Base class for graph-level lifecycle callbacks.

    Subclass this handler to observe graph lifecycle transitions that are
    specific to LangGraph execution, rather than generic LangChain runnable
    callbacks.

    Instances can be passed through `config["callbacks"]` when invoking a
    graph. Only handlers that inherit from `GraphCallbackHandler` receive these
    lifecycle events.
    Úeventr   Úreturnr   c                ó   — dS )zŒRun when graph execution pauses due to one or more interrupts.

        Args:
            event: Interrupt lifecycle event payload.
        Nr.   ©Úselfr3   s     r0   Úon_interruptz!GraphCallbackHandler.on_interruptc   ó   € € € r/   r   c                ó   — dS )zˆRun when graph execution resumes from a persisted checkpoint.

        Args:
            event: Resume lifecycle event payload.
        Nr.   r6   s     r0   Ú	on_resumezGraphCallbackHandler.on_resumej   r9   r/   N)r3   r   r4   r   )r3   r   r4   r   )r)   r*   r+   r,   r8   r;   r.   r/   r0   r   r   W   sF   € € € € € ð	ð 	ðð ð ð ðð ð ð ð ð r/   r   Úhandlersúlist[BaseCallbackHandler]r4   úlist[GraphCallbackHandler]c                ó   — d„ | D ¦   «         S )Nc                ó<   — g | ]}t          |t          ¦  «        ¯|‘ŒS r.   )Ú
isinstancer   )Ú.0Úhs     r0   ú
<listcomp>z*_filter_graph_handlers.<locals>.<listcomp>x   s(   € ÐGÐGÐG�!¥:¨aÕ1EÑ#FÔ#FÐGˆAÐGÐGÐGr/   r.   )r<   s    r0   Ú_filter_graph_handlersrE   u   s   € ð HÐG�xÐGÑGÔGÐGr/   Úmanagerr   ú%Sequence[GraphCallbackHandler] | NoneÚinheritable_handlersÚparent_run_idr    Útagsúlist[str] | NoneÚinheritable_tagsÚmetadataúdict[str, Any] | NoneÚinheritable_metadatar!   ÚNonec          
     ó°   — g }	g }
|�|	                      |¦  «         |�|
                      |¦  «         t          j        | |	|
|||||¬¦  «         || _        d S )N)r<   rH   rI   rJ   rL   rM   rO   )Úextendr   Ú__init__r!   )rF   r<   rH   rI   rJ   rL   rM   rO   r!   Úbase_handlersÚbase_inheritable_handlerss              r0   Ú_init_base_managerrV   {   sƒ   € ð 02€MØ;=ÐØÐØ×Ò˜XÑ&Ô&Ð&ØÐ'Ø!×(Ò(Ð)=Ñ>Ô>Ð>ÝÔ ØØØ6Ø#ØØ)ØØ1ð	ñ 	ô 	ð 	ð €G„N€N€Nr/   Úclsútype[_GraphManagerT]Ú	callbacksúobject | NoneÚ_GraphManagerTc          
     ó@  — |€ | |¬¦  «        S t          || ¦  «        r|                     |¬¦  «        S t          |t          t          f¦  «        r˜ | t	          |j        ¦  «        t	          |j        ¦  «        |j        |j                             ¦   «         |j	                             ¦   «         |j
                             ¦   «         |j                             ¦   «         |¬¦  «        S t          |t          ¦  «        r˜ | t	          |j        ¦  «        t	          |j        ¦  «        |j        |j                             ¦   «         |j	                             ¦   «         |j
                             ¦   «         |j                             ¦   «         |¬¦  «        S t          |t          ¦  «        r | |f|¬¦  «        S t          |t          t          f¦  «        st          |t           ¦  «        st#          d¦  «        ‚ | t	          t%          |¦  «        ¦  «        |¬¦  «        S )N©r!   ©r<   rH   rI   rJ   rL   rM   rO   r!   z1callbacks must be a handler, sequence, or manager)rA   ÚcopyÚ_GraphCallbackManagerÚ_AsyncGraphCallbackManagerrE   r<   rH   rI   rJ   rL   rM   rO   r   r   r#   Úbytesr   Ú	TypeErrorÚlist©rW   rY   r!   s      r0   Ú_configure_graph_callbacksrf   š   s  € ð ÐØˆs˜&Ð!Ñ!Ô!Ð!Ý�)˜SÑ!Ô!ð -Ø�~Š~ Vˆ~Ñ,Ô,Ð,Ý�)Õ3Õ5OÐPÑQÔQð 
àˆsÝ+¨IÔ,>Ñ?Ô?Ý!7¸	Ô8VÑ!WÔ!WØ#Ô1Ø”×$Ò$Ñ&Ô&Ø&Ô7×<Ò<Ñ>Ô>ØÔ'×,Ò,Ñ.Ô.Ø!*Ô!?×!DÒ!DÑ!FÔ!FØð	
ñ 	
ô 	
ð 		
õ �)Õ0Ñ1Ô1ð 

ØˆsÝ+¨IÔ,>Ñ?Ô?Ý!7¸	Ô8VÑ!WÔ!WØ#Ô1Ø”×$Ò$Ñ&Ô&Ø&Ô7×<Ò<Ñ>Ô>ØÔ'×,Ò,Ñ.Ô.Ø!*Ô!?×!DÒ!DÑ!FÔ!FØð	
ñ 	
ô 	
ð 		
õ �)Õ1Ñ2Ô2ð 0Øˆs�I�<¨Ð/Ñ/Ô/Ð/Ý�)�c¥5˜\Ñ*Ô*ð Mµ*¸YÍÑ2QÔ2Qð MÝÐKÑLÔLÐLØˆ3Õ%¥d¨9¡o¤oÑ6Ô6¸vÐFÑFÔFÐFr/   ú2_GraphCallbackManager | _AsyncGraphCallbackManagerúUUID | None | objectc           
     ó¤  — |t           u r| j        }n(|�$t          |t          ¦  «        st	          d¦  «        ‚|} |t          | j        ¦  «        t          | j        ¦  «        | j        | j	         
                    ¦   «         | j         
                    ¦   «         | j         
                    ¦   «         | j         
                    ¦   «         |¬¦  «        S )Nzrun_id must be a UUID or Noner^   )Ú_MISSINGr!   rA   r
   rc   rE   r<   rH   rI   rJ   r_   rL   rM   rO   )rF   rW   r!   Úresolved_run_ids       r0   Ú_copy_graph_managerrl   Â   sÆ   € ð •ÐÐØ!œ.ˆˆàÐ¥j°½Ñ&>Ô&>ÐÝÐ;Ñ<Ô<Ð<Ø ˆàˆ3Ý'¨Ô(8Ñ9Ô9Ý3°GÔ4PÑQÔQØÔ+ØŒ\×ÒÑ Ô Ø Ô1×6Ò6Ñ8Ô8ØÔ!×&Ò&Ñ(Ô(Ø$Ô9×>Ò>Ñ@Ô@Øð	ñ 	ô 	ð 	r/   c                  ó|   — e Zd ZU dZded<   	 	 	 dddddddœdd„Zedœd d„Ze	 d!ddœd"d„¦   «         Z	d#d„Z
d$d„ZdS )%r`   z+Sync dispatcher for graph lifecycle events.r    r!   N©rJ   rL   rM   rO   r!   r<   rG   rH   rI   rJ   rK   rL   rM   rN   rO   r4   rP   c               ó6   — t          | ||||||||¬¦	  «	         d S ©Nrn   ©rV   ©	r7   r<   rH   rI   rJ   rL   rM   rO   r!   s	            r0   rS   z_GraphCallbackManager.__init__à   ó@   € õ 	ØØØ ØØØ-ØØ!5Øð
	
ñ 
	
ô 
	
ð 
	
ð 
	
ð 
	
r/   r]   rh   c               ó.   — t          | t          |¦  «        S ©N)rl   r`   ©r7   r!   s     r0   r_   z_GraphCallbackManager.copyø   s   € õ
 # 4Õ)>ÀÑGÔGÐGr/   rY   rZ   c               ó&   — t          | ||¬¦  «        S ©Nr]   ©rf   re   s      r0   Ú	configurez_GraphCallbackManager.configureÿ   ó   € õ *¨#¨yÀÐHÑHÔHÐHr/   r3   r   c                ó4   — t          | j        dd |¦  «         d S ©Nr8   ©r   r<   r6   s     r0   r8   z"_GraphCallbackManager.on_interrupt  s,   € ÝØŒMØØØñ		
ô 	
ð 	
ð 	
ð 	
r/   r   c                ó4   — t          | j        dd |¦  «         d S ©Nr;   r~   r6   s     r0   r;   z_GraphCallbackManager.on_resume  s,   € ÝØŒMØØØñ		
ô 	
ð 	
ð 	
ð 	
r/   ©NNN©r<   rG   rH   rG   rI   r    rJ   rK   rL   rK   rM   rN   rO   rN   r!   r    r4   rP   )r!   rh   r4   r`   ru   )rY   rZ   r!   r    r4   r`   ©r3   r   r4   rP   ©r3   r   r4   rP   )r)   r*   r+   r,   r-   rS   rj   r_   Úclassmethodrz   r8   r;   r.   r/   r0   r`   r`   Û   sø   € € € € € € Ø5Ð5àÐÐÑð ;?ØFJØ%)ð	
ð "&Ø-1Ø*.Ø6:Ø"ð
ð 
ð 
ð 
ð 
ð 
ð6 (0ðHð Hð Hð Hð Hð Hð ð $(ðIð #ð	Ið Ið Ið Ið Iñ „[ðIð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
r/   r`   c                  ó”   — e Zd ZU dZded<   ed d„¦   «         Z	 	 	 d!ddddddœd"d„Zedœd#d„Z	e
	 d$ddœd%d„¦   «         Zd&d„Zd'd„ZdS )(ra   z,Async dispatcher for graph lifecycle events.r    r!   r4   Úboolc                ó   — dS )z$Return whether the manager is async.Tr.   )r7   s    r0   Úis_asyncz#_AsyncGraphCallbackManager.is_async  s	   € ð ˆtr/   Nrn   r<   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   c               ó6   — t          | ||||||||¬¦	  «	         d S rp   rq   rr   s	            r0   rS   z#_AsyncGraphCallbackManager.__init__#  rs   r/   r]   rh   c               ó.   — t          | t          |¦  «        S ru   )rl   ra   rv   s     r0   r_   z_AsyncGraphCallbackManager.copy;  s   € õ
 # 4Õ)CÀVÑLÔLÐLr/   rY   rZ   c               ó&   — t          | ||¬¦  «        S rx   ry   re   s      r0   rz   z$_AsyncGraphCallbackManager.configureB  r{   r/   r3   r   c              ƒ  óD   K  — t          | j        dd |¦  «        ƒ d {V —† d S r}   ©r   r<   r6   s     r0   r8   z'_AsyncGraphCallbackManager.on_interruptK  sN   è è € ÝØŒMØØØñ	
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
r/   r   c              ƒ  óD   K  — t          | j        dd |¦  «        ƒ d {V —† d S r€   rŽ   r6   s     r0   r;   z$_AsyncGraphCallbackManager.on_resumeS  sN   è è € ÝØŒMØØØñ	
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
r/   )r4   r‡   r�   r‚   )r!   rh   r4   ra   ru   )rY   rZ   r!   r    r4   ra   rƒ   r„   )r)   r*   r+   r,   r-   Úpropertyr‰   rS   rj   r_   r…   rz   r8   r;   r.   r/   r0   ra   ra     s  € € € € € € Ø6Ð6àÐÐÑàðð ð ñ „Xðð ;?ØFJØ%)ð	
ð "&Ø-1Ø*.Ø6:Ø"ð
ð 
ð 
ð 
ð 
ð 
ð6 (0ðMð Mð Mð Mð Mð Mð ð $(ðIð #ð	Ið Ið Ið Ið Iñ „[ðIð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
r/   ra   NÚGraphCallbacksr]   Úconfigr   c               ó`   — t                                |                      d¦  «        |¬¦  «        S )zöBuild a sync graph lifecycle callback manager from a runnable config.

    This helper filters `config["callbacks"]` down to handlers that inherit
    from `GraphCallbackHandler` and binds the provided `run_id` onto the
    returned manager.
    rY   r]   )r`   rz   Úget©r’   r!   s     r0   r   r   k  s3   € õ !×*Ò*Ø�
Š
�;ÑÔØð +ñ ô ð r/   c               ó`   — t                                |                      d¦  «        |¬¦  «        S )zøBuild an async graph lifecycle callback manager from a runnable config.

    This helper filters `config["callbacks"]` down to handlers that inherit
    from `GraphCallbackHandler` and binds the provided `run_id` onto the
    returned manager.
    rY   r]   )ra   rz   r”   r•   s     r0   r   r   |  s3   € õ &×/Ò/Ø�
Š
�;ÑÔØð 0ñ ô ð r/   )r<   r=   r4   r>   )rF   r   r<   rG   rH   rG   rI   r    rJ   rK   rL   rK   rM   rN   rO   rN   r!   r    r4   rP   )rW   rX   rY   rZ   r!   r    r4   r[   )rF   rg   rW   rX   r!   rh   r4   r[   )r’   r   r!   r    r4   r`   )r’   r   r!   r    r4   ra   )+r,   Ú
__future__r   Úcollections.abcr   Údataclassesr   Útypingr   r   r   r	   Úuuidr
   Úlangchain_core.callbacksr   r   Ú langchain_core.callbacks.managerr   r   Úlangchain_core.runnablesr   Úlanggraph.typesr   Ú__all__r   r-   r   r   r   r   Úobjectrj   rE   rV   rf   rl   r`   ra   r[   r‘   r   r   r.   r/   r0   ú<module>r¢      ss  ððð ð ð #Ð "Ð "Ð "Ð "Ð "à $Ð $Ð $Ð $Ð $Ð $Ø !Ð !Ð !Ð !Ð !Ð !Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð à MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ 3Ð 3Ð 3Ð 3Ð 3Ð 3à %Ð %Ð %Ð %Ð %Ð %ð€ð #*ðô#Ð ð ð ð ñ ð Nð €�$ÐÑÔð=ð =ð =ð =ð =ñ =ô =ñ Ôð=ð& €�$ÐÑÔðGð Gð Gð Gð Gñ Gô Gñ ÔðGð  "5Ð7GÑ!GÐ Ð GÐ GÐ GÑ Gððð ð ð ð Ð.ñ ô ð ð6 ˆ6‰8Œ8€ðHð Hð Hð Hðð ð ð ð>%Gð %Gð %Gð %GðPð ð ð ð2;
ð ;
ð ;
ð ;
ð ;
Ð/ñ ;
ô ;
ð ;
ð|@
ð @
ð @
ð @
ð @
Ð!4ñ @
ô @
ð @
ðF �ØÐ+Ð-Gñô €ð
 Ø ñ!àñð ñð Ð"Ô#ñ	$ð
 Ð#Ô$ñ%ð ñð ð ð ð ñ ð ðð ð ð ð ð ð( ðð ð ð ð ð ð ð r/   