import type { CompactionConfig } from '../../config/runtime.js'; import type { Message } from '../../types/message/index.js'; import type { ConversationManager } from '../interface.js'; /** * Structured conversation manager wrapping the existing WorkingStateManager. * Extracts context from messages into a structured state, then compacts via serialization. * * Flow: * 1. Extract state from input messages (tracks tasks, decisions, files, etc.) * 2. Serialize state to XML-like format * 3. Inject compacted state as system message * 4. Trim older messages, keeping the state message + recent history * * Provides maximum context preservation but more computational overhead. */ /** * @deprecated Not the structured strategy. `strategy: 'structured'` runs the * live path in `runtime/query/iteration/phases/compaction.ts`, which this * class predates and does not share code with. * * What is here is a weaker parallel copy: no LLM-verified summary, no stale * tool-result clearing, no retention pins, no events — and a `reduceContext` * that builds a shorter history into a local array and then returns a * boolean, discarding it. */ export declare class StructuredCompactionManager implements ConversationManager { readonly name = "structured"; private readonly config; constructor(config: CompactionConfig); applyManagement(messages: Message[]): Message[]; reduceContext(messages: Message[], _overflowTokens: number): boolean; } //# sourceMappingURL=structured.d.ts.map