fix(event): prune synthetic idle dedup map

This commit is contained in:
YeonGyu-Kim
2026-02-10 14:08:02 +09:00
parent f1bf76660d
commit e1e765d5a4
3 changed files with 44 additions and 0 deletions
+7
View File
@@ -13,6 +13,7 @@ import { lspManager } from "../tools"
import type { CreatedHooks } from "../create-hooks"
import type { Managers } from "../create-managers"
import { normalizeSessionStatusToIdle } from "./session-status-normalizer"
import { pruneRecentSyntheticIdles } from "./recent-synthetic-idles"
type FirstMessageVariantGate = {
markSessionCreated: (sessionInfo: { id?: string; title?: string; parentID?: string } | undefined) => void
@@ -54,6 +55,12 @@ export function createEventHandler(args: {
const DEDUP_WINDOW_MS = 500
return async (input): Promise<void> => {
pruneRecentSyntheticIdles({
recentSyntheticIdles,
now: Date.now(),
dedupWindowMs: DEDUP_WINDOW_MS,
})
if (input.event.type === "session.idle") {
const sessionID = (input.event.properties as Record<string, unknown> | undefined)?.sessionID as string | undefined
if (sessionID) {