(fastMode = false)
| 78 | } |
| 79 | |
| 80 | export function getDefaultOptionForUser(fastMode = false): ModelOption { |
| 81 | if (process.env.USER_TYPE === 'ant') { |
| 82 | const currentModel = renderDefaultModelSetting( |
| 83 | getDefaultMainLoopModelSetting(), |
| 84 | ) |
| 85 | return { |
| 86 | value: null, |
| 87 | label: 'Default (recommended)', |
| 88 | description: `Use the default model for Ants (currently ${currentModel})`, |
| 89 | descriptionForModel: `Default model (currently ${currentModel})`, |
| 90 | } |
| 91 | } |
| 92 | |
| 93 | // Subscribers |
| 94 | if (isClaudeAISubscriber()) { |
| 95 | return { |
| 96 | value: null, |
| 97 | label: 'Default (recommended)', |
| 98 | description: getClaudeAiUserDefaultModelDescription(fastMode), |
| 99 | } |
| 100 | } |
| 101 | |
| 102 | // PAYG |
| 103 | const is3P = getAPIProvider() !== 'firstParty' |
| 104 | const hasConfiguredCustomModels = getConfiguredCustomModelOptions().length > 0 |
| 105 | return { |
| 106 | value: null, |
| 107 | label: 'Default (recommended)', |
| 108 | description: `Use the default model (currently ${renderDefaultModelSetting(getDefaultMainLoopModelSetting())})${is3P || hasConfiguredCustomModels ? '' : ` · ${formatModelPricing(COST_TIER_3_15)}`}`, |
| 109 | } |
| 110 | } |
| 111 | |
| 112 | function getCustomSonnetOption(): ModelOption | undefined { |
| 113 | const is3P = getAPIProvider() !== 'firstParty' |
no test coverage detected