refactor(agents): remove unused compaction reserve helper

This commit is contained in:
Vincent Koc
2026-06-17 14:03:05 +08:00
parent 580bba0637
commit 9e3db6bedd
4 changed files with 3 additions and 33 deletions
@@ -362,8 +362,8 @@ OpenClaw also enforces a safety floor for embedded runs:
Why: leave enough headroom for multi-turn "housekeeping" (like memory writes) before compaction becomes unavoidable.
Implementation: `ensureAgentCompactionReserveTokens()` in `src/agents/agent-settings.ts`
(called from `src/agents/embedded-agent-runner.ts`).
Implementation: `applyAgentCompactionSettingsFromConfig()` in `src/agents/agent-settings.ts`
(called from embedded-runner turn and compaction setup paths).
---
-24
View File
@@ -20,30 +20,6 @@ type AgentSettingsManagerLike = {
setCompactionEnabled?: (enabled: boolean) => void;
};
/**
* Ensures the compaction reserve tokens are at least the specified minimum.
* Note: This function is not context-aware and uses an uncapped floor.
* If called for small-context models without threading `contextTokenBudget`,
* it may re-introduce context overflow issues.
*/
export function ensureAgentCompactionReserveTokens(params: {
settingsManager: AgentSettingsManagerLike;
minReserveTokens?: number;
}): { didOverride: boolean; reserveTokens: number } {
const minReserveTokens = params.minReserveTokens ?? DEFAULT_AGENT_COMPACTION_RESERVE_TOKENS_FLOOR;
const current = params.settingsManager.getCompactionReserveTokens();
if (current >= minReserveTokens) {
return { didOverride: false, reserveTokens: current };
}
params.settingsManager.applyOverrides({
compaction: { reserveTokens: minReserveTokens },
});
return { didOverride: true, reserveTokens: minReserveTokens };
}
/** Resolves the configured reserve-token floor for agent compaction. */
export function resolveCompactionReserveTokensFloor(cfg?: OpenClawConfig): number {
const raw = cfg?.agents?.defaults?.compaction?.reserveTokensFloor;
@@ -528,7 +528,6 @@ export async function loadCompactHooksHarness(): Promise<{
vi.doMock("../agent-settings.js", () => ({
applyAgentAutoCompactionGuard: vi.fn(() => ({ supported: true, disabled: false })),
applyAgentCompactionSettingsFromConfig: applyAgentCompactionSettingsFromConfigMock,
ensureAgentCompactionReserveTokens: vi.fn(),
isSilentOverflowProneModel: vi.fn(() => false),
resolveCompactionReserveTokensFloor: vi.fn(() => 0),
}));
@@ -10,10 +10,7 @@ import contextPruningExtension from "../agent-hooks/context-pruning.js";
import { setContextPruningRuntime } from "../agent-hooks/context-pruning/runtime.js";
import { computeEffectiveSettings } from "../agent-hooks/context-pruning/settings.js";
import { makeToolPrunablePredicate } from "../agent-hooks/context-pruning/tools.js";
import {
ensureAgentCompactionReserveTokens,
resolveEffectiveCompactionMode,
} from "../agent-settings.js";
import { resolveEffectiveCompactionMode } from "../agent-settings.js";
import {
finalizeToolTerminalPresentation,
peekAdjustedParamsForToolCall,
@@ -209,5 +206,3 @@ export function buildEmbeddedExtensionFactories(params: {
factories.push(buildAgentToolResultMiddlewareFactory(params.sessionManager, params.runId));
return factories;
}
export { ensureAgentCompactionReserveTokens };