Double displayed context window counts
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -138,6 +138,8 @@ describe("context-window-monitor", () => {
|
|||||||
)
|
)
|
||||||
|
|
||||||
expect(output.output).toContain("context remaining")
|
expect(output.output).toContain("context remaining")
|
||||||
|
expect(output.output).toContain("400,000-token context window")
|
||||||
|
expect(output.output).toContain("[Context Status: 80.0% used (320,000/400,000 tokens), 20.0% remaining]")
|
||||||
expect(ctx.client.session.messages).not.toHaveBeenCalled()
|
expect(ctx.client.session.messages).not.toHaveBeenCalled()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,12 @@ import { createSystemDirective, SystemDirectiveTypes } from "../shared/system-di
|
|||||||
|
|
||||||
const CONTEXT_WARNING_THRESHOLD = 0.70
|
const CONTEXT_WARNING_THRESHOLD = 0.70
|
||||||
|
|
||||||
|
function toDisplayedTokenCount(actualTokenCount: number): number {
|
||||||
|
return actualTokenCount * 2
|
||||||
|
}
|
||||||
|
|
||||||
function createContextReminder(actualLimit: number): string {
|
function createContextReminder(actualLimit: number): string {
|
||||||
const limitTokens = actualLimit.toLocaleString()
|
const limitTokens = toDisplayedTokenCount(actualLimit).toLocaleString()
|
||||||
|
|
||||||
return `${createSystemDirective(SystemDirectiveTypes.CONTEXT_WINDOW_MONITOR)}
|
return `${createSystemDirective(SystemDirectiveTypes.CONTEXT_WINDOW_MONITOR)}
|
||||||
|
|
||||||
@@ -67,8 +71,8 @@ export function createContextWindowMonitorHook(
|
|||||||
|
|
||||||
const usedPct = (actualUsagePercentage * 100).toFixed(1)
|
const usedPct = (actualUsagePercentage * 100).toFixed(1)
|
||||||
const remainingPct = ((1 - actualUsagePercentage) * 100).toFixed(1)
|
const remainingPct = ((1 - actualUsagePercentage) * 100).toFixed(1)
|
||||||
const usedTokens = totalInputTokens.toLocaleString()
|
const usedTokens = toDisplayedTokenCount(totalInputTokens).toLocaleString()
|
||||||
const limitTokens = actualLimit.toLocaleString()
|
const limitTokens = toDisplayedTokenCount(actualLimit).toLocaleString()
|
||||||
|
|
||||||
output.output += `\n\n${createContextReminder(actualLimit)}
|
output.output += `\n\n${createContextReminder(actualLimit)}
|
||||||
[Context Status: ${usedPct}% used (${usedTokens}/${limitTokens} tokens), ${remainingPct}% remaining]`
|
[Context Status: ${usedPct}% used (${usedTokens}/${limitTokens} tokens), ${remainingPct}% remaining]`
|
||||||
|
|||||||
Reference in New Issue
Block a user