fix(session-category-registry): cleanup entries for task sessions

This commit is contained in:
youming.tang
2026-02-04 15:25:41 +09:00
committed by YeonGyu-Kim
parent d947743932
commit cd3e0ca124

View File

@@ -16,6 +16,7 @@ import {
createInternalAgentTextPart,
} from "../../shared"
import { setSessionTools } from "../../shared/session-tools-store"
import { SessionCategoryRegistry } from "../../shared/session-category-registry"
import { ConcurrencyManager } from "./concurrency"
import type { BackgroundTaskConfig, TmuxConfig } from "../../config/schema"
import { isInsideTmux } from "../../shared/tmux"
@@ -859,6 +860,7 @@ export class BackgroundManager {
subagentSessions.delete(task.sessionID)
}
}
SessionCategoryRegistry.remove(sessionID)
}
}
@@ -1022,6 +1024,8 @@ export class BackgroundManager {
this.client.session.abort({
path: { id: task.sessionID },
}).catch(() => {})
SessionCategoryRegistry.remove(task.sessionID)
}
if (options?.skipNotification) {
@@ -1169,6 +1173,8 @@ export class BackgroundManager {
this.client.session.abort({
path: { id: task.sessionID },
}).catch(() => {})
SessionCategoryRegistry.remove(task.sessionID)
}
try {
@@ -1471,6 +1477,7 @@ Use \`background_output(task_id="${task.id}")\` to retrieve this result when rea
this.tasks.delete(taskId)
if (task.sessionID) {
subagentSessions.delete(task.sessionID)
SessionCategoryRegistry.remove(task.sessionID)
}
}
}