dino-spec 13.6.0 → 14.0.1

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.
Files changed (88) hide show
  1. package/bin/dino-hud.js +1 -1
  2. package/bin/dino.js +1 -1
  3. package/dist/core/agents/context-isolation.js +26 -26
  4. package/dist/core/context/__tests__/budget-thresholds.test.d.ts +5 -0
  5. package/dist/core/context/__tests__/budget-thresholds.test.d.ts.map +1 -0
  6. package/dist/core/context/__tests__/budget-thresholds.test.js +223 -0
  7. package/dist/core/context/__tests__/budget-thresholds.test.js.map +1 -0
  8. package/dist/core/context/__tests__/compaction-engine.test.d.ts +5 -0
  9. package/dist/core/context/__tests__/compaction-engine.test.d.ts.map +1 -0
  10. package/dist/core/context/__tests__/compaction-engine.test.js +474 -0
  11. package/dist/core/context/__tests__/compaction-engine.test.js.map +1 -0
  12. package/dist/core/context/__tests__/output-persistence.test.d.ts +5 -0
  13. package/dist/core/context/__tests__/output-persistence.test.d.ts.map +1 -0
  14. package/dist/core/context/__tests__/output-persistence.test.js +246 -0
  15. package/dist/core/context/__tests__/output-persistence.test.js.map +1 -0
  16. package/dist/core/context/budget-thresholds.d.ts +167 -0
  17. package/dist/core/context/budget-thresholds.d.ts.map +1 -0
  18. package/dist/core/context/budget-thresholds.js +234 -0
  19. package/dist/core/context/budget-thresholds.js.map +1 -0
  20. package/dist/core/context/compaction-engine.d.ts +193 -0
  21. package/dist/core/context/compaction-engine.d.ts.map +1 -0
  22. package/dist/core/context/compaction-engine.js +376 -0
  23. package/dist/core/context/compaction-engine.js.map +1 -0
  24. package/dist/core/context/index.d.ts +7 -3
  25. package/dist/core/context/index.d.ts.map +1 -1
  26. package/dist/core/context/index.js +22 -3
  27. package/dist/core/context/index.js.map +1 -1
  28. package/dist/core/context/output-persistence.d.ts +142 -0
  29. package/dist/core/context/output-persistence.d.ts.map +1 -0
  30. package/dist/core/context/output-persistence.js +242 -0
  31. package/dist/core/context/output-persistence.js.map +1 -0
  32. package/dist/core/environment/__tests__/pre-verify.test.d.ts +5 -0
  33. package/dist/core/environment/__tests__/pre-verify.test.d.ts.map +1 -0
  34. package/dist/core/environment/__tests__/pre-verify.test.js +343 -0
  35. package/dist/core/environment/__tests__/pre-verify.test.js.map +1 -0
  36. package/dist/core/environment/index.d.ts +8 -0
  37. package/dist/core/environment/index.d.ts.map +1 -0
  38. package/dist/core/environment/index.js +7 -0
  39. package/dist/core/environment/index.js.map +1 -0
  40. package/dist/core/environment/pre-verify.d.ts +63 -0
  41. package/dist/core/environment/pre-verify.d.ts.map +1 -0
  42. package/dist/core/environment/pre-verify.js +221 -0
  43. package/dist/core/environment/pre-verify.js.map +1 -0
  44. package/dist/core/environment/types.d.ts +37 -0
  45. package/dist/core/environment/types.d.ts.map +1 -0
  46. package/dist/core/environment/types.js +5 -0
  47. package/dist/core/environment/types.js.map +1 -0
  48. package/dist/core/intelligence/context-budget.d.ts +10 -5
  49. package/dist/core/intelligence/context-budget.d.ts.map +1 -1
  50. package/dist/core/intelligence/context-budget.js +12 -5
  51. package/dist/core/intelligence/context-budget.js.map +1 -1
  52. package/dist/mcp/__tests__/dynamic-updates.test.d.ts +5 -0
  53. package/dist/mcp/__tests__/dynamic-updates.test.d.ts.map +1 -0
  54. package/dist/mcp/__tests__/dynamic-updates.test.js +314 -0
  55. package/dist/mcp/__tests__/dynamic-updates.test.js.map +1 -0
  56. package/dist/mcp/dynamic-updates.d.ts +167 -0
  57. package/dist/mcp/dynamic-updates.d.ts.map +1 -0
  58. package/dist/mcp/dynamic-updates.js +313 -0
  59. package/dist/mcp/dynamic-updates.js.map +1 -0
  60. package/dist/mcp/index.d.ts +4 -2
  61. package/dist/mcp/index.d.ts.map +1 -1
  62. package/dist/mcp/index.js +5 -2
  63. package/dist/mcp/index.js.map +1 -1
  64. package/dist/mcp/registry.d.ts +4 -4
  65. package/dist/mcp/registry.d.ts.map +1 -1
  66. package/dist/mcp/registry.js +16 -16
  67. package/dist/mcp/registry.js.map +1 -1
  68. package/dist/mcp/tools/__tests__/environment.test.d.ts +5 -0
  69. package/dist/mcp/tools/__tests__/environment.test.d.ts.map +1 -0
  70. package/dist/mcp/tools/__tests__/environment.test.js +219 -0
  71. package/dist/mcp/tools/__tests__/environment.test.js.map +1 -0
  72. package/dist/mcp/tools/environment.d.ts +27 -0
  73. package/dist/mcp/tools/environment.d.ts.map +1 -0
  74. package/dist/mcp/tools/environment.js +97 -0
  75. package/dist/mcp/tools/environment.js.map +1 -0
  76. package/dist/mcp/tools/index.d.ts +3 -1
  77. package/dist/mcp/tools/index.d.ts.map +1 -1
  78. package/dist/mcp/tools/index.js +13 -1
  79. package/dist/mcp/tools/index.js.map +1 -1
  80. package/dist/mcp/tools/output-persistence.d.ts +44 -0
  81. package/dist/mcp/tools/output-persistence.d.ts.map +1 -0
  82. package/dist/mcp/tools/output-persistence.js +208 -0
  83. package/dist/mcp/tools/output-persistence.js.map +1 -0
  84. package/dist/mcp-server.d.ts +2 -1
  85. package/dist/mcp-server.d.ts.map +1 -1
  86. package/dist/mcp-server.js +27 -2
  87. package/dist/mcp-server.js.map +1 -1
  88. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget-thresholds.js","sourceRoot":"","sources":["../../../src/core/context/budget-thresholds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Auto Compaction Engine - v14.0.0
