UNPKG

@just-every/ensemble

Version:

LLM provider abstraction layer with unified streaming interface

65 lines 1.99 kB
import { ResponseInput, ResponseInputItem } from '../types/types.js'; export interface MessageHistoryOptions { maxMessages?: number; maxTokens?: number; preserveSystemMessages?: boolean; compactToolCalls?: boolean; compactionThreshold?: number; } export type PinnableMessage = ResponseInputItem & { pinned?: boolean; }; export interface ExtractedInfo { entities: Set<string>; decisions: string[]; todos: string[]; tools: Array<{ name: string; purpose: string; }>; } export interface MicroLogEntry { timestamp?: number; role: string; summary: string; } export declare class MessageHistory { private messages; private options; private estimatedTokens; private microLog; private extractedInfo; constructor(initialMessages?: ResponseInput, options?: MessageHistoryOptions); add(message: ResponseInputItem | PinnableMessage): Promise<void>; getMessages(model?: string): Promise<ResponseInput>; pinMessage(index: number): void; getMicroLog(): MicroLogEntry[]; getExtractedInfo(): ExtractedInfo; private addToMicroLog; private createMicroLogSummary; private extractInformation; private extractEntities; private extractDecisions; private extractTodos; private inferToolPurpose; private getMessageContent; count(): number; clear(): void; private trim; private compactToolCalls; getSummary(): string; findLast(predicate: (msg: any) => boolean): any | undefined; lastAssistantHadToolCalls(): boolean; private estimateMessageTokens; private updateTokenEstimate; private checkAndCompact; private performCompaction; private compactHistoryHybrid; private createHybridSummary; private createMicroLogSection; private createStructuredInfoSection; private createDetailedSummary; private estimateTextTokens; ensureToolResultSequence(): void; } //# sourceMappingURL=message_history.d.ts.map