feat: knowledge pipeline (#25360)

Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: twwu <twwu@dify.ai>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: jyong <718720800@qq.com>
Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com>
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com>
Co-authored-by: quicksand <quicksandzn@gmail.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com>
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: Yongtao Huang <yongtaoh2022@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: nite-knite <nkCoding@gmail.com>
Co-authored-by: Hanqing Zhao <sherry9277@gmail.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Harry <xh001x@hotmail.com>
This commit is contained in:
-LAN-
2025-09-18 12:49:10 +08:00
committed by GitHub
parent 7dadb33003
commit 85cda47c70
1772 changed files with 102407 additions and 31710 deletions

View File

@@ -4,7 +4,7 @@ from typing import Any, Protocol
from sqlalchemy.orm import Session
from core.workflow.nodes.enums import NodeType
from core.workflow.enums import NodeType
class DraftVariableSaver(Protocol):

View File

@@ -1,6 +1,6 @@
from typing import Protocol
from core.workflow.entities.workflow_execution import WorkflowExecution
from core.workflow.entities import WorkflowExecution
class WorkflowExecutionRepository(Protocol):

View File

@@ -2,7 +2,7 @@ from collections.abc import Sequence
from dataclasses import dataclass
from typing import Literal, Protocol
from core.workflow.entities.workflow_node_execution import WorkflowNodeExecution
from core.workflow.entities import WorkflowNodeExecution
@dataclass
@@ -30,6 +30,12 @@ class WorkflowNodeExecutionRepository(Protocol):
"""
Save or update a NodeExecution instance.
This method saves all data on the `WorkflowNodeExecution` object, except for `inputs`, `process_data`,
and `outputs`. Its primary purpose is to persist the status and various metadata, such as execution time
and execution-related details.
It's main purpose is to save the status and various metadata (execution time, execution metadata etc.)
This method handles both creating new records and updating existing ones.
The implementation should determine whether to create or update based on
the execution's ID or other identifying fields.
@@ -39,6 +45,14 @@ class WorkflowNodeExecutionRepository(Protocol):
"""
...
def save_execution_data(self, execution: WorkflowNodeExecution):
"""Save or update the inputs, process_data, or outputs associated with a specific
node_execution record.
If any of the inputs, process_data, or outputs are None, those fields will not be updated.
"""
...
def get_by_workflow_run(
self,
workflow_run_id: str,