From 393ce7e7f19dbc6235b97b5928e183e5f2ffef94 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Wed, 2 Sep 2026 20:12:36 -0700 Subject: [PATCH] =?UTF-8?q?refactor(cli-misc):=20lifecycle.py=20=E2=80=94?= =?UTF-8?q?=20single=20plugin-hook=20dispatch=20helper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hermes_cli/lifecycle.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/hermes_cli/lifecycle.py b/hermes_cli/lifecycle.py index cce43eeb9d..bdd11a7a97 100644 --- a/hermes_cli/lifecycle.py +++ b/hermes_cli/lifecycle.py @@ -17,15 +17,18 @@ def _observe(hook_name: str, **kwargs: Any) -> None: logger.warning("Built-in observability hook failed", exc_info=True) -def invoke_hook(hook_name: str, **kwargs: Any) -> List[Any]: - """Notify first-party observers, then invoke compatibility plugin hooks.""" - _observe(hook_name, **kwargs) - +def _plugin_hooks(hook_name: str, **kwargs: Any) -> List[Any]: from hermes_cli import plugins return plugins.invoke_hook(hook_name, **kwargs) +def invoke_hook(hook_name: str, **kwargs: Any) -> List[Any]: + """Notify first-party observers, then invoke compatibility plugin hooks.""" + _observe(hook_name, **kwargs) + return _plugin_hooks(hook_name, **kwargs) + + def has_hook(hook_name: str) -> bool: """Return whether a first-party observer or plugin consumes a hook.""" try: @@ -57,6 +60,4 @@ def finalize_session(**kwargs: Any) -> List[Any]: except Exception: logger.warning("Core Relay session finalization failed", exc_info=True) - from hermes_cli import plugins - - return plugins.invoke_hook("on_session_finalize", **kwargs) + return _plugin_hooks("on_session_finalize", **kwargs)