+
    „WÝj½%  ã                   óÀ   € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ]P                  ! R4      tR R lt]R R	 l4       t]R
 R l4       t]R R l4       tR# )zLHTTP lifespan composition; standalone backend services remain opt-in owners.)ÚasynccontextmanagerN©ÚFastAPI)Ú
run_reaperzhermes_cli.web_serverc                ó(   € V ^8„  d   QhR\         RR/# )é   ÚappÚreturnNr   )Úformats   "ÚMC:\Users\johnn\AppData\Local\hermes\hermes-agent\hermes_cli\web_server_app.pyÚ__annotate__r      s   € ÷ 
ñ 
œWð 
¨ñ 
ó    c                ó¨   € ^ RI Hp \        V! V 4      P                  4       4       F  p VP	                  RR7       K  	  R#   \
         d     K*  i ; i)zÙSecond pass after ``PTY_REGISTRY.close_all()``: drop channel markers left in app state,
including stale paths from sessions reaped earlier (``PtySession.close()`` only removes
markers owned by live registry sessions).)Ú_get_pty_active_session_filesT)Ú
missing_okN)Úhermes_cli.web_serverr   ÚsetÚvaluesÚunlinkÚOSError)r   r   Úmarkers   &  r   Ú_unlink_pty_markersr      sN   € õ DäÑ3°CÓ8×?Ñ?ÓAÖBˆð	Ø�M‰M TˆMÖ*ó Cøô ô 	Úð	ús   ªAÁAÁAc                ó   € V ^8„  d   QhRR/# )r   r   r   © )r
   s   "r   r   r      s   € ÷ f1ñ f1 9ñ f1r   c                óî	  aa"  € ^ RI HpHpHpHpHpHp ^ RIHp / V P                  n
        \        P                  ! 4       V P                  n        / V P                  n        \        P                  ! 4       V P                  n        \         P"                  ! VRR7      pVP%                  4        V! 4        ^ RIHp	 V	! 4        ^ RIHo ^ RIp
 V
P0                  P3                  4        \         P:                  ! 4       oR VV3R llp\         P"                  ! VR	RR7      pVP%                  4        ^ RIHp RpRpV! 4       pV'       dW    ^ RI H!p ^ RI"H#p V! VR7       \         P:                  ! 4       p\         P"                  ! VV3R	RR7      pVP%                  4        \        PJ                  ! \M        V4      4      p\        PJ                  ! V! 4       4      p\        PJ                  ! V! 4       4      pR p\         P"                  ! VR	RR7      P%                  4        ^ RI'H(p V! 4         R5x €  V
P0                  PS                  4        SPW                  4        SPY                  RR7       VP[                  RR7       Ve   VPW                  4        VP]                  4        VP]                  4        VP]                  4        VP[                  4        VP_                  4       G Rj  x€L
  \a        V 4        ^ RI1H2p V! 4        V'       d
   V! 4        R# R#   \4         d    \6        P9                  RR	R
7        ELUi ; i  \4         d    \6        PI                  R4        ELi ; i  \4         d    \6        PU                  RR	R
7        ELAi ; i L©  \4         d    \6        P9                  RR	R
7        L²i ; i   T
P0                  PS                  4        M(  \4         d    \6        PU                  RR	R
7        Mi ; iSPW                  4        SPY                  RR7       TP[                  RR7       Te   TPW                  4        TP]                  4        TP]                  4        TP]                  4        TP[                  4        TP_                  4       G Rj  x€L 
  \a        T 4        ^ RI1H2p T! 4        M(  \4         d    \6        P9                  RR	R
7        Mi ; iT'       d	   T! 4        i i ; i5i)é    )Ú_eager_reconcile_own_session_dbÚ_warm_gateway_moduleÚ_start_desktop_cron_tickerÚ_dashboard_selftest_loopÚ_auto_archive_ticker_loopÚ"_terminate_desktop_managed_gateway©ÚPTY_REGISTRYzstatedb-eager-reconcile)ÚtargetÚname)Úrecord_boot_fingerprint)Úmethods_groupsNz$TUI message injector did not installT)Úexc_infoc                ó   € V ^8„  d   QhRR/# )r   r	   Nr   )r
   s   "r   r   Ú)standalone_lifespan.<locals>.__annotate__V   s   € ÷ Eñ E ñ Er   c                  ó&  <€  S P                  4        SP	                  4       '       d   S P                  RR7       R# R#   \         d    \        P                  R 4        LNi ; i  SP	                  4       '       d   S P                  RR7       i i ; i)z8Hosted Group Chat recovery failed during backend startupç      ð?©ÚtimeoutN)Ústart_hosted_room_serviceÚ	ExceptionÚloggerÚ	exceptionÚis_setÚstop_hosted_room_service)Ú_hosted_groupsÚhosted_room_start_cancels   €€r   Ú_start_hosted_roomsÚ0standalone_lifespan.<locals>._start_hosted_roomsV   s†   ø€ ð	EØ×4Ñ4Ô6ð (×.Ñ.×0Ò0Ø×7Ñ7ÀÐ7ÖDñ 1øô ô 	YÜ×ÑÐWÖXð	Yûð (×.Ñ.×0Ò0Ø×7Ñ7ÀÐ7ÕDð 1ús!   ƒ? ¿ A"ÁA% Á!A"Á"A% Á%+Bzhosted-room-startup)r$   Údaemonr%   )Úis_desktop_owned_backend)Ú_REAP_MIN_AGE_SECONDS)Ú"_reap_unsupervised_gateway_orphans)Ú	min_age_sz+Desktop startup: orphan gateway reap failedzdesktop-cron-ticker)r$   Úargsr9   r%   c                  óÀ   €  ^ RI Hp  ^ RIHp V! V ! 4       4       R#   \         d6   p\
        P                  ! \        4      P                  RT4        Rp?R# Rp?ii ; i)r   )Úload_config)Úensure_local_runtimezlocal runtime boot failed: %sN)	Úhermes_cli.configr@   Ú"hermes_cli.local_runtime.bootstraprA   r0   ÚloggingÚ	getLoggerÚ__name__Úwarning)r@   rA   Úexcs      r   Ú_boot_local_runtimeÚ0standalone_lifespan.<locals>._boot_local_runtime�   sJ   € ð	VÝ5ÝOá ¡£Ö/øÜô 	VÜ×ÒœhÓ'×/Ñ/Ð0OÐQT×UÒUûð	Vús   ‚ �A¨*AÁAzlocal-runtime-boot)Ústart_background_bootstrapz"TUI message injector clear skippedg      @r-   r,   )Úshutdown_local_runtimez%managed local runtime shutdown failed)3r   r   r   r   r   r    r!   Úhermes_cli.web_server_chatr#   ÚstateÚevent_channelsÚasyncioÚLockÚ
