zelari-code 1.41.0 → 1.43.0
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.
- package/dist/cli/budget/llmCompact.js +97 -83
- package/dist/cli/budget/llmCompact.js.map +1 -1
- package/dist/cli/budget/requestMeter.js +138 -0
- package/dist/cli/budget/requestMeter.js.map +1 -0
- package/dist/cli/budget/requestSnapshotStore.js +55 -0
- package/dist/cli/budget/requestSnapshotStore.js.map +1 -0
- package/dist/cli/budget/tokenBudget.js +147 -15
- package/dist/cli/budget/tokenBudget.js.map +1 -1
- package/dist/cli/hooks/conversationContext.js +4 -0
- package/dist/cli/hooks/conversationContext.js.map +1 -1
- package/dist/cli/hooks/historyCompaction.js +76 -21
- package/dist/cli/hooks/historyCompaction.js.map +1 -1
- package/dist/cli/hooks/useChatTurn.js +90 -23
- package/dist/cli/hooks/useChatTurn.js.map +1 -1
- package/dist/cli/main.bundled.js +1555 -890
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/provider/openai-compatible.js +11 -1
- package/dist/cli/provider/openai-compatible.js.map +1 -1
- package/dist/cli/runHeadless.js +15 -0
- package/dist/cli/runHeadless.js.map +1 -1
- package/dist/cli/toolRegistry.js +16 -0
- package/dist/cli/toolRegistry.js.map +1 -1
- package/dist/cli/tools/planTaskTools.js +236 -0
- package/dist/cli/tools/planTaskTools.js.map +1 -0
- package/dist/cli/workspace/planStore.js +213 -0
- package/dist/cli/workspace/planStore.js.map +1 -0
- package/dist/cli/workspace/planStore.test.js +295 -0
- package/dist/cli/workspace/planStore.test.js.map +1 -0
- package/dist/cli/workspace/stubs.js +14 -4
- package/dist/cli/workspace/stubs.js.map +1 -1
- package/dist/cli/workspace/workspaceSummary.js +7 -1
- package/dist/cli/workspace/workspaceSummary.js.map +1 -1
- package/package.json +2 -2
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* @updated v1.21.0 — continuity summaries on compact; async LLM path
|
|
14
14
|
*/
|
|
15
15
|
import { envNumber } from '../utils/envNumber.js';
|
|
16
|
-
import { compactHistoryAsync, compactHistoryDetailed, } from '../hooks/historyCompaction.js';
|
|
16
|
+
import { compactHistoryAsync, compactHistoryDetailed, pruneToolResultsDetailed, } from '../hooks/historyCompaction.js';
|
|
17
17
|
/** Rough chars→tokens (OpenAI-ish). */
|
|
18
18
|
export function estimateTokens(text) {
|
|
19
19
|
if (!text)
|
|
@@ -131,21 +131,77 @@ export function applyBudgetPolicy(history, phase, opts) {
|
|
|
131
131
|
messagesRemoved: messagesRemoved || undefined,
|
|
132
132
|
};
|
|
133
133
|
}
|
|
134
|
+
/** Reserved output headroom factored into context pressure (v1.36.0). */
|
|
135
|
+
const RESERVED_OUTPUT_TOKENS = 8_192;
|
|
134
136
|
/**
|
|
135
|
-
* Async budget policy
|
|
136
|
-
*
|
|
137
|
+
* Async budget policy — v1.36.0 pipeline (P6/P7):
|
|
138
|
+
*
|
|
139
|
+
* measure → 70–85% warn
|
|
140
|
+
* → ≥80% prune oversized tool results → remeasure
|
|
141
|
+
* → ≥85% compactHistoryAsync(force, replay) → remeasure
|
|
142
|
+
* → ≥95% emergency hard trim → send
|
|
143
|
+
*
|
|
144
|
+
* Measuring uses the FULL request surface (system + tools schema +
|
|
145
|
+
* conversation + reasoning) when a snapshot anchors it; otherwise it falls
|
|
146
|
+
* back to the legacy history-only estimate. Pruning BEFORE summarizing
|
|
147
|
+
* avoids an LLM compaction call entirely when two oversized read_file /
|
|
148
|
+
* grep results were the whole problem (DSH prune-remeasure lesson).
|
|
149
|
+
*
|
|
150
|
+
* cachedPromptTokens are NEVER subtracted from pressure: cached or not,
|
|
151
|
+
* the provider still holds the whole prefix in the context window.
|
|
137
152
|
*/
|
|
138
153
|
export async function applyBudgetPolicyAsync(history, phase, opts) {
|
|
139
154
|
const contextLimit = resolveContextLimit(opts?.model);
|
|
140
155
|
const sessionExtra = opts?.sessionTokens ?? 0;
|
|
141
156
|
const warnings = [];
|
|
142
157
|
let { historyTurns, maxToolLoopIterations } = phaseKnobs(phase);
|
|
158
|
+
const envelope = opts?.requestSnapshot ?? null;
|
|
159
|
+
// v1.36.0 (case 12): when only the providerStream is available (no routed
|
|
160
|
+
// snapshot yet — first turn, tests), synthesize a DEGRADED replay base so
|
|
161
|
+
// the summarizer still runs on a cold minimal prefix: no cache reuse, but
|
|
162
|
+
// LLM compaction proceeds instead of being silently skipped. The METER
|
|
163
|
+
// stays anchored to real snapshots only (a degraded envelope would add
|
|
164
|
+
// RESERVED_OUTPUT_TOKENS pressure that was never measured).
|
|
165
|
+
const replayBase = envelope
|
|
166
|
+
? {
|
|
167
|
+
provider: envelope.snapshot.provider,
|
|
168
|
+
model: envelope.snapshot.model,
|
|
169
|
+
systemMessages: envelope.snapshot.systemMessages,
|
|
170
|
+
tools: envelope.snapshot.tools,
|
|
171
|
+
}
|
|
172
|
+
: opts?.providerStream
|
|
173
|
+
? { provider: 'local', model: opts?.model ?? 'unknown', systemMessages: [], tools: [] }
|
|
174
|
+
: null;
|
|
175
|
+
// Full-request meter (anchored when snapshot+usage are available).
|
|
176
|
+
const headerTokens = envelope
|
|
177
|
+
? estimateSystemTokensLite(envelope.snapshot.systemMessages) +
|
|
178
|
+
estimateToolSchemaTokensLite(envelope.snapshot.tools)
|
|
179
|
+
: 0;
|
|
180
|
+
const convTokensOf = (h) => estimateConversationTokensLite(h);
|
|
143
181
|
let hist = history;
|
|
144
|
-
let
|
|
182
|
+
let estimated = envelope
|
|
183
|
+
? headerTokens + convTokensOf(hist) + RESERVED_OUTPUT_TOKENS
|
|
184
|
+
: estimateHistoryTokens(hist) + sessionExtra;
|
|
185
|
+
let occupancy = Math.min(1, estimated / contextLimit);
|
|
145
186
|
let compactSummary = '';
|
|
146
187
|
let messagesRemoved = 0;
|
|
188
|
+
let cacheReuseExpected;
|
|
189
|
+
let prunedTotal = 0;
|
|
147
190
|
if (occupancy >= 0.7 && occupancy < 0.85) {
|
|
148
|
-
warnings.push(`[budget] context ~${Math.round(occupancy * 100)}% full (${estimated
|
|
191
|
+
warnings.push(`[budget] context ~${Math.round(occupancy * 100)}% full (${estimated}/${contextLimit} tok full-request est.) — consider /compact or shorter replies.`);
|
|
192
|
+
}
|
|
193
|
+
// ── ≥80%: prune oversized tool results, then REMEASURE ──────────────────
|
|
194
|
+
if (occupancy >= 0.8) {
|
|
195
|
+
const pruned = pruneToolResultsDetailed(hist);
|
|
196
|
+
if (pruned.stats.pruned > 0) {
|
|
197
|
+
hist = pruned.messages;
|
|
198
|
+
prunedTotal += pruned.stats.pruned;
|
|
199
|
+
estimated = envelope
|
|
200
|
+
? headerTokens + convTokensOf(hist) + RESERVED_OUTPUT_TOKENS
|
|
201
|
+
: estimateHistoryTokens(hist) + sessionExtra;
|
|
202
|
+
occupancy = Math.min(1, estimated / contextLimit);
|
|
203
|
+
warnings.push(`[budget] pruned ${pruned.stats.pruned} oversized tool result(s) → ${Math.round(occupancy * 100)}% (${estimated} tok).`);
|
|
204
|
+
}
|
|
149
205
|
}
|
|
150
206
|
const fold = (r, label, forcedTurns) => {
|
|
151
207
|
hist = r.messages;
|
|
@@ -153,43 +209,119 @@ export async function applyBudgetPolicyAsync(history, phase, opts) {
|
|
|
153
209
|
messagesRemoved += r.messagesRemoved;
|
|
154
210
|
if (r.summary)
|
|
155
211
|
compactSummary = r.summary;
|
|
212
|
+
if (r.cacheReuseExpected !== undefined) {
|
|
213
|
+
cacheReuseExpected = r.cacheReuseExpected;
|
|
214
|
+
}
|
|
156
215
|
}
|
|
157
|
-
|
|
158
|
-
|
|
216
|
+
estimated = envelope
|
|
217
|
+
? headerTokens + convTokensOf(hist) + RESERVED_OUTPUT_TOKENS
|
|
218
|
+
: estimateHistoryTokens(hist) + sessionExtra;
|
|
219
|
+
occupancy = Math.min(1, estimated / contextLimit);
|
|
220
|
+
warnings.push(`[budget] ${label} — kept ~${forcedTurns} turns (${estimated} tok est.` +
|
|
159
221
|
(r.messagesRemoved ? `, removed ${r.messagesRemoved} msgs` : '') +
|
|
160
|
-
|
|
222
|
+
(r.cacheReuseExpected === false ? ', cache reuse NOT expected (model override)' : '') +
|
|
223
|
+
').');
|
|
161
224
|
};
|
|
225
|
+
// ── ≥85% after pruning: cache-aware compaction (replay when possible) ───
|
|
162
226
|
if (occupancy >= 0.85) {
|
|
163
227
|
const forcedTurns = Math.max(1, Math.floor(historyTurns / 2));
|
|
164
228
|
historyTurns = forcedTurns;
|
|
165
229
|
maxToolLoopIterations = Math.min(maxToolLoopIterations, phase === 'plan' ? 24 : 40);
|
|
166
|
-
|
|
167
|
-
maxMessages: forcedTurns * 4,
|
|
230
|
+
let r = await compactHistoryAsync(hist, {
|
|
231
|
+
maxMessages: Math.max(2, forcedTurns * 4),
|
|
232
|
+
force: true,
|
|
168
233
|
signal: opts?.signal,
|
|
234
|
+
...(replayBase
|
|
235
|
+
? { requestSnapshot: replayBase, providerStream: opts?.providerStream }
|
|
236
|
+
: {}),
|
|
169
237
|
});
|
|
170
|
-
|
|
238
|
+
// Few-but-huge histories may not shrink on the first window: retry
|
|
239
|
+
// with a minimal window so token pressure always wins (test case 20).
|
|
240
|
+
if (!r.compacted) {
|
|
241
|
+
r = await compactHistoryAsync(hist, {
|
|
242
|
+
maxMessages: 2,
|
|
243
|
+
force: true,
|
|
244
|
+
signal: opts?.signal,
|
|
245
|
+
...(replayBase
|
|
246
|
+
? { requestSnapshot: replayBase, providerStream: opts?.providerStream }
|
|
247
|
+
: {}),
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
const label = r.cacheReuseExpected === false ? 'llm-compact (model override)' : 'auto-compact';
|
|
171
251
|
fold(r, label, forcedTurns);
|
|
172
252
|
}
|
|
253
|
+
// ── ≥95%: emergency hard trim ────────────────────────────────────────────
|
|
173
254
|
if (occupancy >= 0.95) {
|
|
174
255
|
const hard = await compactHistoryAsync(hist, {
|
|
175
|
-
maxMessages:
|
|
256
|
+
maxMessages: 2,
|
|
257
|
+
force: true,
|
|
176
258
|
signal: opts?.signal,
|
|
177
259
|
});
|
|
178
|
-
fold(hard, hard.summary.includes('· llm') ? 'llm-compact' : '
|
|
260
|
+
fold(hard, hard.summary.includes('· llm') ? 'llm-compact' : 'HARD trim', 2);
|
|
179
261
|
historyTurns = 2;
|
|
180
262
|
maxToolLoopIterations = Math.min(maxToolLoopIterations, 16);
|
|
181
|
-
warnings.push(
|
|
263
|
+
warnings.push('[budget] HARD context pressure (≥95%) — prefer /clear or a new session if quality drops.');
|
|
182
264
|
}
|
|
265
|
+
const cacheMetricsLine = envelope
|
|
266
|
+
? [
|
|
267
|
+
'compaction meter:',
|
|
268
|
+
`provider/model: ${envelope.snapshot.provider}/${envelope.snapshot.model}`,
|
|
269
|
+
`headerFingerprint: ${envelope.snapshot.headerFingerprint.slice(0, 12)}`,
|
|
270
|
+
`occupancy: ${Math.round(occupancy * 100)}% (${estimated}/${contextLimit})`,
|
|
271
|
+
...(envelope.usage?.cachedPromptTokens !== undefined
|
|
272
|
+
? [`cachedPromptTokens: ${envelope.usage.cachedPromptTokens}`]
|
|
273
|
+
: []),
|
|
274
|
+
...(cacheReuseExpected !== undefined
|
|
275
|
+
? [`cacheReuseExpected: ${cacheReuseExpected}`]
|
|
276
|
+
: []),
|
|
277
|
+
].join(' | ')
|
|
278
|
+
: undefined;
|
|
183
279
|
return {
|
|
184
280
|
history: hist,
|
|
185
281
|
warnings,
|
|
186
282
|
maxToolLoopIterations,
|
|
187
283
|
historyTurns,
|
|
188
|
-
estimatedHistoryTokens: estimated,
|
|
284
|
+
estimatedHistoryTokens: envelope ? convTokensOf(hist) : estimated,
|
|
189
285
|
contextLimit,
|
|
190
286
|
occupancy,
|
|
191
287
|
compactSummary: compactSummary || undefined,
|
|
192
288
|
messagesRemoved: messagesRemoved || undefined,
|
|
289
|
+
...(envelope ? { contextPressureTokens: estimated } : {}),
|
|
290
|
+
...(cacheReuseExpected !== undefined ? { cacheReuseExpected } : {}),
|
|
291
|
+
...(cacheMetricsLine ? { cacheMetricsLine } : {}),
|
|
193
292
|
};
|
|
194
293
|
}
|
|
294
|
+
// ── Local estimators (requestMeter-lite, no import cycle) ───────────────────
|
|
295
|
+
function estimateSystemTokensLite(systemMessages) {
|
|
296
|
+
let n = 0;
|
|
297
|
+
for (const m of systemMessages)
|
|
298
|
+
n += 4 + Math.ceil((m.content ?? '').length / 4);
|
|
299
|
+
return n;
|
|
300
|
+
}
|
|
301
|
+
function estimateToolSchemaTokensLite(tools) {
|
|
302
|
+
let n = 0;
|
|
303
|
+
for (const t of tools) {
|
|
304
|
+
n += Math.ceil((t.name ?? '').length / 4);
|
|
305
|
+
n += Math.ceil((t.description ?? '').length / 4);
|
|
306
|
+
n += Math.ceil(JSON.stringify(t.parameters ?? {}).length / 4);
|
|
307
|
+
}
|
|
308
|
+
return n + tools.length * 4;
|
|
309
|
+
}
|
|
310
|
+
function estimateConversationTokensLite(messages) {
|
|
311
|
+
let n = 0;
|
|
312
|
+
for (const m of messages) {
|
|
313
|
+
n += 4 + Math.ceil((m.content ?? '').length / 4);
|
|
314
|
+
if (m.toolCalls) {
|
|
315
|
+
for (const tc of m.toolCalls) {
|
|
316
|
+
n += Math.ceil(tc.name.length / 4) + Math.ceil(tc.id.length / 4);
|
|
317
|
+
n += Math.ceil(JSON.stringify(tc.args ?? {}).length / 4);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
if (m.reasoningContent)
|
|
321
|
+
n += Math.ceil(m.reasoningContent.length / 4);
|
|
322
|
+
if (m.toolCallId)
|
|
323
|
+
n += Math.ceil(m.toolCallId.length / 4);
|
|
324
|
+
}
|
|
325
|
+
return n;
|
|
326
|
+
}
|
|
195
327
|
//# sourceMappingURL=tokenBudget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenBudget.js","sourceRoot":"","sources":["../../../src/cli/budget/tokenBudget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tokenBudget.js","sourceRoot":"","sources":["../../../src/cli/budget/tokenBudget.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ import { join } from 'node:path';
|
|
|
16
16
|
import { clearSessionPermissionGrants } from '../safety/toolPermissions.js';
|
|
17
17
|
import { clearSessionTodos } from '../sessionTodos.js';
|
|
18
18
|
import { compactHistory } from './historyCompaction.js';
|
|
19
|
+
import { clearAllRequestSnapshots } from '../budget/requestSnapshotStore.js';
|
|
19
20
|
let history = [];
|
|
20
21
|
let lastClarification = null;
|
|
21
22
|
/** Current rolling history (read-only view — callers must not mutate). */
|
|
@@ -41,6 +42,9 @@ export function appendMessages(msgs) {
|
|
|
41
42
|
export function clearHistory() {
|
|
42
43
|
history = [];
|
|
43
44
|
lastClarification = null;
|
|
45
|
+
// v1.36.0: routed-request snapshots are conversation-scoped — a cleared
|
|
46
|
+
// session must not replay a stale warm prefix.
|
|
47
|
+
clearAllRequestSnapshots();
|
|
44
48
|
// Session todos + permission grants are conversation-scoped.
|
|
45
49
|
clearSessionTodos();
|
|
46
50
|
clearSessionPermissionGrants();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversationContext.js","sourceRoot":"","sources":["../../../src/cli/hooks/conversationContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"conversationContext.js","sourceRoot":"","sources":["../../../src/cli/hooks/conversationContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
*
|
|
25
25
|
* @since v1.6.0
|
|
26
26
|
*/
|
|
27
|
-
import { extractiveHistorySummary,
|
|
28
|
-
import {
|
|
27
|
+
import { extractiveHistorySummary, } from "../budget/historySummary.js";
|
|
28
|
+
import { llmSummarizeHistoryReplay, } from "../budget/llmCompact.js";
|
|
29
29
|
import { envNumber } from "../utils/envNumber.js";
|
|
30
30
|
/** Marker prepended when messages are dropped (legacy short form). */
|
|
31
31
|
const COMPACT_MARKER = "[history] Earlier turns were compacted to stay within the context budget.";
|
|
@@ -50,6 +50,13 @@ export function resolveMaxMessages(opts) {
|
|
|
50
50
|
}
|
|
51
51
|
if (turns <= 0)
|
|
52
52
|
return 0;
|
|
53
|
+
// v1.36.0 (P8/case 20): occupancy-driven callers (force=true) pass a
|
|
54
|
+
// PRECISE message window — honor it literally instead of rounding through
|
|
55
|
+
// the turns×4 amortization, which would inflate a small window (2 → 4)
|
|
56
|
+
// and refuse to drop anything. The ×4 rounding stays for the count-gated
|
|
57
|
+
// legacy path where it amortizes compaction across turns.
|
|
58
|
+
if (opts?.force && opts?.maxMessages)
|
|
59
|
+
return Math.max(1, opts.maxMessages);
|
|
53
60
|
return turns * 4;
|
|
54
61
|
}
|
|
55
62
|
/**
|
|
@@ -165,6 +172,24 @@ export function pruneToolResultsDetailed(messages, opts) {
|
|
|
165
172
|
export function compactHistory(messages, opts) {
|
|
166
173
|
return compactHistoryDetailed(messages, opts).messages;
|
|
167
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* v1.36.0 (P12): the compaction checkpoint is a USER message, not a new
|
|
177
|
+
* system policy block. The system prompt stays stable (1–2 messages, byte
|
|
178
|
+
* identical across turns) so the provider prefix cache keeps hitting; the
|
|
179
|
+
* checkpoint replaces the dropped conversation as model-visible user
|
|
180
|
+
* context. This is the same surface pattern used by DSH-style harnesses.
|
|
181
|
+
*/
|
|
182
|
+
const CHECKPOINT_WRAPPER_PREFIX = 'This is an automatically generated checkpoint of earlier conversation. ' +
|
|
183
|
+
'Treat it as established context and continue directly.';
|
|
184
|
+
export function buildCheckpointMessage(summaryText) {
|
|
185
|
+
return {
|
|
186
|
+
role: 'user',
|
|
187
|
+
content: CHECKPOINT_WRAPPER_PREFIX +
|
|
188
|
+
'\n\n<compacted-summary>\n' +
|
|
189
|
+
summaryText +
|
|
190
|
+
'\n</compacted-summary>',
|
|
191
|
+
};
|
|
192
|
+
}
|
|
168
193
|
/**
|
|
169
194
|
* Same as compactHistory but returns metadata (removed count + summary text).
|
|
170
195
|
*/
|
|
@@ -174,7 +199,9 @@ export function compactHistoryDetailed(messages, opts) {
|
|
|
174
199
|
return { messages: [], compacted: true, messagesRemoved: messages.length, summary: "" };
|
|
175
200
|
}
|
|
176
201
|
// Trigger at 2× cap so we don't compact on every single turn (amortize).
|
|
177
|
-
|
|
202
|
+
// v1.36.0 (P8): occupancy-driven callers pass force=true so high TOKEN
|
|
203
|
+
// pressure compacts even when the message COUNT is low.
|
|
204
|
+
if (messages.length <= maxMessages * 2 && !opts?.force) {
|
|
178
205
|
return {
|
|
179
206
|
messages: messages,
|
|
180
207
|
compacted: false,
|
|
@@ -182,7 +209,7 @@ export function compactHistoryDetailed(messages, opts) {
|
|
|
182
209
|
summary: "",
|
|
183
210
|
};
|
|
184
211
|
}
|
|
185
|
-
const naiveCut = messages.length - maxMessages;
|
|
212
|
+
const naiveCut = Math.max(0, messages.length - maxMessages);
|
|
186
213
|
const cut = findValidCutIndex(messages, naiveCut);
|
|
187
214
|
if (cut === 0) {
|
|
188
215
|
return {
|
|
@@ -196,10 +223,7 @@ export function compactHistoryDetailed(messages, opts) {
|
|
|
196
223
|
const pruned = pruneToolResultsDetailed(messages.slice(cut));
|
|
197
224
|
const kept = pruned.messages;
|
|
198
225
|
const summaryText = extractiveHistorySummary(droppedMsgs);
|
|
199
|
-
const summary = {
|
|
200
|
-
role: "system",
|
|
201
|
-
content: summaryText || `${COMPACT_MARKER} ${cut} earlier message(s) dropped.`,
|
|
202
|
-
};
|
|
226
|
+
const summary = buildCheckpointMessage(summaryText || `${COMPACT_MARKER} ${cut} earlier message(s) dropped.`);
|
|
203
227
|
return {
|
|
204
228
|
messages: [summary, ...kept],
|
|
205
229
|
compacted: true,
|
|
@@ -219,29 +243,60 @@ export async function compactHistoryAsync(messages, opts) {
|
|
|
219
243
|
const cut = base.messagesRemoved;
|
|
220
244
|
const droppedMsgs = messages.slice(0, cut);
|
|
221
245
|
const extractive = extractiveHistorySummary(droppedMsgs);
|
|
222
|
-
const droppedTranscript = formatDroppedForLlm(droppedMsgs);
|
|
223
246
|
let summaryText = extractive;
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
247
|
+
let cacheReuseExpected;
|
|
248
|
+
let replayExactPrefix;
|
|
249
|
+
const canReplay = !!(opts?.providerStream && opts?.requestSnapshot);
|
|
250
|
+
if (canReplay) {
|
|
251
|
+
try {
|
|
252
|
+
const replay = await llmSummarizeHistoryReplay({
|
|
253
|
+
providerStream: opts.providerStream,
|
|
254
|
+
provider: opts.requestSnapshot.provider,
|
|
255
|
+
model: opts.requestSnapshot.model,
|
|
256
|
+
systemMessages: opts.requestSnapshot.systemMessages,
|
|
257
|
+
tools: opts.requestSnapshot.tools,
|
|
258
|
+
droppedMessages: droppedMsgs,
|
|
259
|
+
signal: opts?.signal,
|
|
260
|
+
});
|
|
261
|
+
cacheReuseExpected = replay.cacheReuseExpected;
|
|
262
|
+
if (replay.summary && replay.summary.trim().length > 40) {
|
|
263
|
+
// P13: a summary that does not shrink the source is a failed
|
|
264
|
+
// compaction — keep the (much smaller) extractive sketch instead.
|
|
265
|
+
const sourceTokens = roughTokens(droppedMsgs);
|
|
266
|
+
const summaryTok = Math.ceil(replay.summary.length / 4);
|
|
267
|
+
if (summaryTok < sourceTokens) {
|
|
268
|
+
summaryText = replay.summary.trim();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
catch {
|
|
273
|
+
// keep extractive
|
|
274
|
+
}
|
|
235
275
|
}
|
|
236
276
|
const pruned = pruneToolResultsDetailed(messages.slice(cut));
|
|
237
277
|
const kept = pruned.messages;
|
|
238
|
-
const summary =
|
|
278
|
+
const summary = buildCheckpointMessage(summaryText);
|
|
239
279
|
return {
|
|
240
280
|
messages: [summary, ...kept],
|
|
241
281
|
compacted: true,
|
|
242
282
|
messagesRemoved: cut,
|
|
243
283
|
summary: summaryText,
|
|
244
284
|
prunedToolResults: pruned.stats.pruned,
|
|
285
|
+
cacheReuseExpected,
|
|
286
|
+
replayExactPrefix,
|
|
245
287
|
};
|
|
246
288
|
}
|
|
289
|
+
/** Rough chars/4 token estimate over content + tool args (local, no cycle). */
|
|
290
|
+
function roughTokens(msgs) {
|
|
291
|
+
let n = 0;
|
|
292
|
+
for (const m of msgs) {
|
|
293
|
+
n += Math.ceil((m.content ?? '').length / 4);
|
|
294
|
+
if (m.toolCalls) {
|
|
295
|
+
for (const tc of m.toolCalls) {
|
|
296
|
+
n += Math.ceil(JSON.stringify(tc.args ?? {}).length / 4);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
return Math.max(1, n);
|
|
301
|
+
}
|
|
247
302
|
//# sourceMappingURL=historyCompaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historyCompaction.js","sourceRoot":"","sources":["../../../src/cli/hooks/historyCompaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EACL,wBAAwB,
|
|
1
|
+
{"version":3,"file":"historyCompaction.js","sourceRoot":"","sources":["../../../src/cli/hooks/historyCompaction.ts"],"names":[],"mappings":"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"}
|