/** * Summary Generator - Generates structured summaries for context compaction * * Creates structured summaries that preserve: * - User requests and intents * - Tool call history (deduplicated by file path) * - Key decisions and tasks * - Modified files list * - Usage statistics */ import type { AgentMessage } from '@earendil-works/pi-agent-core'; export interface ToolCallSummary { toolName: string; filePath?: string; operation: 'read' | 'write' | 'search' | 'command' | 'other'; success: boolean; briefResult?: string; timestamp?: number; } export interface ConversationSummary { userRequests: string[]; toolCalls: ToolCallSummary[]; keyDecisions: string[]; filesModified: string[]; totalToolCalls: number; successfulToolCalls: number; failedToolCalls: number; } export interface SummaryGenerationOptions { maxUserRequests: number; maxToolCalls: number; deduplicateByFile: boolean; includeUsage: boolean; } /** * Generate structured summary from messages */ export declare function generateStructuredSummary(messages: AgentMessage[], options?: Partial): ConversationSummary; /** * Format structured summary as text for injection into context */ export declare function formatSummaryAsText(summary: ConversationSummary, includeUsage?: boolean): string; /** * Generate compact summary message for context injection */ export declare function createSummaryMessage(summary: ConversationSummary): AgentMessage;