§
    øžyj¥  ã                  óf   — d Z ddlmZ ddlZddlmZmZ  ej        e¦  «        Z	dd„Z
dd„Zdd„ZdS )z@Hermes lifecycle dispatch for first-party observers and plugins.é    )ÚannotationsN)ÚAnyÚListÚ	hook_nameÚstrÚkwargsr   Úreturnú	List[Any]c                ó¤   — 	 ddl m}  || fi |¤Ž n,# t          $ r t                               dd¬¦  «         Y nw xY wddlm}  |j        | fi |¤ŽS )zENotify first-party observers, then invoke compatibility plugin hooks.r   ©Úobserve_lifecycleú"Built-in observability hook failedT©Úexc_info©Úplugins)Úhermes_cli.observabilityr   Ú	ExceptionÚloggerÚwarningÚ
hermes_clir   Úinvoke_hook)r   r   r   r   s       ú:/home/ragecks/.hermes/hermes-agent/hermes_cli/lifecycle.pyr   r      s¡   € ðLØ>Ð>Ð>Ð>Ð>Ð>àÐ˜)Ð.Ð. vÐ.Ð.Ð.Ð.øÝð Lð Lð LÝ�ŠÐ;ÀdˆÑKÔKÐKÐKÐKðLøøøð #Ð"Ð"Ð"Ð"Ð"àˆ7Ô˜yÐ3Ð3¨FÐ3Ð3Ð3s   ‚ ’&;º;Úboolc                óº   — 	 ddl m}  || ¦  «        rdS n,# t          $ r t                               dd¬¦  «         Y nw xY wddlm} |                     | ¦  «        S )z@Return whether a first-party observer or plugin consumes a hook.r   )Úhandles_hookTz.Unable to inspect built-in observability hooksr   r   )r   r   r   r   r   r   r   Úhas_hook)r   r   r   s      r   r   r      s›   € ðXØ9Ð9Ð9Ð9Ð9Ð9àˆ<˜	Ñ"Ô"ð 	Ø�4ð	øåð Xð Xð XÝ�ŠÐGÐRVˆÑWÔWÐWÐWÐWðXøøøð #Ð"Ð"Ð"Ð"Ð"à×Ò˜IÑ&Ô&Ð&s   ‚ –&?¾?c                 ó°  — 	 ddl m}  |di | ¤Ž n,# t          $ r t                               dd¬¦  «         Y nw xY wt          |                      d¦  «        pd¦  «        }|rb	 dd	lm} |j	         
                    |                     ¦   «         |¬
¦  «         n,# t          $ r t                               dd¬¦  «         Y nw xY wddlm}  |j        di | ¤ŽS )zBNotify observers and hard-close one core-owned Relay conversation.r   r   Úon_session_finalizer   Tr   Ú
session_idÚ )Úrelay_runtime)Úprofile_keyr    z&Core Relay session finalization failedr   )r   )r   r   r   r   r   r   ÚgetÚagentr"   ÚSESSION_COORDINATORÚfinalize_conversationÚcurrent_profile_keyr   r   r   )r   r   r    r"   r   s        r   Úfinalize_sessionr)   (   sT  € ðLØ>Ð>Ð>Ð>Ð>Ð>àÐÐ:Ð:°6Ð:Ð:Ð:Ð:øÝð Lð Lð LÝ�ŠÐ;ÀdˆÑKÔKÐKÐKÐKðLøøøõ �V—Z’Z Ñ-Ô-Ð3°Ñ4Ô4€JØð 	Tð	TØ+Ð+Ð+Ð+Ð+Ð+àÔ-×CÒCØ)×=Ò=Ñ?Ô?Ø%ð Dñ ô ð ð øõ ð 	Tð 	Tð 	TÝ�NŠNÐCÈdˆNÑSÔSÐSÐSÐSð	Tøøøð #Ð"Ð"Ð"Ð"Ð"àˆ7ÔÐ?Ð?¸Ð?Ð?Ð?s   ‚ ‘&:¹:Á$4B Â&CÃC)r   r   r   r   r	   r
   )r   r   r	   r   )r   r   r	   r
   )Ú__doc__Ú
__future__r   ÚloggingÚtypingr   r   Ú	getLoggerÚ__name__r   r   r   r)   © ó    r   ú<module>r2      sœ   ðØ FÐ Fà "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð Ð Ð à	ˆÔ	˜8Ñ	$Ô	$€ð4ð 4ð 4ð 4ð'ð 'ð 'ð 'ð@ð @ð @ð @ð @ð @r1   