@aexol/spectral 0.9.185 → 0.9.186

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAIX,SAAS,EAET,MAAM,4BAA4B,CAAC;AAUpC,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACN,KAAK,WAAW,EAKhB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAAO,KAAK,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAuG7G;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACxC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC,GACpF,MAAM,CAYR;AA0JD;;;GAGG;AACH,wBAAgB,oCAAoC,CACnD,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,GAChD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,CAK3D;AAoBD,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,gBAAgB,GACnB,SAAS,EAAE,CAoCb;AAwcD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACxC,GAAG,EAAE,YAAY,EACjB,IAAI,CAAC,EAAE;IACN,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,GACC,IAAI,CAgaN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAIX,SAAS,EAET,MAAM,4BAA4B,CAAC;AAUpC,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACN,KAAK,WAAW,EAKhB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAAO,KAAK,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAuG7G;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACxC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC,GACpF,MAAM,CAYR;AA0JD;;;GAGG;AACH,wBAAgB,oCAAoC,CACnD,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,GAChD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,CAK3D;AAoBD,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,gBAAgB,GACnB,SAAS,EAAE,CAoCb;AAycD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACxC,GAAG,EAAE,YAAY,EACjB,IAAI,CAAC,EAAE;IACN,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,GACC,IAAI,CAgaN"}
@@ -478,7 +478,7 @@ async function runSingleAgent(defaultCwd, agents, agentName, task, cwd, step, si
478
478
  // Pure request-time DCP adapter: policy-derived, invocation-local, and
479
479
  // never connected to the parent Runtime or SessionManager.
480
480
  try {
481
- const pruned = buildIsolatedRequestTimePrunedMessagesResult(messages, undefined, undefined, isolatedPruneFrozen);
481
+ const pruned = buildIsolatedRequestTimePrunedMessagesResult(messages, undefined, undefined, isolatedPruneFrozen, model.contextWindow);
482
482
  isolatedPruneFrozen = pruned.frozen;
483
483
  return pruned.messages;
484
484
  }
@@ -5,21 +5,21 @@ import type { Runtime } from "../runtime.js";
5
5
  export declare const COMPACT_CONTEXT_TOOL_NAME = "compact_context";
6
6
  export interface AutoPruneFrozen {
7
7
  /** Session identity used to invalidate the frozen cut after branch/session switches. */
8
- branchId: string;
9
- /** First kept entry id — the byte-stable cut point from the original prune. */
10
- anchorEntryId: string;
8
+ sessionId: string;
9
+ /** Index into the provider message array for the first kept message. */
10
+ cutIndex: number;
11
+ /** Stable AgentMessage reference at `cutIndex`, used as an O(1) identity anchor. */
12
+ anchor: AgentMessage;
11
13
  /** Deterministic DCP-lite summary generated at the original prune. */
12
14
  summary: string;
13
- /** Number of provider messages covered by the original frozen boundary. */
14
- frozenAtBoundaryEnd: number;
15
- /** Raw token estimate at the moment the cut was frozen. */
16
- rawTokensAtFreeze: number;
17
15
  /** Original tokensBefore for the frozen compaction summary message. */
18
16
  tokensBefore: number;
19
17
  /** Original compaction timestamp for the frozen compaction summary message. */
20
18
  timestamp: string;
21
- /** Stable AgentMessage references for the frozen leading boundary. */
22
- leadingMessageRefs: readonly AgentMessage[];
19
+ /** Keep-recent token budget that produced this cut (policy-change invalidation). */
20
+ keepRecentTokensUsed: number;
21
+ /** Token estimate of the kept tail at the moment the cut was frozen. */
22
+ tailTokensAtFreeze: number;
23
23
  }
24
24
  /** Request-time DCP adapter for isolated loops: it borrows only pure policy helpers. */
25
25
  export declare function buildIsolatedRequestTimePrunedMessages(currentMessages: AgentMessage[], policy?: CompactionPolicy, keepRecentTokens?: number): AgentMessage[];
@@ -32,9 +32,9 @@ export interface IsolatedRequestTimePruneResult {
32
32
  *
33
33
  * The subagent loop owns the returned `frozen` value across provider requests.
34
34
  * On the first prune we freeze the deterministic summary + cut, then reuse that
35
- * exact prefix until the leading message references change (which can only
36
- * happen at the end of the isolated run).
35
+ * exact prefix until the kept-tail anchor reference changes or the tail grows
36
+ * past the window-relative hysteresis budget.
37
37
  */
38
- export declare function buildIsolatedRequestTimePrunedMessagesResult(currentMessages: AgentMessage[], policy?: CompactionPolicy, keepRecentTokens?: number, frozen?: AutoPruneFrozen | null): IsolatedRequestTimePruneResult;
38
+ export declare function buildIsolatedRequestTimePrunedMessagesResult(currentMessages: AgentMessage[], policy?: CompactionPolicy, keepRecentTokens?: number, frozen?: AutoPruneFrozen | null, contextWindow?: number | null): IsolatedRequestTimePruneResult;
39
39
  export declare function registerCompactContextTool(ext: ExtensionAPI, runtime: Runtime): void;
40
40
  //# sourceMappingURL=compact-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compact-context.d.ts","sourceRoot":"","sources":["../../../src/memory/tools/compact-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAUN,KAAK,gBAAgB,EACrB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAc,KAAK,YAAY,EAAyB,MAAM,iCAAiC,CAAC;AAKvG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAO,MAAM,yBAAyB,oBAAoB,CAAC;AA+F3D,MAAM,WAAW,eAAe;IAC/B,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,kBAAkB,EAAE,SAAS,YAAY,EAAE,CAAC;CAC5C;AAuUD,wFAAwF;AACxF,wBAAgB,sCAAsC,CACrD,eAAe,EAAE,YAAY,EAAE,EAC/B,MAAM,GAAE,gBAA4C,EACpD,gBAAgB,CAAC,EAAE,MAAM,GACvB,YAAY,EAAE,CAMhB;AAED,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,4CAA4C,CAC3D,eAAe,EAAE,YAAY,EAAE,EAC/B,MAAM,GAAE,gBAA4C,EACpD,gBAAgB,CAAC,EAAE,MAAM,EACzB,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,GAC7B,8BAA8B,CAkDhC;AAwUD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAoTpF"}
1
+ {"version":3,"file":"compact-context.d.ts","sourceRoot":"","sources":["../../../src/memory/tools/compact-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAaN,KAAK,gBAAgB,EACrB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAc,KAAK,YAAY,EAAyB,MAAM,iCAAiC,CAAC;AAMvG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAO,MAAM,yBAAyB,oBAAoB,CAAC;AA+F3D,MAAM,WAAW,eAAe;IAC/B,wFAAwF;IACxF,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,MAAM,EAAE,YAAY,CAAC;IACrB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,kBAAkB,EAAE,MAAM,CAAC;CAC3B;AAgYD,wFAAwF;AACxF,wBAAgB,sCAAsC,CACrD,eAAe,EAAE,YAAY,EAAE,EAC/B,MAAM,GAAE,gBAA4C,EACpD,gBAAgB,CAAC,EAAE,MAAM,GACvB,YAAY,EAAE,CAMhB;AAED,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;CAC/B;AAkBD;;;;;;;GAOG;AACH,wBAAgB,4CAA4C,CAC3D,eAAe,EAAE,YAAY,EAAE,EAC/B,MAAM,GAAE,gBAA4C,EACpD,gBAAgB,CAAC,EAAE,MAAM,EACzB,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,8BAA8B,CA4DhC;AA0SD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAgTpF"}
@@ -1,7 +1,8 @@
1
1
  import { Type } from "../../sdk/ai/index.js";
2
- import { compactDcpLite, DEFAULT_COMPACTION_POLICY, estimateTokens, getManualCompactionSettings, normalizeAgentDrivenOlderHistoryKeepRecentTokens, prepareCompaction, decideCompaction, } from "../../sdk/coding-agent/core/compaction/index.js";
2
+ import { compactDcpLite, CONTEXT_LIMIT_RATIO, DEFAULT_COMPACTION_POLICY, estimateTokens, getManualCompactionSettings, normalizeAgentDrivenOlderHistoryKeepRecentTokens, prepareCompaction, decideCompaction, getAutoOlderHistoryHysteresisTokens, getAutoOlderHistoryKeepRecentTokens, } from "../../sdk/coding-agent/core/compaction/index.js";
3
3
  import { defineTool } from "../../sdk/coding-agent/index.js";
4
4
  import { buildSessionContext } from "../../sdk/coding-agent/core/session-manager.js";
5
+ import { createCompactionSummaryMessage } from "../../sdk/coding-agent/core/messages.js";
5
6
  import { rawTokensSinceLastCompaction } from "../branch.js";
6
7
  import { debugLog, withDebugLogContext } from "../debug-log.js";
7
8
  export const COMPACT_CONTEXT_TOOL_NAME = "compact_context";
@@ -177,12 +178,32 @@ function getAutoOlderHistoryRequestSettings(policy) {
177
178
  pinLatestUserMessage: true,
178
179
  };
179
180
  }
181
+ function getContextWindow(ctx) {
182
+ try {
183
+ const usage = ctx.getContextUsage();
184
+ if (usage && typeof usage.contextWindow === "number" && usage.contextWindow > 0) {
185
+ return usage.contextWindow;
186
+ }
187
+ }
188
+ catch {
189
+ // getContextUsage is optional in some headless harnesses.
190
+ }
191
+ const modelWindow = ctx.model?.contextWindow;
192
+ return typeof modelWindow === "number" && modelWindow > 0 ? modelWindow : undefined;
193
+ }
194
+ function getAutoRequestTimeRequestSettings(policy, contextWindow) {
195
+ const keepRecentTokens = getAutoOlderHistoryKeepRecentTokens(policy, contextWindow) ?? policy.agentDriven.olderHistoryKeepRecentTokens;
196
+ return {
197
+ phaseBoundary: false,
198
+ scope: "older_history",
199
+ keepRecentTokens,
200
+ minRawTokens: keepRecentTokens + policy.agentDriven.olderHistoryMinCompactableTokens,
201
+ pinLatestUserMessage: true,
202
+ };
203
+ }
180
204
  function isContextAtOrAboveRatio(percent, ratio) {
181
205
  return typeof percent === "number" && Number.isFinite(percent) && percent >= ratio * 100;
182
206
  }
183
- function isContextAtOrAboveTokenLimit(contextTokens, tokenLimit) {
184
- return typeof contextTokens === "number" && Number.isFinite(contextTokens) && contextTokens >= tokenLimit;
185
- }
186
207
  function hasPendingModelRequest(ctx) {
187
208
  try {
188
209
  if (!ctx.isIdle())
@@ -197,8 +218,11 @@ function hasPendingModelRequest(ctx) {
197
218
  return false;
198
219
  }
199
220
  }
200
- function decideAutoCompaction(ctx, runtime, state, policy, rawTokens, contextTokens, percent, iterationSignal = false, isMidRun = hasPendingModelRequest(ctx)) {
201
- const requestSettings = getAutoOlderHistoryRequestSettings(policy);
221
+ function decideAutoCompaction(ctx, runtime, state, policy, rawTokens, percent, iterationSignal = false, isMidRun = hasPendingModelRequest(ctx)) {
222
+ const contextWindow = getContextWindow(ctx);
223
+ const requestSettings = isMidRun
224
+ ? getAutoRequestTimeRequestSettings(policy, contextWindow)
225
+ : getAutoOlderHistoryRequestSettings(policy);
202
226
  return decideCompaction({
203
227
  source: "automatic",
204
228
  isMidRun,
@@ -207,17 +231,17 @@ function decideAutoCompaction(ctx, runtime, state, policy, rawTokens, contextTok
207
231
  pending: state.request !== null,
208
232
  cooldownActive: remainingCooldownTurns(state, policy) > 0,
209
233
  hasSufficientMaterial: rawTokens >= requestSettings.minRawTokens,
210
- contextRatioReached: isContextAtOrAboveRatio(percent, policy.autoOlderHistory.contextLimitRatio),
211
- absoluteThresholdReached: isContextAtOrAboveTokenLimit(contextTokens, runtime.config.autoCompactionContextTokens),
212
- rawThresholdReached: rawTokens >= runtime.config.compactionThresholdTokens,
234
+ contextRatioReached: isContextAtOrAboveRatio(percent, CONTEXT_LIMIT_RATIO),
213
235
  iterationReached: iterationSignal,
214
236
  });
215
237
  }
216
- function maybeScheduleAutoOlderHistoryCompaction(ctx, runtime, state, policy, rawTokens, contextTokens, percent, iterationSignal = false) {
217
- const decision = decideAutoCompaction(ctx, runtime, state, policy, rawTokens, contextTokens, percent, iterationSignal);
238
+ function maybeScheduleAutoOlderHistoryCompaction(ctx, runtime, state, policy, rawTokens, percent, iterationSignal = false) {
239
+ const decision = decideAutoCompaction(ctx, runtime, state, policy, rawTokens, percent, iterationSignal);
218
240
  if (decision.mode === "none")
219
241
  return false;
220
- const requestSettings = getAutoOlderHistoryRequestSettings(policy);
242
+ const requestSettings = decision.mode === "request_time"
243
+ ? getAutoRequestTimeRequestSettings(policy, getContextWindow(ctx))
244
+ : getAutoOlderHistoryRequestSettings(policy);
221
245
  state.lastAgentDrivenRequestTurn = state.turnCount;
222
246
  state.request = { source: "auto", mode: decision.mode, ...requestSettings };
223
247
  if (decision.mode === "request_time")
@@ -242,7 +266,7 @@ function getRequestTimeCompactionSettings(request, policy) {
242
266
  function getBranchEntries(ctx) {
243
267
  return ctx.sessionManager.getBranch();
244
268
  }
245
- function getAutoPruneBranchId(ctx) {
269
+ function getAutoPruneSessionId(ctx) {
246
270
  try {
247
271
  return ctx.sessionManager.getSessionId();
248
272
  }
@@ -250,16 +274,12 @@ function getAutoPruneBranchId(ctx) {
250
274
  return "unknown-session";
251
275
  }
252
276
  }
253
- function autoPruneIdentityMatches(frozen, branchId, currentMessages) {
254
- if (frozen.branchId !== branchId)
255
- return false;
256
- if (frozen.frozenAtBoundaryEnd > currentMessages.length)
277
+ function autoPruneFrozenIdentityMatches(frozen, sessionId, currentMessages) {
278
+ if (frozen.sessionId !== sessionId)
257
279
  return false;
258
- for (let index = 0; index < frozen.frozenAtBoundaryEnd; index += 1) {
259
- if (currentMessages[index] !== frozen.leadingMessageRefs[index])
260
- return false;
261
- }
262
- return true;
280
+ return currentMessages.length > frozen.cutIndex &&
281
+ frozen.cutIndex >= 0 &&
282
+ currentMessages[frozen.cutIndex] === frozen.anchor;
263
283
  }
264
284
  function createVirtualCompactionEntry(pathEntries, result, timestamp) {
265
285
  return {
@@ -274,7 +294,7 @@ function createVirtualCompactionEntry(pathEntries, result, timestamp) {
274
294
  fromHook: false,
275
295
  };
276
296
  }
277
- function buildRequestTimePrunedMessages(ctx, request, policy, currentMessages, onFailure, frozen) {
297
+ function buildRequestTimePrunedMessages(ctx, request, policy, currentMessages, onFailure) {
278
298
  // During an active provider request the event payload is the source of truth.
279
299
  // The session branch can lag behind it (notably while a tool result or the
280
300
  // current assistant turn is still being appended), which used to make the
@@ -289,24 +309,56 @@ function buildRequestTimePrunedMessages(ctx, request, policy, currentMessages, o
289
309
  timestamp: new Date(index).toISOString(),
290
310
  message,
291
311
  }));
292
- const fromCurrentMessages = buildRequestTimePrunedMessagesFromEntries(currentEntries, request, policy, currentMessages, onFailure, frozen);
293
- if (fromCurrentMessages)
312
+ const fromCurrentMessages = buildRequestTimePrunedMessagesFromEntries(currentEntries, request, policy, currentMessages, onFailure);
313
+ if (fromCurrentMessages) {
314
+ if (typeof fromCurrentMessages.cutIndex === "number") {
315
+ fromCurrentMessages.anchorMessage = currentMessages[fromCurrentMessages.cutIndex];
316
+ }
294
317
  return fromCurrentMessages;
295
- return buildRequestTimePrunedMessagesFromEntries(getBranchEntries(ctx), request, policy, currentMessages, onFailure, frozen);
318
+ }
319
+ return buildRequestTimePrunedMessagesFromEntries(getBranchEntries(ctx), request, policy, currentMessages, onFailure);
320
+ }
321
+ function buildFrozenRequestTimePrunedMessages(frozen, currentMessages) {
322
+ if (frozen.cutIndex < 0 ||
323
+ currentMessages.length <= frozen.cutIndex ||
324
+ currentMessages[frozen.cutIndex] !== frozen.anchor) {
325
+ return undefined;
326
+ }
327
+ const messages = [
328
+ createCompactionSummaryMessage(frozen.summary, frozen.tokensBefore, frozen.timestamp),
329
+ ...currentMessages.slice(frozen.cutIndex),
330
+ ];
331
+ const originalTokens = rawTokensForCurrentMessages(currentMessages);
332
+ const prunedTokens = rawTokensForCurrentMessages(messages);
333
+ if (prunedTokens >= originalTokens)
334
+ return undefined;
335
+ return {
336
+ messages,
337
+ tokensRemoved: Math.max(0, originalTokens - prunedTokens),
338
+ originalTokens,
339
+ prunedTokens,
340
+ };
296
341
  }
297
342
  /** Request-time DCP adapter for isolated loops: it borrows only pure policy helpers. */
298
343
  export function buildIsolatedRequestTimePrunedMessages(currentMessages, policy = DEFAULT_COMPACTION_POLICY, keepRecentTokens) {
299
344
  return buildIsolatedRequestTimePrunedMessagesResult(currentMessages, policy, keepRecentTokens).messages;
300
345
  }
346
+ function autoPruneHysteresisExceeded(frozen, currentMessages, policy, contextWindow) {
347
+ if (frozen.cutIndex < 0 || frozen.cutIndex >= currentMessages.length)
348
+ return true;
349
+ const tailTokens = rawTokensForCurrentMessages(currentMessages.slice(frozen.cutIndex));
350
+ const hysteresisTokens = getAutoOlderHistoryHysteresisTokens(policy, contextWindow, frozen.keepRecentTokensUsed);
351
+ return tailTokens - frozen.tailTokensAtFreeze > hysteresisTokens;
352
+ }
301
353
  /**
302
354
  * Stateful per-run variant of {@link buildIsolatedRequestTimePrunedMessages}.
303
355
  *
304
356
  * The subagent loop owns the returned `frozen` value across provider requests.
305
357
  * On the first prune we freeze the deterministic summary + cut, then reuse that
306
- * exact prefix until the leading message references change (which can only
307
- * happen at the end of the isolated run).
358
+ * exact prefix until the kept-tail anchor reference changes or the tail grows
359
+ * past the window-relative hysteresis budget.
308
360
  */
309
- export function buildIsolatedRequestTimePrunedMessagesResult(currentMessages, policy = DEFAULT_COMPACTION_POLICY, keepRecentTokens, frozen) {
361
+ export function buildIsolatedRequestTimePrunedMessagesResult(currentMessages, policy = DEFAULT_COMPACTION_POLICY, keepRecentTokens, frozen, contextWindow) {
310
362
  const syntheticEntries = currentMessages.map((message, index) => ({
311
363
  type: "message",
312
364
  id: `isolated-${index}`,
@@ -314,83 +366,63 @@ export function buildIsolatedRequestTimePrunedMessagesResult(currentMessages, po
314
366
  timestamp: new Date(index).toISOString(),
315
367
  message,
316
368
  }));
369
+ const resolvedKeepRecentTokens = getAutoOlderHistoryKeepRecentTokens(policy, contextWindow, keepRecentTokens);
317
370
  const request = {
318
371
  source: "auto",
319
372
  mode: "request_time",
320
373
  scope: "older_history",
321
- keepRecentTokens,
374
+ keepRecentTokens: resolvedKeepRecentTokens,
322
375
  phaseBoundary: false,
323
376
  minRawTokens: 0,
324
377
  pinLatestUserMessage: true,
325
378
  };
326
- const branchId = "isolated-subagent-run";
327
- if (frozen && autoPruneIdentityMatches(frozen, branchId, currentMessages)) {
328
- const reused = buildRequestTimePrunedMessagesFromEntries(syntheticEntries, request, policy, currentMessages, undefined, frozen);
379
+ const sessionId = "isolated-subagent-run";
380
+ if (frozen &&
381
+ frozen.keepRecentTokensUsed === resolvedKeepRecentTokens &&
382
+ autoPruneFrozenIdentityMatches(frozen, sessionId, currentMessages) &&
383
+ !autoPruneHysteresisExceeded(frozen, currentMessages, policy, contextWindow)) {
384
+ const reused = buildFrozenRequestTimePrunedMessages(frozen, currentMessages);
329
385
  if (reused)
330
386
  return { messages: reused.messages, frozen };
331
387
  }
332
388
  const pruned = buildRequestTimePrunedMessagesFromEntries(syntheticEntries, request, policy, currentMessages);
333
- if (!pruned || typeof pruned.anchorEntryId !== "string" || typeof pruned.summary !== "string") {
389
+ const cutIndex = pruned?.cutIndex;
390
+ const anchorMessage = typeof cutIndex === "number" ? currentMessages[cutIndex] : undefined;
391
+ if (!pruned ||
392
+ typeof cutIndex !== "number" ||
393
+ anchorMessage === undefined ||
394
+ typeof pruned.summary !== "string") {
334
395
  return { messages: currentMessages, frozen: null };
335
396
  }
336
397
  const nextFrozen = {
337
- branchId,
338
- anchorEntryId: pruned.anchorEntryId,
398
+ sessionId,
399
+ cutIndex,
400
+ anchor: anchorMessage,
339
401
  summary: pruned.summary,
340
- frozenAtBoundaryEnd: currentMessages.length,
341
- rawTokensAtFreeze: rawTokensForCurrentMessages(currentMessages),
342
402
  tokensBefore: pruned.tokensBefore ?? 0,
343
403
  timestamp: pruned.timestamp ?? new Date().toISOString(),
344
- leadingMessageRefs: currentMessages.slice(),
404
+ keepRecentTokensUsed: resolvedKeepRecentTokens ?? 0,
405
+ tailTokensAtFreeze: rawTokensForCurrentMessages(currentMessages.slice(cutIndex)),
345
406
  };
346
407
  return { messages: pruned.messages, frozen: nextFrozen };
347
408
  }
348
- function buildRequestTimePrunedMessagesFromEntries(pathEntries, request, policy, currentMessages, onFailure, frozen) {
409
+ function buildRequestTimePrunedMessagesFromEntries(pathEntries, request, policy, currentMessages, onFailure) {
349
410
  const settings = getRequestTimeCompactionSettings(request, policy);
350
- let summary;
351
- let firstKeptEntryId;
352
- let tokensBefore;
353
- let details;
354
- let tokensRemoved;
355
- if (frozen) {
356
- // Reuse the frozen cut. We still run prepareCompaction with an explicit
357
- // anchor so the fixed boundary is validated against the current path,
358
- // but we intentionally do NOT regenerate the summary (that would change
359
- // the prompt-cache prefix on every request).
360
- const preparation = prepareCompaction(pathEntries, settings, {
361
- phaseBoundary: request.phaseBoundary,
362
- pinLatestUserMessage: request.pinLatestUserMessage,
363
- anchorEntryId: frozen.anchorEntryId,
364
- });
365
- if (!preparation || preparation.firstKeptEntryId !== frozen.anchorEntryId) {
366
- onFailure?.(`frozen_anchor_not_found:${frozen.anchorEntryId}`);
367
- return undefined;
368
- }
369
- summary = frozen.summary;
370
- firstKeptEntryId = frozen.anchorEntryId;
371
- tokensBefore = frozen.tokensBefore;
372
- details = undefined;
373
- tokensRemoved = 0;
374
- }
375
- else {
376
- const preparation = prepareCompaction(pathEntries, settings, {
377
- phaseBoundary: request.phaseBoundary,
378
- pinLatestUserMessage: request.pinLatestUserMessage,
379
- });
380
- if (!preparation) {
381
- onFailure?.("prepare_compaction_returned_undefined");
382
- return undefined;
383
- }
384
- const result = compactDcpLite(preparation);
385
- summary = result.summary;
386
- firstKeptEntryId = result.firstKeptEntryId;
387
- tokensBefore = result.tokensBefore;
388
- details = result.details;
389
- tokensRemoved = Math.max(0, result.tokensRemoved ?? 0);
411
+ const preparation = prepareCompaction(pathEntries, settings, {
412
+ phaseBoundary: request.phaseBoundary,
413
+ pinLatestUserMessage: request.pinLatestUserMessage,
414
+ });
415
+ if (!preparation) {
416
+ onFailure?.("prepare_compaction_returned_undefined");
417
+ return undefined;
390
418
  }
391
- const virtualTimestamp = frozen?.timestamp ??
392
- pathEntries[pathEntries.length - 1]?.timestamp ??
393
- new Date().toISOString();
419
+ const result = compactDcpLite(preparation);
420
+ const summary = result.summary;
421
+ const firstKeptEntryId = result.firstKeptEntryId;
422
+ const tokensBefore = result.tokensBefore;
423
+ const details = result.details;
424
+ const tokensRemoved = Math.max(0, result.tokensRemoved ?? 0);
425
+ const virtualTimestamp = pathEntries[pathEntries.length - 1]?.timestamp ?? new Date().toISOString();
394
426
  const virtualCompaction = createVirtualCompactionEntry(pathEntries, {
395
427
  summary,
396
428
  firstKeptEntryId,
@@ -408,20 +440,21 @@ function buildRequestTimePrunedMessagesFromEntries(pathEntries, request, policy,
408
440
  const originalTokens = currentMessages.reduce((total, message) => total + estimateTokens(message), 0);
409
441
  const prunedTokens = virtualContext.messages.reduce((total, message) => total + estimateTokens(message), 0);
410
442
  if (prunedTokens >= originalTokens) {
411
- onFailure?.(!frozen && tokensRemoved <= 0
443
+ onFailure?.(tokensRemoved <= 0
412
444
  ? `summary_removed_zero_tokens:${originalTokens}->${prunedTokens}`
413
445
  : `pruned_context_not_smaller:${originalTokens}->${prunedTokens}`);
414
446
  return undefined;
415
447
  }
416
- const effectiveTokensRemoved = frozen
417
- ? Math.max(0, originalTokens - prunedTokens)
418
- : tokensRemoved;
448
+ const cutIndex = pathEntries.findIndex((entry) => entry.id === firstKeptEntryId);
419
449
  return {
420
450
  messages: virtualContext.messages,
421
- tokensRemoved: effectiveTokensRemoved,
451
+ tokensRemoved,
422
452
  originalTokens,
423
453
  prunedTokens,
424
- ...(frozen ? {} : { anchorEntryId: firstKeptEntryId, summary, tokensBefore, timestamp: virtualTimestamp }),
454
+ cutIndex: cutIndex >= 0 ? cutIndex : undefined,
455
+ summary,
456
+ tokensBefore,
457
+ timestamp: virtualTimestamp,
425
458
  };
426
459
  }
427
460
  function notifyDcp(ctx, message, level, telemetry) {
@@ -610,9 +643,8 @@ export function registerCompactContextTool(ext, runtime) {
610
643
  rawTokens = 0;
611
644
  }
612
645
  const usage = ctx.getContextUsage();
613
- const contextTokens = usage?.tokens;
614
646
  const percent = usage?.percent;
615
- maybeScheduleAutoOlderHistoryCompaction(ctx, runtime, state, policy, rawTokens, contextTokens, percent);
647
+ maybeScheduleAutoOlderHistoryCompaction(ctx, runtime, state, policy, rawTokens, percent);
616
648
  }));
617
649
  ext.on("context", withDebug((_event, ctx) => {
618
650
  runtime.ensureConfig(ctx.cwd);
@@ -677,34 +709,28 @@ export function registerCompactContextTool(ext, runtime) {
677
709
  // The context hook is the last zero-lag seam before conversion/provider send.
678
710
  // Treat an explicit provider-preparation event as in-run even if the session
679
711
  // state has not flipped to streaming/pending yet.
680
- const autoSettings = getAutoOlderHistoryRequestSettings(policy);
712
+ const autoContextWindow = getContextWindow(ctx);
713
+ const autoSettings = getAutoRequestTimeRequestSettings(policy, autoContextWindow);
681
714
  const autoRawTokens = Math.max(safeRawTokensForContext(ctx), rawTokensForCurrentMessages(_event.messages));
682
715
  const autoUsage = ctx.getContextUsage();
683
716
  const autoContextTokens = autoUsage?.tokens;
684
717
  const autoPercent = autoUsage?.percent;
685
- const autoBranchId = getAutoPruneBranchId(ctx);
686
- const autoHysteresisTokens = autoSettings.keepRecentTokens
687
- ? autoSettings.keepRecentTokens * 2
688
- : 0;
718
+ const autoSessionId = getAutoPruneSessionId(ctx);
689
719
  // 2a. Frozen cut reuse. Once the auto path has pruned, keep reusing the
690
720
  // exact summary + anchor so the provider prompt prefix stays byte
691
721
  // stable across requests. Only invalidate on identity mismatch or
692
- // when raw growth exceeds the hysteresis threshold.
722
+ // when the kept tail grows past the window-relative hysteresis budget.
693
723
  let frozen = state.autoPruneFrozen ?? null;
694
724
  if (frozen && isMidRun) {
695
- const identityMatches = autoPruneIdentityMatches(frozen, autoBranchId, _event.messages);
696
- const hysteresisExceeded = autoHysteresisTokens > 0 &&
697
- autoRawTokens - frozen.rawTokensAtFreeze > autoHysteresisTokens;
698
- if (!identityMatches || hysteresisExceeded) {
725
+ const identityMatches = autoPruneFrozenIdentityMatches(frozen, autoSessionId, _event.messages);
726
+ const keepRecentMatches = frozen.keepRecentTokensUsed === (autoSettings.keepRecentTokens ?? 0);
727
+ const hysteresisExceeded = autoPruneHysteresisExceeded(frozen, _event.messages, policy, autoContextWindow);
728
+ if (!identityMatches || !keepRecentMatches || hysteresisExceeded) {
699
729
  state.autoPruneFrozen = null;
700
730
  frozen = null;
701
731
  }
702
732
  else {
703
- const frozenRequest = { source: "auto", mode: "request_time", ...autoSettings };
704
- let frozenFailure;
705
- const frozenPruned = buildRequestTimePrunedMessages(ctx, frozenRequest, policy, _event.messages, (reason) => {
706
- frozenFailure = reason;
707
- }, frozen);
733
+ const frozenPruned = buildFrozenRequestTimePrunedMessages(frozen, _event.messages);
708
734
  if (frozenPruned) {
709
735
  debugLog("compact_context.request_time.auto_frozen_reuse", {
710
736
  rawTokens: autoRawTokens,
@@ -713,23 +739,23 @@ export function registerCompactContextTool(ext, runtime) {
713
739
  originalTokens: frozenPruned.originalTokens,
714
740
  prunedTokens: frozenPruned.prunedTokens,
715
741
  tokensRemoved: frozenPruned.tokensRemoved,
716
- anchorEntryId: frozen.anchorEntryId,
742
+ cutIndex: frozen.cutIndex,
717
743
  });
718
- notifyRequestTimeApplied(ctx, frozenPruned, frozenRequest);
744
+ notifyRequestTimeApplied(ctx, frozenPruned, { source: "auto", mode: "request_time", ...autoSettings });
719
745
  return { messages: frozenPruned.messages };
720
746
  }
721
747
  debugLog("compact_context.request_time.auto_frozen_invalid", {
722
748
  rawTokens: autoRawTokens,
723
749
  contextTokens: autoContextTokens ?? null,
724
750
  percent: autoPercent ?? null,
725
- reason: frozenFailure ?? "unknown",
726
- anchorEntryId: frozen.anchorEntryId,
751
+ reason: "frozen_identity_or_payload_invalid",
752
+ cutIndex: frozen.cutIndex,
727
753
  });
728
754
  state.autoPruneFrozen = null;
729
755
  frozen = null;
730
756
  }
731
757
  }
732
- const autoDecision = decideAutoCompaction(ctx, runtime, state, policy, autoRawTokens, autoContextTokens, autoPercent, false, isMidRun);
758
+ const autoDecision = decideAutoCompaction(ctx, runtime, state, policy, autoRawTokens, autoPercent, false, isMidRun);
733
759
  if (autoDecision.mode !== "request_time")
734
760
  return;
735
761
  const autoRequest = { source: "auto", mode: autoDecision.mode, ...autoSettings };
@@ -757,16 +783,20 @@ export function registerCompactContextTool(ext, runtime) {
757
783
  tokensRemoved: autoPruned.tokensRemoved,
758
784
  frozen: false,
759
785
  });
760
- if (typeof autoPruned.anchorEntryId === "string" && typeof autoPruned.summary === "string") {
786
+ const autoCutIndex = autoPruned.cutIndex;
787
+ const autoAnchorMessage = autoPruned.anchorMessage;
788
+ if (typeof autoCutIndex === "number" &&
789
+ autoAnchorMessage !== undefined &&
790
+ typeof autoPruned.summary === "string") {
761
791
  state.autoPruneFrozen = {
762
- branchId: autoBranchId,
763
- anchorEntryId: autoPruned.anchorEntryId,
792
+ sessionId: autoSessionId,
793
+ cutIndex: autoCutIndex,
794
+ anchor: autoAnchorMessage,
764
795
  summary: autoPruned.summary,
765
- frozenAtBoundaryEnd: _event.messages.length,
766
- rawTokensAtFreeze: autoRawTokens,
767
796
  tokensBefore: autoPruned.tokensBefore ?? 0,
768
797
  timestamp: autoPruned.timestamp ?? new Date().toISOString(),
769
- leadingMessageRefs: _event.messages.slice(),
798
+ keepRecentTokensUsed: autoSettings.keepRecentTokens ?? 0,
799
+ tailTokensAtFreeze: rawTokensForCurrentMessages(_event.messages.slice(autoCutIndex)),
770
800
  };
771
801
  }
772
802
  notifyRequestTimeApplied(ctx, autoPruned, autoRequest);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../../../src/sdk/coding-agent/core/agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../../../src/sdk/coding-agent/core/agent-session.ts"],"names":[],"mappings":"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"}
@@ -2067,7 +2067,6 @@ export class AgentSession {
2067
2067
  ...policy.conversation,
2068
2068
  enabled: this._isAutoOlderHistoryCompactionEnabled(policy),
2069
2069
  keepRecentTokens: policy.autoOlderHistory.keepRecentTokens,
2070
- contextLimitRatio: policy.autoOlderHistory.contextLimitRatio,
2071
2070
  };
2072
2071
  }
2073
2072
  _isAutoOlderHistoryCompactionEnabled(policy) {
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/compaction/compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/compaction/compaction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,KAAK,EAA6B,KAAK,EAAuB,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQzG,OAAO,EAA6C,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAIN,KAAK,cAAc,EAInB,MAAM,YAAY,CAAC;AACpB,OAAO,EAIN,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,MAAM,aAAa,CAAC;AAMrB,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEnD,MAAM,WAAW,2BAA2B;IAC3C,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;AAkED,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACpD,oFAAoF;IACpF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,CAAC,CAAC;CACZ;AAMD,MAAM,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAE9D,eAAO,MAAM,2BAA2B,EAAE,kBAEzC,CAAC;AAEF,eAAO,MAAM,oCAAoC,QAAoD,CAAC;AAEtG;;;;GAIG;AACH,wBAAgB,2BAA2B,CAC1C,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,GAAE,sBAAyD,GACrE,kBAAkB,CAIpB;AAMD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAE3D;AAgBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,GAAG,SAAS,CAShF;AAED,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAUD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,oBAAoB,CA4BpF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAKjH;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CA0D5D;AAiDD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAe1G;AAED,MAAM,WAAW,cAAc;IAC9B,mCAAmC;IACnC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IACnC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAcD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE,YAAY,EAAE,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,mBAAwB,GAC/B,cAAc,CAgGhB;AAgHD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACpC,eAAe,EAAE,YAAY,EAAE,EAC/B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,CAAC,EAAE,WAAW,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,aAAa,EAC7B,QAAQ,CAAC,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAmDjB;AAMD,MAAM,WAAW,qBAAqB;IACrC,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,mBAAmB,EAAE,YAAY,EAAE,CAAC;IACpC,2EAA2E;IAC3E,kBAAkB,EAAE,YAAY,EAAE,CAAC;IACnC,iEAAiE;IACjE,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,OAAO,EAAE,cAAc,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,oEAAoE;IACpE,gBAAgB,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACxC,kFAAkF;IAClF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,CAChC,WAAW,EAAE,YAAY,EAAE,EAC3B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,GAAE,wBAA6B,GACpC,qBAAqB,GAAG,SAAS,CAsFnC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AAUD,wBAAgB,8BAA8B,CAC7C,WAAW,EAAE,IAAI,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,oBAAoB,CAAC,GACrF,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC,EACzD,OAAO,EAAE,MAAM,GACb,IAAI,CACN,gBAAgB,EAChB,iBAAiB,GAAG,eAAe,GAAG,eAAe,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,qBAAqB,CACvH,CAgBA;AAiHD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CA8E7E;AAqBD;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAC5B,WAAW,EAAE,qBAAqB,EAClC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,MAAM,CAAC,EAAE,WAAW,EACpB,aAAa,CAAC,EAAE,aAAa,EAC7B,QAAQ,CAAC,EAAE,QAAQ,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAmF3B"}
@@ -8,7 +8,7 @@ import { completeSimple } from "../../../ai/index.js";
8
8
  import { convertToLlm, createBranchSummaryMessage, createCompactionSummaryMessage, createCustomMessage, } from "../messages.js";
9
9
  import { buildSessionContext } from "../session-manager.js";
10
10
  import { computeFileLists, createFileOps, extractFileOpsFromMessage, formatFileOperations, SUMMARIZATION_SYSTEM_PROMPT, serializeConversation, } from "./utils.js";
11
- import { DEFAULT_COMPACTION_POLICY, normalizeManualKeepRecentTokens, } from "./policy.js";
11
+ import { CONTEXT_LIMIT_RATIO, DEFAULT_COMPACTION_POLICY, normalizeManualKeepRecentTokens, } from "./policy.js";
12
12
  /**
13
13
  * Extract file operations from messages and previous compaction entries.
14
14
  */
@@ -164,7 +164,7 @@ export function shouldCompact(contextTokens, contextWindow, settings) {
164
164
  return false;
165
165
  if (!Number.isFinite(contextTokens) || contextTokens < 0)
166
166
  return false;
167
- return contextTokens >= contextWindow * settings.contextLimitRatio;
167
+ return contextTokens >= contextWindow * CONTEXT_LIMIT_RATIO;
168
168
  }
169
169
  // ============================================================================
170
170
  // Cut point detection