From 95f1090bed2d1a623bba9f4ab1a331cc9ceb98a0 Mon Sep 17 00:00:00 2001 From: Vinod Kiran Date: Tue, 21 May 2024 16:40:30 +0530 Subject: [PATCH] BugFix #2386: Double quotes are not escaped, flow crashes (#2448) Fix for #2386 --- .../documentloaders/DocumentStore/DocStoreLoader.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/components/nodes/documentloaders/DocumentStore/DocStoreLoader.ts b/packages/components/nodes/documentloaders/DocumentStore/DocStoreLoader.ts index c7075265..7253f9c9 100644 --- a/packages/components/nodes/documentloaders/DocumentStore/DocStoreLoader.ts +++ b/packages/components/nodes/documentloaders/DocumentStore/DocStoreLoader.ts @@ -1,6 +1,7 @@ import { ICommonObject, IDatabaseEntity, INode, INodeData, INodeOptionsValue, INodeOutputsValue, INodeParams } from '../../../src/Interface' import { DataSource } from 'typeorm' import { Document } from '@langchain/core/documents' +import { handleEscapeCharacters } from '../../../src' class DocStore_DocumentLoaders implements INode { label: string @@ -83,12 +84,22 @@ class DocStore_DocumentLoaders implements INode { const chunks = await appDataSource .getRepository(databaseEntities['DocumentStoreFileChunk']) .find({ where: { storeId: selectedStore } }) + const output = nodeData.outputs?.output as string const finalDocs = [] for (const chunk of chunks) { finalDocs.push(new Document({ pageContent: chunk.pageContent, metadata: JSON.parse(chunk.metadata) })) } - return finalDocs + + if (output === 'document') { + return finalDocs + } else { + let finaltext = '' + for (const doc of finalDocs) { + finaltext += `${doc.pageContent}\n` + } + return handleEscapeCharacters(finaltext, false) + } } }