MCPcopy Index your code
hub / github.com/codeaashu/claude-code / adjustParamsForNonStreaming

Function adjustParamsForNonStreaming

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

Source from the content-addressed store, hash-verified

3362 * @returns Adjusted parameters with thinking budget capped if needed
3363 */
3364export function adjustParamsForNonStreaming<
3365 T extends {
3366 max_tokens: number
3367 thinking?: BetaMessageStreamParams['thinking']
3368 },
3369>(params: T, maxTokensCap: number): T {
3370 const cappedMaxTokens = Math.min(params.max_tokens, maxTokensCap)
3371
3372 // Adjust thinking budget if it would exceed capped max_tokens
3373 // to maintain the constraint: max_tokens > thinking.budget_tokens
3374 const adjustedParams = { ...params }
3375 if (
3376 adjustedParams.thinking?.type === 'enabled' &&
3377 adjustedParams.thinking.budget_tokens
3378 ) {
3379 adjustedParams.thinking = {
3380 ...adjustedParams.thinking,
3381 budget_tokens: Math.min(
3382 adjustedParams.thinking.budget_tokens,
3383 cappedMaxTokens - 1, // Must be at least 1 less than max_tokens
3384 ),
3385 }
3386 }
3387
3388 return {
3389 ...adjustedParams,
3390 max_tokens: cappedMaxTokens,
3391 }
3392}
3393
3394function isMaxTokensCapEnabled(): boolean {
3395 // 3P default: false (not validated on Bedrock/Vertex)

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected