Files
oh-my-openagent/src/plugin/session-status-normalizer.ts
YeonGyu-Kim 1717050f73 feat(event): normalize session.status to session.idle
Add session-status-normalizer to handle session.status events and
convert idle status to synthetic session.idle events. Includes
deduplication logic to prevent duplicate idle events within 500ms.
2026-02-10 11:41:45 +09:00

23 lines
613 B
TypeScript

type EventInput = { event: { type: string; properties?: Record<string, unknown> } }
type SessionStatus = { type: string }
export function normalizeSessionStatusToIdle(input: EventInput): EventInput | null {
if (input.event.type !== "session.status") return null
const props = input.event.properties
if (!props) return null
const status = props.status as SessionStatus | undefined
if (!status || status.type !== "idle") return null
const sessionID = props.sessionID as string | undefined
if (!sessionID) return null
return {
event: {
type: "session.idle",
properties: { sessionID },
},
}
}