(config, modelName, preferredTier = 'default')
| 209 | } |
| 210 | |
| 211 | function getModelTargetForModel(config, modelName, preferredTier = 'default') { |
| 212 | if (config?.models) { |
| 213 | for (const tier of ['fast', 'default', 'medium', 'strong']) { |
| 214 | const entry = coerceModelEntry(config.models[tier]); |
| 215 | if (entry.name && entry.name === modelName) return getModelTarget(config, tier); |
| 216 | } |
| 217 | } |
| 218 | const fallback = getModelTarget(config, preferredTier); |
| 219 | return { ...fallback, model: modelName || fallback.model, name: modelName || fallback.name }; |
| 220 | } |
| 221 | |
| 222 | function withModelTarget(config, target) { |
| 223 | return { |
no test coverage detected