feat: add handling for RAG pipeline variables in node interactions

This commit is contained in:
twwu 2025-06-25 10:40:48 +08:00
parent a866cbc6d7
commit ccd346d1da

View File

@ -60,6 +60,7 @@ import {
} from './use-workflow'
import { WorkflowHistoryEvent, useWorkflowHistory } from './use-workflow-history'
import { useNodesMetaData } from './use-nodes-meta-data'
import type { RAGPipelineVariables } from '@/models/pipeline'
export const useNodesInteractions = () => {
const { t } = useTranslation()
@ -628,6 +629,19 @@ export const useNodesInteractions = () => {
}
}
if (currentNode.data.type === BlockEnum.DataSource) {
const { id } = currentNode
const { ragPipelineVariables, setRagPipelineVariables } = workflowStore.getState()
if (ragPipelineVariables && setRagPipelineVariables) {
const newRagPipelineVariables: RAGPipelineVariables = []
ragPipelineVariables.forEach((variable) => {
if (variable.belong_to_node_id === id) return
newRagPipelineVariables.push(variable)
})
setRagPipelineVariables(newRagPipelineVariables)
}
}
const connectedEdges = getConnectedEdges([{ id: nodeId } as Node], edges)
const nodesConnectedSourceOrTargetHandleIdsMap = getNodesConnectedSourceOrTargetHandleIdsMap(connectedEdges.map(edge => ({ type: 'remove', edge })), nodes)
const newNodes = produce(nodes, (draft: Node[]) => {