/** * Session Handoff Store * * Manages session handoff documents for transferring context between * conversations when context fills up or when explicitly requested. */ import type { Database } from "better-sqlite3"; import type { SessionHandoff } from "../memory/types.js"; /** * Options for creating a handoff */ export interface PrepareHandoffOptions { sessionId?: string; projectPath: string; include?: Array<"decisions" | "files" | "tasks" | "memory">; } /** * Options for resuming from a handoff */ export interface ResumeHandoffOptions { handoffId?: string; projectPath: string; newSessionId?: string; injectContext?: boolean; } export declare class SessionHandoffStore { private db; constructor(db: Database); /** * Prepare a handoff document from the current session */ prepareHandoff(options: PrepareHandoffOptions): SessionHandoff; /** * Resume from a handoff in a new session */ resumeFromHandoff(options: ResumeHandoffOptions): SessionHandoff | null; /** * List available handoffs for a project */ listHandoffs(projectPath: string, options?: { limit?: number; includeResumed?: boolean; }): Array<{ id: string; fromSessionId: string; createdAt: number; resumedBy?: string; resumedAt?: number; summary: string; }>; /** * Get a specific handoff by ID */ getHandoff(handoffId: string): SessionHandoff | null; /** * Delete a handoff by ID */ deleteHandoff(handoffId: string): boolean; /** * Get recent decisions from the database */ private getRecentDecisions; /** * Get recent file activity from tool uses */ private getActiveFiles; /** * Get pending tasks from working memory */ private getPendingTasks; /** * Infer task status from tags */ private inferTaskStatus; /** * Generate a context summary from handoff data */ private generateContextSummary; } //# sourceMappingURL=SessionHandoffStore.d.ts.map