/** * @fileoverview Session port — capabilities for session lifecycle management. * Route modules that manage sessions depend on this port. */ import type { Session } from '../../session.js'; export interface SessionPort { readonly sessions: ReadonlyMap; addSession(session: Session): Promise; cleanupSession(sessionId: string, killMux?: boolean, reason?: string): Promise; setupSessionListeners(session: Session): Promise; persistSessionState(session: Session): void; persistSessionStateNow(session: Session): void; getSessionStateWithRespawn(session: Session): unknown; }