From 13efb7fccefab0ad03efebb8a82659400a9229a1 Mon Sep 17 00:00:00 2001 From: Mutasem Aldmour Date: Tue, 17 Dec 2024 14:24:16 +0100 Subject: [PATCH] clean up implementation --- packages/cli/src/load-nodes-and-credentials.ts | 6 +++++- packages/cli/src/node-types.ts | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/load-nodes-and-credentials.ts b/packages/cli/src/load-nodes-and-credentials.ts index 97faac0d7e..d10d4c43c6 100644 --- a/packages/cli/src/load-nodes-and-credentials.ts +++ b/packages/cli/src/load-nodes-and-credentials.ts @@ -307,7 +307,11 @@ export class LoadNodesAndCredentials { for (const usableNode of usableNodes) { const description: INodeTypeBaseDescription | INodeTypeDescription = structuredClone(usableNode); - const nodeType = this.getCurrentVersionNodeType(usableNode); + + // avoid spiking memory during startup, loading all node classes into memory + const nodeType = usableNode.usableAsTool + ? this.getCurrentVersionNodeType(usableNode) + : undefined; const wrapped = this.convertNodeToAiTool({ description, setupAsTool: nodeType?.setupAsTool, diff --git a/packages/cli/src/node-types.ts b/packages/cli/src/node-types.ts index 9903589917..91470d3471 100644 --- a/packages/cli/src/node-types.ts +++ b/packages/cli/src/node-types.ts @@ -60,7 +60,6 @@ export class NodeTypes implements INodeTypes { }) as INodeTypeDescription; const clonedNode = Object.create(versionedNodeType, { description: { value: clonedDescription }, - setupAsTool: { value: versionedNodeType.setupAsTool }, }) as INodeType; const tool = this.loadNodesAndCredentials.convertNodeToAiTool(clonedNode); loadedNodes[nodeType + 'Tool'] = { sourcePath: '', type: tool };