/** * Conversation-shaping helpers: token counting + tool-aware truncation. * * Ported from PSYCHE src/llm/conversation.py. Uses js-tiktoken for token * estimation (already a dep of packages/core). * * @task T1394 (T1386-W8) * @epic T1386 */ /** * Count tokens in a list of messages. */ export declare function countMessageTokens(messages: Array>): number; /** * Truncate messages to fit within a token limit. * * Strategy: * 1. Group messages into units (tool_use + results together, or single messages) * 2. Remove oldest units first to preserve recent context * 3. Units stay intact so tool_use/tool_result pairs are never broken */ export declare function truncateMessagesToFit(messages: Array>, maxTokens: number, preserveSystem?: boolean): Array>; //# sourceMappingURL=conversation.d.ts.map