interface PlannerState { inProgress: boolean; startedAt: number | null; lastActivityAt: number | null; } /** Get current planner state for a session (used by @status). */ export declare function getPlannerState(sessionId: string): PlannerState | undefined; /** * Handlers for an active session. * Each method is self-contained (stores messages, streams output, etc.). */ export interface SessionHandlers { /** Send a plain-text message to the planner and stream the response. */ onMessage: (text: string) => Promise; /** Finalize the plan and kick off the autonomous build. */ onBuild: () => Promise; /** Stop the session. */ onStop: () => Promise; /** Process user feedback on completed work. */ onFeedback: (text: string) => Promise; /** Show the current plan. */ onPlan: () => Promise; /** Show task progress. */ onStatus: () => Promise; /** Show cumulative diff. */ onDiff: () => Promise; /** Show PR link. */ onPr: () => Promise; /** List tasks. */ onTasks: () => Promise; /** Ask the architect agent a question about the development process. */ onAsk: (question: string) => Promise; /** Cancel the in-flight planner without stopping the session. */ onCancel: () => Promise; /** Show available session commands. */ onHelp: () => void; /** Add image file paths to the session context. */ onImage: (paths: string[]) => void; /** Clear all session images. */ onImagesClear: () => void; /** List currently attached images. */ onImagesList: () => void; } /** * Create handlers for a session. Used by both the REPL (active-session * mode) and the standalone CLI flow. */ export declare function createSessionHandlers(sessionId: string, repo: string, goal: string, repoPath: string): SessionHandlers; /** * Handle an @-command inside an active session. * Returns true if the command was a @stop (session ended). */ export declare function handleSessionCommand(input: string, handlers: SessionHandlers): Promise; export {}; //# sourceMappingURL=interactive.d.ts.map