trimHistory
trimHistory(
history,maxHistorySize,strategy):IRMessage[]
Defined in: conversation-history.ts:45
Trim conversation history to keep only the most recent messages.
Parameters
Section titled “Parameters”history
Section titled “history”readonly IRMessage[]
Current conversation history
maxHistorySize
Section titled “maxHistorySize”number
Maximum number of message pairs to keep - 0: Return empty array (no history) - -1: Return full history (no trimming) - N > 0: Keep last N user/assistant pairs
strategy
Section titled “strategy”TrimStrategy = 'fifo'
Trimming strategy - ‘fifo’: First-in-first-out, remove oldest messages - ‘smart’: Preserve system messages, trim user/assistant pairs
Returns
Section titled “Returns”Trimmed history
Example
Section titled “Example”const history = [ { role: 'system', content: 'You are helpful' }, { role: 'user', content: 'Hi' }, { role: 'assistant', content: 'Hello!' }, { role: 'user', content: 'How are you?' }, { role: 'assistant', content: 'I am well!' },];
// Keep last 1 pair + system messageconst trimmed = trimHistory(history, 1, 'smart');// Result: system message + last user/assistant pair