aboutsummaryrefslogtreecommitdiff
path: root/src/integration/assets/codex/herdr-agent-state.sh
diff options
context:
space:
mode:
authorJJ Liebig <jonathan.liebig@gmail.com>2026-07-28 03:13:35 +0200
committerGitHub <noreply@github.com>2026-07-28 04:13:35 +0300
commit1491b7dd9c992ef0ad2b763f3e450befaf25c47f (patch)
treec2dac451236c0f59c34f8d850ef042d41bb6f32f /src/integration/assets/codex/herdr-agent-state.sh
parentb499e611b6a983ce6077da555ad55c1fd58b1387 (diff)
fix: ignore nested codex session reports (#1927)
* fix: ignore nested codex session reports refs #1789 * test: cover matching codex thread id --------- Co-authored-by: Can Celik <ogulcancelik@gmail.com>
Diffstat (limited to 'src/integration/assets/codex/herdr-agent-state.sh')
-rw-r--r--src/integration/assets/codex/herdr-agent-state.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/integration/assets/codex/herdr-agent-state.sh b/src/integration/assets/codex/herdr-agent-state.sh
index b3b08a78..687a8181 100644
--- a/src/integration/assets/codex/herdr-agent-state.sh
+++ b/src/integration/assets/codex/herdr-agent-state.sh
@@ -3,7 +3,7 @@
# managed by herdr; reinstalling or updating the integration overwrites this file.
# add custom hooks beside this file instead of editing it.
# HERDR_INTEGRATION_ID=codex
-# HERDR_INTEGRATION_VERSION=6
+# HERDR_INTEGRATION_VERSION=7
set -eu
@@ -56,6 +56,12 @@ request_id = f"{source}:{int(time.time() * 1000)}:{random.randrange(1_000_000):0
report_seq = time.time_ns()
session_id = hook_input.get("session_id")
agent_session_id = session_id if isinstance(session_id, str) and session_id else None
+transcript_path = hook_input.get("transcript_path")
+if not isinstance(transcript_path, str) or not transcript_path.strip():
+ raise SystemExit(0)
+inherited_session_id = os.environ.get("CODEX_THREAD_ID")
+if inherited_session_id and inherited_session_id != agent_session_id:
+ raise SystemExit(0)
session_start_source = hook_input.get("source") if hook_event_name == "SessionStart" else None
if not isinstance(session_start_source, str) or not session_start_source:
session_start_source = None