mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-16 17:46:45 +00:00
feat(editor): Implement workflowSelector parameter type (#10482)
This commit is contained in:
@@ -9,6 +9,7 @@ import type {
|
||||
INodeType,
|
||||
INodeTypeDescription,
|
||||
SupplyData,
|
||||
INodeParameterResourceLocator,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
import { BaseRetriever, type BaseRetrieverInput } from '@langchain/core/retrievers';
|
||||
@@ -41,7 +42,7 @@ export class RetrieverWorkflow implements INodeType {
|
||||
name: 'retrieverWorkflow',
|
||||
icon: 'fa:box-open',
|
||||
group: ['transform'],
|
||||
version: 1,
|
||||
version: [1, 1.1],
|
||||
description: 'Use an n8n Workflow as Retriever',
|
||||
defaults: {
|
||||
name: 'Workflow Retriever',
|
||||
@@ -105,12 +106,26 @@ export class RetrieverWorkflow implements INodeType {
|
||||
displayOptions: {
|
||||
show: {
|
||||
source: ['database'],
|
||||
'@version': [{ _cnd: { eq: 1 } }],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
required: true,
|
||||
description: 'The workflow to execute',
|
||||
},
|
||||
{
|
||||
displayName: 'Workflow',
|
||||
name: 'workflowId',
|
||||
type: 'workflowSelector',
|
||||
displayOptions: {
|
||||
show: {
|
||||
source: ['database'],
|
||||
'@version': [{ _cnd: { gte: 1.1 } }],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
required: true,
|
||||
},
|
||||
|
||||
// ----------------------------------
|
||||
// source:parameter
|
||||
@@ -301,11 +316,21 @@ export class RetrieverWorkflow implements INodeType {
|
||||
|
||||
const workflowInfo: IExecuteWorkflowInfo = {};
|
||||
if (source === 'database') {
|
||||
// Read workflow from database
|
||||
workflowInfo.id = this.executeFunctions.getNodeParameter(
|
||||
'workflowId',
|
||||
itemIndex,
|
||||
) as string;
|
||||
const nodeVersion = this.executeFunctions.getNode().typeVersion;
|
||||
if (nodeVersion === 1) {
|
||||
workflowInfo.id = this.executeFunctions.getNodeParameter(
|
||||
'workflowId',
|
||||
itemIndex,
|
||||
) as string;
|
||||
} else {
|
||||
const { value } = this.executeFunctions.getNodeParameter(
|
||||
'workflowId',
|
||||
itemIndex,
|
||||
{},
|
||||
) as INodeParameterResourceLocator;
|
||||
workflowInfo.id = value as string;
|
||||
}
|
||||
|
||||
baseMetadata.workflowId = workflowInfo.id;
|
||||
} else if (source === 'parameter') {
|
||||
// Read workflow from parameter
|
||||
|
||||
Reference in New Issue
Block a user