2026-02-10 14:08:02 +09:00
|
|
|
export function pruneRecentSyntheticIdles(args: {
|
|
|
|
|
recentSyntheticIdles: Map<string, number>
|
2026-02-10 19:09:22 +09:00
|
|
|
recentRealIdles: Map<string, number>
|
2026-02-10 14:08:02 +09:00
|
|
|
now: number
|
|
|
|
|
dedupWindowMs: number
|
|
|
|
|
}): void {
|
2026-02-10 19:09:22 +09:00
|
|
|
const { recentSyntheticIdles, recentRealIdles, now, dedupWindowMs } = args
|
2026-02-10 14:08:02 +09:00
|
|
|
|
|
|
|
|
for (const [sessionID, emittedAt] of recentSyntheticIdles) {
|
|
|
|
|
if (now - emittedAt >= dedupWindowMs) {
|
|
|
|
|
recentSyntheticIdles.delete(sessionID)
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-02-10 19:09:22 +09:00
|
|
|
|
|
|
|
|
for (const [sessionID, emittedAt] of recentRealIdles) {
|
|
|
|
|
if (now - emittedAt >= dedupWindowMs) {
|
|
|
|
|
recentRealIdles.delete(sessionID)
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-02-10 14:08:02 +09:00
|
|
|
}
|