Skip to content

feat(hooks): emit session:start and session:end lifecycle events#1432

Closed
bayrakdarerdem wants to merge 1 commit into
NousResearch:mainfrom
bayrakdarerdem:feat/hooks-new-events-v2
Closed

feat(hooks): emit session:start and session:end lifecycle events#1432
bayrakdarerdem wants to merge 1 commit into
NousResearch:mainfrom
bayrakdarerdem:feat/hooks-new-events-v2

Conversation

@bayrakdarerdem

Copy link
Copy Markdown
Contributor

Summary

The gateway hook system has had session:start listed in its documentation since day one — but it was never actually emitted. Any plugin author who wrote a hook listening for session:start would get silence. This PR fixes that disconnect and adds a companion session:end event that was also missing.

Changes
gateway/run.py

Emits session:start on the first message of a new session (detected by checking if transcript history is empty)
Emits session:end just before session:reset so hooks can clean up or persist data before the session is destroyed

gateway/hooks.py

Updated docstring to accurately list both new events
Clarified the distinction between session:end (session is closing) and session:reset (new session entry has been created)

Why This Matters
The hook system is designed for extensibility — plugins subscribe to lifecycle events and react accordingly. A session boundary is one of the most fundamental events in any agent system. Without session:start and session:end, plugins have no way to:

Initialize per-session state
Persist session analytics
Send welcome or goodbye messages
Clean up resources when a conversation ends

This is a small but foundational fix for the plugin ecosystem.

teknium1 added a commit that referenced this pull request Mar 17, 2026
Based on PR #1432 by @bayrakdarerdem. session:start was already on main; this adds the session:end event.

Co-authored-by: bayrakdarerdem <bayrakdarerdem@users.noreply.github.com>
@teknium1

Copy link
Copy Markdown
Contributor

Merged via PR #1725. The session:start portion was already on main — the remaining session:end event was applied with your authorship preserved. Thanks for the contribution!

@teknium1 teknium1 closed this Mar 17, 2026
angelburgosrosado pushed a commit to angelburgosrosado/hermes-agent that referenced this pull request Apr 27, 2026
Based on PR NousResearch#1432 by @bayrakdarerdem. session:start was already on main; this adds the session:end event.

Co-authored-by: bayrakdarerdem <bayrakdarerdem@users.noreply.github.com>
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
Based on PR NousResearch#1432 by @bayrakdarerdem. session:start was already on main; this adds the session:end event.

Co-authored-by: bayrakdarerdem <bayrakdarerdem@users.noreply.github.com>
olympus-terminal pushed a commit to olympus-terminal/hermes-agent that referenced this pull request May 16, 2026
Based on PR NousResearch#1432 by @bayrakdarerdem. session:start was already on main; this adds the session:end event.

Co-authored-by: bayrakdarerdem <bayrakdarerdem@users.noreply.github.com>
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
Based on PR NousResearch#1432 by @bayrakdarerdem. session:start was already on main; this adds the session:end event.

Co-authored-by: bayrakdarerdem <bayrakdarerdem@users.noreply.github.com>
Egavasyug pushed a commit to Egavasyug/hermes-agent that referenced this pull request Jun 10, 2026
Based on PR NousResearch#1432 by @bayrakdarerdem. session:start was already on main; this adds the session:end event.

Co-authored-by: bayrakdarerdem <bayrakdarerdem@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants