mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
refactor(agents): remove unused compaction reserve helper
This commit is contained in:
@@ -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).
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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 };
|
||||
|
||||
Reference in New Issue
Block a user