Files
clawdbot/src/agents/pi-settings.test.ts
2026-01-12 05:29:18 +00:00

60 lines
1.8 KiB
TypeScript

import { describe, expect, it, vi } from "vitest";
import {
DEFAULT_PI_COMPACTION_RESERVE_TOKENS_FLOOR,
ensurePiCompactionReserveTokens,
resolveCompactionReserveTokensFloor,
} from "./pi-settings.js";
describe("ensurePiCompactionReserveTokens", () => {
it("bumps reserveTokens when below floor", () => {
const settingsManager = {
getCompactionReserveTokens: () => 16_384,
applyOverrides: vi.fn(),
};
const result = ensurePiCompactionReserveTokens({ settingsManager });
expect(result).toEqual({
didOverride: true,
reserveTokens: DEFAULT_PI_COMPACTION_RESERVE_TOKENS_FLOOR,
});
expect(settingsManager.applyOverrides).toHaveBeenCalledWith({
compaction: { reserveTokens: DEFAULT_PI_COMPACTION_RESERVE_TOKENS_FLOOR },
});
});
it("does not override when already above floor", () => {
const settingsManager = {
getCompactionReserveTokens: () => 32_000,
applyOverrides: vi.fn(),
};
const result = ensurePiCompactionReserveTokens({ settingsManager });
expect(result).toEqual({ didOverride: false, reserveTokens: 32_000 });
expect(settingsManager.applyOverrides).not.toHaveBeenCalled();
});
});
describe("resolveCompactionReserveTokensFloor", () => {
it("returns the default when config is missing", () => {
expect(resolveCompactionReserveTokensFloor()).toBe(
DEFAULT_PI_COMPACTION_RESERVE_TOKENS_FLOOR,
);
});
it("accepts configured floors, including zero", () => {
expect(
resolveCompactionReserveTokensFloor({
agents: { defaults: { compaction: { reserveTokensFloor: 24_000 } } },
}),
).toBe(24_000);
expect(
resolveCompactionReserveTokensFloor({
agents: { defaults: { compaction: { reserveTokensFloor: 0 } } },
}),
).toBe(0);
});
});