fix: restore approval session cleanup

This commit is contained in:
Greer Guthrie 2026-04-14 00:59:20 -05:00 committed by Greer Guthrie
parent d631431872
commit 60b088ce6f
2 changed files with 19 additions and 0 deletions

View file

@ -297,6 +297,24 @@ def approve_session(session_key: str, pattern_key: str):
_session_approved.setdefault(session_key, set()).add(pattern_key)
def clear_session(session_key: str) -> None:
"""Clear all in-memory approval state for a session key.
Safe to call even when the session has no tracked approval state.
Any blocked gateway approvals for the session are unblocked.
"""
if not session_key:
return
with _lock:
_pending.pop(session_key, None)
_session_approved.pop(session_key, None)
_session_yolo.discard(session_key)
_gateway_notify_cbs.pop(session_key, None)
entries = _gateway_queues.pop(session_key, [])
for entry in entries:
entry.event.set()
def enable_session_yolo(session_key: str) -> None:
"""Enable YOLO bypass for a single session key."""
if not session_key: