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":"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"}
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,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,oBAAoB,GAAG,YAAY,CAAC;IAC1F,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACzD,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;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;IAEf,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAWtD;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IAwBtE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM;IAkBpD;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,MAAM;IAI5D;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG;QAC9C,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC;KACjB;IAyHD;;;;;OAKG;IACG,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;QACvE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IA6IF;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,OAAO;IAK5D;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI;IAetF;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,MAAM,GAAG,IAAI;IAajE;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG;QACzC,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,OAAO,CAAC;QACrB,kBAAkB,EAAE,OAAO,CAAC;KAC7B;IAYD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IASzD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAUpD;IAEF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAM1C;IAEF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAKzC;IAEF;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,kBAAkB;IA0E5E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8C1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyCxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8C/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgCvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,UAAU;IA2BlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA6C/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;OAGG;IACG,kBAAkB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;QACjE,SAAS,EAAE,mBAAmB,EAAE,CAAC;QACjC,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IAgFF;;;OAGG;IACH,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG;QACxD,aAAa,EAAE,OAAO,CAAC;QACvB,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB;CAoBF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACzC,KAAK,CAAC,EAAE,MAAM,GACb,cAAc,CAqBhB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAwBhF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE;IAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAC3G,qBAAqB,CAgBvB"}
@@ -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":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AA+BhE;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA6BrB,CAAC;AA4BhB,MAAM,OAAO,cAAc;IACjB,MAAM,CAAuB;IAErC,YAAY,SAAwC,EAAE;QACpD,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,MAAM,EAAE,gCAAgC;YACnD,YAAY,EAAE,MAAM,EAAE,4BAA4B;YAClD,mBAAmB,EAAE,KAAK,EAAE,gCAAgC;YAC5D,sBAAsB,EAAE,EAAE,EAAE,wCAAwC;YACpE,sBAAsB,EAAE,CAAC;YACzB,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAAc,EAAE,QAAgB;QACjD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QAErC,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE,MAAM;gBACf,YAAY,EAAE,KAAK;gBACnB,cAAc;gBACd,eAAe,EAAE,cAAc;aAChC,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;QAEzC,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,IAAI;YAClB,cAAc;YACd,eAAe;SAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAc,EAAE,QAAgB;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAElD,yCAAyC;QACzC,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;QAED,2CAA2C;QAC3C,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;QAED,4DAA4D;QAC5D,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;QAED,iDAAiD;QACjD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAEO,kBAAkB,CAAC,MAAc,EAAE,SAAiB;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACxB,sCAAsC;YACtC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;QAED,kCAAkC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,iBAAiB;QAChE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAEtD,OAAO;YACL,GAAG,SAAS;YACZ,UAAU,cAAc,gDAAgD;YACxE,GAAG,SAAS;SACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,MAAc,EAAE,SAAiB;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,4BAA4B;QAE1E,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QAChD,OAAO;YACL,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;YAC5B,UAAU,cAAc,qDAAqD;SAC9E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAEO,kBAAkB,CAAC,MAAc,EAAE,SAAiB;QAC1D,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,+EAA+E;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa;QAC5D,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,eAAe;QAEhE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;QAE/D,OAAO,GAAG,MAAM,YAAY,cAAc,wDAAwD,MAAM,EAAE,CAAC;IAC7G,CAAC;IAEO,eAAe,CAAC,MAAc,EAAE,SAAiB;QACvD,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,qBAAqB;QAC7E,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC,YAAY,cAAc,mDAAmD,CAAC;IAC1H,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAA4B;QACzC,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QACtC,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtD,0BAA0B;YAC1B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACrC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC9B,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;YACrD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,QAA+B;QACjD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,QAA+B;QAI3C,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEvD,mCAAmC;QACnC,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC1C,CAAC;QAED,qCAAqC;QACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,YAAY,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE1E,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,WAAW,GAA0B,EAAE,CAAC;QAE5C,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1B,CAAC;gBACD,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACpC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1B,CAAC;gBACD,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,sDAAsD;gBACtD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,CAAC;QAED,uEAAuE;QACvE,MAAM,WAAW,GAA4B,EAAE,CAAC;QAChD,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEzC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE1B,mCAAmC;YACnC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,aAAa,EAAE,CAAC;gBAChB,IAAI,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;oBACxD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,mEAAmE;QACnE,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,OAAO,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBACvE,UAAU,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,2DAA2D;YAC3D,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChE,8DAA8D;oBAC9D,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC5D,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAA6B,CAAC,UAAU,CAAC,CAC7F,CAAC;oBACF,qDAAqD;oBACrD,uDAAuD;oBACvD,IAAI,UAAU,GAAG,IAAI,CAAC;oBACtB,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;wBAC7B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;4BAClC,UAAU,GAAG,KAAK,CAAC;4BACnB,MAAM;wBACR,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,UAAU,EAAE,CAAC;wBACb,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEjD,iCAAiC;QACjC,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAEzC,4BAA4B;QAC5B,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;QAED,uDAAuD;QACvD,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QACzE,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,6BAA6B,YAAY,oFAAoF;aACvI,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QAE/B,OAAO;YACL,MAAM;YACN,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,wBAAwB,CAAC,QAA+B;QAK5D,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEvD,mCAAmC;QACnC,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAC7D,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC5C,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC;QAED,qBAAqB;QACrB,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,YAAY,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE1E,mEAAmE;QACnE,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,WAAW,GAA0B,EAAE,CAAC;QAE5C,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1B,CAAC;gBACD,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACpC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1B,CAAC;gBACD,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,CAAC;QAED,oDAAoD;QACpD,MAAM,WAAW,GAA4B,EAAE,CAAC;QAChD,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEzC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE1B,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,aAAa,EAAE,CAAC;gBAChB,IAAI,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;oBACxD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,OAAO,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBACvE,UAAU,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChE,8DAA8D;oBAC9D,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC5D,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAA6B,CAAC,UAAU,CAAC,CAC7F,CAAC;oBACF,uDAAuD;oBACvD,IAAI,UAAU,GAAG,IAAI,CAAC;oBACtB,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;wBAC7B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;4BAClC,UAAU,GAAG,KAAK,CAAC;4BACnB,MAAM;wBACR,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,UAAU,EAAE,CAAC;wBACb,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAEzC,qCAAqC;QACrC,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;QACxC,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,aAAa,GAAG,UAAU,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QAE1C,wCAAwC;QACxC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC;YACH,yCAAyC;YACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAErE,yCAAyC;YACzC,MAAM,MAAM,GAA0B,EAAE,CAAC;YACzC,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7B,CAAC;YAED,0BAA0B;YAC1B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE;oBACP,0CAA0C;oBAC1C,OAAO,CAAC,IAAI,EAAE;oBACd,EAAE;oBACF,eAAe,WAAW,CAAC,MAAM,6BAA6B,cAAc,CAAC,MAAM,6BAA6B;iBACjH,CAAC,IAAI,CAAC,IAAI,CAAC;aACb,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YAE/B,OAAO;gBACL,MAAM;gBACN,OAAO,EAAE,WAAW,CAAC,MAAM;gBAC3B,UAAU,EAAE,IAAI;aACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sDAAsD;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC5C,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,QAA+B;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvD,OAAO,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,QAA+B;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;QAE/D,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;YACpB,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,QAA+B;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEpD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,8BAA8B,KAAK,CAAC,UAAU,mEAAmE,CAAC;QAC3H,CAAC;aAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,uBAAuB,KAAK,CAAC,UAAU,wCAAwC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAA+B;QAMtC,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;QAE3E,OAAO;YACL,WAAW;YACX,UAAU;YACV,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;YACjD,kBAAkB,EAAE,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY;SAC5D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAqC;QAChD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9C,CAAC;IAED,+EAA+E;IAC/E,gCAAgC;IAChC,mEAAmE;IACnE,+EAA+E;IAE/E;;OAEG;IACK,MAAM,CAAU,8BAA8B,GAAG;QACvD,wBAAwB;QACxB,iFAAiF;QACjF,4CAA4C;QAC5C,gDAAgD;QAChD,wBAAwB;QACxB,kDAAkD;QAClD,iCAAiC;QACjC,0BAA0B;QAC1B,8DAA8D;KAC/D,CAAC;IAEF;;OAEG;IACK,MAAM,CAAU,oBAAoB,GAAG;QAC7C,uFAAuF;QACvF,sFAAsF;QACtF,uCAAuC;QACvC,wDAAwD;QACxD,wEAAwE;KACzE,CAAC;IAEF;;OAEG;IACK,MAAM,CAAU,mBAAmB,GAAG;QAC5C,2DAA2D;QAC3D,qEAAqE;QACrE,2CAA2C;QAC3C,gDAAgD;KACjD,CAAC;IAEF;;OAEG;IACH,uBAAuB,CAAC,QAA+B;QACrD,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC5D,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,GAAG,CAAC;QACnE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,GAAG,CAAC;QAE7D,mCAAmC;QACnC,IAAI,eAAe,GAAG,mBAAmB,EAAE,CAAC;YAC1C,OAAO;gBACL,aAAa,EAAE,KAAK;gBACpB,OAAO,EAAE,EAAE;gBACX,0BAA0B,EAAE,IAAI;gBAChC,OAAO,EAAE,MAAM;gBACf,iBAAiB,EAAE,CAAC;aACrB,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,yBAAyB;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC/D,IAAI,YAAY,IAAI,YAAY,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;YAED,sBAAsB;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;YAED,qBAAqB;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;YAED,wDAAwD;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;YAED,oBAAoB;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YACzD,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAEvD,iCAAiC;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAElF,kEAAkE;QAClE,MAAM,iBAAiB,GAAG,gBAAgB,KAAK,IAAI;YACjD,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,QAAQ,CAAC;YACxD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEpB,OAAO;YACL,aAAa,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,MAAM;YACvD,OAAO;YACP,0BAA0B,EAAE,gBAAgB;YAC5C,OAAO;YACP,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,GAAwB,EACxB,KAAa,EACb,QAA+B;QAE/B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAEjE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB;YAC/C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC,CAAC,cAAc,CAAC,8BAA8B,CAAC;QAElD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAElC,4EAA4E;QAC5E,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,UAAU,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QAEvD,mDAAmD;QACnD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,gDAAgD;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC3E,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,UAAU;YACV,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,6BAA6B,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACtE,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,GAAwB,EACxB,KAAa,EACb,QAA+B;QAE/B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,GAAG,CAAC;QAE7D,gCAAgC;QAChC,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,oBAAoB,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,GAAG,GAAG,WAAW,GAAG,GAAG;oBACnC,YAAY,EAAE,KAAK;oBACnB,MAAM,EAAE,wCAAwC;iBACjD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,YAAY;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;aACxD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;aACzB,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;YACzD,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,GAAG,GAAG,WAAW,GAAG,GAAG;gBACnC,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,+BAA+B;aACxC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,GAAwB,EAAE,KAAa;QAC7D,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAElC,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,mBAAmB,EAAE,CAAC;YACzD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,IAAI,EAAE,YAAY;oBAClB,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,KAAK;oBACnB,MAAM,EAAE,sCAAsC;iBAC/C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC7B,GAAwB,EACxB,KAAa,EACb,QAA+B;QAE/B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAErC,iCAAiC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAEtD,sCAAsC;QACtC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtB,SAAS,EAAE,CAAC;gBACZ,aAAa,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,SAAS,IAAI,CAAC,IAAI,aAAa,GAAG,KAAK,EAAE,CAAC;YAC5C,iEAAiE;YACjE,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;oBACjC,aAAa,GAAG,CAAC,CAAC;gBACpB,CAAC;qBAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;oBACxC,MAAM,CAAC,4BAA4B;gBACrC,CAAC;YACH,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,EAAE,IAAI,CAAC;gBAClD,YAAY,EAAE,aAAa;gBAC3B,MAAM,EAAE,6BAA6B,SAAS,WAAW,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU;aACpG,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,GAAwB,EACxB,KAAa,EACb,SAAgC;QAEhC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAElC,gCAAgC;QAChC,MAAM,iBAAiB,GAAG;YACxB,uDAAuD;YACvD,uCAAuC;YACvC,yCAAyC;YACzC,0CAA0C;YAC1C,uCAAuC;SACxC,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACxC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE,GAAG;oBACf,YAAY,EAAE,KAAK;oBACnB,MAAM,EAAE,gCAAgC;iBACzC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAe;QACzC,MAAM,kBAAkB,GAAG;YACzB,kEAAkE;YAClE,2CAA2C;YAC3C,kDAAkD;YAClD,gEAAgE;SACjE,CAAC;QAEF,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,WAAmB,EAAE,UAAkB;QACxD,0CAA0C;QAC1C,MAAM,YAAY,GAAG,CAAC,IAAY,EAAe,EAAE;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE;iBAC7B,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;iBAC5B,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QAE1C,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAE9D,oBAAoB;QACpB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEvE,iCAAiC;QACjC,OAAO,YAAY,GAAG,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,eAAuB;QAC9C,IAAI,eAAe,IAAI,GAAG;YAAE,OAAO,UAAU,CAAC;QAC9C,IAAI,eAAe,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC;QAC3C,IAAI,eAAe,IAAI,GAAG;YAAE,OAAO,QAAQ,CAAC;QAC5C,IAAI,eAAe,IAAI,GAAG;YAAE,OAAO,KAAK,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC7B,OAA2B,EAC3B,QAA+B,EAC/B,OAAwD;QAExD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,0DAA0D;QAC1D,MAAM,YAAY,GAA6C;YAC7D,SAAS,EAAE,GAAG;YACd,aAAa,EAAE,GAAG;YAClB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,GAAG;YAChB,kBAAkB,EAAE,GAAG;SACxB,CAAC;QAEF,wDAAwD;QACxD,MAAM,YAAY,GAA2B;YAC3C,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,GAAG,EAAE,0BAA0B;YACpC,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,GAAG;SACd,CAAC;QAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAE9D,mDAAmD;QACnD,IAAI,UAAU,GAA4B,IAAI,CAAC;QAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,YAAY,GAAG,QAAQ;gBAAE,SAAS;YAE7C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;gBACtB,SAAS,GAAG,KAAK,CAAC;gBAClB,UAAU,GAAG,MAAM,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,UAAU,EAAE,YAAY,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,eAAuB,EAAE,QAA+B;QACpF,oEAAoE;QACpE,KAAK,IAAI,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,8BAA8B;YAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,OAAO,CAAC,CAAC;YACX,CAAC;YAED,uDAAuD;YACvD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBACvD,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAA+B;QAKtD,gCAAgC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAExD,iDAAiD;QACjD,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,0BAA0B,KAAK,IAAI,EAAE,CAAC;YAC5E,OAAO;gBACL,SAAS,EAAE,QAAQ;gBACnB,QAAQ;gBACR,UAAU,EAAE,KAAK;aAClB,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,YAAY,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAE9D,wCAAwC;QACxC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,SAAS,EAAE,QAAQ;gBACnB,QAAQ;gBACR,UAAU,EAAE,KAAK;aAClB,CAAC;QACJ,CAAC;QAED,eAAe;QACf,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,IAAI,aAAa,EAAE,CAAC;YAClB,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,KAAK,KAAK,EAAE,CAAC;YACnF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBAErE,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE;wBACP,qCAAqC;wBACrC,yBAAyB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,sBAAsB,EAAE;wBAChF,EAAE;wBACF,OAAO,CAAC,IAAI,EAAE;wBACd,EAAE;wBACF,eAAe,WAAW,CAAC,MAAM,cAAc,UAAU,CAAC,MAAM,8BAA8B;qBAC/F,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb,CAAC,CAAC;gBAEH,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBAE9B,OAAO;oBACL,SAAS;oBACT,QAAQ;oBACR,UAAU,EAAE,IAAI;iBACjB,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,6CAA6C,WAAW,CAAC,MAAM,iBAAiB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,eAAe,MAAM,UAAU,CAAC,MAAM,8BAA8B;SAC7L,CAAC,CAAC;QAEH,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAE9B,OAAO;YACL,SAAS;YACT,QAAQ;YACR,UAAU,EAAE,KAAK;SAClB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,uBAAuB,CAAC,QAA+B;QAKrD,IAAI,IAAI,CAAC,MAAM,CAAC,2BAA2B,KAAK,KAAK,EAAE,CAAC;YACtD,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAExD,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC5B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC3E,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO;aAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,kCAAkC;SAChE,CAAC;IACJ,CAAC;;AAGH;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAyC,EACzC,KAAc;IAEd,gCAAgC;IAChC,MAAM,UAAU,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAErD,OAAO,IAAI,cAAc,CAAC;QACxB,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,YAAY,EAAE,UAAU,CAAC,YAAY,EAAG,uBAAuB;QAC/D,aAAa,EAAE,UAAU,CAAC,aAAa,EAAG,cAAc;QACxD,cAAc,EAAE,UAAU,CAAC,cAAc,EAAG,kBAAkB;QAC9D,mBAAmB,EAAE,IAAI,EAAE,6CAA6C;QACxE,sBAAsB,EAAE,CAAC,EAAE,wBAAwB;QACnD,sBAAsB,EAAE,GAAG,EAAE,wEAAwE;QACrG,mBAAmB,EAAE,IAAI,EAAE,sCAAsC;QACjE,kCAAkC;QAClC,2BAA2B,EAAE,IAAI;QACjC,mBAAmB,EAAE,GAAG,EAAE,uCAAuC;QACjE,mBAAmB,EAAE,GAAG,EAAE,gDAAgD;QAC1E,qBAAqB,EAAE,GAAG,EAAE,wCAAwC;QACpE,KAAK;QACL,GAAG,SAAS;KACb,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAA+B;IACtE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACpC,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACnD,OAAO,IAAI,mBAAmB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACxD,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,+CAA+C;YAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;gBACrC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;gBACnC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,MAAM,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,wCAAwC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAA4G;IAE5G,OAAO,KAAK,EAAE,QAA+B,EAAmB,EAAE;QAChE,6CAA6C;QAC7C,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAE5D,8BAA8B;QAC9B,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAEhF,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CACtC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EACnC,EAAE,CACH,CAAC;QAEF,OAAO,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "erosolar-cli",
3
- "version": "1.5.12",
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",