3
+ *
4
+ * Automatic context compaction that triggers when context usage
5
+ * exceeds configurable thresholds. Extracts decisions, blockers,
6
+ * and progress to structured format for persistence.
7
+ *
8
+ * Features:
9
+ * - Configurable auto-compact threshold (default: 75%)
10
+ * - Integration with ContextBudgetTracker
11
+ * - Structured JSON output preserving decisions/learnings
12
+ * - CLI command support: dino compact --auto
13
+ *
14
+ * Reference: Anthropic context engineering best practices
15
+ */
16
+ import { type CompactionResult, type SessionSection } from '../intelligence/session-compactor.js';
17
+ /**
18
+ * Decision extracted from session
19
+ */
20
+ export interface ExtractedDecision {
21
+ /** Decision text */
22
+ text: string;
23
+ /** Topic/area the decision relates to */
24
+ topic: string;
25
+ /** What was chosen */
26
+ choice: string;
27
+ /** Why it was chosen */
28
+ rationale?: string;
29
+ /** When the decision was made */
30
+ timestamp?: string;
31
+ /** Type of decision */
32
+ type: 'decision' | 'choice' | 'approach';
33
+ }
34
+ /**
35
+ * Blocker extracted from session
36
+ */
37
+ export interface ExtractedBlocker {
38
+ /** Blocker text */
39
+ text: string;
40
+ /** When the blocker was added */
41
+ addedAt?: string;
42
+ /** Current status */
43
+ status: 'active' | 'resolved';
44
+ }
45
+ /**
46
+ * Progress entry extracted from session
47
+ */
48
+ export interface ExtractedProgress {
49
+ /** Progress signal text */
50
+ text: string;
51
+ /** Signal type */
52
+ type: string;
53
+ /** When it occurred */
54
+ timestamp: string;
55
+ }
56
+ /**
57
+ * Structured compaction output
58
+ */
59
+ export interface StructuredCompaction {
60
+ /** Extracted decisions */
61
+ decisions: ExtractedDecision[];
62
+ /** Extracted blockers */
63
+ blockers: ExtractedBlocker[];
64
+ /** Extracted progress signals */
65
+ progress: ExtractedProgress[];
66
+ /** When compaction occurred */
67
+ timestamp: string;
68
+ /** Session identifier */
69
+ sessionId: string;
70
+ /** Original token count */
71
+ originalTokens: number;
72
+ /** Tokens recovered by compaction */
73
+ tokensRecovered: number;
74
+ }
75
+ /**
76
+ * Compaction engine result
77
+ */
78
+ export interface CompactionEngineResult {
79
+ /** Whether compaction was triggered */
80
+ triggered: boolean;
81
+ /** Whether compaction was executed */
82
+ executed: boolean;
83
+ /** Reason for trigger or skip */
84
+ reason: string;
85
+ /** Structured compaction data (if executed) */
86
+ structuredOutput?: StructuredCompaction;
87
+ /** Compaction result from session-compactor (if executed) */
88
+ compactionResult?: CompactionResult;
89
+ /** Output file path (if persisted) */
90
+ outputPath?: string;
91
+ /** Current context usage percentage */
92
+ usagePercent: number;
93
+ /** Current token count */
94
+ currentTokens: number;
95
+ /** Effective limit */
96
+ limit: number;
97
+ }
98
+ /**
99
+ * Compaction engine options
100
+ */
101
+ export interface CompactionEngineOptions {
102
+ /** Threshold for auto-compaction (0-1, default: 0.75) */
103
+ threshold?: number;
104
+ /** Token limit to use */
105
+ limit?: number;
106
+ /** Force compaction regardless of threshold */
107
+ force?: boolean;
108
+ /** Project directory */
109
+ projectDir?: string;
110
+ /** Whether to persist structured output */
111
+ persistOutput?: boolean;
112
+ /** Custom session ID */
113
+ sessionId?: string;
114
+ /** Skip actual compaction (dry run) */
115
+ dryRun?: boolean;
116
+ }
117
+ /**
118
+ * Default auto-compact threshold (75%)
119
+ * Lower than warning threshold to provide headroom
120
+ */
121
+ export declare const AUTO_COMPACT_THRESHOLD = 0.75;
122
+ /**
123
+ * Directory for compacted outputs
124
+ */
125
+ export declare const COMPACT_OUTPUT_DIR = ".dino/compacted";
126
+ /**
127
+ * Feature flag for auto-compaction
128
+ */
129
+ export declare const AUTO_COMPACT_FEATURE_FLAG = "enableAutoCompaction";
130
+ /**
131
+ * Check if auto-compaction should trigger
132
+ *
133
+ * @param currentTokens Current token count
134
+ * @param limit Token limit
135
+ * @param threshold Threshold percentage (0-1)
136
+ * @returns Whether compaction should trigger
137
+ */
138
+ export declare function shouldAutoCompact(currentTokens: number, limit?: number, threshold?: number): boolean;
139
+ /**
140
+ * Calculate usage percentage
141
+ */
142
+ export declare function getUsagePercent(currentTokens: number, limit: number): number;
143
+ /**
144
+ * Extract structured decisions from session sections
145
+ */
146
+ export declare function extractDecisions(sections: SessionSection[]): ExtractedDecision[];
147
+ /**
148
+ * Extract structured blockers from session sections
149
+ */
150
+ export declare function extractBlockers(sections: SessionSection[]): ExtractedBlocker[];
151
+ /**
152
+ * Extract structured progress from session sections
153
+ */
154
+ export declare function extractProgress(sections: SessionSection[]): ExtractedProgress[];
155
+ /**
156
+ * Generate session ID from timestamp
157
+ */
158
+ export declare function generateSessionId(): string;
159
+ /**
160
+ * Create structured compaction output
161
+ */
162
+ export declare function createStructuredCompaction(sections: SessionSection[], originalTokens: number, tokensRecovered: number, sessionId?: string): StructuredCompaction;
163
+ /**
164
+ * Persist structured compaction to disk
165
+ */
166
+ export declare function persistStructuredCompaction(compaction: StructuredCompaction, projectDir?: string): Promise<string>;
167
+ /**
168
+ * List persisted compactions
169
+ */
170
+ export declare function listCompactions(projectDir?: string): Promise<StructuredCompaction[]>;
171
+ /**
172
+ * Run auto-compaction engine
173
+ *
174
+ * This is the main entry point for the compaction engine.
175
+ * It checks if compaction should trigger based on current context usage
176
+ * and executes compaction with structured output if needed.
177
+ */
178
+ export declare function runAutoCompaction(options?: CompactionEngineOptions): Promise<CompactionEngineResult>;
179
+ /**
180
+ * Format compaction engine result for display
181
+ */
182
+ export declare function formatCompactionEngineResult(result: CompactionEngineResult): string;
183
+ /**
184
+ * Get compaction engine statistics
185
+ */
186
+ export declare function getCompactionEngineStats(projectDir?: string): Promise<{
187
+ compactionCount: number;
188
+ totalTokensRecovered: number;
189
+ totalDecisionsExtracted: number;
190
+ totalBlockersExtracted: number;
191
+ latestCompaction: string | null;
192
+ }>;
193
+ //# sourceMappingURL=compaction-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction-engine.d.ts","sourceRoot":"","sources":["../../../src/core/context/compaction-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,376 @@
1
+ /**
2
+ * Auto Compaction Engine - v14.0.0
3
+ *
4
+ * Automatic context compaction that triggers when context usage
5
+ * exceeds configurable thresholds. Extracts decisions, blockers,
6
+ * and progress to structured format for persistence.
7
+ *
8
+ * Features:
9
+ * - Configurable auto-compact threshold (default: 75%)
10
+ * - Integration with ContextBudgetTracker
11
+ * - Structured JSON output preserving decisions/learnings
12
+ * - CLI command support: dino compact --auto
13
+ *
14
+ * Reference: Anthropic context engineering best practices
15
+ */
16
+ import { join } from 'path';
17
+ import { FileSystem } from '../../utils/file-system.js';
18
+ import { compactSession, getCompactionStats, parseSessionSections, extractArchitecturalDecisions, } from '../intelligence/session-compactor.js';
19
+ import { getEffectiveLimit, } from './budget-thresholds.js';
20
+ // =============================================================================
21
+ // Constants
22
+ // =============================================================================
23
+ /**
24
+ * Default auto-compact threshold (75%)
25
+ * Lower than warning threshold to provide headroom
26
+ */
27
+ export const AUTO_COMPACT_THRESHOLD = 0.75;
28
+ /**
29
+ * Directory for compacted outputs
30
+ */
31
+ export const COMPACT_OUTPUT_DIR = '.dino/compacted';
32
+ /**
33
+ * Feature flag for auto-compaction
34
+ */
35
+ export const AUTO_COMPACT_FEATURE_FLAG = 'enableAutoCompaction';
36
+ // =============================================================================
37
+ // Core Functions
38
+ // =============================================================================
39
+ /**
40
+ * Check if auto-compaction should trigger
41
+ *
42
+ * @param currentTokens Current token count
43
+ * @param limit Token limit
44
+ * @param threshold Threshold percentage (0-1)
45
+ * @returns Whether compaction should trigger
46
+ */
47
+ export function shouldAutoCompact(currentTokens, limit = 200_000, threshold = AUTO_COMPACT_THRESHOLD) {
48
+ const usagePercent = currentTokens / limit;
49
+ return usagePercent >= threshold;
50
+ }
51
+ /**
52
+ * Calculate usage percentage
53
+ */
54
+ export function getUsagePercent(currentTokens, limit) {
55
+ return Math.round((currentTokens / limit) * 100);
56
+ }
57
+ /**
58
+ * Extract topic from decision text
59
+ */
60
+ function extractTopic(text) {
61
+ // Try to extract topic from common patterns
62
+ const patterns = [
63
+ /(?:for|regarding|about)\s+(.+?)(?:\.|,|$)/i,
64
+ /^(.+?):\s*/,
65
+ /(?:decided|chose|selected)\s+(?:to\s+)?(?:use\s+)?(.+?)(?:\s+(?:for|because|over|instead))/i,
66
+ ];
67
+ for (const pattern of patterns) {
68
+ const match = text.match(pattern);
69
+ if (match && match[1]) {
70
+ const topic = match[1].trim();
71
+ if (topic.length > 5 && topic.length < 100) {
72
+ return topic;
73
+ }
74
+ }
75
+ }
76
+ // Fallback: use first 50 chars
77
+ const clean = text.replace(/^- /, '').trim();
78
+ return clean.length > 50 ? clean.substring(0, 47) + '...' : clean;
79
+ }
80
+ /**
81
+ * Extract choice from decision text
82
+ */
83
+ function extractChoice(text) {
84
+ const patterns = [
85
+ /(?:chose|selected|went\s+with|using|use)\s+(.+?)(?:\s+(?:over|instead|because|for)|$)/i,
86
+ /decided\s+to\s+(.+?)(?:\.|,|$)/i,
87
+ /approach:\s*(.+?)(?:\.|$)/i,
88
+ ];
89
+ for (const pattern of patterns) {
90
+ const match = text.match(pattern);
91
+ if (match && match[1]) {
92
+ return match[1].trim();
93
+ }
94
+ }
95
+ return text.replace(/^- /, '').trim();
96
+ }
97
+ /**
98
+ * Extract rationale from decision text
99
+ */
100
+ function extractRationale(text) {
101
+ const patterns = [
102
+ /because\s+(.+?)(?:\.|$)/i,
103
+ /due\s+to\s+(.+?)(?:\.|$)/i,
104
+ /since\s+(.+?)(?:\.|$)/i,
105
+ ];
106
+ for (const pattern of patterns) {
107
+ const match = text.match(pattern);
108
+ if (match && match[1]) {
109
+ return match[1].trim();
110
+ }
111
+ }
112
+ return undefined;
113
+ }
114
+ /**
115
+ * Extract structured decisions from session sections
116
+ */
117
+ export function extractDecisions(sections) {
118
+ const decisions = [];
119
+ for (const section of sections) {
120
+ if (section.name.toLowerCase().includes('notes')) {
121
+ const rawDecisions = extractArchitecturalDecisions(section.lines);
122
+ for (const decision of rawDecisions) {
123
+ decisions.push({
124
+ text: decision.text,
125
+ topic: extractTopic(decision.text),
126
+ choice: extractChoice(decision.text),
127
+ rationale: extractRationale(decision.text),
128
+ timestamp: decision.timestamp,
129
+ type: decision.type,
130
+ });
131
+ }
132
+ }
133
+ }
134
+ return decisions;
135
+ }
136
+ /**
137
+ * Extract structured blockers from session sections
138
+ */
139
+ export function extractBlockers(sections) {
140
+ const blockers = [];
141
+ for (const section of sections) {
142
+ if (section.name.toLowerCase().includes('blocker')) {
143
+ for (const line of section.lines) {
144
+ const text = line.replace(/^- /, '').trim();
145
+ if (text && text !== '_No active blockers._') {
146
+ // Try to extract timestamp
147
+ const timestampMatch = text.match(/^(\d{4}-\d{2}-\d{2}|\d{2}:\d{2})/);
148
+ blockers.push({
149
+ text: text.replace(/^\d{4}-\d{2}-\d{2}\s*:?\s*/, '').replace(/^\d{2}:\d{2}\s*:?\s*/, ''),
150
+ addedAt: timestampMatch?.[1],
151
+ status: 'active',
152
+ });
153
+ }
154
+ }
155
+ }
156
+ }
157
+ return blockers;
158
+ }
159
+ /**
160
+ * Extract structured progress from session sections
161
+ */
162
+ export function extractProgress(sections) {
163
+ const progress = [];
164
+ for (const section of sections) {
165
+ if (section.name.toLowerCase().includes('progress')) {
166
+ for (const line of section.lines) {
167
+ // Parse format: "- TIMESTAMP: TYPE - message"
168
+ const match = line.match(/^- ([\d\-\s:]+):\s*(\S+)\s*-\s*(.+)$/);
169
+ if (match) {
170
+ progress.push({
171
+ text: match[3].trim(),
172
+ type: match[2],
173
+ timestamp: match[1].trim(),
174
+ });
175
+ }
176
+ }
177
+ }
178
+ }
179
+ return progress;
180
+ }
181
+ /**
182
+ * Generate session ID from timestamp
183
+ */
184
+ export function generateSessionId() {
185
+ return new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
186
+ }
187
+ /**
188
+ * Create structured compaction output
189
+ */
190
+ export function createStructuredCompaction(sections, originalTokens, tokensRecovered, sessionId) {
191
+ return {
192
+ decisions: extractDecisions(sections),
193
+ blockers: extractBlockers(sections),
194
+ progress: extractProgress(sections),
195
+ timestamp: new Date().toISOString(),
196
+ sessionId: sessionId || generateSessionId(),
197
+ originalTokens,
198
+ tokensRecovered,
199
+ };
200
+ }
201
+ /**
202
+ * Persist structured compaction to disk
203
+ */
204
+ export async function persistStructuredCompaction(compaction, projectDir = process.cwd()) {
205
+ const outputDir = join(projectDir, COMPACT_OUTPUT_DIR);
206
+ await FileSystem.createDirectory(outputDir);
207
+ const filename = `${compaction.sessionId}.json`;
208
+ const outputPath = join(outputDir, filename);
209
+ await FileSystem.writeJson(outputPath, compaction);
210
+ return join(COMPACT_OUTPUT_DIR, filename);
211
+ }
212
+ /**
213
+ * List persisted compactions
214
+ */
215
+ export async function listCompactions(projectDir = process.cwd()) {
216
+ const outputDir = join(projectDir, COMPACT_OUTPUT_DIR);
217
+ if (!(await FileSystem.exists(outputDir))) {
218
+ return [];
219
+ }
220
+ const files = await FileSystem.listDirectory(outputDir);
221
+ const compactions = [];
222
+ for (const file of files) {
223
+ if (file.endsWith('.json')) {
224
+ const data = await FileSystem.readJsonSafe(join(outputDir, file));
225
+ if (data) {
226
+ compactions.push(data);
227
+ }
228
+ }
229
+ }
230
+ // Sort by timestamp (newest first)
231
+ compactions.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
232
+ return compactions;
233
+ }
234
+ /**
235
+ * Run auto-compaction engine
236
+ *
237
+ * This is the main entry point for the compaction engine.
238
+ * It checks if compaction should trigger based on current context usage
239
+ * and executes compaction with structured output if needed.
240
+ */
241
+ export async function runAutoCompaction(options = {}) {
242
+ const { threshold = AUTO_COMPACT_THRESHOLD, limit: customLimit, force = false, projectDir = process.cwd(), persistOutput = true, sessionId, dryRun = false, } = options;
243
+ // Get effective limit (200K is the default Claude context window)
244
+ const limit = customLimit || getEffectiveLimit(200_000);
245
+ // Get current session stats
246
+ const stats = await getCompactionStats(projectDir);
247
+ const usagePercent = getUsagePercent(stats.currentTokens, limit);
248
+ // Check if compaction should trigger
249
+ const shouldTrigger = force || shouldAutoCompact(stats.currentTokens, limit, threshold);
250
+ if (!shouldTrigger) {
251
+ return {
252
+ triggered: false,
253
+ executed: false,
254
+ reason: `Context usage (${usagePercent}%) below threshold (${Math.round(threshold * 100)}%)`,
255
+ usagePercent,
256
+ currentTokens: stats.currentTokens,
257
+ limit,
258
+ };
259
+ }
260
+ // Dry run mode - return what would happen
261
+ if (dryRun) {
262
+ const sessionPath = join(projectDir, '.dino', 'session.md');
263
+ const content = await FileSystem.readFileSafe(sessionPath);
264
+ const sections = content ? parseSessionSections(content) : [];
265
+ return {
266
+ triggered: true,
267
+ executed: false,
268
+ reason: 'Dry run - compaction not executed',
269
+ structuredOutput: createStructuredCompaction(sections, stats.currentTokens, stats.currentTokens - stats.estimatedAfterCompaction, sessionId),
270
+ usagePercent,
271
+ currentTokens: stats.currentTokens,
272
+ limit,
273
+ };
274
+ }
275
+ // Read session content before compaction for structured output
276
+ const sessionPath = join(projectDir, '.dino', 'session.md');
277
+ const content = await FileSystem.readFileSafe(sessionPath);
278
+ const sections = content ? parseSessionSections(content) : [];
279
+ // Execute compaction
280
+ const compactionResult = await compactSession(projectDir, {
281
+ preserveDecisions: true,
282
+ archive: true,
283
+ });
284
+ // Create structured output
285
+ const structuredOutput = createStructuredCompaction(sections, compactionResult.originalTokens, compactionResult.originalTokens - compactionResult.compactedTokens, sessionId);
286
+ // Persist structured output if enabled
287
+ let outputPath;
288
+ if (persistOutput) {
289
+ outputPath = await persistStructuredCompaction(structuredOutput, projectDir);
290
+ }
291
+ return {
292
+ triggered: true,
293
+ executed: true,
294
+ reason: force
295
+ ? 'Forced compaction'
296
+ : `Context usage (${usagePercent}%) exceeded threshold (${Math.round(threshold * 100)}%)`,
297
+ structuredOutput,
298
+ compactionResult,
299
+ outputPath,
300
+ usagePercent,
301
+ currentTokens: stats.currentTokens,
302
+ limit,
303
+ };
304
+ }
305
+ /**
306
+ * Format compaction engine result for display
307
+ */
308
+ export function formatCompactionEngineResult(result) {
309
+ const lines = [];
310
+ if (!result.triggered) {
311
+ lines.push('## Auto-Compaction: Not Triggered');
312
+ lines.push('');
313
+ lines.push(result.reason);
314
+ lines.push('');
315
+ lines.push(`- Current usage: ${result.usagePercent}%`);
316
+ lines.push(`- Token count: ${result.currentTokens.toLocaleString()} / ${result.limit.toLocaleString()}`);
317
+ return lines.join('\n');
318
+ }
319
+ if (!result.executed) {
320
+ lines.push('## Auto-Compaction: Dry Run');
321
+ lines.push('');
322
+ lines.push(result.reason);
323
+ }
324
+ else {
325
+ lines.push('## Auto-Compaction: Executed');
326
+ lines.push('');
327
+ lines.push(result.reason);
328
+ }
329
+ lines.push('');
330
+ lines.push('### Context Usage');
331
+ lines.push(`- Before: ${result.currentTokens.toLocaleString()} tokens (${result.usagePercent}%)`);
332
+ if (result.compactionResult) {
333
+ lines.push(`- After: ${result.compactionResult.compactedTokens.toLocaleString()} tokens`);
334
+ lines.push(`- Reduction: ${result.compactionResult.reductionPercent}%`);
335
+ lines.push(`- Archived items: ${result.compactionResult.archivedItems}`);
336
+ }
337
+ if (result.structuredOutput) {
338
+ lines.push('');
339
+ lines.push('### Extracted Content');
340
+ lines.push(`- Decisions: ${result.structuredOutput.decisions.length}`);
341
+ lines.push(`- Blockers: ${result.structuredOutput.blockers.length}`);
342
+ lines.push(`- Progress signals: ${result.structuredOutput.progress.length}`);
343
+ lines.push(`- Tokens recovered: ~${result.structuredOutput.tokensRecovered.toLocaleString()}`);
344
+ }
345
+ if (result.outputPath) {
346
+ lines.push('');
347
+ lines.push(`Structured output saved to: ${result.outputPath}`);
348
+ }
349
+ return lines.join('\n');
350
+ }
351
+ /**
352
+ * Get compaction engine statistics
353
+ */
354
+ export async function getCompactionEngineStats(projectDir = process.cwd()) {
355
+ const compactions = await listCompactions(projectDir);
356
+ if (compactions.length === 0) {
357
+ return {
358
+ compactionCount: 0,
359
+ totalTokensRecovered: 0,
360
+ totalDecisionsExtracted: 0,
361
+ totalBlockersExtracted: 0,
362
+ latestCompaction: null,
363
+ };
364
+ }
365
+ const totalTokensRecovered = compactions.reduce((sum, c) => sum + c.tokensRecovered, 0);
366
+ const totalDecisionsExtracted = compactions.reduce((sum, c) => sum + c.decisions.length, 0);
367
+ const totalBlockersExtracted = compactions.reduce((sum, c) => sum + c.blockers.length, 0);
368
+ return {
369
+ compactionCount: compactions.length,
370
+ totalTokensRecovered,
371
+ totalDecisionsExtracted,
372
+ totalBlockersExtracted,
373
+ latestCompaction: compactions[0].timestamp,
374
+ };
375
+ }
376
+ //# sourceMappingURL=compaction-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction-engine.js","sourceRoot":"","sources":["../../../src/core/context/compaction-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,GAK9B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAEL,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAgHhC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAEhE,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,aAAqB,EACrB,QAAgB,OAAO,EACvB,YAAoB,sBAAsB;IAE1C,MAAM,YAAY,GAAG,aAAa,GAAG,KAAK,CAAC;IAC3C,OAAO,YAAY,IAAI,SAAS,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,aAAqB,EAAE,KAAa;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,4CAA4C;IAC5C,MAAM,QAAQ,GAAG;QACf,4CAA4C;QAC5C,YAAY;QACZ,6FAA6F;KAC9F,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,OAAO,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,QAAQ,GAAG;QACf,wFAAwF;QACxF,iCAAiC;QACjC,4BAA4B;KAC7B,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,QAAQ,GAAG;QACf,0BAA0B;QAC1B,2BAA2B;QAC3B,wBAAwB;KACzB,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA0B;IACzD,MAAM,SAAS,GAAwB,EAAE,CAAC;IAE1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,6BAA6B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAElE,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;gBACpC,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACpC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACpB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAA0B;IACxD,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;oBAC7C,2BAA2B;oBAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBAEtE,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;wBACxF,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;wBAC5B,MAAM,EAAE,QAAQ;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAA0B;IACxD,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,8CAA8C;gBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACjE,IAAI,KAAK,EAAE,CAAC;oBACV,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wBACrB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;wBACd,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;qBAC3B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAA0B,EAC1B,cAAsB,EACtB,eAAuB,EACvB,SAAkB;IAElB,OAAO;QACL,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QACrC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;QACnC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;QACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS,EAAE,SAAS,IAAI,iBAAiB,EAAE;QAC3C,cAAc;QACd,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,UAAgC,EAChC,aAAqB,OAAO,CAAC,GAAG,EAAE;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACvD,MAAM,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,SAAS,OAAO,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE7C,MAAM,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEnD,OAAO,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,aAAqB,OAAO,CAAC,GAAG,EAAE;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAEvD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,YAAY,CACxC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CACtB,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAClE,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAmC,EAAE;IAErC,MAAM,EACJ,SAAS,GAAG,sBAAsB,EAClC,KAAK,EAAE,WAAW,EAClB,KAAK,GAAG,KAAK,EACb,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,EAC1B,aAAa,GAAG,IAAI,EACpB,SAAS,EACT,MAAM,GAAG,KAAK,GACf,GAAG,OAAO,CAAC;IAEZ,kEAAkE;IAClE,MAAM,KAAK,GAAG,WAAW,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAExD,4BAA4B;IAC5B,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAEjE,qCAAqC;IACrC,MAAM,aAAa,GAAG,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAExF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,kBAAkB,YAAY,uBAAuB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI;YAC5F,YAAY;YACZ,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,KAAK;SACN,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9D,OAAO;YACL,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,mCAAmC;YAC3C,gBAAgB,EAAE,0BAA0B,CAC1C,QAAQ,EACR,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,wBAAwB,EACpD,SAAS,CACV;YACD,YAAY;YACZ,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,KAAK;SACN,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9D,qBAAqB;IACrB,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE;QACxD,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,2BAA2B;IAC3B,MAAM,gBAAgB,GAAG,0BAA0B,CACjD,QAAQ,EACR,gBAAgB,CAAC,cAAc,EAC/B,gBAAgB,CAAC,cAAc,GAAG,gBAAgB,CAAC,eAAe,EAClE,SAAS,CACV,CAAC;IAEF,uCAAuC;IACvC,IAAI,UAA8B,CAAC;IACnC,IAAI,aAAa,EAAE,CAAC;QAClB,UAAU,GAAG,MAAM,2BAA2B,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO;QACL,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,KAAK;YACX,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,kBAAkB,YAAY,0BAA0B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI;QAC3F,gBAAgB;QAChB,gBAAgB;QAChB,UAAU;QACV,YAAY;QACZ,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAA8B;IACzE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACzG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAElG,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,+BAA+B,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,aAAqB,OAAO,CAAC,GAAG,EAAE;IAQlC,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAEtD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,eAAe,EAAE,CAAC;YAClB,oBAAoB,EAAE,CAAC;YACvB,uBAAuB,EAAE,CAAC;YAC1B,sBAAsB,EAAE,CAAC;YACzB,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,uBAAuB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,sBAAsB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE1F,OAAO;QACL,eAAe,EAAE,WAAW,CAAC,MAAM;QACnC,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;KAC3C,CAAC;AACJ,CAAC"}
@@ -1,12 +1,13 @@
1
1
  /**
2
- * Context Management Module - v13.3.0
2
+ * Context Management Module - v14.0.0
3
3
  *
4
4
  * Tools for managing context window efficiently.
5
5
  * Includes tool result protection, clearing recommendations,
6
6
  * just-in-time context retrieval, automated clearing,
7
7
  * summarization before clearing (v9.6.0), lazy context
8
- * loading (v10.1.0), auto-lazy context (v12.5.0), and
9
- * auto context engineering (v13.3.0).
8
+ * loading (v10.1.0), auto-lazy context (v12.5.0),
9
+ * auto context engineering (v13.3.0), and
10
+ * optimized budget thresholds (v14.0.0).
10
11
  */
