aura-code 0.10.2 → 0.10.3

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.
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.isTieredStrategyEnabled = isTieredStrategyEnabled;
37
+ exports.resolveSummaryModel = resolveSummaryModel;
38
+ exports.compactHistoryTiered = compactHistoryTiered;
39
+ /**
40
+ * Tiered context strategy — ANCHOR + FACT-LOG + TAIL.
41
+ *
42
+ * Alternative to compactor.ts's escalating-recap strategy, gated behind
43
+ * AURA_CONTEXT_STRATEGY=tiered so it can be A/B-compared against the default
44
+ * rather than shipped as a silent replacement (see isTieredStrategyEnabled).
45
+ *
46
+ * - ANCHOR: history[0] (the original task) — never touched.
47
+ * - TAIL: verbatim recent turns, sized identically to the default strategy
48
+ * (computeTailBoundary / RETENTION_RATIO from compactor.ts) so the two
49
+ * strategies fire at the same trigger and keep the same amount of raw
50
+ * recent context — the only variable being compared is what happens to
51
+ * the middle.
52
+ * - FACT LOG: everything between anchor and tail, reduced to 1-3 bullet
53
+ * facts per turn (file changed, decision made, value set, command run +
54
+ * result). Bullets are stored in an on-disk sidecar (one JSON file per
55
+ * session, independent of the session's own history blob) and are
56
+ * strictly append-only: each compaction pass only asks the summary model
57
+ * to bullet-ize the newly-aged-out turns and appends the result — it never
58
+ * re-summarizes the existing log. That keeps the rendered fact-log message
59
+ * a stable-prefix-plus-appended-suffix across calls, which is what lets a
60
+ * cache breakpoint placed after it actually hit.
61
+ * - Summarization runs on a separate, cheap/fast model (see
62
+ * resolveSummaryModel), not the session's main model, so the compaction
63
+ * pass itself doesn't eat the token savings it's trying to create.
64
+ */
65
+ const fs = __importStar(require("fs"));
66
+ const path = __importStar(require("path"));
67
+ const factory_js_1 = require("../providers/factory.js");
68
+ const env_js_1 = require("../util/env.js");
69
+ const compactor_js_1 = require("./compactor.js");
70
+ /** Marker prefixing the rendered fact-log placeholder message in `history`. */
71
+ const FACT_LOG_MARKER = '[Context fact log';
72
+ function isTieredStrategyEnabled() {
73
+ return (0, env_js_1.getEnv)('AURA_CONTEXT_STRATEGY') === 'tiered';
74
+ }
75
+ function isFactLogMessage(msg) {
76
+ return msg.role === 'assistant' && msg.content.startsWith(FACT_LOG_MARKER);
77
+ }
78
+ const EMPTY_LOG = { compactionCount: 0, bullets: [] };
79
+ /** In-memory fallback for ephemeral sessions (no sessionPath to persist to).
80
+ * Keyed by history array identity, matching compactHistory's in-place-mutate
81
+ * contract (the array reference is stable for the life of a run). */
82
+ const memoryLogs = new WeakMap();
83
+ function sidecarPath(sessionPath) {
84
+ return sessionPath.replace(/\.json$/, '') + '.factlog.json';
85
+ }
86
+ function loadFactLog(sessionPath, history) {
87
+ if (!sessionPath)
88
+ return memoryLogs.get(history) ?? EMPTY_LOG;
89
+ try {
90
+ const raw = fs.readFileSync(sidecarPath(sessionPath), 'utf8');
91
+ return JSON.parse(raw);
92
+ }
93
+ catch {
94
+ return EMPTY_LOG;
95
+ }
96
+ }
97
+ function saveFactLog(sessionPath, history, log) {
98
+ if (!sessionPath) {
99
+ memoryLogs.set(history, log);
100
+ return;
101
+ }
102
+ const target = sidecarPath(sessionPath);
103
+ const dir = path.dirname(target);
104
+ if (!fs.existsSync(dir))
105
+ fs.mkdirSync(dir, { recursive: true });
106
+ fs.writeFileSync(target, JSON.stringify(log, null, 2), 'utf8');
107
+ }
108
+ /**
109
+ * Cheap/fast model used for middle-compression, resolved in priority order:
110
+ * 1. AURA_CONTEXT_SUMMARY_MODEL — fully user-overridable (any model id
111
+ * the main session could use: Sonnet, Opus, Fable, local Ollama, ...).
112
+ * 2. deepseek-v4-flash, if DEEPSEEK_API_KEY is set — the recommended
113
+ * default this feature was built and tested against.
114
+ * 3. AURA_FALLBACK_MODEL (first entry if comma-separated).
115
+ * 4. The session's own main model, as a last resort (still correct, just
116
+ * not "cheap" — better than failing compaction).
117
+ */
118
+ function resolveSummaryModel(mainModel) {
119
+ const override = (0, env_js_1.getEnv)('AURA_CONTEXT_SUMMARY_MODEL');
120
+ if (override)
121
+ return override;
122
+ if ((0, env_js_1.getApiKey)('DEEPSEEK_API_KEY'))
123
+ return 'deepseek-v4-flash';
124
+ const fallback = (0, env_js_1.getEnv)('AURA_FALLBACK_MODEL');
125
+ if (fallback)
126
+ return fallback.split(',')[0].trim();
127
+ return mainModel;
128
+ }
129
+ let summaryProviderCache;
130
+ function getSummaryProvider(mainModel) {
131
+ const model = resolveSummaryModel(mainModel);
132
+ if (summaryProviderCache?.model === model)
133
+ return summaryProviderCache.provider;
134
+ const provider = (0, factory_js_1.createProvider)({ model });
135
+ summaryProviderCache = { model, provider };
136
+ return provider;
137
+ }
138
+ const BULLET_SYSTEM = [
139
+ 'You compress coding-session turns into a durable fact log.',
140
+ 'For each turn given, write 1-3 markdown bullets ("- ..."), each a concrete standalone fact:',
141
+ 'a file changed, a decision made, a value/config set, or a command run and its result.',
142
+ 'Be specific — file names, exact values, exit codes. No generic advice, no headers, no prose.',
143
+ 'Output ONLY bullet lines, one per line, in the same order as the turns given.',
144
+ ].join(' ');
145
+ /** Fuller per-message transcript line than compactor's summariseMessage —
146
+ * the summary model gets more raw material to extract concrete facts from. */
147
+ function renderTurn(msg) {
148
+ switch (msg.role) {
149
+ case 'user':
150
+ return `User: ${msg.content.slice(0, 400)}`;
151
+ case 'assistant': {
152
+ const text = msg.content ? `Assistant: ${msg.content.slice(0, 400)}` : '';
153
+ const calls = msg.toolCalls?.length
154
+ ? `Called: ${msg.toolCalls.map(c => `${c.name}(${JSON.stringify(c.input).slice(0, 200)})`).join(', ')}`
155
+ : '';
156
+ return [text, calls].filter(Boolean).join('\n') || 'Assistant: (no content)';
157
+ }
158
+ case 'tool_result':
159
+ return msg.results
160
+ .map(r => `Result[${r.name}]${r.isError ? ' (error)' : ''}: ${(r.content ?? '').slice(0, 400)}`)
161
+ .join('\n');
162
+ }
163
+ }
164
+ async function summarizeTurns(turns, mainModel) {
165
+ if (turns.length === 0)
166
+ return [];
167
+ const provider = getSummaryProvider(mainModel);
168
+ const transcript = turns.map((t, i) => `--- turn ${i + 1} (${t.role}) ---\n${renderTurn(t)}`).join('\n\n');
169
+ const response = await provider.complete(BULLET_SYSTEM, [{ role: 'user', content: transcript }], []);
170
+ const lines = response.text.split('\n').map(l => l.trim()).filter(l => l.startsWith('- '));
171
+ return lines.length > 0 ? lines : [`- ${turns.length} turns compacted (summary model returned no bullets)`];
172
+ }
173
+ function renderFactLog(log) {
174
+ return {
175
+ role: 'assistant',
176
+ content: [
177
+ `${FACT_LOG_MARKER}: ${log.bullets.length} facts from earlier turns.]`,
178
+ ...log.bullets,
179
+ ].join('\n'),
180
+ };
181
+ }
182
+ /**
183
+ * Tiered counterpart to compactor.ts's compactHistory. Same trigger contract
184
+ * (mutates `history` in place, fires on the same escalating threshold) but
185
+ * async — the middle-compression bullet pass is an LLM call on the cheap
186
+ * summary model.
187
+ *
188
+ * `extras` is accepted for call-site symmetry with compactHistory but
189
+ * intentionally unused here: affectHint/executiveDigest are transient
190
+ * per-call advisories, not historical facts, so they don't belong in an
191
+ * append-only fact log.
192
+ */
193
+ async function compactHistoryTiered(history, totalTokens, model, sessionPath,
194
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
195
+ extras) {
196
+ const log = loadFactLog(sessionPath, history);
197
+ const window = (0, factory_js_1.getContextWindow)(model) ?? compactor_js_1.DEFAULT_WINDOW;
198
+ const threshold = Math.floor(window * (0, compactor_js_1.thresholdRatio)(log.compactionCount));
199
+ if (totalTokens < threshold)
200
+ return { compacted: false };
201
+ if (history.length <= 3)
202
+ return { compacted: false };
203
+ const keepFrom = (0, compactor_js_1.computeTailBoundary)(history, window);
204
+ const middle = history.slice(1, keepFrom);
205
+ // The existing fact-log placeholder (if any) sits at the front of `middle`
206
+ // after a prior pass — its content is already captured in `log`, so it's
207
+ // dropped rather than re-summarized (that's the incremental guarantee).
208
+ const newTurns = middle.filter(msg => !isFactLogMessage(msg));
209
+ if (newTurns.length === 0)
210
+ return { compacted: false };
211
+ const newBullets = await summarizeTurns(newTurns, model);
212
+ const updatedLog = {
213
+ compactionCount: log.compactionCount + 1,
214
+ bullets: [...log.bullets, ...newBullets],
215
+ };
216
+ saveFactLog(sessionPath, history, updatedLog);
217
+ const placeholder = renderFactLog(updatedLog);
218
+ const preserved = [history[0], placeholder, ...history.slice(keepFrom)];
219
+ history.length = 0;
220
+ for (const msg of preserved)
221
+ history.push(msg);
222
+ const afterTokens = (0, compactor_js_1.countText)(placeholder.content) + preserved.slice(2).reduce((sum, m) => sum + (0, compactor_js_1.countMessage)(m), 0) + (0, compactor_js_1.countMessage)(history[0]);
223
+ return {
224
+ compacted: true,
225
+ metrics: {
226
+ strategy: 'tiered',
227
+ beforeTokens: totalTokens,
228
+ afterTokens,
229
+ compactionCount: updatedLog.compactionCount,
230
+ newBullets: newBullets.length,
231
+ },
232
+ };
233
+ }
234
+ //# sourceMappingURL=tiered-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiered-context.js","sourceRoot":"","sources":["../../src/agent/tiered-context.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,8 @@ exports.PALETTE_COMMANDS = [
60
60
  { id: ':q', label: 'Quit', description: 'Exit Aura', category: 'System' },
