fix: add compaction headroom for memory writes
This commit is contained in:
27
src/agents/pi-settings.ts
Normal file
27
src/agents/pi-settings.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
export const DEFAULT_PI_COMPACTION_RESERVE_TOKENS_FLOOR = 20_000;
|
||||
|
||||
type PiSettingsManagerLike = {
|
||||
getCompactionReserveTokens: () => number;
|
||||
applyOverrides: (overrides: {
|
||||
compaction: { reserveTokens: number };
|
||||
}) => void;
|
||||
};
|
||||
|
||||
export function ensurePiCompactionReserveTokens(params: {
|
||||
settingsManager: PiSettingsManagerLike;
|
||||
minReserveTokens?: number;
|
||||
}): { didOverride: boolean; reserveTokens: number } {
|
||||
const minReserveTokens =
|
||||
params.minReserveTokens ?? DEFAULT_PI_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 };
|
||||
}
|
||||
Reference in New Issue
Block a user