import type { AgentSession } from "./agent-session.ts"; import type { AgentSessionRuntimeResource } from "./agent-session-runtime.ts"; import type { ResumablePayload } from "./process-matrix/codes.ts"; import { type ResumeWorkerLaunchOutcome } from "./process-matrix/runtime.ts"; export interface SessionSupervisionRuntimeOptions { agentDir: string; hasUI: boolean; orchestrationProfileId?: string; isProcessAlive: (pid: number) => boolean; promptConfirm: (message: string) => Promise; resumeWorker: (payload: ResumablePayload, parentSessionId: string) => Promise; onDiagnostic: (message: string) => void; requestExit: () => Promise; } /** * Owns the process-matrix and worktree-sync handles for the currently active session. * Replacement stops the old generation before a new one is started, so no watcher can retain a * disposed session or deliver a notice across a `/new`, `/resume`, or `/fork` boundary. */ export declare class SessionSupervisionRuntime implements AgentSessionRuntimeResource { private readonly options; private generation; private lifecycleTail; private processMatrix?; private worktreeSync?; constructor(options: SessionSupervisionRuntimeOptions); start(session: AgentSession): Promise; private startGeneration; stop(): Promise; private enqueueLifecycle; private stopHandles; private notify; } //# sourceMappingURL=session-supervision-runtime.d.ts.map