import type { ImageContent, Message, TextContent } from "../llm/index.js"; import type { AgentMessage, BashExecutionMessage, CompactionSummaryMessage, CustomMessage } from "../loop/types.js"; export type { BashExecutionMessage, CompactionSummaryMessage, CustomMessage, } from "../loop/types.js"; /** Harness-only transcript entries that can be normalized into LLM messages. */ export type HarnessMessage = AgentMessage | BashExecutionMessage | CustomMessage | CompactionSummaryMessage; export declare function asAgentMessage(message: HarnessMessage): AgentMessage; export declare const COMPACTION_SUMMARY_PREFIX = "This session is being continued from a previous conversation that ran out of context. The summary below covers the earlier portion of the conversation.\n\n\n"; export declare const COMPACTION_SUMMARY_SUFFIX = "\n\n\nRecent messages are preserved verbatim below. Continue the conversation from where it left off without asking the user any further questions. Resume directly \u2014 do not acknowledge the summary, do not recap what was happening, do not preface with \"I'll continue\" or similar. Pick up the last task as if the break never happened."; /** Render a shell execution record as user-visible context text for the model. */ export declare function bashExecutionToText(msg: BashExecutionMessage): string; /** Build a persisted compaction summary message from the repository timestamp string. */ export declare function createCompactionSummaryMessage(summary: string, tokensBefore: number, timestamp: string): CompactionSummaryMessage; /** Build a custom transcript message that can be shown and replayed into context. */ export declare function createCustomMessage(customType: string, content: string | (TextContent | ImageContent)[], display: boolean, details: unknown, timestamp: string): CustomMessage; /** Convert harness transcript messages into the LLM-facing message sequence. */ export declare function convertToLlm(messages: AgentMessage[]): Message[]; //# sourceMappingURL=messages.d.ts.map