Make budget_tokens optional in AnthropicThinkingConfig

budget_tokens is required when type is "enabled" and rejected when type is "disabled" (this is validated by the server)
This commit is contained in:
Paul Kompfner
2026-03-06 17:25:07 -05:00
parent 256c8f87b4
commit 6088e6eb52

View File

@@ -76,16 +76,16 @@ class AnthropicThinkingConfig(BaseModel):
type: Type of thinking mode (currently only "enabled" or "disabled").
budget_tokens: Maximum number of tokens for thinking.
With today's models, the minimum is 1024.
Only allowed if type is "enabled".
Currently required when type is "enabled", not allowed when "disabled".
"""
# Why `| str` here? To not break compatibility in case Anthropic adds
# more types in the future.
type: Literal["enabled", "disabled"] | str
# Why not enforce minimnum of 1024 here? To not break compatibility in
# case Anthropic changes this requirement in the future.
budget_tokens: int
# No client-side validation on budget_tokens — we let the server
# enforce the rules so we stay forward-compatible if they change.
budget_tokens: Optional[int] = None
@dataclass