audit follow-up: reduce warning debt in local model tests
This commit is contained in:
@@ -217,7 +217,8 @@ describe('LlamaCppClient', () => {
|
||||
|
||||
expect(response.stopReason).toBe('tool_use');
|
||||
expect(response.toolCalls).toHaveLength(1);
|
||||
expect(response.toolCalls![0]).toEqual({
|
||||
const firstToolCall = response.toolCalls?.[0];
|
||||
expect(firstToolCall).toEqual({
|
||||
id: 'call_123',
|
||||
name: 'shell.exec',
|
||||
args: { command: 'ls' },
|
||||
@@ -404,7 +405,7 @@ describe('normalizeMessagesForLlamaCpp', () => {
|
||||
content: [
|
||||
{ type: 'text', text: 'Searching...' },
|
||||
{ type: 'tool_use', id: 'call_1', name: 'web.search', input: { query: 'news' } },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -432,13 +433,13 @@ describe('normalizeMessagesForLlamaCpp', () => {
|
||||
role: 'assistant',
|
||||
content: [
|
||||
{ type: 'tool_use', id: 'call_1', name: 'web.search', input: { query: 'news' } },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'call_1', content: 'Results here', is_error: false },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -459,22 +460,23 @@ describe('normalizeMessagesForLlamaCpp', () => {
|
||||
content: [
|
||||
{ type: 'tool_use', id: 'call_a', name: 'tool.a', input: {} },
|
||||
{ type: 'tool_use', id: 'call_b', name: 'tool.b', input: { x: 1 } },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'call_a', content: 'A result' },
|
||||
{ type: 'tool_result', tool_use_id: 'call_b', content: 'B result' },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
const result = normalizeMessagesForLlamaCpp(undefined, messages);
|
||||
|
||||
expect(result[1].tool_calls).toHaveLength(2);
|
||||
expect(result[1].tool_calls![0].id).toBe('call_a');
|
||||
expect(result[1].tool_calls![1].function.arguments).toBe('{"x":1}');
|
||||
const toolCalls = result[1].tool_calls;
|
||||
expect(toolCalls).toHaveLength(2);
|
||||
expect(toolCalls?.[0]?.id).toBe('call_a');
|
||||
expect(toolCalls?.[1]?.function.arguments).toBe('{"x":1}');
|
||||
// Multiple results merged into one user message
|
||||
expect(result).toHaveLength(3);
|
||||
expect(result[2]).toEqual({
|
||||
@@ -490,13 +492,13 @@ describe('normalizeMessagesForLlamaCpp', () => {
|
||||
role: 'assistant',
|
||||
content: [
|
||||
{ type: 'tool_use', id: 'call_1', name: 'file.read', input: { path: '/tmp/x' } },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'call_1', content: 'File not found', is_error: true },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -516,13 +518,13 @@ describe('normalizeMessagesForLlamaCpp', () => {
|
||||
content: [
|
||||
{ type: 'text', text: 'Checking...' },
|
||||
{ type: 'tool_use', id: 'tc_0', name: 'weather.get', input: { city: 'NYC' } },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'tc_0', content: 'Sunny, 72F' },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
{ role: 'assistant', content: 'The weather in NYC is sunny, 72F.' },
|
||||
];
|
||||
|
||||
@@ -110,7 +110,8 @@ describe('OllamaClient', () => {
|
||||
|
||||
expect(response.stopReason).toBe('tool_use');
|
||||
expect(response.toolCalls).toHaveLength(1);
|
||||
expect(response.toolCalls![0]).toEqual({
|
||||
const firstToolCall = response.toolCalls?.[0];
|
||||
expect(firstToolCall).toEqual({
|
||||
id: 'ollama_tc_0',
|
||||
name: 'shell.exec',
|
||||
args: { command: 'ls' },
|
||||
@@ -374,7 +375,7 @@ describe('normalizeMessagesForOllama', () => {
|
||||
content: [
|
||||
{ type: 'text', text: 'Let me search for that.' },
|
||||
{ type: 'tool_use', id: 'call_1', name: 'web.search', input: { query: 'latest news' } },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -401,13 +402,13 @@ describe('normalizeMessagesForOllama', () => {
|
||||
role: 'assistant',
|
||||
content: [
|
||||
{ type: 'tool_use', id: 'call_1', name: 'web.search', input: { query: 'news' } },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'call_1', content: 'Breaking news: ...', is_error: false },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -429,14 +430,14 @@ describe('normalizeMessagesForOllama', () => {
|
||||
content: [
|
||||
{ type: 'tool_use', id: 'call_1', name: 'web.search', input: { query: 'a' } },
|
||||
{ type: 'tool_use', id: 'call_2', name: 'web.search', input: { query: 'b' } },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'call_1', content: 'Result A' },
|
||||
{ type: 'tool_result', tool_use_id: 'call_2', content: 'Result B' },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -456,13 +457,13 @@ describe('normalizeMessagesForOllama', () => {
|
||||
content: [
|
||||
{ type: 'text', text: 'Let me check.' },
|
||||
{ type: 'tool_use', id: 'tc_0', name: 'weather.get', input: { city: 'NYC' } },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'tc_0', content: 'Sunny, 72F' },
|
||||
] as any,
|
||||
] as Message['content'],
|
||||
},
|
||||
{ role: 'assistant', content: 'The weather in NYC is sunny, 72F.' },
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user