erosolar-cli 1.5.12 → 1.5.13
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.
|
@@ -14,6 +14,25 @@ import type { ConversationMessage } from './types.js';
|
|
|
14
14
|
* Takes messages to summarize and returns a concise summary string
|
|
15
15
|
*/
|
|
16
16
|
export type SummarizationCallback = (messages: ConversationMessage[]) => Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Signals that indicate a good compaction point in the conversation
|
|
19
|
+
*/
|
|
20
|
+
export interface CompactionSignal {
|
|
21
|
+
type: 'task_boundary' | 'topic_shift' | 'milestone' | 'context_saturation' | 'user_pivot';
|
|
22
|
+
confidence: number;
|
|
23
|
+
messageIndex: number;
|
|
24
|
+
reason: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Result of intelligent compaction analysis
|
|
28
|
+
*/
|
|
29
|
+
export interface CompactionAnalysis {
|
|
30
|
+
shouldCompact: boolean;
|
|
31
|
+
signals: CompactionSignal[];
|
|
32
|
+
recommendedCompactionPoint: number | null;
|
|
33
|
+
urgency: 'none' | 'low' | 'medium' | 'high' | 'critical';
|
|
34
|
+
preserveFromIndex: number;
|
|
35
|
+
}
|
|
17
36
|
/**
|
|
18
37
|
* Summarization prompt template
|
|
19
38
|
*/
|
|
@@ -29,6 +48,11 @@ export interface ContextManagerConfig {
|
|
|
29
48
|
useLLMSummarization?: boolean;
|
|
30
49
|
summarizationCallback?: SummarizationCallback;
|
|
31
50
|
model?: string;
|
|
51
|
+
enableIntelligentCompaction?: boolean;
|
|
52
|
+
compactionThreshold?: number;
|
|
53
|
+
minSignalConfidence?: number;
|
|
54
|
+
taskBoundaryPatterns?: string[];
|
|
55
|
+
topicShiftSensitivity?: number;
|
|
32
56
|
}
|
|
33
57
|
export interface TruncationResult {
|
|
34
58
|
content: string;
|
|
@@ -106,6 +130,80 @@ export declare class ContextManager {
|
|
|
106
130
|
* Update configuration
|
|
107
131
|
*/
|
|
108
132
|
updateConfig(config: Partial<ContextManagerConfig>): void;
|
|
133
|
+
/**
|
|
134
|
+
* Default patterns that indicate task boundaries
|
|
135
|
+
*/
|
|
136
|
+
private static readonly DEFAULT_TASK_BOUNDARY_PATTERNS;
|
|
137
|
+
/**
|
|
138
|
+
* Patterns indicating topic/task shifts
|
|
139
|
+
*/
|
|
140
|
+
private static readonly TOPIC_SHIFT_PATTERNS;
|
|
141
|
+
/**
|
|
142
|
+
* Patterns indicating user pivots (abandoning current direction)
|
|
143
|
+
*/
|
|
144
|
+
private static readonly USER_PIVOT_PATTERNS;
|
|
145
|
+
/**
|
|
146
|
+
* Analyze the conversation to detect intelligent compaction points
|
|
147
|
+
*/
|
|
148
|
+
analyzeCompactionPoints(messages: ConversationMessage[]): CompactionAnalysis;
|
|
149
|
+
/**
|
|
150
|
+
* Detect task boundary signals
|
|
151
|
+
*/
|
|
152
|
+
private detectTaskBoundary;
|
|
153
|
+
/**
|
|
154
|
+
* Detect topic shift signals
|
|
155
|
+
*/
|
|
156
|
+
private detectTopicShift;
|
|
157
|
+
/**
|
|
158
|
+
* Detect user pivot signals (abandoning current direction)
|
|
159
|
+
*/
|
|
160
|
+
private detectUserPivot;
|
|
161
|
+
/**
|
|
162
|
+
* Detect context saturation (heavy tool output regions)
|
|
163
|
+
*/
|
|
164
|
+
private detectContextSaturation;
|
|
165
|
+
/**
|
|
166
|
+
* Detect milestone signals (significant accomplishments)
|
|
167
|
+
*/
|
|
168
|
+
private detectMilestone;
|
|
169
|
+
/**
|
|
170
|
+
* Check if content looks like a task conclusion
|
|
171
|
+
*/
|
|
172
|
+
private looksLikeConclusion;
|
|
173
|
+
/**
|
|
174
|
+
* Check if two contents represent different topics (simple heuristic)
|
|
175
|
+
*/
|
|
176
|
+
private isNewTopic;
|
|
177
|
+
/**
|
|
178
|
+
* Calculate urgency level based on token percentage
|
|
179
|
+
*/
|
|
180
|
+
private calculateUrgency;
|
|
181
|
+
/**
|
|
182
|
+
* Find the best compaction point from signals
|
|
183
|
+
*/
|
|
184
|
+
private findBestCompactionPoint;
|
|
185
|
+
/**
|
|
186
|
+
* Find a safe preservation point that doesn't break tool call chains
|
|
187
|
+
*/
|
|
188
|
+
private findSafePreservePoint;
|
|
189
|
+
/**
|
|
190
|
+
* Perform intelligent compaction based on analysis
|
|
191
|
+
* This method analyzes the conversation and compacts at the optimal point
|
|
192
|
+
*/
|
|
193
|
+
intelligentCompact(messages: ConversationMessage[]): Promise<{
|
|
194
|
+
compacted: ConversationMessage[];
|
|
195
|
+
analysis: CompactionAnalysis;
|
|
196
|
+
summarized: boolean;
|
|
197
|
+
}>;
|
|
198
|
+
/**
|
|
199
|
+
* Check if intelligent compaction should be triggered
|
|
200
|
+
* Call this before generation to proactively manage context
|
|
201
|
+
*/
|
|
202
|
+
shouldTriggerCompaction(messages: ConversationMessage[]): {
|
|
203
|
+
shouldCompact: boolean;
|
|
204
|
+
urgency: CompactionAnalysis['urgency'];
|
|
205
|
+
reason: string | null;
|
|
206
|
+
};
|
|
109
207
|
}
|
|
110
208
|
/**
|
|
111
209
|
* Create a default context manager instance with model-aware limits
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextManager.d.ts","sourceRoot":"","sources":["../../src/core/contextManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,QAAQ,EAAE,mBAAmB,EAAE,KAC5B,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB;;GAEG;AACH,eAAO,MAAM,oBAAoB,qhCA6BlB,CAAC;AAEhB,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"contextManager.d.ts","sourceRoot":"","sources":["../../src/core/contextManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -468,6 +468,471 @@ export class ContextManager {
|
|
|
468
468
|
updateConfig(config) {
|
|
469
469
|
this.config = { ...this.config, ...config };
|
|
470
470
|
}
|
|
471
|
+
// ============================================================================
|
|
472
|
+
// INTELLIGENT COMPACTION SYSTEM
|
|
473
|
+
// Automatically detects optimal points for conversation compaction
|
|
474
|
+
// ============================================================================
|
|
475
|
+
/**
|
|
476
|
+
* Default patterns that indicate task boundaries
|
|
477
|
+
*/
|
|
478
|
+
static DEFAULT_TASK_BOUNDARY_PATTERNS = [
|
|
479
|
+
// Completion indicators
|
|
480
|
+
/\b(done|completed|finished|fixed|resolved|implemented|added|created|updated)\b/i,
|
|
481
|
+
/\b(all\s+(?:tests?\s+)?pass(?:ing|ed)?)\b/i,
|
|
482
|
+
/\b(successfully|works?\s+(?:now|correctly))\b/i,
|
|
483
|
+
// Transition indicators
|
|
484
|
+
/\b(next|now\s+(?:let's|we\s+can)|moving\s+on)\b/i,
|
|
485
|
+
/\b(that's\s+(?:it|all|done))\b/i,
|
|
486
|
+
// Acknowledgment patterns
|
|
487
|
+
/^(?:great|perfect|thanks|thank\s+you|got\s+it|understood)\b/i,
|
|
488
|
+
];
|
|
489
|
+
/**
|
|
490
|
+
* Patterns indicating topic/task shifts
|
|
491
|
+
*/
|
|
492
|
+
static TOPIC_SHIFT_PATTERNS = [
|
|
493
|
+
/\b(different|another|new|separate|unrelated)\s+(?:task|thing|topic|issue|question)\b/i,
|
|
494
|
+
/\b(can\s+you|could\s+you|please|now|let's)\s+(?:also|help|do|make|create|fix|add)\b/i,
|
|
495
|
+
/\b(switching|changing|moving)\s+to\b/i,
|
|
496
|
+
/\b(forget|ignore|never\s*mind)\s+(?:that|the|about)\b/i,
|
|
497
|
+
/^(?:ok|okay|alright|anyway|so)\s*[,.]?\s*(?:can|could|now|let|please)/i,
|
|
498
|
+
];
|
|
499
|
+
/**
|
|
500
|
+
* Patterns indicating user pivots (abandoning current direction)
|
|
501
|
+
*/
|
|
502
|
+
static USER_PIVOT_PATTERNS = [
|
|
503
|
+
/\b(actually|wait|hold\s+on|stop|cancel|scratch\s+that)\b/i,
|
|
504
|
+
/\b(let's\s+(?:try|do)\s+(?:something|it)\s+(?:else|differently))\b/i,
|
|
505
|
+
/\b(go\s+back|revert|undo|start\s+over)\b/i,
|
|
506
|
+
/\b(wrong|not\s+(?:what|right)|that's\s+not)\b/i,
|
|
507
|
+
];
|
|
508
|
+
/**
|
|
509
|
+
* Analyze the conversation to detect intelligent compaction points
|
|
510
|
+
*/
|
|
511
|
+
analyzeCompactionPoints(messages) {
|
|
512
|
+
const signals = [];
|
|
513
|
+
const totalTokens = this.estimateTotalTokens(messages);
|
|
514
|
+
const tokenPercentage = totalTokens / this.config.maxTokens;
|
|
515
|
+
const compactionThreshold = this.config.compactionThreshold ?? 0.5;
|
|
516
|
+
const minConfidence = this.config.minSignalConfidence ?? 0.6;
|
|
517
|
+
// Don't analyze if below threshold
|
|
518
|
+
if (tokenPercentage < compactionThreshold) {
|
|
519
|
+
return {
|
|
520
|
+
shouldCompact: false,
|
|
521
|
+
signals: [],
|
|
522
|
+
recommendedCompactionPoint: null,
|
|
523
|
+
urgency: 'none',
|
|
524
|
+
preserveFromIndex: 0,
|
|
525
|
+
};
|
|
526
|
+
}
|
|
527
|
+
// Analyze each message for compaction signals
|
|
528
|
+
for (let i = 0; i < messages.length; i++) {
|
|
529
|
+
const msg = messages[i];
|
|
530
|
+
if (!msg)
|
|
531
|
+
continue;
|
|
532
|
+
// Detect task boundaries
|
|
533
|
+
const taskBoundary = this.detectTaskBoundary(msg, i, messages);
|
|
534
|
+
if (taskBoundary && taskBoundary.confidence >= minConfidence) {
|
|
535
|
+
signals.push(taskBoundary);
|
|
536
|
+
}
|
|
537
|
+
// Detect topic shifts
|
|
538
|
+
const topicShift = this.detectTopicShift(msg, i, messages);
|
|
539
|
+
if (topicShift && topicShift.confidence >= minConfidence) {
|
|
540
|
+
signals.push(topicShift);
|
|
541
|
+
}
|
|
542
|
+
// Detect user pivots
|
|
543
|
+
const userPivot = this.detectUserPivot(msg, i);
|
|
544
|
+
if (userPivot && userPivot.confidence >= minConfidence) {
|
|
545
|
+
signals.push(userPivot);
|
|
546
|
+
}
|
|
547
|
+
// Detect context saturation (tool output heavy regions)
|
|
548
|
+
const saturation = this.detectContextSaturation(msg, i, messages);
|
|
549
|
+
if (saturation && saturation.confidence >= minConfidence) {
|
|
550
|
+
signals.push(saturation);
|
|
551
|
+
}
|
|
552
|
+
// Detect milestones
|
|
553
|
+
const milestone = this.detectMilestone(msg, i, messages);
|
|
554
|
+
if (milestone && milestone.confidence >= minConfidence) {
|
|
555
|
+
signals.push(milestone);
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
// Determine urgency based on token percentage
|
|
559
|
+
const urgency = this.calculateUrgency(tokenPercentage);
|
|
560
|
+
// Find the best compaction point
|
|
561
|
+
const recommendedPoint = this.findBestCompactionPoint(signals, messages, urgency);
|
|
562
|
+
// Calculate preserve index (everything after this should be kept)
|
|
563
|
+
const preserveFromIndex = recommendedPoint !== null
|
|
564
|
+
? this.findSafePreservePoint(recommendedPoint, messages)
|
|
565
|
+
: messages.length;
|
|
566
|
+
return {
|
|
567
|
+
shouldCompact: signals.length > 0 && urgency !== 'none',
|
|
568
|
+
signals,
|
|
569
|
+
recommendedCompactionPoint: recommendedPoint,
|
|
570
|
+
urgency,
|
|
571
|
+
preserveFromIndex,
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* Detect task boundary signals
|
|
576
|
+
*/
|
|
577
|
+
detectTaskBoundary(msg, index, messages) {
|
|
578
|
+
if (msg.role !== 'user' && msg.role !== 'assistant')
|
|
579
|
+
return null;
|
|
580
|
+
const content = msg.content || '';
|
|
581
|
+
const patterns = this.config.taskBoundaryPatterns
|
|
582
|
+
? this.config.taskBoundaryPatterns.map(p => new RegExp(p, 'i'))
|
|
583
|
+
: ContextManager.DEFAULT_TASK_BOUNDARY_PATTERNS;
|
|
584
|
+
let matchCount = 0;
|
|
585
|
+
const reasons = [];
|
|
586
|
+
for (const pattern of patterns) {
|
|
587
|
+
if (pattern.test(content)) {
|
|
588
|
+
matchCount++;
|
|
589
|
+
reasons.push(pattern.source.slice(0, 30));
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
if (matchCount === 0)
|
|
593
|
+
return null;
|
|
594
|
+
// Higher confidence if followed by a new user message with different intent
|
|
595
|
+
let confidence = Math.min(0.4 + matchCount * 0.2, 0.9);
|
|
596
|
+
// Boost confidence if this looks like a conclusion
|
|
597
|
+
if (msg.role === 'assistant' && this.looksLikeConclusion(content)) {
|
|
598
|
+
confidence = Math.min(confidence + 0.2, 0.95);
|
|
599
|
+
}
|
|
600
|
+
// Boost if next user message starts a new topic
|
|
601
|
+
const nextUserMsg = messages.slice(index + 1).find(m => m.role === 'user');
|
|
602
|
+
if (nextUserMsg && this.isNewTopic(content, nextUserMsg.content || '')) {
|
|
603
|
+
confidence = Math.min(confidence + 0.15, 0.95);
|
|
604
|
+
}
|
|
605
|
+
return {
|
|
606
|
+
type: 'task_boundary',
|
|
607
|
+
confidence,
|
|
608
|
+
messageIndex: index,
|
|
609
|
+
reason: `Task completion detected: ${reasons.slice(0, 2).join(', ')}`,
|
|
610
|
+
};
|
|
611
|
+
}
|
|
612
|
+
/**
|
|
613
|
+
* Detect topic shift signals
|
|
614
|
+
*/
|
|
615
|
+
detectTopicShift(msg, index, messages) {
|
|
616
|
+
if (msg.role !== 'user')
|
|
617
|
+
return null;
|
|
618
|
+
const content = msg.content || '';
|
|
619
|
+
const sensitivity = this.config.topicShiftSensitivity ?? 0.7;
|
|
620
|
+
// Check explicit shift patterns
|
|
621
|
+
for (const pattern of ContextManager.TOPIC_SHIFT_PATTERNS) {
|
|
622
|
+
if (pattern.test(content)) {
|
|
623
|
+
return {
|
|
624
|
+
type: 'topic_shift',
|
|
625
|
+
confidence: 0.7 + sensitivity * 0.2,
|
|
626
|
+
messageIndex: index,
|
|
627
|
+
reason: 'Explicit topic shift language detected',
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
// Check semantic shift from previous context
|
|
632
|
+
const prevMessages = messages.slice(Math.max(0, index - 5), index);
|
|
633
|
+
const prevContent = prevMessages
|
|
634
|
+
.filter(m => m.role === 'user' || m.role === 'assistant')
|
|
635
|
+
.map(m => m.content || '')
|
|
636
|
+
.join(' ');
|
|
637
|
+
if (prevContent && this.isNewTopic(prevContent, content)) {
|
|
638
|
+
return {
|
|
639
|
+
type: 'topic_shift',
|
|
640
|
+
confidence: 0.6 + sensitivity * 0.2,
|
|
641
|
+
messageIndex: index,
|
|
642
|
+
reason: 'Semantic topic shift detected',
|
|
643
|
+
};
|
|
644
|
+
}
|
|
645
|
+
return null;
|
|
646
|
+
}
|
|
647
|
+
/**
|
|
648
|
+
* Detect user pivot signals (abandoning current direction)
|
|
649
|
+
*/
|
|
650
|
+
detectUserPivot(msg, index) {
|
|
651
|
+
if (msg.role !== 'user')
|
|
652
|
+
return null;
|
|
653
|
+
const content = msg.content || '';
|
|
654
|
+
for (const pattern of ContextManager.USER_PIVOT_PATTERNS) {
|
|
655
|
+
if (pattern.test(content)) {
|
|
656
|
+
return {
|
|
657
|
+
type: 'user_pivot',
|
|
658
|
+
confidence: 0.85,
|
|
659
|
+
messageIndex: index,
|
|
660
|
+
reason: 'User pivot/direction change detected',
|
|
661
|
+
};
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
return null;
|
|
665
|
+
}
|
|
666
|
+
/**
|
|
667
|
+
* Detect context saturation (heavy tool output regions)
|
|
668
|
+
*/
|
|
669
|
+
detectContextSaturation(msg, index, messages) {
|
|
670
|
+
if (msg.role !== 'tool')
|
|
671
|
+
return null;
|
|
672
|
+
// Look at the surrounding region
|
|
673
|
+
const windowStart = Math.max(0, index - 10);
|
|
674
|
+
const windowEnd = Math.min(messages.length, index + 5);
|
|
675
|
+
const window = messages.slice(windowStart, windowEnd);
|
|
676
|
+
// Count tool messages and their sizes
|
|
677
|
+
let toolCount = 0;
|
|
678
|
+
let totalToolSize = 0;
|
|
679
|
+
for (const m of window) {
|
|
680
|
+
if (m.role === 'tool') {
|
|
681
|
+
toolCount++;
|
|
682
|
+
totalToolSize += (m.content || '').length;
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
// High saturation if many tool outputs with large content
|
|
686
|
+
if (toolCount >= 5 && totalToolSize > 20000) {
|
|
687
|
+
// Find the last tool message in this cluster as compaction point
|
|
688
|
+
let lastToolIndex = index;
|
|
689
|
+
for (let i = index + 1; i < windowEnd; i++) {
|
|
690
|
+
if (messages[i]?.role === 'tool') {
|
|
691
|
+
lastToolIndex = i;
|
|
692
|
+
}
|
|
693
|
+
else if (messages[i]?.role === 'user') {
|
|
694
|
+
break; // Stop at next user message
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
return {
|
|
698
|
+
type: 'context_saturation',
|
|
699
|
+
confidence: Math.min(0.5 + toolCount * 0.05, 0.85),
|
|
700
|
+
messageIndex: lastToolIndex,
|
|
701
|
+
reason: `Heavy tool output region (${toolCount} tools, ${Math.round(totalToolSize / 1000)}k chars)`,
|
|
702
|
+
};
|
|
703
|
+
}
|
|
704
|
+
return null;
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* Detect milestone signals (significant accomplishments)
|
|
708
|
+
*/
|
|
709
|
+
detectMilestone(msg, index, _messages) {
|
|
710
|
+
if (msg.role !== 'assistant')
|
|
711
|
+
return null;
|
|
712
|
+
const content = msg.content || '';
|
|
713
|
+
// Look for milestone indicators
|
|
714
|
+
const milestonePatterns = [
|
|
715
|
+
/\b(commit(?:ted)?|pushed|deployed|merged|released)\b/i,
|
|
716
|
+
/\b(all\s+tests?\s+pass(?:ing|ed)?)\b/i,
|
|
717
|
+
/\b(build\s+(?:succeed|success|pass))\b/i,
|
|
718
|
+
/\b(feature\s+(?:complete|done|ready))\b/i,
|
|
719
|
+
/\b(pr\s+(?:created|opened|merged))\b/i,
|
|
720
|
+
];
|
|
721
|
+
for (const pattern of milestonePatterns) {
|
|
722
|
+
if (pattern.test(content)) {
|
|
723
|
+
return {
|
|
724
|
+
type: 'milestone',
|
|
725
|
+
confidence: 0.9,
|
|
726
|
+
messageIndex: index,
|
|
727
|
+
reason: 'Significant milestone achieved',
|
|
728
|
+
};
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
return null;
|
|
732
|
+
}
|
|
733
|
+
/**
|
|
734
|
+
* Check if content looks like a task conclusion
|
|
735
|
+
*/
|
|
736
|
+
looksLikeConclusion(content) {
|
|
737
|
+
const conclusionPatterns = [
|
|
738
|
+
/\b(let\s+me\s+know|feel\s+free|if\s+you\s+(?:need|have|want))\b/i,
|
|
739
|
+
/\b(anything\s+else|other\s+questions?)\b/i,
|
|
740
|
+
/\b(should\s+be\s+(?:good|working|ready|done))\b/i,
|
|
741
|
+
/\b(that\s+should|this\s+(?:should|will))\s+(?:fix|solve|work)/i,
|
|
742
|
+
];
|
|
743
|
+
return conclusionPatterns.some(p => p.test(content));
|
|
744
|
+
}
|
|
745
|
+
/**
|
|
746
|
+
* Check if two contents represent different topics (simple heuristic)
|
|
747
|
+
*/
|
|
748
|
+
isNewTopic(prevContent, newContent) {
|
|
749
|
+
// Extract key terms (simple tokenization)
|
|
750
|
+
const extractTerms = (text) => {
|
|
751
|
+
const words = text.toLowerCase()
|
|
752
|
+
.replace(/[^a-z0-9\s]/g, ' ')
|
|
753
|
+
.split(/\s+/)
|
|
754
|
+
.filter(w => w.length > 3);
|
|
755
|
+
return new Set(words);
|
|
756
|
+
};
|
|
757
|
+
const prevTerms = extractTerms(prevContent);
|
|
758
|
+
const newTerms = extractTerms(newContent);
|
|
759
|
+
if (prevTerms.size === 0 || newTerms.size === 0)
|
|
760
|
+
return false;
|
|
761
|
+
// Calculate overlap
|
|
762
|
+
let overlap = 0;
|
|
763
|
+
for (const term of newTerms) {
|
|
764
|
+
if (prevTerms.has(term))
|
|
765
|
+
overlap++;
|
|
766
|
+
}
|
|
767
|
+
const overlapRatio = overlap / Math.min(prevTerms.size, newTerms.size);
|
|
768
|
+
// Low overlap suggests new topic
|
|
769
|
+
return overlapRatio < 0.2;
|
|
770
|
+
}
|
|
771
|
+
/**
|
|
772
|
+
* Calculate urgency level based on token percentage
|
|
773
|
+
*/
|
|
774
|
+
calculateUrgency(tokenPercentage) {
|
|
775
|
+
if (tokenPercentage >= 0.9)
|
|
776
|
+
return 'critical';
|
|
777
|
+
if (tokenPercentage >= 0.75)
|
|
778
|
+
return 'high';
|
|
779
|
+
if (tokenPercentage >= 0.6)
|
|
780
|
+
return 'medium';
|
|
781
|
+
if (tokenPercentage >= 0.5)
|
|
782
|
+
return 'low';
|
|
783
|
+
return 'none';
|
|
784
|
+
}
|
|
785
|
+
/**
|
|
786
|
+
* Find the best compaction point from signals
|
|
787
|
+
*/
|
|
788
|
+
findBestCompactionPoint(signals, messages, urgency) {
|
|
789
|
+
if (signals.length === 0)
|
|
790
|
+
return null;
|
|
791
|
+
// Score each signal based on type priority and confidence
|
|
792
|
+
const typePriority = {
|
|
793
|
+
milestone: 1.0,
|
|
794
|
+
task_boundary: 0.9,
|
|
795
|
+
user_pivot: 0.85,
|
|
796
|
+
topic_shift: 0.8,
|
|
797
|
+
context_saturation: 0.7,
|
|
798
|
+
};
|
|
799
|
+
// Urgency affects how far back we're willing to compact
|
|
800
|
+
const urgencyDepth = {
|
|
801
|
+
none: 0,
|
|
802
|
+
low: 0.3, // Compact only recent 30%
|
|
803
|
+
medium: 0.5,
|
|
804
|
+
high: 0.7,
|
|
805
|
+
critical: 0.9,
|
|
806
|
+
};
|
|
807
|
+
const maxDepth = urgencyDepth[urgency] ?? 0.5;
|
|
808
|
+
const minIndex = Math.floor(messages.length * (1 - maxDepth));
|
|
809
|
+
// Find highest scoring signal within allowed depth
|
|
810
|
+
let bestSignal = null;
|
|
811
|
+
let bestScore = 0;
|
|
812
|
+
for (const signal of signals) {
|
|
813
|
+
if (signal.messageIndex < minIndex)
|
|
814
|
+
continue;
|
|
815
|
+
const score = signal.confidence * typePriority[signal.type];
|
|
816
|
+
if (score > bestScore) {
|
|
817
|
+
bestScore = score;
|
|
818
|
+
bestSignal = signal;
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
return bestSignal?.messageIndex ?? null;
|
|
822
|
+
}
|
|
823
|
+
/**
|
|
824
|
+
* Find a safe preservation point that doesn't break tool call chains
|
|
825
|
+
*/
|
|
826
|
+
findSafePreservePoint(compactionPoint, messages) {
|
|
827
|
+
// Start from compaction point and move forward to find a safe break
|
|
828
|
+
for (let i = compactionPoint + 1; i < messages.length; i++) {
|
|
829
|
+
const msg = messages[i];
|
|
830
|
+
if (!msg)
|
|
831
|
+
continue;
|
|
832
|
+
// Safe if it's a user message
|
|
833
|
+
if (msg.role === 'user') {
|
|
834
|
+
return i;
|
|
835
|
+
}
|
|
836
|
+
// Safe if it's an assistant without pending tool calls
|
|
837
|
+
if (msg.role === 'assistant' && !msg.toolCalls?.length) {
|
|
838
|
+
return i;
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
// If no safe point found, keep more messages
|
|
842
|
+
return Math.min(compactionPoint + 1, messages.length);
|
|
843
|
+
}
|
|
844
|
+
/**
|
|
845
|
+
* Perform intelligent compaction based on analysis
|
|
846
|
+
* This method analyzes the conversation and compacts at the optimal point
|
|
847
|
+
*/
|
|
848
|
+
async intelligentCompact(messages) {
|
|
849
|
+
// Analyze for compaction points
|
|
850
|
+
const analysis = this.analyzeCompactionPoints(messages);
|
|
851
|
+
// If no compaction needed or no good point found
|
|
852
|
+
if (!analysis.shouldCompact || analysis.recommendedCompactionPoint === null) {
|
|
853
|
+
return {
|
|
854
|
+
compacted: messages,
|
|
855
|
+
analysis,
|
|
856
|
+
summarized: false,
|
|
857
|
+
};
|
|
858
|
+
}
|
|
859
|
+
// Separate messages to summarize and preserve
|
|
860
|
+
const firstMessage = messages[0];
|
|
861
|
+
const systemMessage = firstMessage?.role === 'system' ? firstMessage : null;
|
|
862
|
+
const startIndex = systemMessage ? 1 : 0;
|
|
863
|
+
const toSummarize = messages.slice(startIndex, analysis.preserveFromIndex);
|
|
864
|
+
const toPreserve = messages.slice(analysis.preserveFromIndex);
|
|
865
|
+
// If nothing to summarize, return as-is
|
|
866
|
+
if (toSummarize.length === 0) {
|
|
867
|
+
return {
|
|
868
|
+
compacted: messages,
|
|
869
|
+
analysis,
|
|
870
|
+
summarized: false,
|
|
871
|
+
};
|
|
872
|
+
}
|
|
873
|
+
// Build result
|
|
874
|
+
const compacted = [];
|
|
875
|
+
if (systemMessage) {
|
|
876
|
+
compacted.push(systemMessage);
|
|
877
|
+
}
|
|
878
|
+
// Try LLM summarization if available
|
|
879
|
+
if (this.config.summarizationCallback && this.config.useLLMSummarization !== false) {
|
|
880
|
+
try {
|
|
881
|
+
const summary = await this.config.summarizationCallback(toSummarize);
|
|
882
|
+
compacted.push({
|
|
883
|
+
role: 'system',
|
|
884
|
+
content: [
|
|
885
|
+
'=== Intelligent Context Summary ===',
|
|
886
|
+
`Compaction triggered: ${analysis.signals[0]?.reason || 'Context optimization'}`,
|
|
887
|
+
'',
|
|
888
|
+
summary.trim(),
|
|
889
|
+
'',
|
|
890
|
+
`[Summarized ${toSummarize.length} messages. ${toPreserve.length} recent messages preserved.]`,
|
|
891
|
+
].join('\n'),
|
|
892
|
+
});
|
|
893
|
+
compacted.push(...toPreserve);
|
|
894
|
+
return {
|
|
895
|
+
compacted,
|
|
896
|
+
analysis,
|
|
897
|
+
summarized: true,
|
|
898
|
+
};
|
|
899
|
+
}
|
|
900
|
+
catch {
|
|
901
|
+
// Fall through to simple compaction
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
// Simple compaction without LLM
|
|
905
|
+
compacted.push({
|
|
906
|
+
role: 'system',
|
|
907
|
+
content: `[Context Manager: Intelligently compacted ${toSummarize.length} messages at "${analysis.signals[0]?.reason || 'optimal point'}". ${toPreserve.length} recent messages preserved.]`,
|
|
908
|
+
});
|
|
909
|
+
compacted.push(...toPreserve);
|
|
910
|
+
return {
|
|
911
|
+
compacted,
|
|
912
|
+
analysis,
|
|
913
|
+
summarized: false,
|
|
914
|
+
};
|
|
915
|
+
}
|
|
916
|
+
/**
|
|
917
|
+
* Check if intelligent compaction should be triggered
|
|
918
|
+
* Call this before generation to proactively manage context
|
|
919
|
+
*/
|
|
920
|
+
shouldTriggerCompaction(messages) {
|
|
921
|
+
if (this.config.enableIntelligentCompaction === false) {
|
|
922
|
+
return { shouldCompact: false, urgency: 'none', reason: null };
|
|
923
|
+
}
|
|
924
|
+
const analysis = this.analyzeCompactionPoints(messages);
|
|
925
|
+
if (!analysis.shouldCompact) {
|
|
926
|
+
return { shouldCompact: false, urgency: analysis.urgency, reason: null };
|
|
927
|
+
}
|
|
928
|
+
const topSignal = analysis.signals
|
|
929
|
+
.sort((a, b) => b.confidence - a.confidence)[0];
|
|
930
|
+
return {
|
|
931
|
+
shouldCompact: true,
|
|
932
|
+
urgency: analysis.urgency,
|
|
933
|
+
reason: topSignal?.reason || 'Context optimization recommended',
|
|
934
|
+
};
|
|
935
|
+
}
|
|
471
936
|
}
|
|
472
937
|
/**
|
|
473
938
|
* Create a default context manager instance with model-aware limits
|
|
@@ -484,6 +949,11 @@ export function createDefaultContextManager(overrides, model) {
|
|
|
484
949
|
preserveRecentMessages: 5, // Keep last 5 exchanges
|
|
485
950
|
estimatedCharsPerToken: 3.5, // More aggressive estimate (accounts for special tokens, JSON overhead)
|
|
486
951
|
useLLMSummarization: true, // Enable LLM summarization by default
|
|
952
|
+
// Intelligent compaction defaults
|
|
953
|
+
enableIntelligentCompaction: true,
|
|
954
|
+
compactionThreshold: 0.5, // Start analyzing at 50% context usage
|
|
955
|
+
minSignalConfidence: 0.6, // Require 60% confidence for compaction signals
|
|
956
|
+
topicShiftSensitivity: 0.7, // Moderately sensitive to topic changes
|
|
487
957
|
model,
|
|
488
958
|
...overrides,
|
|
489
959
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextManager.js","sourceRoot":"","sources":["../../src/core/contextManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contextManager.js","sourceRoot":"","sources":["../../src/core/contextManager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "erosolar-cli",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.13",
|
|
4
4
|
"description": "Unified AI agent framework for the command line - Multi-provider support with schema-driven tools, code intelligence, and transparent reasoning",
|
|
5
5
|
"main": "dist/bin/erosolar-optimized.js",
|
|
6
6
|
"type": "module",
|