| 102 | } |
| 103 | |
| 104 | func selectPreferredConfiguredShortTextModelConfig( |
| 105 | configs []database.ChatModelConfig, |
| 106 | ) (database.ChatModelConfig, bool) { |
| 107 | for _, preferred := range preferredTitleModels { |
| 108 | for _, config := range configs { |
| 109 | if chatprovider.NormalizeProvider(config.Provider) != preferred.provider { |
| 110 | continue |
| 111 | } |
| 112 | if !strings.EqualFold(strings.TrimSpace(config.Model), preferred.model) { |
| 113 | continue |
| 114 | } |
| 115 | return config, true |
| 116 | } |
| 117 | } |
| 118 | return database.ChatModelConfig{}, false |
| 119 | } |
| 120 | |
| 121 | func normalizeShortTextOutput(text string) string { |
| 122 | text = strings.TrimSpace(text) |