Merge branch 'staging' into immutable-config

This commit is contained in:
Cohee
2025-02-25 22:08:35 +02:00
30 changed files with 839 additions and 470 deletions

View File

@ -862,3 +862,34 @@ export function cachingAtDepthForOpenRouterClaude(messages, cachingAtDepth) {
}
}
}
/**
* Calculate the budget tokens for a given reasoning effort.
* @param {number} maxTokens Maximum tokens
* @param {string} reasoningEffort Reasoning effort
* @param {boolean} stream If streaming is enabled
* @returns {number} Budget tokens
*/
export function calculateBudgetTokens(maxTokens, reasoningEffort, stream) {
let budgetTokens = 0;
switch (reasoningEffort) {
case 'low':
budgetTokens = Math.floor(maxTokens * 0.1);
break;
case 'medium':
budgetTokens = Math.floor(maxTokens * 0.25);
break;
case 'high':
budgetTokens = Math.floor(maxTokens * 0.5);
break;
}
budgetTokens = Math.max(budgetTokens, 1024);
if (!stream) {
budgetTokens = Math.min(budgetTokens, 21333);
}
return budgetTokens;
}