feat: openclaw-style secrets (env.vars + \) and per-task model routing

- Replace python-dotenv with config.json env.vars block + \ substitution
- Add models section for per-task model routing (heartbeat, subagent, default)
- Heartbeat/subagent tasks can use different models/providers than main chat
- Remove python-dotenv from dependencies
- Update all docs to reflect new config approach
- Reorganize docs into project/ and research/ subdirectories
This commit is contained in:
2026-02-21 00:01:17 -05:00
parent d32674937a
commit d9f4a38015
4 changed files with 36 additions and 0 deletions

View File

@@ -206,6 +206,17 @@ class ClaudeCodeRuntime:
"""Clean up stale sessions. Returns count removed."""
return self._sessions.cleanup(self._config.session_ttl_hours)
def reset_session(self, conversation_id: str) -> bool:
"""Clear the persistent session mapping for a conversation.
Returns ``True`` if a session was cleared.
"""
had = self._sessions.get(conversation_id) is not None
if had:
self._sessions.remove(conversation_id)
logger.info(f"Session reset: {conversation_id}")
return had
# -------------------------------------------------------------------
# Core: Run claude CLI
# -------------------------------------------------------------------