/** * Event router for task session manager. * * Routes lifecycle events (session.created, server.instance.disposed, * session.idle, session.error, session.status, session.deleted) to * the appropriate subsystems. */ import type { BackgroundJobStore } from '../../utils/background-job-store'; import type { RetainedBoardSnapshotState } from './board-injection'; import type { PendingTaskCall } from './pending-call-tracker'; export declare function handleEvent(input: { event: { type: string; properties?: { info?: { id?: string; parentID?: string; agent?: string; }; id?: string; requestID?: string; sessionID?: string; status?: { type?: string; }; error?: { name?: string; }; }; }; }, deps: { inputWaits: { trackInputWait(event: { type: string; properties?: { id?: string; requestID?: string; sessionID?: string; }; }): void; clearInputWaits(sessionID: string): void; waitsByParent: Map>; }; continuationTokens: { clearContinuation(sessionID: string): void; invalidateContinuation(sessionID: string): void; sessionTokens: Map; evaluations: Map>; consumed: Set; }; options: { shouldManageSession: (sessionID: string) => boolean; registerSessionAsOrchestrator?: (sessionID: string) => void; isFallbackInProgress?: (sessionID: string) => boolean; }; idleReconciler: { scheduleIdleReconciliation(sessionID: string): void; scheduleChildIdleReconciliation(sessionID: string, idleObservedAt: number): void; clearIdleTimers(sessionID: string): void; clearAllTimers(): string[]; }; backgroundJobBoard: BackgroundJobStore; pendingCallTracker: { peekByParentAndAgent(parentSessionID: string, agentHint?: string): PendingTaskCall | undefined; clearSession(sessionID: string): void; }; taskContextTracker: { pendingManagedTaskIds: Set; clearSession(sessionID: string): void; prune(board: { taskIDs(): Set; }): void; }; terminalJobsInjectedByParent: Map>; retainedBoardSnapshots: Map; }): Promise;