@just-every/ensemble 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,15 +4,48 @@ export interface MessageHistoryOptions {
4
4
  maxTokens?: number;
5
5
  preserveSystemMessages?: boolean;
6
6
  compactToolCalls?: boolean;
7
+ modelId?: string;
8
+ compactionThreshold?: number;
9
+ }
10
+ export type PinnableMessage = ResponseInputItem & {
11
+ pinned?: boolean;
12
+ };
13
+ export interface ExtractedInfo {
14
+ entities: Set<string>;
15
+ decisions: string[];
16
+ todos: string[];
17
+ tools: Array<{
18
+ name: string;
19
+ purpose: string;
20
+ }>;
21
+ }
22
+ export interface MicroLogEntry {
23
+ timestamp?: number;
24
+ role: string;
25
+ summary: string;
7
26
  }
8
27
  export declare class MessageHistory {
9
28
  private messages;
10
29
  private options;
30
+ private estimatedTokens;
31
+ private microLog;
32
+ private extractedInfo;
11
33
  constructor(initialMessages?: ResponseInput, options?: MessageHistoryOptions);
12
- add(message: ResponseInputItem): void;
13
- addMany(messages: ResponseInput): void;
14
- addAssistantResponse(content: string, toolCallResults?: ToolCallResult[]): void;
34
+ add(message: ResponseInputItem | PinnableMessage): Promise<void>;
35
+ addMany(messages: ResponseInput): Promise<void>;
36
+ addAssistantResponse(content: string, toolCallResults?: ToolCallResult[]): Promise<void>;
15
37
  getMessages(): ResponseInput;
38
+ pinMessage(index: number): void;
39
+ getMicroLog(): MicroLogEntry[];
40
+ getExtractedInfo(): ExtractedInfo;
41
+ private addToMicroLog;
42
+ private createMicroLogSummary;
43
+ private extractInformation;
44
+ private extractEntities;
45
+ private extractDecisions;
46
+ private extractTodos;
47
+ private inferToolPurpose;
48
+ private getMessageContent;
16
49
  count(): number;
17
50
  clear(): void;
18
51
  private trim;
@@ -20,5 +53,15 @@ export declare class MessageHistory {
20
53
  getSummary(): string;
21
54
  findLast(predicate: (msg: any) => boolean): any | undefined;
22
55
  lastAssistantHadToolCalls(): boolean;
56
+ private estimateMessageTokens;
57
+ private updateTokenEstimate;
58
+ private checkAndCompact;
59
+ private performCompaction;
60
+ private compactHistoryHybrid;
61
+ private createHybridSummary;
62
+ private createMicroLogSection;
63
+ private createStructuredInfoSection;
64
+ private createDetailedSummary;
65
+ private estimateTextTokens;
23
66
  }
24
67
  //# sourceMappingURL=message_history.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message_history.d.ts","sourceRoot":"","sources":["../../utils/message_history.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,aAAa,EACb,iBAAiB,EACjB,KAAK,cAAc,EACtB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,qBAAqB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,OAAO,CAAwB;gBAGnC,eAAe,GAAE,aAAkB,EACnC,OAAO,GAAE,qBAA0B;IAcvC,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAQrC,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQtC,oBAAoB,CAChB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,cAAc,EAAE,GACnC,IAAI;IAqCP,WAAW,IAAI,aAAa;IAO5B,KAAK,IAAI,MAAM;IAOf,KAAK,IAAI,IAAI;IAYb,OAAO,CAAC,IAAI;IA8BZ,OAAO,CAAC,gBAAgB;IAqCxB,UAAU,IAAI,MAAM;IA4BpB,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,GAAG,GAAG,GAAG,SAAS;IAY3D,yBAAyB,IAAI,OAAO;CA2BvC"}
1
+ {"version":3,"file":"message_history.d.ts","sourceRoot":"","sources":["../../utils/message_history.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,aAAa,EACb,iBAAiB,EAIjB,KAAK,cAAc,EACtB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,qBAAqB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAGD,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAGF,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAGD,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,aAAa,CAKnB;gBAGE,eAAe,GAAE,aAAkB,EACnC,OAAO,GAAE,qBAA0B;IAwBjC,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhE,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C,oBAAoB,CACtB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,cAAc,EAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IAqChB,WAAW,IAAI,aAAa;IAO5B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS/B,WAAW,IAAI,aAAa,EAAE;IAO9B,gBAAgB,IAAI,aAAa;IAYjC,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;IAgBzB,KAAK,IAAI,MAAM;IAOf,KAAK,IAAI,IAAI;IAYb,OAAO,CAAC,IAAI;IA8BZ,OAAO,CAAC,gBAAgB;IAqCxB,UAAU,IAAI,MAAM;IA4BpB,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,GAAG,GAAG,GAAG,SAAS;IAY3D,yBAAyB,IAAI,OAAO;IAgCpC,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,mBAAmB;YAUb,eAAe;YAyBf,iBAAiB;YAOjB,oBAAoB;YAyEpB,mBAAmB;IA2BjC,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,2BAA2B;YAgCrB,qBAAqB;IAkDnC,OAAO,CAAC,kBAAkB;CAI7B"}
@@ -1,26 +1,53 @@
1
1
  export class MessageHistory {
2
2
  messages;
3
3
  options;
4
+ estimatedTokens = 0;
5
+ microLog = [];
6
+ extractedInfo = {
7
+ entities: new Set(),
8
+ decisions: [],
9
+ todos: [],
10
+ tools: [],
11
+ };
4
12
  constructor(initialMessages = [], options = {}) {
5
- this.messages = [...initialMessages];
13
+ this.messages = initialMessages.map(msg => ({ ...msg }));
6
14
  this.options = {
7
15
  maxMessages: options.maxMessages,
8
16
  maxTokens: options.maxTokens,
9
17
  preserveSystemMessages: options.preserveSystemMessages ?? true,
10
18
  compactToolCalls: options.compactToolCalls ?? true,
19
+ modelId: options.modelId,
20
+ compactionThreshold: options.compactionThreshold ?? 0.7,
11
21
  };
22
+ const firstSystemMsg = this.messages.find(m => m.type === 'message' && m.role === 'system');
23
+ if (firstSystemMsg) {
24
+ firstSystemMsg.pinned = true;
25
+ }
26
+ this.updateTokenEstimate();
12
27
  }
13
- add(message) {
14
- this.messages.push(message);
28
+ async add(message) {
29
+ const pinnableMsg = message;
30
+ this.messages.push(pinnableMsg);
31
+ this.addToMicroLog(pinnableMsg);
32
+ this.extractInformation(pinnableMsg);
33
+ this.updateTokenEstimate();
15
34
  this.trim();
35
+ await this.checkAndCompact();
16
36
  }
17
- addMany(messages) {
18
- this.messages.push(...messages);
37
+ async addMany(messages) {
38
+ for (const msg of messages) {
39
+ const pinnableMsg = msg;
40
+ this.messages.push(pinnableMsg);
41
+ this.addToMicroLog(pinnableMsg);
42
+ this.extractInformation(pinnableMsg);
43
+ }
44
+ this.updateTokenEstimate();
19
45
  this.trim();
46
+ await this.checkAndCompact();
20
47
  }
21
- addAssistantResponse(content, toolCallResults) {
48
+ async addAssistantResponse(content, toolCallResults) {
22
49
  if (content || toolCallResults?.length) {
23
- this.add({
50
+ await this.add({
24
51
  type: 'message',
25
52
  role: 'assistant',
26
53
  content: content || '',
@@ -30,14 +57,14 @@ export class MessageHistory {
30
57
  if (toolCallResults) {
31
58
  for (const toolCallResult of toolCallResults) {
32
59
  const toolCall = toolCallResult.toolCall;
33
- this.add({
60
+ await this.add({
34
61
  type: 'function_call',
35
62
  id: toolCall.id,
36
63
  call_id: toolCall.call_id || toolCall.id,
37
64
  name: toolCall.function.name,
38
65
  arguments: toolCall.function.arguments,
39
66
  });
40
- this.add({
67
+ await this.add({
41
68
  type: 'function_call_output',
42
69
  id: toolCall.id,
43
70
  call_id: toolCall.call_id || toolCall.id,
@@ -50,6 +77,149 @@ export class MessageHistory {
50
77
  getMessages() {
51
78
  return [...this.messages];
52
79
  }
80
+ pinMessage(index) {
81
+ if (index >= 0 && index < this.messages.length) {
82
+ this.messages[index].pinned = true;
83
+ }
84
+ }
85
+ getMicroLog() {
86
+ return [...this.microLog];
87
+ }
88
+ getExtractedInfo() {
89
+ return {
90
+ entities: new Set(this.extractedInfo.entities),
91
+ decisions: [...this.extractedInfo.decisions],
92
+ todos: [...this.extractedInfo.todos],
93
+ tools: [...this.extractedInfo.tools],
94
+ };
95
+ }
96
+ addToMicroLog(msg) {
97
+ if (msg.type === 'message') {
98
+ const content = this.getMessageContent(msg);
99
+ const summary = this.createMicroLogSummary(msg.role, content);
100
+ this.microLog.push({
101
+ timestamp: msg.timestamp || Date.now(),
102
+ role: msg.role,
103
+ summary,
104
+ });
105
+ }
106
+ else if (msg.type === 'function_call') {
107
+ this.microLog.push({
108
+ timestamp: msg.timestamp || Date.now(),
109
+ role: 'tool',
110
+ summary: `Called ${msg.name}()`,
111
+ });
112
+ }
113
+ }
114
+ createMicroLogSummary(role, content) {
115
+ const firstLine = content.split('\n')[0].trim();
116
+ const maxLength = 80;
117
+ if (firstLine.length <= maxLength) {
118
+ return firstLine;
119
+ }
120
+ return firstLine.substring(0, maxLength - 3) + '...';
121
+ }
122
+ extractInformation(msg) {
123
+ if (msg.type === 'message') {
124
+ const content = this.getMessageContent(msg);
125
+ this.extractEntities(content);
126
+ if (msg.role === 'assistant') {
127
+ this.extractDecisions(content);
128
+ this.extractTodos(content);
129
+ }
130
+ }
131
+ else if (msg.type === 'function_call') {
132
+ const existingTool = this.extractedInfo.tools.find(t => t.name === msg.name);
133
+ if (!existingTool) {
134
+ this.extractedInfo.tools.push({
135
+ name: msg.name,
136
+ purpose: this.inferToolPurpose(msg.name, msg.arguments),
137
+ });
138
+ }
139
+ }
140
+ }
141
+ extractEntities(content) {
142
+ const filePathRegex = /(?:\/[\w.-]+)+(?:\.\w+)?/g;
143
+ const filePaths = content.match(filePathRegex) || [];
144
+ filePaths.forEach(path => this.extractedInfo.entities.add(path));
145
+ const urlRegex = /https?:\/\/[^\s]+/g;
146
+ const urls = content.match(urlRegex) || [];
147
+ urls.forEach(url => this.extractedInfo.entities.add(url));
148
+ const quotedRegex = /["']([^"']+)["']/g;
149
+ let match;
150
+ while ((match = quotedRegex.exec(content)) !== null) {
151
+ if (match[1].length > 3 && match[1].length < 50) {
152
+ this.extractedInfo.entities.add(match[1]);
153
+ }
154
+ }
155
+ }
156
+ extractDecisions(content) {
157
+ const decisionPatterns = [
158
+ /I (?:will|'ll|am going to) ([^.!?]+)[.!?]/gi,
159
+ /(?:Decided|Choosing|Selected) to ([^.!?]+)[.!?]/gi,
160
+ /The (?:solution|approach|strategy) is to ([^.!?]+)[.!?]/gi,
161
+ ];
162
+ for (const pattern of decisionPatterns) {
163
+ pattern.lastIndex = 0;
164
+ let match;
165
+ while ((match = pattern.exec(content)) !== null) {
166
+ const decision = match[1].trim();
167
+ if (decision.length > 10 && decision.length < 200) {
168
+ this.extractedInfo.decisions.push(decision);
169
+ }
170
+ }
171
+ }
172
+ }
173
+ extractTodos(content) {
174
+ const todoPatterns = [
175
+ /(?:TODO|FIXME|NOTE):\s*([^.!?\n]+)/g,
176
+ /(?:Need to|Should|Must) ([^.!?]+)[.!?]/g,
177
+ /(?:Next step|Then).*?(?:is to|will be) ([^.!?]+)[.!?]/g,
178
+ ];
179
+ for (const pattern of todoPatterns) {
180
+ let match;
181
+ while ((match = pattern.exec(content)) !== null) {
182
+ const todo = match[1].trim();
183
+ if (todo.length > 10 && todo.length < 200) {
184
+ this.extractedInfo.todos.push(todo);
185
+ }
186
+ }
187
+ }
188
+ }
189
+ inferToolPurpose(toolName, args) {
190
+ try {
191
+ const parsedArgs = JSON.parse(args);
192
+ if (toolName.includes('read') || toolName.includes('get')) {
193
+ return 'Information retrieval';
194
+ }
195
+ else if (toolName.includes('write') || toolName.includes('create')) {
196
+ return 'Content creation';
197
+ }
198
+ else if (toolName.includes('search') || toolName.includes('find')) {
199
+ return 'Search operation';
200
+ }
201
+ else if (toolName.includes('execute') || toolName.includes('run')) {
202
+ return 'Code execution';
203
+ }
204
+ return 'General operation';
205
+ }
206
+ catch {
207
+ return 'General operation';
208
+ }
209
+ }
210
+ getMessageContent(msg) {
211
+ if (msg.type === 'message' && 'content' in msg) {
212
+ if (typeof msg.content === 'string') {
213
+ return msg.content;
214
+ }
215
+ else if (Array.isArray(msg.content)) {
216
+ return msg.content
217
+ .map(item => ('text' in item ? item.text : ''))
218
+ .join(' ');
219
+ }
220
+ }
221
+ return '';
222
+ }
53
223
  count() {
54
224
  return this.messages.length;
55
225
  }
@@ -150,5 +320,186 @@ export class MessageHistory {
150
320
  }
151
321
  return false;
152
322
  }
323
+ estimateMessageTokens(msg) {
324
+ let charCount = 0;
325
+ if (msg.type === 'message' && 'content' in msg) {
326
+ if (typeof msg.content === 'string') {
327
+ charCount += msg.content.length;
328
+ }
329
+ else if (Array.isArray(msg.content)) {
330
+ for (const item of msg.content) {
331
+ if ('text' in item) {
332
+ charCount += item.text.length;
333
+ }
334
+ }
335
+ }
336
+ }
337
+ else if (msg.type === 'function_call') {
338
+ charCount += msg.name.length + msg.arguments.length;
339
+ }
340
+ else if (msg.type === 'function_call_output') {
341
+ charCount += msg.output.length;
342
+ }
343
+ return Math.ceil(charCount / 4);
344
+ }
345
+ updateTokenEstimate() {
346
+ this.estimatedTokens = 0;
347
+ for (const msg of this.messages) {
348
+ this.estimatedTokens += this.estimateMessageTokens(msg);
349
+ }
350
+ }
351
+ async checkAndCompact() {
352
+ if (!this.options.modelId || this.options.compactionThreshold === 0) {
353
+ return;
354
+ }
355
+ const { findModel } = await import('../data/model_data.js');
356
+ const model = findModel(this.options.modelId);
357
+ if (!model || !model.features.context_length) {
358
+ return;
359
+ }
360
+ const contextLength = model.features.context_length;
361
+ const threshold = contextLength * this.options.compactionThreshold;
362
+ if (this.estimatedTokens > threshold) {
363
+ await this.performCompaction(contextLength);
364
+ }
365
+ }
366
+ async performCompaction(contextLength) {
367
+ await this.compactHistoryHybrid(contextLength);
368
+ }
369
+ async compactHistoryHybrid(contextLength) {
370
+ const pinnedMessages = this.messages.filter(m => m.pinned);
371
+ const unpinnedMessages = this.messages.filter(m => !m.pinned);
372
+ if (unpinnedMessages.length < 4) {
373
+ return;
374
+ }
375
+ const targetTokens = contextLength * 0.7;
376
+ let currentTokens = 0;
377
+ for (const msg of pinnedMessages) {
378
+ currentTokens += this.estimateMessageTokens(msg);
379
+ }
380
+ const remainingBudget = targetTokens - currentTokens;
381
+ const tailBudget = remainingBudget * 0.3;
382
+ let tailTokens = 0;
383
+ let tailStartIndex = unpinnedMessages.length;
384
+ for (let i = unpinnedMessages.length - 1; i >= 0; i--) {
385
+ const msgTokens = this.estimateMessageTokens(unpinnedMessages[i]);
386
+ if (tailTokens + msgTokens > tailBudget) {
387
+ tailStartIndex = i + 1;
388
+ break;
389
+ }
390
+ tailTokens += msgTokens;
391
+ }
392
+ tailStartIndex = Math.max(0, Math.min(tailStartIndex, unpinnedMessages.length - 2));
393
+ const messagesToCompact = unpinnedMessages.slice(0, tailStartIndex);
394
+ const tailMessages = unpinnedMessages.slice(tailStartIndex);
395
+ if (messagesToCompact.length === 0) {
396
+ return;
397
+ }
398
+ const hybridSummary = await this.createHybridSummary(messagesToCompact);
399
+ const summaryMessage = {
400
+ type: 'message',
401
+ role: 'system',
402
+ content: hybridSummary,
403
+ pinned: false,
404
+ };
405
+ this.messages = [...pinnedMessages, summaryMessage, ...tailMessages];
406
+ const recentTimestamp = tailMessages[0]?.timestamp || Date.now() - 3600000;
407
+ this.microLog = this.microLog.filter(entry => (entry.timestamp || 0) >= recentTimestamp);
408
+ this.updateTokenEstimate();
409
+ console.log(`MessageHistory: Compacted ${messagesToCompact.length} messages using hybrid approach. New token estimate: ${this.estimatedTokens}`);
410
+ }
411
+ async createHybridSummary(messages) {
412
+ const sections = [];
413
+ const microLogText = this.createMicroLogSection(messages);
414
+ if (microLogText) {
415
+ sections.push(`## Conversation Flow\n${microLogText}`);
416
+ }
417
+ const structuredInfo = this.createStructuredInfoSection();
418
+ if (structuredInfo) {
419
+ sections.push(`## Key Information\n${structuredInfo}`);
420
+ }
421
+ const detailedSummary = await this.createDetailedSummary(messages);
422
+ if (detailedSummary) {
423
+ sections.push(`## Detailed Summary\n${detailedSummary}`);
424
+ }
425
+ return `[Previous Conversation Summary]\n\n${sections.join('\n\n')}`;
426
+ }
427
+ createMicroLogSection(messages) {
428
+ const startTime = messages[0]?.timestamp || 0;
429
+ const endTime = messages[messages.length - 1]?.timestamp || Date.now();
430
+ const relevantLogs = this.microLog.filter(entry => {
431
+ const timestamp = entry.timestamp || 0;
432
+ return timestamp >= startTime && timestamp <= endTime;
433
+ });
434
+ if (relevantLogs.length === 0) {
435
+ return '';
436
+ }
437
+ return relevantLogs
438
+ .map(entry => `- ${entry.role}: ${entry.summary}`)
439
+ .join('\n');
440
+ }
441
+ createStructuredInfoSection() {
442
+ const parts = [];
443
+ if (this.extractedInfo.entities.size > 0) {
444
+ const entities = Array.from(this.extractedInfo.entities).slice(-20);
445
+ parts.push(`### Entities\n${entities.map(e => `- ${e}`).join('\n')}`);
446
+ }
447
+ if (this.extractedInfo.decisions.length > 0) {
448
+ const decisions = this.extractedInfo.decisions.slice(-10);
449
+ parts.push(`### Decisions\n${decisions.map(d => `- ${d}`).join('\n')}`);
450
+ }
451
+ if (this.extractedInfo.todos.length > 0) {
452
+ const todos = this.extractedInfo.todos.slice(-10);
453
+ parts.push(`### Pending Tasks\n${todos.map(t => `- ${t}`).join('\n')}`);
454
+ }
455
+ if (this.extractedInfo.tools.length > 0) {
456
+ parts.push(`### Tools Used\n${this.extractedInfo.tools.map(t => `- ${t.name}: ${t.purpose}`).join('\n')}`);
457
+ }
458
+ return parts.join('\n\n');
459
+ }
460
+ async createDetailedSummary(messages) {
461
+ let conversationText = '';
462
+ let tokenCount = 0;
463
+ const maxTokensForSummary = 2000;
464
+ for (const msg of messages) {
465
+ if (msg.type === 'message') {
466
+ const content = this.getMessageContent(msg);
467
+ const preview = content.substring(0, 500);
468
+ const msgText = `${msg.role.toUpperCase()}: ${preview}${content.length > 500 ? '...' : ''}\n\n`;
469
+ const msgTokens = this.estimateTextTokens(msgText);
470
+ if (tokenCount + msgTokens > maxTokensForSummary) {
471
+ break;
472
+ }
473
+ conversationText += msgText;
474
+ tokenCount += msgTokens;
475
+ }
476
+ else if (msg.type === 'function_call') {
477
+ const msgText = `TOOL: ${msg.name}()\n`;
478
+ conversationText += msgText;
479
+ tokenCount += this.estimateTextTokens(msgText);
480
+ }
481
+ }
482
+ if (!conversationText.trim()) {
483
+ return '';
484
+ }
485
+ try {
486
+ const { createSummary } = await import('./tool_result_processor.js');
487
+ const summaryPrompt = `Create a concise summary of this conversation, focusing on:
488
+ 1. Main objectives and goals
489
+ 2. Key decisions and outcomes
490
+ 3. Current status and context
491
+ 4. Any unresolved issues or next steps
492
+
493
+ Keep the summary focused and relevant for continuing the conversation.`;
494
+ return await createSummary(conversationText, summaryPrompt);
495
+ }
496
+ catch (error) {
497
+ console.error('Error creating AI summary:', error);
498
+ return '';
499
+ }
500
+ }
501
+ estimateTextTokens(text) {
502
+ return Math.ceil(text.length / 4);
503
+ }
153
504
  }
154
505
  //# sourceMappingURL=message_history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message_history.js","sourceRoot":"","sources":["../../utils/message_history.ts"],"names":[],"mappings":"AAiBA,MAAM,OAAO,cAAc;IACf,QAAQ,CAAgB;IACxB,OAAO,CAAwB;IAEvC,YACI,kBAAiC,EAAE,EACnC,UAAiC,EAAE;QAEnC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG;YACX,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,IAAI,IAAI;YAC9D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI;SACrD,CAAC;IACN,CAAC;IAKD,GAAG,CAAC,OAA0B;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAKD,OAAO,CAAC,QAAuB;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAKD,oBAAoB,CAChB,OAAe,EACf,eAAkC;QAGlC,IAAI,OAAO,IAAI,eAAe,EAAE,MAAM,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO,IAAI,EAAE;gBACtB,MAAM,EAAE,WAAW;aACtB,CAAC,CAAC;QACP,CAAC;QAGD,IAAI,eAAe,EAAE,CAAC;YAClB,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE;oBACxC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;oBAC5B,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS;iBACzC,CAAC,CAAC;gBAEH,IAAI,CAAC,GAAG,CAAC;oBACL,IAAI,EAAE,sBAAsB;oBAC5B,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE;oBACxC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;oBAC5B,MAAM,EAAE,cAAc,CAAC,MAAM;iBAChC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAKD,WAAW;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAKD,KAAK;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;IAKD,KAAK;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB;YACtD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CACnD;YACH,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;IACnC,CAAC;IAKO,IAAI;QACR,IACI,IAAI,CAAC,OAAO,CAAC,WAAW;YACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EACjD,CAAC;YACC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB;gBACtD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CACnD;gBACH,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CACtD,CAAC;YACF,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAC3C,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAC5B,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,eAAe,CAAC,CAAC;QAC5D,CAAC;QAGD,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAKO,gBAAgB;QACpB,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAG7B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACrD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,EAAE,CAAC;gBAGJ,MAAM,SAAS,GAAG,EAAE,CAAC;gBACrB,OACI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;oBACxB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe;wBACtC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC,EACvD,CAAC;oBACC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjC,CAAC,EAAE,CAAC;gBACR,CAAC;gBAGD,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,EAAE,CAAC;YACR,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,CAAC;IAKD,UAAU;QACN,MAAM,MAAM,GAAG;YACX,IAAI,EAAE,CAAC;YACP,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACjB,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAA2B,CAAC;gBAC7C,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACtC,MAAM,CAAC,SAAS,EAAE,CAAC;YACvB,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC7C,MAAM,CAAC,WAAW,EAAE,CAAC;YACzB,CAAC;QACL,CAAC;QAED,OAAO,aAAa,IAAI,CAAC,QAAQ,CAAC,MAAM,WAAW,MAAM,CAAC,IAAI,gBAAgB,MAAM,CAAC,SAAS,aAAa,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC;IAClL,CAAC;IAKD,QAAQ,CAAC,SAAgC;QACrC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAKD,yBAAyB;QACrB,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,cAAc,EAAE,CAAC;gBAElD,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACrD,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAEhD,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACrD,cAAc,GAAG,IAAI,CAAC;YAC1B,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
1
+ {"version":3,"file":"message_history.js","sourceRoot":"","sources":["../../utils/message_history.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool_result_processor.d.ts","sourceRoot":"","sources":["../../utils/tool_result_processor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAuC,MAAM,mBAAmB,CAAC;AAWlF,wBAAsB,aAAa,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAKD,wBAAsB,iBAAiB,CACnC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAKD,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACrB,OAAO,CAST;AAKD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ7D"}
1
+ {"version":3,"file":"tool_result_processor.d.ts","sourceRoot":"","sources":["../../utils/tool_result_processor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAuC,MAAM,mBAAmB,CAAC;AAUlF,wBAAsB,aAAa,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAKD,wBAAsB,iBAAiB,CACnC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAKD,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACrB,OAAO,CAST;AAKD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool_result_processor.js","sourceRoot":"","sources":["../../utils/tool_result_processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool_result_processor.js","sourceRoot":"","sources":["../../utils/tool_result_processor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@just-every/ensemble",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "LLM provider abstraction layer with unified streaming interface",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -39,7 +39,8 @@
39
39
  "test:watch": "vitest",
40
40
  "test:coverage": "vitest run --coverage",
41
41
  "lint": "eslint '**/*.{ts,tsx}'",
42
- "lint:fix": "eslint '**/*.{ts,tsx}' --fix"
42
+ "lint:fix": "eslint '**/*.{ts,tsx}' --fix",
43
+ "docs": "typedoc"
43
44
  },
44
45
  "exports": {
45
46
  ".": {
@@ -68,27 +69,29 @@
68
69
  }
69
70
  },
70
71
  "dependencies": {
71
- "@anthropic-ai/sdk": "^0.51.0",
72
- "@google/genai": "^0.12.0",
72
+ "@anthropic-ai/sdk": "^0.53.0",
73
+ "@google/genai": "^1.4.0",
73
74
  "dotenv": "^16.5.0",
74
- "openai": "^4.100.0",
75
- "sharp": "^0.32.0",
76
- "zod": "^3.25.42"
75
+ "openai": "^5.1.1",
76
+ "sharp": "^0.34.2",
77
+ "zod": "^3.25.51"
77
78
  },
78
79
  "devDependencies": {
79
- "@eslint/js": "^8.56.0",
80
- "@types/node": "^22.14.0",
81
- "@vitest/coverage-v8": "^3.1.4",
82
- "rimraf": "^5.0.0",
80
+ "@eslint/js": "^9.28.0",
81
+ "@types/node": "^22.15.29",
82
+ "@vitest/coverage-v8": "^3.2.2",
83
+ "rimraf": "^6.0.1",
83
84
  "typescript": "^5.8.3",
84
- "typescript-eslint": "^7.18.0",
85
- "vitest": "^3.1.4",
86
- "eslint": "^8.57.1",
85
+ "typescript-eslint": "^8.33.1",
86
+ "vitest": "^3.2.2",
87
+ "eslint": "^9.28.0",
87
88
  "eslint-config-prettier": "^10.1.5",
88
- "eslint-plugin-prettier": "^5.4.1"
89
+ "eslint-plugin-prettier": "^5.4.1",
90
+ "@types/uuid": "^10.0.0",
91
+ "typedoc": "^0.28.5"
89
92
  },
90
93
  "optionalDependencies": {
91
- "@rollup/rollup-linux-x64-gnu": "4.9.5"
94
+ "@rollup/rollup-linux-x64-gnu": "4.41.1"
92
95
  },
93
96
  "publishConfig": {
94
97
  "access": "public"