import type { AgentMessage } from "@caupulican/pi-agent-core"; import type { AssistantMessage, UserMessage } from "@caupulican/pi-ai"; export declare const SANITIZED_CONTEXT_FORK_COMPACTION_PREFIX = "The parent conversation history before this point was compacted into the following checkpoint:\n\n\n"; export declare const SANITIZED_CONTEXT_FORK_COMPACTION_SUFFIX = "\n\n\n"; export type SanitizedContextForkMode = { kind: "none"; } | { kind: "all"; } | { kind: "last_user_turns"; count: number; }; export type SanitizedContextForkMessage = UserMessage | AssistantMessage; /** Parse the eventual tool-facing `fork_turns` wire value without choosing a default policy. */ export declare function parseSanitizedContextForkMode(value: string): SanitizedContextForkMode; /** * Select a bounded suffix of complete, sanitized user turns. * * Selection walks backward so an arbitrarily long source transcript never creates an unbounded * second projection. Bounds drop whole oldest turns; no message text is truncated. The result is a * detached chronological copy containing no tool protocol, tool results, reasoning, provider * signatures, custom/system/developer messages, mailbox controls, or incomplete assistant output. */ export declare function selectSanitizedContextFork(messages: readonly AgentMessage[], mode: SanitizedContextForkMode): SanitizedContextForkMessage[]; //# sourceMappingURL=sanitized-context-fork.d.ts.map