11
12
  export { type ProtectionLevel, type ToolCategory, type ProtectionResult, TOOL_PROTECTION_RULES, DEFAULT_RECENCY_THRESHOLD, shouldProtectToolResult, getProtectionSummary, getAlwaysProtectedTools, formatProtectionRules, estimateClearingSavings, } from './tool-protection.js';
12
13
  export { type ContextDemandType, type DemandSignal, type JITLoadResult, detectDemandSignals, extractKeywords, loadContextJIT, formatAsReminder, calculateRelevanceScore, shouldInjectContext, } from './demand-detector.js';
@@ -24,4 +25,7 @@ export { type ColdResource, calculateColdnessScore, getColdResources, isFileCold
24
25
  export { type UnloadResult, type AutoUnloadResult, type AutoUnloadOptions, UNLOAD_THRESHOLD_START, UNLOAD_THRESHOLD_AGGRESSIVE, shouldAutoUnload, calculateBudgetPressure, getUnloadAggressiveness, selectResourcesToUnload, executeAutoUnload, formatAutoUnloadResult, formatUnloadDecision, } from './auto-unload-engine.js';
25
26
  export { type AutoInjectionResult, type AutoInjectionOptions, shouldAutoInject, executeAutoInjection, hasDemandSignals, getDemandSummary, formatAutoInjectionResult, formatDemandSignals, } from './auto-injection-engine.js';
26
27
  export { type HealthStatus, type ContextHealthReport, type HealthCheckOptions, calculateStalenessScore, calculateRedundancyScore, calculateFragmentationScore, calculateAgeDistribution, calculateRotIndex, getHealthStatus, generateRecommendations, executeHealthCheck, calculateFocusFragmentationScore, calculateFocusDistribution, formatHealthReport, formatHealthStatus, } from './context-health.js';
28
+ export { type ThresholdConfig, type ThresholdLevel, type ThresholdResult, OPTIMIZED_BUDGET_THRESHOLDS, LEGACY_BUDGET_THRESHOLDS, DEFAULT_SAFETY_MARGIN, DEFAULT_THRESHOLD_CONFIG, getThresholdLevel, calculateThresholdResult, loadThresholdConfig, isLegacyThresholds, getThresholdRecommendations, formatThresholdResult, calculateSafeCapacity, getEffectiveLimit, } from './budget-thresholds.js';
29
+ export { type PersistedOutput, type OutputPersistenceResult, type PersistenceOptions, OUTPUT_SIZE_THRESHOLD, OUTPUT_DIR, OUTPUT_RETENTION_DAYS, shouldPersist, persistOutput, readPersistedOutput, getOutputMetadata, listPersistedOutputs, cleanupExpiredOutputs, getPersistedOutputsStats, generateContentHash, generateOutputFilename, createFileReference, parseFileReference, formatPersistenceResult, } from './output-persistence.js';
30
+ export { type ExtractedDecision, type ExtractedBlocker, type ExtractedProgress, type StructuredCompaction, type CompactionEngineResult, type CompactionEngineOptions, AUTO_COMPACT_THRESHOLD, COMPACT_OUTPUT_DIR, AUTO_COMPACT_FEATURE_FLAG, shouldAutoCompact, getUsagePercent, generateSessionId, extractDecisions, extractBlockers, extractProgress, createStructuredCompaction, persistStructuredCompaction, listCompactions, runAutoCompaction, formatCompactionEngineResult, getCompactionEngineStats, } from './compaction-engine.js';
27
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/context/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/context/index.ts"],"names":[],"mappings":"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"}