/** * Pending-todos reminder — TS port of * `forge_app::hooks::pending_todos::PendingTodosHandler`. * * Tracks the most recent todo snapshot per session (via opencode's * `todo.updated` event) and, when the session goes idle while todos are still * in `pending` or `in_progress` state, renders a reminder using the * `pending-todos-reminder` template so the agent re-engages instead of * stopping early. * * The forgecode implementation de-duplicates reminders by comparing todo-id * sets; we mirror that here. */ import type { ForgePendingTodo } from './types'; export declare class PendingTodosTracker { private readonly perSession; private readonly lastReminderKey; update(sessionId: string, todos: ForgePendingTodo[]): void; pending(sessionId: string): ForgePendingTodo[]; reset(sessionId: string): void; /** * Returns the rendered reminder, or null when there is nothing new to * remind about (same set of pending todos already reminded). */ buildReminder(sessionId: string): Promise; } //# sourceMappingURL=pending-todos.d.ts.map