MCPcopy Index your code
hub / github.com/Noumena-Network/code / getModelMaxOutputTokens

Function getModelMaxOutputTokens

src/utils/context.ts:163–232  ·  view source on GitHub ↗
(model: string)

Source from the content-addressed store, hash-verified

161 * Returns the model's default and upper limit for max output tokens.
162 */
163export function getModelMaxOutputTokens(model: string): {
164 default: number
165 upperLimit: number
166} {
167 let defaultTokens: number
168 let upperLimit: number
169
170 const ncodeModel = resolveNCodeManagedModel(model)
171 if (ncodeModel) {
172 return {
173 default: ncodeModel.defaultMaxTokens,
174 upperLimit: ncodeModel.upperMaxTokensLimit,
175 }
176 }
177
178 if (isInternalBuild()) {
179 const antModel = resolveAntModel(model.toLowerCase())
180 if (antModel) {
181 defaultTokens = antModel.defaultMaxTokens ?? MAX_OUTPUT_TOKENS_DEFAULT
182 upperLimit = antModel.upperMaxTokensLimit ?? MAX_OUTPUT_TOKENS_UPPER_LIMIT
183 return { default: defaultTokens, upperLimit }
184 }
185 }
186
187 const m = getCanonicalName(model)
188
189 if (m.includes('opus-4-6')) {
190 defaultTokens = 64_000
191 upperLimit = 128_000
192 } else if (m.includes('sonnet-4-6')) {
193 defaultTokens = 32_000
194 upperLimit = 128_000
195 } else if (
196 m.includes('opus-4-5') ||
197 m.includes('sonnet-4') ||
198 m.includes('haiku-4')
199 ) {
200 defaultTokens = 32_000
201 upperLimit = 64_000
202 } else if (m.includes('opus-4-1') || m.includes('opus-4')) {
203 defaultTokens = 32_000
204 upperLimit = 32_000
205 } else if (m.includes('claude-3-opus')) {
206 defaultTokens = 4_096
207 upperLimit = 4_096
208 } else if (m.includes('claude-3-sonnet')) {
209 defaultTokens = 8_192
210 upperLimit = 8_192
211 } else if (m.includes('claude-3-haiku')) {
212 defaultTokens = 4_096
213 upperLimit = 4_096
214 } else if (m.includes('3-5-sonnet') || m.includes('3-5-haiku')) {
215 defaultTokens = 8_192
216 upperLimit = 8_192
217 } else if (m.includes('3-7-sonnet')) {
218 defaultTokens = 32_000
219 upperLimit = 64_000
220 } else {

Callers 6

getStoredSessionCostsFunction · 0.85
addToTotalModelUsageFunction · 0.85
DoctorFunction · 0.85

Calls 5

resolveNCodeManagedModelFunction · 0.85
isInternalBuildFunction · 0.85
resolveAntModelFunction · 0.85
getCanonicalNameFunction · 0.85
getModelCapabilityFunction · 0.85

Tested by

no test coverage detected