feat: OpenCode-style session management implementation

This commit is contained in:
uroma
2026-01-20 16:26:03 +00:00
Unverified
parent 5638f7ca23
commit 94f1725675
5 changed files with 892 additions and 133 deletions

View File

@@ -446,11 +446,17 @@ class ClaudeCodeService extends EventEmitter {
listSessions() {
return Array.from(this.sessions.values()).map(session => {
const metadata = this.calculateSessionMetadata(session);
// FIX: Only mark as running if process is actually alive
const isRunning = session.status === 'running' &&
session.process &&
!session.process.killed;
return {
id: session.id,
pid: session.pid,
workingDir: session.workingDir,
status: session.status,
status: isRunning ? 'running' : 'stopped',
createdAt: session.createdAt,
lastActivity: session.lastActivity,
metadata: session.metadata,