mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix: show Anthropic Opus 4.7+ thinking (#26026)
## Summary - Updates Coder's pinned `github.com/coder/fantasy` fork to include coder/fantasy#39. - Exposes Anthropic `thinking_display` as a typed chat model provider option with `summarized` and `omitted` values. - Validates configured `thinking_display` values and maps them to `fantasyanthropic.ProviderOptions.ThinkingDisplay`. - Regenerates the API/UI option schemas so the admin model config form gets a generated select field. ## Tests - `go mod tidy` - `make gen` - `go test ./codersdk ./coderd/x/chatd/chatprovider ./coderd -run 'TestChatModelProviderOptions|TestAnthropicThinkingDisplayFromChat|TestProviderOptionsFromChatModelConfig_AnthropicThinkingDisplay|TestMergeMissingProviderOptions_AnthropicThinkingDisplay|TestValidateChatModelProviderOptions_AnthropicThinkingDisplay'` - `go test ./coderd/x/chatd/... ./codersdk` - `go test ./coderd -run 'TestValidateChatModelProviderOptions_AnthropicThinkingDisplay'` - `pnpm --dir site exec -- biome lint --error-on-warnings src/api/chatModelOptionsGenerated.json src/api/typesGenerated.ts` - pre-commit hook, including fmt, lint, and slim build > Mux working on behalf of Mike.
This commit is contained in:
+13
-1
@@ -7469,7 +7469,19 @@ func validateChatModelCallConfig(modelConfig *codersdk.ChatModelCallConfig) erro
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
return validateChatModelProviderOptions(modelConfig.ProviderOptions)
|
||||
}
|
||||
|
||||
func validateChatModelProviderOptions(options *codersdk.ChatModelProviderOptions) error {
|
||||
if options == nil || options.Anthropic == nil || options.Anthropic.ThinkingDisplay == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
if strings.TrimSpace(*options.Anthropic.ThinkingDisplay) == "" ||
|
||||
chatprovider.AnthropicThinkingDisplayFromChat(options.Anthropic.ThinkingDisplay) != nil {
|
||||
return nil
|
||||
}
|
||||
return xerrors.Errorf("provider_options.anthropic.thinking_display must be one of summarized, omitted")
|
||||
}
|
||||
|
||||
func validateNonNegativeDecimalField(name string, value *decimal.Decimal) error {
|
||||
|
||||
Reference in New Issue
Block a user