Bump ``last_active_at`` (e.g., on each message exchange). Use from server hot paths to keep the idle reaper accurate.
(self, session_id: str)
| 128 | update_last_active(session_id, now, path=self.index_path) |
| 129 | |
| 130 | def touch(self, session_id: str) -> None: |
| 131 | """Bump ``last_active_at`` (e.g., on each message exchange). |
| 132 | |
| 133 | Use from server hot paths to keep the idle reaper accurate. |
| 134 | """ |
| 135 | info = self._sessions.get(session_id) |
| 136 | if info is None: |
| 137 | return |
| 138 | info.last_active_at = time.time() |
| 139 | |
| 140 | async def stop_session(self, session_id: str) -> None: |
| 141 | """Transition through STOPPING → STOPPED, killing the subprocess.""" |