aboutsummaryrefslogtreecommitdiff
path: root/src/integration/assets/hermes
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-23 21:27:26 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-23 21:37:05 +0300
commitdb67e9d74ffafc9c63bdf78fcf712419359f634b (patch)
tree9d181b55e65aaf6a2fad2d6cf785bb09a8d9748f /src/integration/assets/hermes
parent1bab1d2ce21507747ea1f506fb891fe7cd5a13c9 (diff)
feat: restore agent sessions
refs #233
Diffstat (limited to 'src/integration/assets/hermes')
-rw-r--r--src/integration/assets/hermes/__init__.py26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/integration/assets/hermes/__init__.py b/src/integration/assets/hermes/__init__.py
index 03d15a55..6bb0fe8a 100644
--- a/src/integration/assets/hermes/__init__.py
+++ b/src/integration/assets/hermes/__init__.py
@@ -1,7 +1,7 @@
"""Hermes plugin installed by Herdr to report agent lifecycle state."""
# HERDR_INTEGRATION_ID=hermes
-# HERDR_INTEGRATION_VERSION=1
+# HERDR_INTEGRATION_VERSION=2
from __future__ import annotations
@@ -56,8 +56,19 @@ def _send(method: str, params: dict) -> None:
pass
-def _report(state: str) -> None:
- _send("pane.report_agent", {"state": state})
+def _session_id(kwargs: dict) -> str | None:
+ value = kwargs.get("session_id")
+ if isinstance(value, str) and value:
+ return value
+ return None
+
+
+def _report(state: str, **kwargs) -> None:
+ params = {"state": state}
+ session_id = _session_id(kwargs)
+ if session_id:
+ params["agent_session_id"] = session_id
+ _send("pane.report_agent", params)
def _release() -> None:
@@ -65,18 +76,15 @@ def _release() -> None:
def _working(**kwargs) -> None:
- del kwargs
- _report("working")
+ _report("working", **kwargs)
def _blocked(**kwargs) -> None:
- del kwargs
- _report("blocked")
+ _report("blocked", **kwargs)
def _idle(**kwargs) -> None:
- del kwargs
- _report("idle")
+ _report("idle", **kwargs)
def _finalize(**kwargs) -> None: