diff --git a/src/hooks/context-window-monitor.test.ts b/src/hooks/context-window-monitor.test.ts index baf509196..f25c21e8b 100644 --- a/src/hooks/context-window-monitor.test.ts +++ b/src/hooks/context-window-monitor.test.ts @@ -106,7 +106,7 @@ describe("context-window-monitor", () => { // #given token usage exceeds 70% threshold // #when tool.execute.after is called // #then context reminder should be appended to output - it("should append context reminder when usage exceeds threshold", async () => { + it("should append context reminder with doubled displayed counts when usage exceeds threshold", async () => { const hook = createContextWindowMonitorHook(ctx as never) const sessionID = "ses_high_usage" diff --git a/src/hooks/context-window-monitor.ts b/src/hooks/context-window-monitor.ts index 2e001b442..63e8874ce 100644 --- a/src/hooks/context-window-monitor.ts +++ b/src/hooks/context-window-monitor.ts @@ -6,13 +6,14 @@ import { import { createSystemDirective, SystemDirectiveTypes } from "../shared/system-directive" const CONTEXT_WARNING_THRESHOLD = 0.70 +const DISPLAY_TOKEN_COUNT_MULTIPLIER = 2 -function toDisplayedTokenCount(actualTokenCount: number): number { - return actualTokenCount * 2 +function toDisplayTokenCount(actualTokenCount: number): number { + return actualTokenCount * DISPLAY_TOKEN_COUNT_MULTIPLIER } function createContextReminder(actualLimit: number): string { - const limitTokens = toDisplayedTokenCount(actualLimit).toLocaleString() + const limitTokens = toDisplayTokenCount(actualLimit).toLocaleString() return `${createSystemDirective(SystemDirectiveTypes.CONTEXT_WINDOW_MONITOR)} @@ -71,8 +72,8 @@ export function createContextWindowMonitorHook( const usedPct = (actualUsagePercentage * 100).toFixed(1) const remainingPct = ((1 - actualUsagePercentage) * 100).toFixed(1) - const usedTokens = toDisplayedTokenCount(totalInputTokens).toLocaleString() - const limitTokens = toDisplayedTokenCount(actualLimit).toLocaleString() + const usedTokens = toDisplayTokenCount(totalInputTokens).toLocaleString() + const limitTokens = toDisplayTokenCount(actualLimit).toLocaleString() output.output += `\n\n${createContextReminder(actualLimit)} [Context Status: ${usedPct}% used (${usedTokens}/${limitTokens} tokens), ${remainingPct}% remaining]`