event_lockÚpty_active_session_filesÚchat_argv_lockÚ	threadingÚThreadÚstartÚgateway.code_skewr&   Útui_gatewayr'   Útui_gateway.serverÚserverÚinstall_tui_message_injectorr0   r1   rG   ÚEventÚhermes_cli.process_identityr:   Úhermes_cli.dashboard_procsr;   Úhermes_cli.gatewayr<   r2   Úcreate_taskr   Úhermes_cli.free_tier_bootstraprK   Úclear_tui_message_injectorÚdebugr   r4   ÚjoinÚcancelÚ	close_allr   rC   rL   )r   r   r   r   r   r    r!   r#   Úeager_reconcile_threadr&   rY   r7   Úhosted_room_start_threadr:   Ú	cron_stopÚcron_threadÚdesktop_ownedr;   r<   Úpty_reaper_taskÚselftest_taskÚauto_archive_taskrI   rK   rL   r5   r6   s   &                        @@r   Ústandalone_lifespanrp      s3  ùé € ÷÷ õ
 8à!€C‡I�IÔÜ"Ÿ<š<›>€C‡I�IÔØ)+€C‡I�IÔ&ô  'Ÿ|š|›~€C‡I�IÔô '×-Ò-Ø.Ø&ôÐð × Ñ Ô"ñ
 Ôõ
 :áÔõ
 =ÛðNØ×Ñ×7Ñ7Ô9ô  )ŸšÓ0Ð÷Eñ Eô  )×/Ò/Ø"ØØ"ô Ðð
 ×"Ñ"Ô$õ
 EØ(,€IØ+/€KÙ,Ó.€Mßð	LÝHÝMá.Ð9NÕOô —O’OÓ%ˆ	Ü×&Ò&Ø-Ø�ØØ&ô	
ˆð 	×ÑÔô ×)Ò)¬*°\Ó*BÓC€Oä×'Ò'Ñ(@Ó(BÓC€Mä×+Ò+Ñ,EÓ,GÓHÐòVô ×ÒÐ/¸ÐCWÔX×^Ñ^Ô`õ
 JáÔ ð!1Üð	NØ×Ñ×9Ñ9Ô;ð 	!×$Ñ$Ô&Ø×/Ñ/¸Ð/Ô<Ø ×%Ñ%¨cÐ%Ô2ØÒ Ø�M‰MŒOØ×ÑÔ Ø×ÑÔØ× Ñ Ô"Ø×#Ñ#Ô%Ø×$Ñ$Ó&×&Ð&ô
 	˜CÔ ð	SÝQá"Ô$÷
 Ù.Ö0ñ øôc ô NÜ�‰Ð=Èˆ×MðNûôP ô 	LÜ×ÑÐJ×Kð	Lûô\ ô 	NÜ�L‰LÐ=ÈˆL×Mð	Núñ 	'øô ô 	Sô �N‰NÐBÈTˆNÖRð	Sûð3	NØ×Ñ×9Ñ9Õ;øÜô 	NÜ�L‰LÐ=ÈˆLÖMð	Núà ×$Ñ$Ô&Ø×/Ñ/¸Ð/Ô<Ø ×%Ñ%¨cÐ%Ô2ØÒ Ø�M‰MŒOØ×ÑÔ Ø×ÑÔØ× Ñ Ô"Ø×#Ñ#Ô%Ø×$Ñ$Ó&×&Ñ&ô
 	˜CÔ ð	SÝQá"Õ$øÜô 	Sô �N‰NÐBÈTˆNÖRð	Sú÷ Ù.Õ0ð üs  „CS5ÃL Ã&A S5ÅL? ÅCS5È*N9 È0M& É
BS5Ë%NË&S5Ë6N ÌS5ÌS5Ì"L<Ì8S5Ì;L<Ì<S5Ì? M#ÍS5Í"M#Í#S5Í&"NÎS5ÎNÎS5Î"N6Î3S5Î5N6Î6S5Î9S2Î;OÏS2Ï"O;Ï8S2Ï:O;Ï;BS2ÒRÒS2Ò+R9Ò8S2Ò9"SÓS2ÓSÓ
S2Ó)	S2Ó2S5c                ó$   € V ^8„  d   QhR\         /# ©r   r   r   )r
   s   "r   r   r   Ç   s   € ÷ !ñ !œWñ !r   c               ó   "  € ^ RI Hp ^ RIHp / V P                  n        \        P                  ! 4       V P                  n        / V P                  n	        \        P                  ! 4       V P                  n
        \        P                  ! \        V4      RR7      \        P                  ! V! 4       RR7      .p R5x € V F  pVP                  4        K  	  \        P                  ! VRR/ G Rj  x€L
  VP                  4       G Rj  x€L
  \!        V 4       R#  L) L  T F  pTP                  4        K  	  \        P                  ! TRR/ G Rj  x€L 
  TP                  4       G Rj  x€L 
  \!        T 4       i ; i5i)	zEThe gateway already owns schema, rooms, scheduler and model services.)r   r"   zgateway-api-pty-reaper)r%   zgateway-api-selftestNÚreturn_exceptionsT)r   r   rM   r#   rN   rO   rP   rQ   rR   rS   rT   ra   r   rf   Úgatherrg   r   )r   r   r#   ÚtasksÚtasks   &    r   Úhttp_lifespanrx   Æ   s  é € õ ?Ý7à!€C‡I�IÔÜ"Ÿ<š<›>€C‡I�IÔØ)+€C‡I�IÔ&Ü&Ÿ|š|›~€C‡I�IÔä×ÒœJ |Ó4Ð;SÔTÜ×ÒÑ4Ó6Ð=SÔTð€Eð!ÜãˆDØ�K‰KŽMñ ä�nŠn˜eÐ<°tÑ<×<Ð<Ø×$Ñ$Ó&×&Ð&Ü˜CÖ ñ 	=Ù&øó ˆDØ�K‰KŽMñ ä�nŠn˜eÐ<°tÑ<×<Ñ<Ø×$Ñ$Ó&×&Ñ&Ü˜CÕ üsT   ‚B5E>Â8D Â=2E>Ã/DÃ0E>ÄDÄE>ÄE>Ä3E;ÅEÅE;Å)E,Å*E;Å;E>c                ó$   € V ^8„  d   QhR\         /# rr   r   )r
   s   "r   r   r   ß   s   € ÷ ñ œGñ r   c                óö   "  € \        V P                  R R4      e   \        M\        pV! V 4      ;_uu_4       GRj  x€L
  R5x € RRR4      GRj  x€L
  R#  L L  + GRj  x€L 
 '       g   i     R# ; i5i)Úgateway_runnerN)ÚgetattrrN   rx   rp   )r   Úlifespans   & r   Úapp_lifespanr~   Þ   s=   é € ä '¨¯	©	Ð3CÀTÓ JÒ V�}Ô\o€HÙ˜�}�}�}Ü÷ �}�}�}�}�}üsK   ‚:A9¼A½A9Á AÁA9ÁAÁA9ÁA9ÁA6	Á"A%Á#
A6	Á.A6	Á0	A9)Ú__doc__Ú
contextlibr   rP   rD   ÚosrU   Úfastapir   Úhermes_cli.pty_sessionr   rE   r1   r   rp   rx   r~   r   r   r   Ú<module>r„      sr   ðÙ Rå *Û Û Û 	Û å Ý -à	×	Ò	Ð2Ó	3€õ
ð ôf1ó ðf1ðR ô!ó ð!ð. ôó òr   