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

Function adjustParamsForNonStreaming

src/services/api/claude.ts:3391–3419  ·  view source on GitHub ↗
(params: T, maxTokensCap: number)

Source from the content-addressed store, hash-verified

3389 * @returns Adjusted parameters with thinking budget capped if needed
3390 */
3391export function adjustParamsForNonStreaming<
3392 T extends {
3393 max_tokens: number
3394 thinking?: BetaMessageStreamParams['thinking']
3395 },
3396>(params: T, maxTokensCap: number): T {
3397 const cappedMaxTokens = Math.min(params.max_tokens, maxTokensCap)
3398
3399 // Adjust thinking budget if it would exceed capped max_tokens
3400 // to maintain the constraint: max_tokens > thinking.budget_tokens
3401 const adjustedParams = { ...params }
3402 if (
3403 adjustedParams.thinking?.type === 'enabled' &&
3404 adjustedParams.thinking.budget_tokens
3405 ) {
3406 adjustedParams.thinking = {
3407 ...adjustedParams.thinking,
3408 budget_tokens: Math.min(
3409 adjustedParams.thinking.budget_tokens,
3410 cappedMaxTokens - 1, // Must be at least 1 less than max_tokens
3411 ),
3412 }
3413 }
3414
3415 return {
3416 ...adjustedParams,
3417 max_tokens: cappedMaxTokens,
3418 }
3419}
3420
3421function isMaxTokensCapEnabled(): boolean {
3422 // 3P default: false (not validated on Bedrock/Vertex)

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected