gravityyy-proxyyy / tests /migration /reasoning-effort.test.js
bardd's picture
Fix gemini-3.1-pro-high by routing to pro-low with thinkingLevel high.
4badc3b
Raw
History Blame Contribute Delete
1.58 kB
import test from 'node:test';
import assert from 'node:assert/strict';
import { getReasoningThinkingConfig } from '../../src/format/reasoning-effort.js';
test('Gemini 3.5 Flash high uses thinkingLevel, not a fake model', () => {
const result = getReasoningThinkingConfig('gemini-3.5-flash-low', 'high');
assert.deepEqual(result.config, {
includeThoughts: true,
thinkingLevel: 'high'
});
});
test('Gemini 3.5 Flash effort levels match old proxy', () => {
assert.equal(getReasoningThinkingConfig('gemini-3.5-flash-low', 'disable').config.thinkingLevel, 'minimal');
assert.equal(getReasoningThinkingConfig('gemini-3.5-flash-low', 'low').config.thinkingLevel, 'low');
assert.equal(getReasoningThinkingConfig('gemini-3.5-flash-low', 'medium').config.thinkingLevel, 'medium');
assert.equal(getReasoningThinkingConfig('gemini-3.5-flash-low', 'auto').config.thinkingLevel, 'high');
});
test('Gemini 3 Pro only maps to low or high', () => {
assert.equal(getReasoningThinkingConfig('gemini-3.1-pro-low', 'low_medium').config.thinkingLevel, 'low');
assert.equal(getReasoningThinkingConfig('gemini-3.1-pro-high', 'medium').config.thinkingLevel, 'high');
});
test('Gemini 2.5 and Claude use budgets', () => {
assert.equal(getReasoningThinkingConfig('gemini-2.5-flash', 'high').config.thinkingBudget, 24576);
assert.equal(getReasoningThinkingConfig('gemini-2.5-pro', 'high').config.thinkingBudget, 32768);
assert.equal(getReasoningThinkingConfig('claude-sonnet-4-5-thinking', 'high').config.thinking_budget, 31999);
});