diff --git a/src/backend/langflow/graph/edge/base.py b/src/backend/langflow/graph/edge/base.py index 08f084a5c..341c3c78f 100644 --- a/src/backend/langflow/graph/edge/base.py +++ b/src/backend/langflow/graph/edge/base.py @@ -6,9 +6,15 @@ if TYPE_CHECKING: class Edge: - def __init__(self, source: "Vertex", target: "Vertex"): + def __init__(self, source: "Vertex", target: "Vertex", edge: dict): self.source: "Vertex" = source self.target: "Vertex" = target + self.source_handle = edge.get("sourceHandle", "") + self.target_handle = edge.get("targetHandle", "") + # 'BaseLoader;BaseOutputParser|documents|PromptTemplate-zmTlD' + # target_param is documents + self.target_param = self.target_handle.split("|")[1] + self.validate_edge() def validate_edge(self) -> None: diff --git a/src/backend/langflow/graph/graph/base.py b/src/backend/langflow/graph/graph/base.py index 46425ddf6..65fff3239 100644 --- a/src/backend/langflow/graph/graph/base.py +++ b/src/backend/langflow/graph/graph/base.py @@ -179,7 +179,7 @@ class Graph: raise ValueError(f"Source node {edge['source']} not found") if target is None: raise ValueError(f"Target node {edge['target']} not found") - edges.append(Edge(source, target)) + edges.append(Edge(source, target, edge)) return edges def _get_vertex_class(self, node_type: str, node_lc_type: str) -> Type[Vertex]: