summaryrefslogtreecommitdiff
path: root/internal/models
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-02 09:24:23 +0300
committerPaul Buetow <paul@buetow.org>2026-04-02 09:24:23 +0300
commit6ce9123de04ffff961cbf1da73648679216ff637 (patch)
tree7a8c12f3499b0a62471627773fde9588a14c9261 /internal/models
parentfaee049f51a3e6125a710fae3e713638bd68dd48 (diff)
Fix verification gate lint and test issues
Diffstat (limited to 'internal/models')
-rw-r--r--internal/models/lister.go82
1 files changed, 65 insertions, 17 deletions
diff --git a/internal/models/lister.go b/internal/models/lister.go
index c798dc6..ca3d3a2 100644
--- a/internal/models/lister.go
+++ b/internal/models/lister.go
@@ -66,7 +66,9 @@ func (l *Lister) ListAvailableModels() error {
return fmt.Errorf("no API keys found. Set OPENAI_API_KEY and/or GOOGLE_API_KEY environment variable(s) or configure them in .totalrecall.yaml")
}
- fmt.Fprintln(l.out, "Available Models:")
+ if err := l.writeLine("Available Models:"); err != nil {
+ return err
+ }
printedSection := false
if l.openAIKey != "" {
@@ -78,7 +80,9 @@ func (l *Lister) ListAvailableModels() error {
if l.geminiKey != "" {
if printedSection {
- fmt.Fprintln(l.out)
+ if err := l.writeLine(""); err != nil {
+ return err
+ }
}
if err := l.printGeminiModels(); err != nil {
return err
@@ -118,26 +122,42 @@ func (l *Lister) printOpenAIModels() error {
sort.Strings(imageModels)
sort.Strings(chatModels)
- fmt.Fprintln(l.out, "OpenAI Models:")
- fmt.Fprintln(l.out, " Text-to-Speech (TTS) Models:")
+ if err := l.writeLine("OpenAI Models:"); err != nil {
+ return err
+ }
+ if err := l.writeLine(" Text-to-Speech (TTS) Models:"); err != nil {
+ return err
+ }
if len(ttsModels) == 0 {
- fmt.Fprintln(l.out, " No TTS models found")
+ if err := l.writeLine(" No TTS models found"); err != nil {
+ return err
+ }
} else {
for _, model := range ttsModels {
- fmt.Fprintf(l.out, " %s\n", model)
+ if err := l.writeLine(" " + model); err != nil {
+ return err
+ }
}
}
- fmt.Fprintln(l.out, " Image Generation Models:")
+ if err := l.writeLine(" Image Generation Models:"); err != nil {
+ return err
+ }
if len(imageModels) == 0 {
- fmt.Fprintln(l.out, " No image models found")
+ if err := l.writeLine(" No image models found"); err != nil {
+ return err
+ }
} else {
for _, model := range imageModels {
- fmt.Fprintf(l.out, " %s\n", model)
+ if err := l.writeLine(" " + model); err != nil {
+ return err
+ }
}
}
- fmt.Fprintln(l.out, " Chat/Translation Models (for Bulgarian translation):")
+ if err := l.writeLine(" Chat/Translation Models (for Bulgarian translation):"); err != nil {
+ return err
+ }
if len(chatModels) > 10 {
// Show only relevant models
relevantModels := []string{}
@@ -147,12 +167,18 @@ func (l *Lister) printOpenAIModels() error {
}
}
for _, model := range relevantModels {
- fmt.Fprintf(l.out, " %s\n", model)
+ if err := l.writeLine(" " + model); err != nil {
+ return err
+ }
+ }
+ if err := l.writeFormatted(" ... and %d more models\n", len(chatModels)-len(relevantModels)); err != nil {
+ return err
}
- fmt.Fprintf(l.out, " ... and %d more models\n", len(chatModels)-len(relevantModels))
} else {
for _, model := range chatModels {
- fmt.Fprintf(l.out, " %s\n", model)
+ if err := l.writeLine(" " + model); err != nil {
+ return err
+ }
}
}
@@ -164,7 +190,7 @@ func (l *Lister) printGeminiModels() error {
return fmt.Errorf("failed to initialize Gemini client: %w", l.geminiInitErr)
}
if l.geminiClient == nil {
- return fmt.Errorf("Gemini client not initialized")
+ return fmt.Errorf("gemini client not initialized")
}
ctx := context.Background()
@@ -189,14 +215,36 @@ func (l *Lister) printGeminiModels() error {
sort.Strings(geminiModels)
- fmt.Fprintln(l.out, "Gemini Models:")
+ if err := l.writeLine("Gemini Models:"); err != nil {
+ return err
+ }
if len(geminiModels) == 0 {
- fmt.Fprintln(l.out, " No Gemini models found")
+ if err := l.writeLine(" No Gemini models found"); err != nil {
+ return err
+ }
return nil
}
for _, model := range geminiModels {
- fmt.Fprintf(l.out, " %s\n", model)
+ if err := l.writeLine(" " + model); err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (l *Lister) writeLine(text string) error {
+ if _, err := fmt.Fprintln(l.out, text); err != nil {
+ return fmt.Errorf("write model list output: %w", err)
+ }
+
+ return nil
+}
+
+func (l *Lister) writeFormatted(format string, args ...any) error {
+ if _, err := fmt.Fprintf(l.out, format, args...); err != nil {
+ return fmt.Errorf("write model list output: %w", err)
}
return nil