diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-16 04:06:39 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-16 04:06:39 +0200 |
| commit | d985ff9b90cb8476301b2b611023a4332b47a2f0 (patch) | |
| tree | fa5987d2633991182f90805155b509dd6f3a1125 /internal/lsp | |
| parent | 8f31040cc388943601cfd8a026ea85f0790e66c2 (diff) | |
Centralize GPT-5 temperature override into llmutils.ResolveTemperature
Eliminates identical temperature resolution logic duplicated in
hexaiaction, hexaicli, and lsp packages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/lsp')
| -rw-r--r-- | internal/lsp/handlers_utils.go | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/internal/lsp/handlers_utils.go b/internal/lsp/handlers_utils.go index 620b3a9..d1a9ec3 100644 --- a/internal/lsp/handlers_utils.go +++ b/internal/lsp/handlers_utils.go @@ -115,29 +115,14 @@ func surfaceConfigsFor(cfg appconfig.App, surface surfaceKind) []appconfig.Surfa } } +// chooseSurfaceTemperature resolves the effective temperature for a surface +// request, delegating GPT-5 override logic to llmutils.ResolveTemperature. func chooseSurfaceTemperature(surface surfaceKind, cfg appconfig.App, entry appconfig.SurfaceConfig, provider string, fallbackModel string) (float64, bool) { - if entry.Temperature != nil { - return *entry.Temperature, true - } - if cfg.CodingTemperature != nil { - temp := *cfg.CodingTemperature - effectiveModel := strings.TrimSpace(entry.Model) - if effectiveModel == "" { - effectiveModel = strings.TrimSpace(fallbackModel) - } - if provider == "openai" && strings.HasPrefix(strings.ToLower(effectiveModel), "gpt-5") && temp == 0.2 { - temp = 1.0 - } - return temp, true - } effectiveModel := strings.TrimSpace(entry.Model) if effectiveModel == "" { effectiveModel = strings.TrimSpace(fallbackModel) } - if provider == "openai" && strings.HasPrefix(strings.ToLower(effectiveModel), "gpt-5") { - return 1.0, true - } - return 0, false + return llmutils.ResolveTemperature(provider, effectiveModel, entry.Temperature, cfg.CodingTemperature) } // small helpers for LLM traffic stats |
