Skip to content

Commit 49f47e3

Browse files
committed
fix: correct default context window and preserve contextWindow in client normalization
- Set isDefault: true on '200k' (not '1m') in MODEL_OPTIONS_BY_PROVIDER for claude-opus-4-6 and claude-sonnet-4-6, matching server-side ClaudeProvider.ts - Add contextWindow handling to normalizeClaudeModelOptionsWithCapabilities so non-default context window selections are preserved in model options dispatch
1 parent 60610ce commit 49f47e3

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

apps/web/src/providerModels.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ import {
88
type ServerProviderModel,
99
} from "@t3tools/contracts";
1010
import {
11+
getDefaultContextWindow,
1112
getDefaultEffort,
13+
hasContextWindowOption,
1214
hasEffortLevel,
1315
normalizeModelSlug,
1416
trimOrNull,
@@ -108,10 +110,19 @@ export function normalizeClaudeModelOptionsWithCapabilities(
108110
const thinking =
109111
caps.supportsThinkingToggle && modelOptions?.thinking === false ? false : undefined;
110112
const fastMode = caps.supportsFastMode && modelOptions?.fastMode === true ? true : undefined;
113+
const rawContextWindow = modelOptions?.contextWindow;
114+
const defaultContextWindow = getDefaultContextWindow(caps);
115+
const contextWindow =
116+
rawContextWindow &&
117+
rawContextWindow !== defaultContextWindow &&
118+
hasContextWindowOption(caps, rawContextWindow)
119+
? rawContextWindow
120+
: undefined;
111121
const nextOptions: ClaudeModelOptions = {
112122
...(thinking === false ? { thinking: false } : {}),
113123
...(effort ? { effort } : {}),
114124
...(fastMode ? { fastMode: true } : {}),
125+
...(contextWindow ? { contextWindow } : {}),
115126
};
116127
return Object.keys(nextOptions).length > 0 ? nextOptions : undefined;
117128
}

packages/contracts/src/model.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,8 @@ export const MODEL_OPTIONS_BY_PROVIDER = {
176176
supportsFastMode: true,
177177
supportsThinkingToggle: false,
178178
contextWindowOptions: [
179-
{ value: "200k", label: "200k" },
180-
{ value: "1m", label: "1M", isDefault: true },
179+
{ value: "200k", label: "200k", isDefault: true },
180+
{ value: "1m", label: "1M" },
181181
],
182182
promptInjectedEffortLevels: ["ultrathink"],
183183
},
@@ -195,8 +195,8 @@ export const MODEL_OPTIONS_BY_PROVIDER = {
195195
supportsFastMode: false,
196196
supportsThinkingToggle: false,
197197
contextWindowOptions: [
198-
{ value: "200k", label: "200k" },
199-
{ value: "1m", label: "1M", isDefault: true },
198+
{ value: "200k", label: "200k", isDefault: true },
199+
{ value: "1m", label: "1M" },
200200
],
201201
promptInjectedEffortLevels: ["ultrathink"],
202202
},

0 commit comments

Comments
 (0)