diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-23 08:08:57 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-23 08:08:57 +0200 |
| commit | 4958ea5100ebf8d4ff9fd818b7bc59d01989feb4 (patch) | |
| tree | 44bc03cdfa7d58ea948023c87bfbe8a37fe315c9 /internal/llm | |
| parent | ba929c035c7c74113d061c57cc5b500af0b20b74 (diff) | |
fix: address all HIGH-severity code quality audit findings
- lsp/server.go: track request goroutines in inflight WaitGroup to
prevent use-after-close writes on shutdown
- lsp/llm_client_registry.go: acquire write lock before calling build()
to eliminate TOCTOU race on cache population
- lsp/handlers_codeaction.go: resolveSimplifyCodeAction now uses
PromptCodeActionSimplify{System,User} (was wrongly using rewrite prompts)
- askcli/taskexport.go: remove exported MustParseTaskExport to prevent
panic on malformed external input; move to unexported test helper
- cmd/ask/main.go: print error to stderr before os.Exit
- llm/{openai,ollama,openrouter}.go: add interface satisfaction assertions
- integrationtests/ask_test.go: replace type assertions with errors.As
for robust exec.ExitError unwrapping
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/llm')
| -rw-r--r-- | internal/llm/ollama.go | 6 | ||||
| -rw-r--r-- | internal/llm/openai.go | 6 | ||||
| -rw-r--r-- | internal/llm/openrouter.go | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/internal/llm/ollama.go b/internal/llm/ollama.go index ade62a9..be93ab0 100644 --- a/internal/llm/ollama.go +++ b/internal/llm/ollama.go @@ -23,6 +23,12 @@ type ollamaClient struct { defaultTemperature *float64 } +// Ensure ollamaClient implements Client and Streamer. +var ( + _ Client = ollamaClient{} + _ Streamer = ollamaClient{} +) + type ollamaChatRequest struct { Model string `json:"model"` Messages []oaMessage `json:"messages"` diff --git a/internal/llm/openai.go b/internal/llm/openai.go index eccd558..cf18d9b 100644 --- a/internal/llm/openai.go +++ b/internal/llm/openai.go @@ -24,6 +24,12 @@ type openAIClient struct { defaultTemperature *float64 } +// Ensure openAIClient implements Client and Streamer. +var ( + _ Client = openAIClient{} + _ Streamer = openAIClient{} +) + type oaChatRequest struct { Model string `json:"model"` Messages []oaMessage `json:"messages"` diff --git a/internal/llm/openrouter.go b/internal/llm/openrouter.go index 60a594a..451e9ad 100644 --- a/internal/llm/openrouter.go +++ b/internal/llm/openrouter.go @@ -21,6 +21,12 @@ type openRouterClient struct { defaultTemperature *float64 } +// Ensure openRouterClient implements Client and Streamer. +var ( + _ Client = openRouterClient{} + _ Streamer = openRouterClient{} +) + func init() { RegisterProvider("openrouter", openRouterProviderFactory) } |
