MCPcopy Create free account
hub / github.com/Noumena-Network/code / getMaxOutputTokensForModel

Function getMaxOutputTokensForModel

src/services/api/claude.ts:3426–3446  ·  view source on GitHub ↗
(model: string)

Source from the content-addressed store, hash-verified

3424}
3425
3426export function getMaxOutputTokensForModel(model: string): number {
3427 const maxOutputTokens = getModelMaxOutputTokens(model)
3428
3429 // Slot-reservation cap: drop default to 8k for all models. BQ p99 output
3430 // = 4,911 tokens; 32k/64k defaults over-reserve 8-16× slot capacity.
3431 // Requests hitting the cap get one clean retry at 64k (query.ts
3432 // max_output_tokens_escalate). Math.min keeps models with lower native
3433 // defaults (e.g. claude-3-opus at 4k) at their native value. Applied
3434 // before the env-var override so CLAUDE_CODE_MAX_OUTPUT_TOKENS still wins.
3435 const defaultTokens = isMaxTokensCapEnabled()
3436 ? Math.min(maxOutputTokens.default, CAPPED_DEFAULT_MAX_TOKENS)
3437 : maxOutputTokens.default
3438
3439 const result = validateBoundedIntEnvVar(
3440 'CLAUDE_CODE_MAX_OUTPUT_TOKENS',
3441 process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS,
3442 defaultTokens,
3443 maxOutputTokens.upperLimit,
3444 )
3445 return result.effective
3446}

Callers 3

paramsFromContextFunction · 0.85

Calls 3

getModelMaxOutputTokensFunction · 0.85
isMaxTokensCapEnabledFunction · 0.85
validateBoundedIntEnvVarFunction · 0.85

Tested by

no test coverage detected