/** * AgentMessage compaction — ADR 0010 D1 (pi coding-agent aligned). */ import type { AgentMessage } from '../llm/types/agent-message.js'; import type { Model } from '../llm/types/model.js'; export interface AgentCompactionConfig { enabled?: boolean; auto?: boolean; keepRecentTokens?: number; minKeepCount?: number; contextWindow?: number; } export interface AgentCompactionState { consecutiveFailures: number; } export interface AgentCompactResult { wasCompacted: boolean; messages: AgentMessage[]; savedTokens: number; microSavedTokens: number; autoSavedTokens: number; summary?: string; } export declare function createAgentCompactionState(): AgentCompactionState; export declare function isContextOverflowError(err: unknown): boolean; export declare function summaryAsAgentUserMessage(summary: string, createdAt?: number): AgentMessage; export declare function shouldAutoCompactAgentMessages(messages: AgentMessage[], contextWindow: number, state?: AgentCompactionState): boolean; export declare function compactAgentMessages(params: { model: Model; messages: AgentMessage[]; contextWindow?: number; keepRecentTokens?: number; minKeepCount?: number; customInstructions?: string; }): Promise<{ summary: string; keptMessages: AgentMessage[]; compactedCount: number; savedTokens: number; }>; export declare function autoCompactAgentMessagesIfNeeded(params: { model: Model; messages: AgentMessage[]; config?: AgentCompactionConfig; state?: AgentCompactionState; force?: boolean; customInstructions?: string; }): Promise; //# sourceMappingURL=agent-message-compaction.d.ts.map