()
| 76 | * 4. Settings (from user's saved settings) |
| 77 | */ |
| 78 | export function getUserSpecifiedModelSetting(): ModelSetting | undefined { |
| 79 | let specifiedModel: ModelSetting | undefined |
| 80 | |
| 81 | const modelOverride = getMainLoopModelOverride() |
| 82 | if (modelOverride !== undefined) { |
| 83 | specifiedModel = modelOverride |
| 84 | } else { |
| 85 | const settings = getSettings_DEPRECATED() || {} |
| 86 | specifiedModel = process.env.ANTHROPIC_MODEL || settings.model || undefined |
| 87 | } |
| 88 | |
| 89 | // Ignore the user-specified model if it's not in the availableModels allowlist. |
| 90 | if (specifiedModel && !isModelAllowed(specifiedModel)) { |
| 91 | return undefined |
| 92 | } |
| 93 | |
| 94 | return specifiedModel |
| 95 | } |
| 96 | |
| 97 | /** |
| 98 | * Get the main loop model to use for the current session. |
no test coverage detected