type SessionState = { inFlight: boolean lastHandledMessageID?: string lastInjectedAt?: number } export type SessionStateStore = ReturnType export function createSessionStateStore() { const states = new Map() const getState = (sessionID: string): SessionState => { const existing = states.get(sessionID) if (existing) return existing const created: SessionState = { inFlight: false, } states.set(sessionID, created) return created } return { getState, wasRecentlyInjected(sessionID: string, windowMs: number): boolean { const state = states.get(sessionID) if (!state?.lastInjectedAt) return false return Date.now() - state.lastInjectedAt <= windowMs }, cleanup(sessionID: string): void { states.delete(sessionID) }, } }