61
61
  { id: ':context', label: 'Context health', description: 'Token usage dashboard', category: 'System' },
62
62
  { id: ':doctor', label: 'Doctor', description: 'Run health checks', category: 'System' },
63
+ { id: ':compact', label: 'Force compact', description: 'Manual context compaction (alias: :compress)', category: 'System' },
64
+ { id: ':compress', label: 'Force compress', description: 'Manual context compaction (alias: :compact)', category: 'System' },
63
65
  ];
64
66
  /**
65
67
  * Fuzzy-match a query against a command's label + id.
@@ -1 +1 @@
1
- {"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../src/cli/command-palette.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../src/cli/command-palette.ts"],"names":[],"mappings":"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"}
@@ -35,9 +35,7 @@ export declare function gradientStopFor(row: number, total: number): chalk.Chalk
35
35
  * shading is applied at render time by styleGemRow, not baked in here.
36
36
  */
37
37
  export declare const GEM: string[];
38
- /** Column width of one gem row (all rows share the same padded width). */
39
- export declare const GEM_WIDTH: number;
40
- /** The gem's styled Nth row, or null if out of range — for compositing beside other columns. */
38
+ export declare const GEM_WIDTH = 0;
41
39
  export declare function gemRow(i: number): string | null;
42
40
  export interface BannerInfo {
43
41
  version: string;
@@ -111,32 +111,21 @@ function gradientStopFor(row, total) {
111
111
  * so the point renders cleanly on every terminal font; per-row 3D facet
112
112
  * shading is applied at render time by styleGemRow, not baked in here.
113
113
  */
114
- exports.GEM = [
115
- ' █████ ', // table
116
- ' ████████ ', // crown
117
- ' ██████████ ', // crown → girdle
118
- '████████████', // girdle (widest)
119
- ' █████████ ', // pavilion
120
- ' ███████ ', // pavilion
121
- ' █████ ', // pavilion
122
- ' ███ ', // pavilion, narrowing to the point
123
- ' █ ', // point
124
- ];
125
- /** Column width of one gem row (all rows share the same padded width). */
126
- exports.GEM_WIDTH = exports.GEM[0].length;
127
- /** The gem's styled Nth row, or null if out of range — for compositing beside other columns. */
114
+ exports.GEM = [];
115
+ exports.GEM_WIDTH = 0;
128
116
  function gemRow(i) {
129
- const row = exports.GEM[i];
130
- return row === undefined ? null : styleGemRow(row, FACET_SHADES);
117
+ return null;
131
118
  }
132
119
  const LOGO = [
133
- ' ░▒▓██████▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░ ░▒▓██████▓▒░ ░▒▓██████▓▒░ ▒▓██████▓▒░░▒▓███████▓▒░░ ▒▓████████▓ ',
134
- '░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ▒▓█▓▒░ ',
135
- '░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░░▒▓█▓▒░▒▓█▓▒░ ',
136
- '░▒▓████████▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░░▒▓████████▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░░▒▓█▓▒░▒▓██████▓▒ ',
137
- '░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░░▒▓█▓▒░▒▓█▓▒░ ',
138
- '░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ▒▓█▓▒░ ',
139
- '░▒▓█▓▒░░▒▓█▓▒░░▒▓██████▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓██████▓▒░ ░▒▓██████▓▒░░▒▓███████▓▒░░ ▒▓████████▓ ',
120
+ ' ██▓▒▒ ',
121
+ ' ███▓▒▒▒ ',
122
+ ' █████╗ ██╗ ██╗██████╗ █████╗ ████▓▒▒▒▒ ██████╗ ██████╗ ██████╗ ███████╗',
123
+ '██╔══██╗██║ ██║██╔══██╗██╔══██╗ █████▓▒▒▒▒▒ ██╔════╝██╔═══██╗██╔══██╗██╔════╝',
124
+ '███████║██║ ██║██████╔╝███████║ ████▓▒▒▒▒ ██║ ██║ ██║██║ ██║█████╗ ',
125
+ '██╔══██║██║ ██║██╔══██╗██╔══██║ ███▓▒▒▒ ██║ ██║ ██║██║ ██║██╔══╝ ',
126
+ '██║ ██║╚██████╔╝██║ ██║██║ ██║ ██▓▒▒ ╚██████╗╚██████╔╝██████╔╝███████╗',
127
+ '╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ █▓▒ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝',
128
+ ' ▓ '
140
129
  ];
141
130
  // Shade zones for 3D faceted diamond: [leftFace, midFace, shadowFace].
142
131
  // Light comes from top-left, so left face is brightest.
@@ -150,7 +139,7 @@ function clearToTop() {
150
139
  }
151
140
  /** A ruby-gradient horizontal rule spanning the terminal width (capped). */
152
141
  function rule() {
153
- const width = Math.min(process.stdout.columns ?? 80, 100);
142
+ const width = Math.max(10, process.stdout.columns ?? 80);
154
143
  return gradient('─'.repeat(width));
155
144
  }
156
145
  /**
@@ -185,6 +174,37 @@ function gemBlockLines(indent) {
185
174
  function renderGemBlock(indent) {
186
175
  gemBlockLines(indent).forEach(line => console.log(line));
187
176
  }
177
+ const logoColors = ['#ff8c00', '#ff1493', '#dc143c', '#6d1322'];
178
+ function hexToRgb(hex) {
179
+ const r = parseInt(hex.slice(1, 3), 16);
180
+ const g = parseInt(hex.slice(3, 5), 16);
181
+ const b = parseInt(hex.slice(5, 7), 16);
182
+ return { r, g, b };
183
+ }
184
+ function styleLogoRow(str) {
185
+ if (str.length === 0)
186
+ return str;
187
+ let out = '';
188
+ const len = str.length;
189
+ for (let i = 0; i < len; i++) {
190
+ const progress = i / Math.max(1, len - 1);
191
+ const scaled = progress * (logoColors.length - 1);
192
+ const index = Math.floor(scaled);
193
+ const factor = scaled - index;
194
+ if (index >= logoColors.length - 1) {
195
+ out += chalk_1.default.hex(logoColors[logoColors.length - 1]).bold(str[i]);
196
+ }
197
+ else {
198
+ const c1 = hexToRgb(logoColors[index]);
199
+ const c2 = hexToRgb(logoColors[index + 1]);
200
+ const r = Math.round(c1.r + (c2.r - c1.r) * factor);
201
+ const g = Math.round(c1.g + (c2.g - c1.g) * factor);
202
+ const b = Math.round(c1.b + (c2.b - c1.b) * factor);
203
+ out += chalk_1.default.rgb(r, g, b).bold(str[i]);
204
+ }
205
+ }
206
+ return out;
207
+ }
188
208
  /**
189
209
  * The banner's fully-styled lines, one string per terminal row:
190
210
  * - Brilliant-cut gem centered above the wordmark, each row faceted
@@ -196,12 +216,15 @@ function renderGemBlock(indent) {
196
216
  * from scroll mode) — the alt screen has no scrollback to recover it from.
197
217
  */
198
218
  function buildBannerLines(info) {
199
- const lines = [''];
200
- const gemIndent = Math.floor((LOGO[0].length - exports.GEM[0].length) / 2);
201
- lines.push(...gemBlockLines(gemIndent), '');
219
+ // Push 3 empty strings to move the logo down by 2 extra rows from the top edge
220
+ const lines = ['', '', ''];
221
+ if (exports.GEM && exports.GEM.length > 0) {
222
+ const gemIndent = Math.floor((LOGO[0].length - exports.GEM[0].length) / 2);
223
+ lines.push(...gemBlockLines(gemIndent), '');
224
+ }
202
225
  LOGO.forEach(row => {
203
- const midPoint = Math.floor(row.length / 2);
204
- lines.push(light(row.slice(0, midPoint)) + shadow(row.slice(midPoint)));
226
+ // Add 2 spaces for left padding
227
+ lines.push(' ' + styleLogoRow(row));
205
228
  });
206
229
  lines.push('');
207
230
  const meta = [
@@ -1 +1 @@
1
- {"version":3,"file":"diamond.js","sourceRoot":"","sources":["../../src/cli/diamond.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diamond.js","sourceRoot":"","sources":["../../src/cli/diamond.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,7 @@ exports.HELP_TEXT = [
62
62
  ' :approve off Re-enable confirmation for destructive commands',
63
63
  '',
64
64
  ' ── Context / Stats ──────────────────────────────',
65
+ ' :compact, :compress Force compaction now (reuses auto-compaction logic)',
65
66
  ' :context Show loaded project context',
66
67
  ' :graph Show codebase knowledge graph summary',
67
68
  ' :graph refresh Reload graph from graphify-out/graph.json',
@@ -1 +1 @@
1
- {"version":3,"file":"help-data.js","sourceRoot":"","sources":["../../src/cli/help-data.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,SAAS,GAAG;IACvB,EAAE;IACF,qDAAqD;IACrD,gDAAgD;IAChD,mDAAmD;IACnD,qDAAqD;IACrD,2DAA2D;IAC3D,+DAA+D;IAC/D,8DAA8D;IAC9D,uEAAuE;IACvE,yDAAyD;IACzD,kDAAkD;IAClD,EAAE;IACF,qDAAqD;IACrD,sDAAsD;IACtD,sDAAsD;IACtD,qDAAqD;IACrD,6EAA6E;IAC7E,2DAA2D;IAC3D,EAAE;IACF,sDAAsD;IACtD,oDAAoD;IACpD,8DAA8D;IAC9D,gCAAgC;IAChC,2DAA2D;IAC3D,uDAAuD;IACvD,6CAA6C;IAC7C,kDAAkD;IAClD,iDAAiD;IACjD,0CAA0C;IAC1C,wEAAwE;IACxE,8EAA8E;IAC9E,6EAA6E;IAC7E,qEAAqE;IACrE,EAAE;IACF,sDAAsD;IACtD,0EAA0E;IAC1E,gFAAgF;IAChF,oEAAoE;IACpE,4EAA4E;IAC5E,gFAAgF;IAChF,4EAA4E;IAC5E,sEAAsE;IACtE,gDAAgD;IAChD,iFAAiF;IACjF,EAAE;IACF,sDAAsD;IACtD,iFAAiF;IACjF,EAAE;IACF,sDAAsD;IACtD,8EAA8E;IAC9E,2DAA2D;IAC3D,2EAA2E;IAC3E,EAAE;IACF,qDAAqD;IACrD,uDAAuD;IACvD,iEAAiE;IACjE,qEAAqE;IACrE,sDAAsD;IACtD,kEAAkE;IAClE,kFAAkF;IAClF,yDAAyD;IACzD,gEAAgE;IAChE,+EAA+E;IAC/E,wDAAwD;IACxD,EAAE;IACF,qDAAqD;IACrD,gCAAgC;IAChC,EAAE;CACH,CAAC"}
1
+ {"version":3,"file":"help-data.js","sourceRoot":"","sources":["../../src/cli/help-data.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,SAAS,GAAG;IACvB,EAAE;IACF,qDAAqD;IACrD,gDAAgD;IAChD,mDAAmD;IACnD,qDAAqD;IACrD,2DAA2D;IAC3D,+DAA+D;IAC/D,8DAA8D;IAC9D,uEAAuE;IACvE,yDAAyD;IACzD,kDAAkD;IAClD,EAAE;IACF,qDAAqD;IACrD,sDAAsD;IACtD,sDAAsD;IACtD,qDAAqD;IACrD,6EAA6E;IAC7E,2DAA2D;IAC3D,EAAE;IACF,sDAAsD;IACtD,oDAAoD;IACpD,8DAA8D;IAC9D,gCAAgC;IAChC,2DAA2D;IAC3D,uDAAuD;IACvD,6CAA6C;IAC7C,kDAAkD;IAClD,iDAAiD;IACjD,0CAA0C;IAC1C,wEAAwE;IACxE,8EAA8E;IAC9E,6EAA6E;IAC7E,qEAAqE;IACrE,EAAE;IACF,sDAAsD;IACtD,0EAA0E;IAC1E,gFAAgF;IAChF,oEAAoE;IACpE,4EAA4E;IAC5E,gFAAgF;IAChF,4EAA4E;IAC5E,sEAAsE;IACtE,gDAAgD;IAChD,iFAAiF;IACjF,EAAE;IACF,sDAAsD;IACtD,iFAAiF;IACjF,EAAE;IACF,sDAAsD;IACtD,8EAA8E;IAC9E,2DAA2D;IAC3D,2EAA2E;IAC3E,EAAE;IACF,qDAAqD;IACrD,+EAA+E;IAC/E,uDAAuD;IACvD,iEAAiE;IACjE,qEAAqE;IACrE,sDAAsD;IACtD,kEAAkE;IAClE,kFAAkF;IAClF,yDAAyD;IACzD,gEAAgE;IAChE,+EAA+E;IAC/E,wDAAwD;IACxD,EAAE;IACF,qDAAqD;IACrD,gCAAgC;IAChC,EAAE;CACH,CAAC"}
package/dist/cli/index.js CHANGED
@@ -1663,6 +1663,33 @@ async function handleReplCommand(input, c) {
1663
1663
  return { handled: true };
1664
1664
  }
1665
1665
  // ── Model / API commands ─────────────────────────────────────────────────
1666
+ if (input === ':compact' || input === ':compress') {
1667
+ const { compactHistory, estimateContextTokens, getRecapGeneration } = await Promise.resolve().then(() => __importStar(require('../agent/compactor.js')));
1668
+ const { getContextWindow } = await Promise.resolve().then(() => __importStar(require('../providers/factory.js')));
1669
+ const history = c.chatState.activeChatHistory;
1670
+ if (history.length <= 1) {
1671
+ console.log(chalk_1.default.hex('#d4903a')('\n Nothing to compact — history is empty or has only the task.\n'));
1672
+ return { handled: true };
1673
+ }
1674
+ const model = c.providerConfig.model;
1675
+ const beforeTokens = estimateContextTokens('', history);
1676
+ const window = getContextWindow(model) ?? 128_000;
1677
+ const generation = getRecapGeneration(history);
1678
+ // Force compaction by passing totalTokens = Infinity so the threshold check is bypassed.
1679
+ const compacted = compactHistory(history, Infinity, model);
1680
+ if (!compacted) {
1681
+ console.log(chalk_1.default.hex('#d4903a')('\n Compaction had no effect — history is already minimal.\n'));
1682
+ return { handled: true };
1683
+ }
1684
+ const afterTokens = estimateContextTokens('', history);
1685
+ const saved = beforeTokens > 0 ? ((1 - afterTokens / beforeTokens) * 100).toFixed(0) : '0';
1686
+ const newGen = getRecapGeneration(history);
1687
+ console.log(chalk_1.default.hex('#5a9e6e')(`\n ✓ Context compacted: ${beforeTokens.toLocaleString()} → ${afterTokens.toLocaleString()} tokens ` +
1688
+ chalk_1.default.hex('#5a9e6e')(`(-${saved}%)`) +
1689
+ ` · gen ${generation}→${newGen} · window ${(window / 1000).toFixed(0)}k\n`));
1690
+ c.healthTracker.recordCompaction(beforeTokens, afterTokens, newGen);
1691
+ return { handled: true, newHistory: [...history] };
1692
+ }
1666
1693
  if (input === ':context') {
1667
1694
  console.log(chalk_1.default.hex(diamond_js_1.TEXT_DIM_HEX)(`\n Project: ${c.ctx.name} · ${c.ctx.language} · ${c.ctx.framework}`));
1668
1695
  console.log(chalk_1.default.hex(diamond_js_1.FAINT_HEX)(` Root: ${c.ctx.root}\n`));