diff --git a/src/hooks/tool-output-truncator.test.ts b/src/hooks/tool-output-truncator.test.ts index e38a1c70e..d1d1d573e 100644 --- a/src/hooks/tool-output-truncator.test.ts +++ b/src/hooks/tool-output-truncator.test.ts @@ -19,6 +19,20 @@ describe("createToolOutputTruncatorHook", () => { hook = createToolOutputTruncatorHook({} as never) }) + it("passes modelContextLimitsCache through to createDynamicTruncator", () => { + const ctx = {} as never + const modelContextLimitsCache = new Map() + const modelCacheState = { + anthropicContext1MEnabled: false, + modelContextLimitsCache, + } + + truncateSpy.mockClear() + createToolOutputTruncatorHook(ctx, { modelCacheState }) + + expect(truncateSpy).toHaveBeenLastCalledWith(ctx, modelCacheState) + }) + describe("tool.execute.after", () => { const createInput = (tool: string) => ({ tool, diff --git a/src/hooks/tool-output-truncator.ts b/src/hooks/tool-output-truncator.ts index f47bf199b..c62ab23b5 100644 --- a/src/hooks/tool-output-truncator.ts +++ b/src/hooks/tool-output-truncator.ts @@ -27,7 +27,10 @@ const TOOL_SPECIFIC_MAX_TOKENS: Record = { } interface ToolOutputTruncatorOptions { - modelCacheState?: { anthropicContext1MEnabled: boolean } + modelCacheState?: { + anthropicContext1MEnabled: boolean + modelContextLimitsCache?: Map + } experimental?: ExperimentalConfig }