From 4018dc1f7f9b6e69f3ec40f3422c49e1931be01b Mon Sep 17 00:00:00 2001 From: Oleg Ivaniv Date: Fri, 20 Dec 2024 09:28:03 +0100 Subject: [PATCH] Connect vector store tools nodes when adding from connection drag --- .../shared/createVectorStoreNode.ts | 2 ++ packages/editor-ui/src/Interface.ts | 1 + .../Node/NodeCreator/Modes/NodesMode.vue | 33 ++++++++++++++++--- .../composables/useActionsGeneration.ts | 3 +- .../NodeCreator/composables/useViewStacks.ts | 11 ++++++- packages/workflow/src/Interfaces.ts | 1 + 6 files changed, 44 insertions(+), 7 deletions(-) diff --git a/packages/@n8n/nodes-langchain/nodes/vector_store/shared/createVectorStoreNode.ts b/packages/@n8n/nodes-langchain/nodes/vector_store/shared/createVectorStoreNode.ts index 3135a74a08..f35f1bd254 100644 --- a/packages/@n8n/nodes-langchain/nodes/vector_store/shared/createVectorStoreNode.ts +++ b/packages/@n8n/nodes-langchain/nodes/vector_store/shared/createVectorStoreNode.ts @@ -110,12 +110,14 @@ function getOperationModeOptions(args: VectorStoreNodeConstructorArgs): INodePro value: 'retrieve', description: 'Retrieve documents from vector store to be used as vector store with AI nodes', action: 'Retrieve documents for AI processing as Vector Store', + outputConnectionType: NodeConnectionType.AiVectorStore, }, { name: 'Retrieve Documents (As Tool for AI Agent)', value: 'retrieve-as-tool', description: 'Retrieve documents from vector store to be used as tool with AI nodes', action: 'Retrieve documents for AI processing as Tool', + outputConnectionType: NodeConnectionType.AiTool, }, { name: 'Update Documents', diff --git a/packages/editor-ui/src/Interface.ts b/packages/editor-ui/src/Interface.ts index a2a1e8e065..03327a1d22 100644 --- a/packages/editor-ui/src/Interface.ts +++ b/packages/editor-ui/src/Interface.ts @@ -723,6 +723,7 @@ export interface ActionTypeDescription extends SimplifiedNodeType { displayOptions?: IDisplayOptions; values?: IDataObject; actionKey: string; + outputConnectionType?: NodeConnectionType; codex: { label: string; categories: string[]; diff --git a/packages/editor-ui/src/components/Node/NodeCreator/Modes/NodesMode.vue b/packages/editor-ui/src/components/Node/NodeCreator/Modes/NodesMode.vue index b577669169..85a022805a 100644 --- a/packages/editor-ui/src/components/Node/NodeCreator/Modes/NodesMode.vue +++ b/packages/editor-ui/src/components/Node/NodeCreator/Modes/NodesMode.vue @@ -1,7 +1,7 @@