+
    „WÝjÀ
  ã                  óB   € R t ^ RIHt ^ RItR R ltR R ltR R ltR# )	uç  ``hermes pause`` / ``hermes resume`` â€” the global emergency stop.

``pause`` writes the ESTOP sentinel at ``$HERMES_HOME/ESTOP``; cron, kanban and new gateway
turns halt on their next check (in-flight work is never killed). Every local turn is a gateway
turn, so interactive CLI, TUI and Desktop turns are held too, with ``agent.estop.paused_reply``'s
notice. ``resume`` removes it and operation resumes on the next tick â€” no restart. Ported from gastownhall/gastown estop.go (MIT).
)ÚannotationsNc               ó    € V ^8„  d   QhRRRR/# ©é   Úargszargparse.NamespaceÚreturnÚint© )Úformats   "ÚPC:\Users\johnn\AppData\Local\hermes\hermes-agent\hermes_cli\subcommands\pause.pyÚ__annotate__r      s   € ÷ ñ Ð&ð ¨3ñ ó    c                ó*  € ^ RI HpHpHp \	        V RR4      pV! 4       pV! VR7      pV! 4       ;'       g    / pV'       d   RMRpVP                  R4      '       d   RVR,           2MRp	\        R	V V	 24       \        R
V 24       \        R4       ^ # )z!Engage the global emergency stop.)ÚengageÚ	get_stateÚ
is_engagedÚreasonN)r   zStill pausedzHermes pausedu    â€” reason: Ú u   â�¸ï¸�  z    sentinel: zÐ    Cron dispatch, kanban dispatch, and new gateway turns (messaging and interactive
    CLI, TUI and Desktop turns alike) are on hold. In-flight work keeps running.
    Run `hermes resume` to lift the pause.)Úagent.estopr   r   r   ÚgetattrÚgetÚprint)
r   r   r   r   r   ÚalreadyÚpathÚstateÚverbÚdetails
   &         r   Ú	cmd_pauser      s”   € ç9Ñ9ä�T˜8 TÓ*€FÙ‹l€GÙ˜Ô €DÙ‹K×Ð˜2€Eß$‰>¨/€DØ27·)±)¸H×2EÒ2Eˆ}˜U 8�_Ð-Ñ.È2€FÜ	ˆH�T�F˜6˜(Ð
#Ô$Ü	ˆN˜4˜&Ð
!Ô"Ü	ð	5ô6ñ r   c               ó    € V ^8„  d   QhRRRR/# r   r	   )r
   s   "r   r   r   !   s   € ÷ ñ Ð'ð ¨Cñ r   c                ór   € ^ RI HpHp V! 4       '       d   \        R4       ^ # \        RV! 4        R24       ^ # )z$Disengage the global emergency stop.)Ú	disengageÚsentinel_pathu>   â–¶ï¸�  Hermes resumed â€” dispatch picks up on the next tick.z%Hermes is not paused (no sentinel at z).)r   r    r!   r   )r   r    r!   s   &  r   Ú
cmd_resumer"   !   s4   € ç4á‡{‚{ÜÐNÔOñ ô 	Ð5±m³oÐ5FÀbÐIÔJÙr   c               ó   € V ^8„  d   QhRR/# )r   r   ÚNoner	   )r
   s   "r   r   r   ,   s   € ÷ 0ñ 0 dñ 0r   c                óÖ   € V P                  RRRR7      pVP                  RRRR7       VP                  \        R	7       V P                  R
RRR7      pVP                  \        R	7       R# )zBAttach the ``pause`` and ``resume`` subcommands to ``subparsers``.Úpausez@Emergency stop: pause cron/kanban dispatch and new gateway turnsuF  Engage the global emergency stop. Halts NEW work only â€” cron dispatch, kanban dispatch, and new gateway turns â€” until `hermes resume`. Interactive CLI, TUI and Desktop turns are gateway turns, so they are held too: each gets "Hermes is paused" with the reason. Turns already running finish; in-flight work is never killed.)ÚhelpÚdescriptionz--reasonNz9Optional reason stored in the sentinel and shown to users)Údefaultr'   )ÚfuncÚresumez-Lift the emergency stop set by `hermes pause`z=Remove the ESTOP sentinel; dispatch resumes on the next tick.)Ú
add_parserÚadd_argumentÚset_defaultsr   r"   )Ú
subparsersÚpause_parserÚresume_parsers   &  r   Úbuild_pause_parserr2   ,   sƒ   € à×(Ñ(ØÐXð>ð )ó ?€Lð ×ÑØ˜DÐ'bð ô dà×Ñ¤9ÐÔ-à×)Ñ)ØÐFØSð *ó U€Mð ×Ñ¤JÐÖ/r   )Ú__doc__Ú
__future__r   Úargparser   r"   r2   r	   r   r   Ú<module>r6      s!   ðñõ #ã õõ&÷0r   