fix: stabilize tool streaming typings
This commit is contained in:
@@ -68,15 +68,26 @@ class TextStreamAccumulator {
|
||||
}
|
||||
case 'tool-call':
|
||||
if (part.toolCallId) {
|
||||
const legacyPart = part as typeof part & {
|
||||
args?: unknown
|
||||
providerMetadata?: { raw?: { input?: unknown } }
|
||||
}
|
||||
this.toolCalls.set(part.toolCallId, {
|
||||
toolName: part.toolName,
|
||||
input: part.input ?? part.args ?? part.providerMetadata?.raw?.input
|
||||
input: part.input ?? legacyPart.args ?? legacyPart.providerMetadata?.raw?.input
|
||||
})
|
||||
}
|
||||
break
|
||||
case 'tool-result':
|
||||
if (part.toolCallId) {
|
||||
this.toolResults.set(part.toolCallId, part.output ?? part.result ?? part.providerMetadata?.raw)
|
||||
const legacyPart = part as typeof part & {
|
||||
result?: unknown
|
||||
providerMetadata?: { raw?: unknown }
|
||||
}
|
||||
this.toolResults.set(
|
||||
part.toolCallId,
|
||||
part.output ?? legacyPart.result ?? legacyPart.providerMetadata?.raw
|
||||
)
|
||||
}
|
||||
break
|
||||
default:
|
||||
|
||||
@@ -14,13 +14,21 @@ vi.mock('@logger', async () => {
|
||||
}
|
||||
})
|
||||
|
||||
vi.mock('axios', () => ({
|
||||
default: {
|
||||
vi.mock('axios', () => {
|
||||
const defaultAxiosMock = {
|
||||
get: vi.fn().mockResolvedValue({ data: {} }), // Mocking axios GET request
|
||||
post: vi.fn().mockResolvedValue({ data: {} }) // Mocking axios POST request
|
||||
// You can add other axios methods like put, delete etc. as needed
|
||||
}
|
||||
}))
|
||||
|
||||
const isAxiosError = (error: unknown): error is { isAxiosError?: boolean } =>
|
||||
Boolean((error as { isAxiosError?: boolean } | undefined)?.isAxiosError)
|
||||
|
||||
return {
|
||||
default: defaultAxiosMock,
|
||||
isAxiosError
|
||||
}
|
||||
})
|
||||
|
||||
vi.stubGlobal('electron', {
|
||||
ipcRenderer: {
|
||||
|
||||
Reference in New Issue
Block a user