From a64cf7745c2679f00b28f8ff4b4d79abca5f932f Mon Sep 17 00:00:00 2001 From: Jacob Lee Date: Mon, 26 Aug 2024 15:44:37 -0700 Subject: [PATCH] core[patch]: Make tool call chunk partial JSON parsing more strict (#6639) --- langchain-core/src/messages/ai.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/langchain-core/src/messages/ai.ts b/langchain-core/src/messages/ai.ts index 2ba47ff7ff2a..9c542af4e28b 100644 --- a/langchain-core/src/messages/ai.ts +++ b/langchain-core/src/messages/ai.ts @@ -188,8 +188,12 @@ export class AIMessageChunk extends BaseMessageChunk { for (const toolCallChunk of fields.tool_call_chunks) { let parsedArgs = {}; try { - parsedArgs = parsePartialJson(toolCallChunk.args ?? "{}") ?? {}; - if (typeof parsedArgs !== "object" || Array.isArray(parsedArgs)) { + parsedArgs = parsePartialJson(toolCallChunk.args || "{}"); + if ( + parsedArgs === null || + typeof parsedArgs !== "object" || + Array.isArray(parsedArgs) + ) { throw new Error("Malformed tool call chunk args."); } toolCalls.push({