MCPcopy
hub / github.com/codeaashu/claude-code / getModelOptionsBase

Function getModelOptionsBase

src/utils/model/modelOptions.ts:271–376  ·  view source on GitHub ↗
(fastMode = false)

Source from the content-addressed store, hash-verified

269// @[MODEL LAUNCH]: Update the model picker lists below to include/reorder options for the new model.
270// Each user tier (ant, Max/Team Premium, Pro/Team Standard/Enterprise, PAYG 1P, PAYG 3P) has its own list.
271function getModelOptionsBase(fastMode = false): ModelOption[] {
272 if (process.env.USER_TYPE === 'ant') {
273 // Build options from antModels config
274 const antModelOptions: ModelOption[] = getAntModels().map(m => ({
275 value: m.alias,
276 label: m.label,
277 description: m.description ?? `[ANT-ONLY] ${m.label} (${m.model})`,
278 }))
279
280 return [
281 getDefaultOptionForUser(),
282 ...antModelOptions,
283 getMergedOpus1MOption(fastMode),
284 getSonnet46Option(),
285 getSonnet46_1MOption(),
286 getHaiku45Option(),
287 ]
288 }
289
290 if (isClaudeAISubscriber()) {
291 if (isMaxSubscriber() || isTeamPremiumSubscriber()) {
292 // Max and Team Premium users: Opus is default, show Sonnet as alternative
293 const premiumOptions = [getDefaultOptionForUser(fastMode)]
294 if (!isOpus1mMergeEnabled() && checkOpus1mAccess()) {
295 premiumOptions.push(getMaxOpus46_1MOption(fastMode))
296 }
297
298 premiumOptions.push(MaxSonnet46Option)
299 if (checkSonnet1mAccess()) {
300 premiumOptions.push(getMaxSonnet46_1MOption())
301 }
302
303 premiumOptions.push(MaxHaiku45Option)
304 return premiumOptions
305 }
306
307 // Pro/Team Standard/Enterprise users: Sonnet is default, show Opus as alternative
308 const standardOptions = [getDefaultOptionForUser(fastMode)]
309 if (checkSonnet1mAccess()) {
310 standardOptions.push(getMaxSonnet46_1MOption())
311 }
312
313 if (isOpus1mMergeEnabled()) {
314 standardOptions.push(getMergedOpus1MOption(fastMode))
315 } else {
316 standardOptions.push(getMaxOpusOption(fastMode))
317 if (checkOpus1mAccess()) {
318 standardOptions.push(getMaxOpus46_1MOption(fastMode))
319 }
320 }
321
322 standardOptions.push(MaxHaiku45Option)
323 return standardOptions
324 }
325
326 // PAYG 1P API: Default (Sonnet) + Sonnet 1M + Opus 4.6 + Opus 1M + Haiku
327 if (getAPIProvider() === 'firstParty') {
328 const payg1POptions = [getDefaultOptionForUser(fastMode)]

Callers 1

getModelOptionsFunction · 0.85

Calls 15

getAntModelsFunction · 0.85
getDefaultOptionForUserFunction · 0.85
getMergedOpus1MOptionFunction · 0.85
getSonnet46OptionFunction · 0.85
getSonnet46_1MOptionFunction · 0.85
getHaiku45OptionFunction · 0.85
isMaxSubscriberFunction · 0.85
isTeamPremiumSubscriberFunction · 0.85
isOpus1mMergeEnabledFunction · 0.85
checkOpus1mAccessFunction · 0.85
getMaxOpus46_1MOptionFunction · 0.85
checkSonnet1mAccessFunction · 0.85

Tested by

no test coverage detected