From 707cc315cc7d3478eb8046237ef2da82e43dc3a2 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 11 Apr 2026 02:45:38 +0100 Subject: [PATCH] test: avoid context discovery in fast unit tests --- src/agents/context.test.ts | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/agents/context.test.ts b/src/agents/context.test.ts index 3ab7bb33d2e..c32a96d752a 100644 --- a/src/agents/context.test.ts +++ b/src/agents/context.test.ts @@ -7,6 +7,18 @@ import { } from "./context.js"; import { createSessionManagerRuntimeRegistry } from "./pi-hooks/session-manager-runtime-registry.js"; +function testModelContextWindow(id: string, contextWindow: number) { + return { + id, + name: id, + reasoning: false, + input: ["text" as const], + cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, + contextWindow, + maxTokens: 4096, + }; +} + describe("applyDiscoveredContextWindows", () => { it("keeps the smallest context window when the same bare model id appears under multiple providers", () => { const cache = new Map(); @@ -159,6 +171,14 @@ describe("resolveContextTokensForModel", () => { it("returns 1M context when anthropic context1m is enabled for opus/sonnet", () => { const result = resolveContextTokensForModel({ cfg: { + models: { + providers: { + anthropic: { + baseUrl: "https://api.anthropic.com", + models: [testModelContextWindow("claude-opus-4-6", 200_000)], + }, + }, + }, agents: { defaults: { models: { @@ -172,6 +192,7 @@ describe("resolveContextTokensForModel", () => { provider: "anthropic", model: "claude-opus-4-6", fallbackContextTokens: 200_000, + allowAsyncLoad: false, }); expect(result).toBe(ANTHROPIC_CONTEXT_1M_TOKENS); @@ -180,6 +201,14 @@ describe("resolveContextTokensForModel", () => { it("does not force 1M context when context1m is not enabled", () => { const result = resolveContextTokensForModel({ cfg: { + models: { + providers: { + anthropic: { + baseUrl: "https://api.anthropic.com", + models: [testModelContextWindow("claude-opus-4-6", 200_000)], + }, + }, + }, agents: { defaults: { models: { @@ -193,6 +222,7 @@ describe("resolveContextTokensForModel", () => { provider: "anthropic", model: "claude-opus-4-6", fallbackContextTokens: 200_000, + allowAsyncLoad: false, }); expect(result).toBe(200_000); @@ -201,6 +231,14 @@ describe("resolveContextTokensForModel", () => { it("does not force 1M context for non-opus/sonnet Anthropic models", () => { const result = resolveContextTokensForModel({ cfg: { + models: { + providers: { + anthropic: { + baseUrl: "https://api.anthropic.com", + models: [testModelContextWindow("claude-haiku-3-5", 200_000)], + }, + }, + }, agents: { defaults: { models: { @@ -214,6 +252,7 @@ describe("resolveContextTokensForModel", () => { provider: "anthropic", model: "claude-haiku-3-5", fallbackContextTokens: 200_000, + allowAsyncLoad: false, }); expect(result).toBe(200_000);