UNPKG

@n8n/n8n-nodes-langchain

Version:

![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

61 lines 2.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.processEventStream = processEventStream; async function processEventStream(ctx, eventStream, itemIndex) { const agentResult = { output: '', }; const toolCalls = []; ctx.sendChunk('begin', itemIndex); for await (const event of eventStream) { switch (event.event) { case 'on_chat_model_stream': const chunk = event.data?.chunk; if (chunk?.content) { const chunkContent = chunk.content; let chunkText = ''; if (Array.isArray(chunkContent)) { for (const message of chunkContent) { if (message?.type === 'text') { chunkText += message?.text; } } } else if (typeof chunkContent === 'string') { chunkText = chunkContent; } ctx.sendChunk('item', itemIndex, chunkText); agentResult.output += chunkText; } break; case 'on_chat_model_end': if (event.data) { const chatModelData = event.data; const output = chatModelData.output; if (output?.tool_calls && output.tool_calls.length > 0) { for (const toolCall of output.tool_calls) { toolCalls.push({ tool: toolCall.name, toolInput: toolCall.args, toolCallId: toolCall.id || 'unknown', type: toolCall.type || 'tool_call', log: output.content || `Calling ${toolCall.name} with input: ${JSON.stringify(toolCall.args)}`, messageLog: [output], additionalKwargs: output.additional_kwargs, }); } } } break; default: break; } } ctx.sendChunk('end', itemIndex); if (toolCalls.length > 0) { agentResult.toolCalls = toolCalls; } return agentResult; } //# sourceMappingURL=processEventStream.js.map