()
| 106 | } |
| 107 | |
| 108 | function getCustomOpusOption(): ModelOption | undefined { |
| 109 | const is3P = getAPIProvider() !== 'firstParty' |
| 110 | const customOpusModel = process.env.ANTHROPIC_DEFAULT_OPUS_MODEL |
| 111 | // When a 3P user has a custom opus model string, show it directly |
| 112 | if (is3P && customOpusModel) { |
| 113 | const is1m = has1mContext(customOpusModel) |
| 114 | return { |
| 115 | value: 'opus', |
| 116 | label: process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_NAME ?? customOpusModel, |
| 117 | description: |
| 118 | process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION ?? |
| 119 | `Custom Opus model${is1m ? ' (1M context)' : ''}`, |
| 120 | descriptionForModel: `${process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION ?? `Custom Opus model${is1m ? ' with 1M context' : ''}`} (${customOpusModel})`, |
| 121 | } |
| 122 | } |
| 123 | } |
| 124 | |
| 125 | function getOpus41Option(): ModelOption { |
| 126 | return { |
no test coverage detected