MCPcopy Create free account
hub / github.com/coder/coder / ReasoningEffortFromChat

Function ReasoningEffortFromChat

coderd/x/chatd/chatprovider/chatprovider.go:725–772  ·  view source on GitHub ↗

ReasoningEffortFromChat normalizes chat-config reasoning effort values for a provider and returns the canonical provider effort value.

(provider string, value *string)

Source from the content-addressed store, hash-verified

723// ReasoningEffortFromChat normalizes chat-config reasoning effort values for a
724// provider and returns the canonical provider effort value.
725func ReasoningEffortFromChat(provider string, value *string) *string {
726 if value == nil {
727 return nil
728 }
729
730 normalized := strings.ToLower(strings.TrimSpace(*value))
731 if normalized == "" {
732 return nil
733 }
734
735 switch NormalizeProvider(provider) {
736 case fantasyopenai.Name:
737 effort := chatopenai.ReasoningEffortFromChat(value)
738 if effort == nil {
739 return nil
740 }
741 valueCopy := string(*effort)
742 return &valueCopy
743 case fantasyanthropic.Name:
744 return chatutil.NormalizedEnumValue(
745 normalized,
746 string(fantasyanthropic.EffortLow),
747 string(fantasyanthropic.EffortMedium),
748 string(fantasyanthropic.EffortHigh),
749 string(fantasyanthropic.EffortXHigh),
750 string(fantasyanthropic.EffortMax),
751 )
752 case fantasyopenrouter.Name:
753 return chatutil.NormalizedEnumValue(
754 normalized,
755 string(fantasyopenrouter.ReasoningEffortLow),
756 string(fantasyopenrouter.ReasoningEffortMedium),
757 string(fantasyopenrouter.ReasoningEffortHigh),
758 )
759 case fantasyvercel.Name:
760 return chatutil.NormalizedEnumValue(
761 normalized,
762 string(fantasyvercel.ReasoningEffortNone),
763 string(fantasyvercel.ReasoningEffortMinimal),
764 string(fantasyvercel.ReasoningEffortLow),
765 string(fantasyvercel.ReasoningEffortMedium),
766 string(fantasyvercel.ReasoningEffortHigh),
767 string(fantasyvercel.ReasoningEffortXHigh),
768 )
769 default:
770 return nil
771 }
772}
773
774// MergeMissingModelCostConfig fills unset pricing metadata from defaults.
775func MergeMissingModelCostConfig(

Calls 3

ReasoningEffortFromChatFunction · 0.92
NormalizedEnumValueFunction · 0.92
NormalizeProviderFunction · 0.85

Tested by 1