Owns the live LLM drivers of one Trove engine and drives their sessions (§OR-1). More...
| Header: | #include <SessionManager> |
| Inherits: | QObject |
startSession() acquires a driver with the Session capability from the DriverManager, starts a session on it, and keeps the driver until the session closes. When a GitOrchestrator is set and the request names a branch, the manager provisions a worktree for the session first. Each ISession signal comes out again from the manager, tagged with the session's SessionId, so the rest of Trove does not depend on the driver.
The scheduler, the operator surfaces and OPAL use the manager to start, steer and stop sessions: intervene(), interrupt(), switchModel(), answerAuth() and closeSession(). An idle reaper closes sessions that stay unused for longer than a TTL; the default is one week.
TroveSupervisor creates one manager and is its QObject parent.