From 3bd12af2c2be72a08b97219edb02b6184993d68a Mon Sep 17 00:00:00 2001 From: Umesh042005 Date: Sun, 17 May 2026 18:20:38 +0530 Subject: [PATCH 1/2] fix: add null checks in document store component node functions --- package.json | 22 +++++++++++++++-- .../src/services/documentstore/index.ts | 24 ++++++++++++++++++- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 6d0b8b68b7d..0c247547c4b 100644 --- a/package.json +++ b/package.json @@ -41,9 +41,9 @@ "*.{js,jsx,ts,tsx,json,md}": "eslint --fix" }, "devDependencies": { - "@changesets/cli": "^2.27.0", "@babel/preset-env": "^7.19.4", "@babel/preset-typescript": "7.18.6", + "@changesets/cli": "^2.27.0", "@types/express": "^4.17.13", "@typescript-eslint/typescript-estree": "^7.13.1", "eslint": "^8.24.0", @@ -67,8 +67,26 @@ }, "pnpm": { "onlyBuiltDependencies": [ + "@swc/core", + "bufferutil", + "canvas", + "core-js", + "core-js-pure", + "couchbase", + "cpu-features", + "cypress", + "es5-ext", + "esbuild", "faiss-node", - "sqlite3" + "grpc-tools", + "msgpackr-extract", + "protobufjs", + "puppeteer", + "sharp", + "sqlite3", + "ssh2", + "unrs-resolver", + "utf-8-validate" ], "overrides": { "axios": "1.15.0", diff --git a/packages/server/src/services/documentstore/index.ts b/packages/server/src/services/documentstore/index.ts index a7dc444f1d6..61324c0d13e 100644 --- a/packages/server/src/services/documentstore/index.ts +++ b/packages/server/src/services/documentstore/index.ts @@ -1583,6 +1583,9 @@ const _createEmbeddingsObject = async ( ): Promise => { // prepare embedding node data const embeddingComponent = componentNodes[data.embeddingName] + if (!embeddingComponent) { + throw new InternalFlowiseError(StatusCodes.INTERNAL_SERVER_ERROR, `Embedding "${data.embeddingName}" not found in component nodes`) + } const embeddingNodeData: any = { inputs: { ...data.embeddingConfig }, outputs: { output: 'document' }, @@ -1618,6 +1621,12 @@ const _createRecordManagerObject = async ( ) => { // prepare record manager node data const recordManagerComponent = componentNodes[data.recordManagerName] + if (!recordManagerComponent) { + throw new InternalFlowiseError( + StatusCodes.INTERNAL_SERVER_ERROR, + `Record Manager "${data.recordManagerName}" not found in component nodes` + ) + } const rmNodeData: any = { inputs: { ...data.recordManagerConfig }, id: `${recordManagerComponent.name}_0`, @@ -1646,6 +1655,12 @@ const _createRecordManagerObject = async ( const _createVectorStoreNodeData = (componentNodes: IComponentNodes, data: ICommonObject, embeddingObj: any, recordManagerObj?: any) => { const vectorStoreComponent = componentNodes[data.vectorStoreName] + if (!vectorStoreComponent) { + throw new InternalFlowiseError( + StatusCodes.INTERNAL_SERVER_ERROR, + `Vector Store "${data.vectorStoreName}" not found in component nodes` + ) + } const vStoreNodeData: any = { id: `${vectorStoreComponent.name}_0`, inputs: { ...data.vectorStoreConfig }, @@ -1679,7 +1694,14 @@ const _createVectorStoreObject = async ( vStoreNodeData: INodeData, upsertHistory?: Record ) => { - const vStoreNodeInstanceFilePath = componentNodes[data.vectorStoreName].filePath as string + const vectorStoreComponent = componentNodes[data.vectorStoreName] + if (!vectorStoreComponent || !vectorStoreComponent.filePath) { + throw new InternalFlowiseError( + StatusCodes.INTERNAL_SERVER_ERROR, + `Vector Store "${data.vectorStoreName}" not found or filePath not configured in component nodes` + ) + } + const vStoreNodeInstanceFilePath = vectorStoreComponent.filePath as string const vStoreNodeModule = await import(vStoreNodeInstanceFilePath) const vStoreNodeInstance = new vStoreNodeModule.nodeClass() if (upsertHistory) upsertHistory['flowData'] = saveUpsertFlowData(vStoreNodeData, upsertHistory) From 79200106d15b1b61fa59014593fa0b829c1f010b Mon Sep 17 00:00:00 2001 From: Umesh042005 Date: Mon, 18 May 2026 01:21:32 +0530 Subject: [PATCH 2/2] fix: revert unrelated package.json changes --- package.json | 22 ++----------------- .../src/services/documentstore/index.ts | 4 ++-- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 0c247547c4b..6d0b8b68b7d 100644 --- a/package.json +++ b/package.json @@ -41,9 +41,9 @@ "*.{js,jsx,ts,tsx,json,md}": "eslint --fix" }, "devDependencies": { + "@changesets/cli": "^2.27.0", "@babel/preset-env": "^7.19.4", "@babel/preset-typescript": "7.18.6", - "@changesets/cli": "^2.27.0", "@types/express": "^4.17.13", "@typescript-eslint/typescript-estree": "^7.13.1", "eslint": "^8.24.0", @@ -67,26 +67,8 @@ }, "pnpm": { "onlyBuiltDependencies": [ - "@swc/core", - "bufferutil", - "canvas", - "core-js", - "core-js-pure", - "couchbase", - "cpu-features", - "cypress", - "es5-ext", - "esbuild", "faiss-node", - "grpc-tools", - "msgpackr-extract", - "protobufjs", - "puppeteer", - "sharp", - "sqlite3", - "ssh2", - "unrs-resolver", - "utf-8-validate" + "sqlite3" ], "overrides": { "axios": "1.15.0", diff --git a/packages/server/src/services/documentstore/index.ts b/packages/server/src/services/documentstore/index.ts index 61324c0d13e..44123ecdb8b 100644 --- a/packages/server/src/services/documentstore/index.ts +++ b/packages/server/src/services/documentstore/index.ts @@ -1583,7 +1583,7 @@ const _createEmbeddingsObject = async ( ): Promise => { // prepare embedding node data const embeddingComponent = componentNodes[data.embeddingName] - if (!embeddingComponent) { + if (!embeddingComponent || !embeddingComponent.filePath) { throw new InternalFlowiseError(StatusCodes.INTERNAL_SERVER_ERROR, `Embedding "${data.embeddingName}" not found in component nodes`) } const embeddingNodeData: any = { @@ -1621,7 +1621,7 @@ const _createRecordManagerObject = async ( ) => { // prepare record manager node data const recordManagerComponent = componentNodes[data.recordManagerName] - if (!recordManagerComponent) { + if (!recordManagerComponent || !recordManagerComponent.filePath) { throw new InternalFlowiseError( StatusCodes.INTERNAL_SERVER_ERROR, `Record Manager "${data.recordManagerName}" not found in component nodes`