import type { AgentQueryMessage } from "../types/agent.js"; export interface AutoCompactOptions { /** 上下文窗口大小(默认 200000)。 */ contextWindow?: number; /** 压缩缓冲 token(默认 13000,对齐 Claude Code AUTOCOMPACT_BUFFER_TOKENS)。 */ compactBuffer?: number; /** 是否启用(默认 true)。 */ enabled?: boolean; } export interface AutoCompactResult { /** 压缩后的消息(如果触发了压缩) */ messages: AgentQueryMessage[]; /** 是否执行了压缩 */ wasCompacted: boolean; /** 压缩总结文本 */ summary?: string; } /** * AutoCompact 状态(跨轮次传递)。 */ export interface AutoCompactState { consecutiveFailures: number; } export declare function createAutoCompactState(): AutoCompactState; /** * AutoCompact:检查是否需要压缩,如需要则调 LLM 总结。 * * @param messages 当前消息数组 * @param lastUsage 最后一条 assistant 消息的 usage(如有) * @param state 跨轮次状态(含 circuit breaker) * @param options 配置 * @param summarize 调 LLM 做总结的函数(宿主注入) */ export declare function autoCompact(messages: AgentQueryMessage[], lastUsage: { inputTokens: number; outputTokens: number; } | undefined, state: AutoCompactState, options: AutoCompactOptions, summarize: (messages: AgentQueryMessage[]) => Promise): Promise; /** 构造压缩用的 LLM 消息。 */ export declare function buildCompactMessages(messages: AgentQueryMessage[]): AgentQueryMessage[];