fix: resolve strict typecheck fallout in setup, routing, and tests
This commit is contained in:
@@ -39,7 +39,7 @@ function toOpenAIContent(content: string | MessageContentPart[]): string | OpenA
|
||||
}
|
||||
const url = part.source.type === 'base64'
|
||||
? `data:${part.source.media_type};base64,${part.source.data}`
|
||||
: part.source.url;
|
||||
: (part.source.url ?? '');
|
||||
return { type: 'image_url', image_url: { url } };
|
||||
}
|
||||
if (part.type === 'audio') {
|
||||
|
||||
@@ -405,7 +405,7 @@ describe('normalizeMessagesForLlamaCpp', () => {
|
||||
content: [
|
||||
{ type: 'text', text: 'Searching...' },
|
||||
{ type: 'tool_use', id: 'call_1', name: 'web.search', input: { query: 'news' } },
|
||||
] as Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -433,13 +433,13 @@ describe('normalizeMessagesForLlamaCpp', () => {
|
||||
role: 'assistant',
|
||||
content: [
|
||||
{ type: 'tool_use', id: 'call_1', name: 'web.search', input: { query: 'news' } },
|
||||
] as Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'call_1', content: 'Results here', is_error: false },
|
||||
] as Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -460,14 +460,14 @@ 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 Message['content'],
|
||||
] as unknown 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 Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -492,13 +492,13 @@ describe('normalizeMessagesForLlamaCpp', () => {
|
||||
role: 'assistant',
|
||||
content: [
|
||||
{ type: 'tool_use', id: 'call_1', name: 'file.read', input: { path: '/tmp/x' } },
|
||||
] as Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'call_1', content: 'File not found', is_error: true },
|
||||
] as Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -518,13 +518,13 @@ describe('normalizeMessagesForLlamaCpp', () => {
|
||||
content: [
|
||||
{ type: 'text', text: 'Checking...' },
|
||||
{ type: 'tool_use', id: 'tc_0', name: 'weather.get', input: { city: 'NYC' } },
|
||||
] as Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'tc_0', content: 'Sunny, 72F' },
|
||||
] as Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
{ role: 'assistant', content: 'The weather in NYC is sunny, 72F.' },
|
||||
];
|
||||
|
||||
@@ -375,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 Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -402,13 +402,13 @@ describe('normalizeMessagesForOllama', () => {
|
||||
role: 'assistant',
|
||||
content: [
|
||||
{ type: 'tool_use', id: 'call_1', name: 'web.search', input: { query: 'news' } },
|
||||
] as Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'call_1', content: 'Breaking news: ...', is_error: false },
|
||||
] as Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -430,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 Message['content'],
|
||||
] as unknown 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 Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -457,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 Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: [
|
||||
{ type: 'tool_result', tool_use_id: 'tc_0', content: 'Sunny, 72F' },
|
||||
] as Message['content'],
|
||||
] as unknown as Message['content'],
|
||||
},
|
||||
{ role: 'assistant', content: 'The weather in NYC is sunny, 72F.' },
|
||||
];
|
||||
|
||||
@@ -23,6 +23,9 @@ describe('OpenAIClient', () => {
|
||||
});
|
||||
|
||||
expect(capturedOptions).toBeDefined();
|
||||
expect(capturedOptions.baseURL).toBe('https://example.com/v1');
|
||||
if (!capturedOptions) {
|
||||
throw new Error('Expected OpenAI options to be captured');
|
||||
}
|
||||
expect((capturedOptions as Record<string, unknown>)['baseURL']).toBe('https://example.com/v1');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -36,7 +36,7 @@ function toOpenAIContent(content: string | MessageContentPart[]): string | OpenA
|
||||
// OpenAI accepts data URIs or regular URLs
|
||||
const url = part.source.type === 'base64'
|
||||
? `data:${part.source.media_type};base64,${part.source.data}`
|
||||
: part.source.url;
|
||||
: (part.source.url ?? '');
|
||||
return { type: 'image_url', image_url: { url } };
|
||||
}
|
||||
if (part.type === 'audio') {
|
||||
|
||||
Reference in New Issue
Block a user