chore: Update Anthropic token configs (#204)

This commit is contained in:
Devansh Jain
2025-12-14 14:25:35 -08:00
committed by GitHub
parent 2936b57ffc
commit d77e92be48
2 changed files with 49 additions and 29 deletions

View File

@@ -30,6 +30,8 @@ function buildModelSettings(
const isGoogleVertex = modelHandle.startsWith("google_vertex/");
const isOpenRouter = modelHandle.startsWith("openrouter/");
let settings: ModelSettings;
if (isOpenAI || isOpenRouter) {
const openaiSettings: OpenAIModelSettings = {
provider_type: "openai",
@@ -45,30 +47,26 @@ function buildModelSettings(
| "high",
};
}
// If a max_output_tokens override is provided in the model's updateArgs,
// propagate it into the OpenAI model settings so the backend can raise
// the generation cap (prevents premature ResponseIncompleteEvent with
// reason='max_output_tokens').
if (typeof updateArgs?.max_output_tokens === "number") {
openaiSettings.max_output_tokens = updateArgs.max_output_tokens as number;
}
return openaiSettings;
}
if (isAnthropic) {
settings = openaiSettings;
} else if (isAnthropic) {
const anthropicSettings: AnthropicModelSettings = {
provider_type: "anthropic",
parallel_tool_calls: true,
};
if (updateArgs?.enable_reasoner !== undefined) {
// Build thinking config if either enable_reasoner or max_reasoning_tokens is specified
if (
updateArgs?.enable_reasoner !== undefined ||
typeof updateArgs?.max_reasoning_tokens === "number"
) {
anthropicSettings.thinking = {
type: updateArgs.enable_reasoner ? "enabled" : "disabled",
type: updateArgs?.enable_reasoner === false ? "disabled" : "enabled",
...(typeof updateArgs?.max_reasoning_tokens === "number" && {
budget_tokens: updateArgs.max_reasoning_tokens,
}),
};
}
return anthropicSettings;
}
if (isGoogleAI) {
settings = anthropicSettings;
} else if (isGoogleAI) {
const googleSettings: GoogleAIModelSettings & { temperature?: number } = {
provider_type: "google_ai",
parallel_tool_calls: true,
@@ -81,10 +79,8 @@ function buildModelSettings(
if (typeof updateArgs?.temperature === "number") {
googleSettings.temperature = updateArgs.temperature as number;
}
return googleSettings;
}
if (isGoogleVertex) {
settings = googleSettings;
} else if (isGoogleVertex) {
// Vertex AI uses the same Google provider on the backend; only the handle differs.
const googleVertexSettings: Record<string, unknown> = {
provider_type: "google_vertex",
@@ -99,11 +95,19 @@ function buildModelSettings(
(googleVertexSettings as Record<string, unknown>).temperature =
updateArgs.temperature as number;
}
return googleVertexSettings;
settings = googleVertexSettings;
} else {
// For unknown providers, return generic settings with parallel_tool_calls
settings = { parallel_tool_calls: true };
}
// For unknown providers, return generic settings with parallel_tool_calls
return { parallel_tool_calls: true };
// Apply max_output_tokens for all providers if specified
if (typeof updateArgs?.max_output_tokens === "number") {
(settings as Record<string, unknown>).max_output_tokens =
updateArgs.max_output_tokens;
}
return settings;
}
/**

View File

@@ -6,7 +6,11 @@
"description": "The recommended default model (currently Sonnet 4.5)",
"isDefault": true,
"isFeatured": true,
"updateArgs": { "context_window": 180000 }
"updateArgs": {
"context_window": 180000,
"max_output_tokens": 64000,
"max_reasoning_tokens": 31999
}
},
{
"id": "sonnet-4.5-no-reasoning",
@@ -15,7 +19,8 @@
"description": "Sonnet 4.5 with extended thinking/reasoning explicitly disabled",
"updateArgs": {
"enable_reasoner": false,
"context_window": 180000
"context_window": 180000,
"max_output_tokens": 64000
}
},
{
@@ -24,14 +29,22 @@
"label": "Claude Opus 4.5",
"description": "Anthropic's newest flagship Opus 4.5 model",
"isFeatured": true,
"updateArgs": { "context_window": 180000 }
"updateArgs": {
"context_window": 180000,
"max_output_tokens": 64000,
"max_reasoning_tokens": 31999
}
},
{
"id": "opus-4.1",
"handle": "anthropic/claude-opus-4-1-20250805",
"label": "Claude Opus 4.1",
"description": "Anthropic's previous version of Opus",
"updateArgs": { "context_window": 180000 }
"updateArgs": {
"context_window": 180000,
"max_output_tokens": 64000,
"max_reasoning_tokens": 31999
}
},
{
"id": "haiku",
@@ -39,7 +52,10 @@
"label": "Claude Haiku 4.5",
"description": "Anthropic's fastest model",
"isFeatured": true,
"updateArgs": { "context_window": 180000 }
"updateArgs": {
"context_window": 180000,
"max_output_tokens": 64000
}
},
{
"id": "gpt-5-codex",