gravityyy-proxyyy / tests /migration /openai-tools.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.83 kB
import test from 'node:test';
import assert from 'node:assert/strict';
import { convertOpenAIRequestToAnthropic } from '../../src/format/openai-compat.js';
test('assistant tool_calls and tool results convert to Anthropic blocks', () => {
const converted = convertOpenAIRequestToAnthropic({
model: 'gemini-3.5-flash-low',
messages: [
{ role: 'user', content: 'weather?' },
{
role: 'assistant',
content: null,
tool_calls: [{
id: 'call_weather',
type: 'function',
function: { name: 'get_weather', arguments: '{"city":"Delhi"}' }
}]
},
{
role: 'tool',
tool_call_id: 'call_weather',
content: '{"temperature":32}'
}
],
tools: [{
type: 'function',
function: {
name: 'get_weather',
description: 'Get weather',
parameters: {
type: 'object',
properties: { city: { type: 'string' } },
required: ['city']
}
}
}]
});
assert.equal(converted.messages[1].content[0].type, 'tool_use');
assert.deepEqual(converted.messages[1].content[0].input, { city: 'Delhi' });
assert.equal(converted.messages[2].content[0].name, 'get_weather');
});
test('OpenAI web_search tool becomes built-in googleSearch', () => {
const converted = convertOpenAIRequestToAnthropic({
model: 'gemini-3.5-flash-low',
messages: [{ role: 'user', content: 'Find current information.' }],
tools: [{ type: 'web_search' }]
});
assert.deepEqual(converted.tools, [{ googleSearch: {} }]);
});