From d2daa1367bd565517f1ccea1fcaa0a992d69dfb8 Mon Sep 17 00:00:00 2001 From: -LAN- Date: Fri, 9 May 2025 14:05:11 +0800 Subject: [PATCH] fix: Correct workflow triggers. Signed-off-by: -LAN- --- api/core/app/apps/advanced_chat/app_generator.py | 8 +++----- api/core/app/apps/workflow/app_generator.py | 7 +++---- api/core/ops/langfuse_trace/langfuse_trace.py | 7 +++++-- api/core/ops/langsmith_trace/langsmith_trace.py | 7 +++++-- api/core/ops/opik_trace/opik_trace.py | 7 +++++-- api/core/ops/weave_trace/weave_trace.py | 7 +++++-- 6 files changed, 26 insertions(+), 17 deletions(-) diff --git a/api/core/app/apps/advanced_chat/app_generator.py b/api/core/app/apps/advanced_chat/app_generator.py index 45638da1c9..b74100bb19 100644 --- a/api/core/app/apps/advanced_chat/app_generator.py +++ b/api/core/app/apps/advanced_chat/app_generator.py @@ -29,9 +29,7 @@ from core.repositories import SQLAlchemyWorkflowNodeExecutionRepository from core.workflow.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository from extensions.ext_database import db from factories import file_factory -from models.account import Account -from models.model import App, Conversation, EndUser, Message -from models.workflow import Workflow, WorkflowNodeExecutionTriggeredFrom +from models import Account, App, Conversation, EndUser, Message, Workflow, WorkflowNodeExecutionTriggeredFrom from services.conversation_service import ConversationService from services.errors.message import MessageNotExistsError @@ -234,7 +232,7 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator): session_factory=session_factory, user=user, app_id=application_generate_entity.app_config.app_id, - triggered_from=WorkflowNodeExecutionTriggeredFrom.WORKFLOW_RUN, + triggered_from=WorkflowNodeExecutionTriggeredFrom.SINGLE_STEP, ) return self._generate( @@ -299,7 +297,7 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator): session_factory=session_factory, user=user, app_id=application_generate_entity.app_config.app_id, - triggered_from=WorkflowNodeExecutionTriggeredFrom.WORKFLOW_RUN, + triggered_from=WorkflowNodeExecutionTriggeredFrom.SINGLE_STEP, ) return self._generate( diff --git a/api/core/app/apps/workflow/app_generator.py b/api/core/app/apps/workflow/app_generator.py index b3181d4566..d49ff682b9 100644 --- a/api/core/app/apps/workflow/app_generator.py +++ b/api/core/app/apps/workflow/app_generator.py @@ -27,8 +27,7 @@ from core.workflow.repository.workflow_node_execution_repository import Workflow from core.workflow.workflow_app_generate_task_pipeline import WorkflowAppGenerateTaskPipeline from extensions.ext_database import db from factories import file_factory -from models import Account, App, EndUser, Workflow -from models.workflow import WorkflowNodeExecutionTriggeredFrom +from models import Account, App, EndUser, Workflow, WorkflowNodeExecutionTriggeredFrom logger = logging.getLogger(__name__) @@ -270,7 +269,7 @@ class WorkflowAppGenerator(BaseAppGenerator): session_factory=session_factory, user=user, app_id=application_generate_entity.app_config.app_id, - triggered_from=WorkflowNodeExecutionTriggeredFrom.WORKFLOW_RUN, + triggered_from=WorkflowNodeExecutionTriggeredFrom.SINGLE_STEP, ) return self._generate( @@ -335,7 +334,7 @@ class WorkflowAppGenerator(BaseAppGenerator): session_factory=session_factory, user=user, app_id=application_generate_entity.app_config.app_id, - triggered_from=WorkflowNodeExecutionTriggeredFrom.WORKFLOW_RUN, + triggered_from=WorkflowNodeExecutionTriggeredFrom.SINGLE_STEP, ) return self._generate( diff --git a/api/core/ops/langfuse_trace/langfuse_trace.py b/api/core/ops/langfuse_trace/langfuse_trace.py index f67093aca5..836fe2d3f4 100644 --- a/api/core/ops/langfuse_trace/langfuse_trace.py +++ b/api/core/ops/langfuse_trace/langfuse_trace.py @@ -30,7 +30,7 @@ from core.ops.langfuse_trace.entities.langfuse_trace_entity import ( from core.ops.utils import filter_none_values from core.repositories import SQLAlchemyWorkflowNodeExecutionRepository from extensions.ext_database import db -from models import Account, App, EndUser +from models import Account, App, EndUser, WorkflowNodeExecutionTriggeredFrom logger = logging.getLogger(__name__) @@ -131,7 +131,10 @@ class LangFuseDataTrace(BaseTraceInstance): raise ValueError(f"Creator account with id {app.created_by} not found for app {app_id}") workflow_node_execution_repository = SQLAlchemyWorkflowNodeExecutionRepository( - session_factory=session_factory, user=service_account, app_id=trace_info.metadata.get("app_id") + session_factory=session_factory, + user=service_account, + app_id=trace_info.metadata.get("app_id"), + triggered_from=WorkflowNodeExecutionTriggeredFrom.WORKFLOW_RUN, ) # Get all executions for this workflow run diff --git a/api/core/ops/langsmith_trace/langsmith_trace.py b/api/core/ops/langsmith_trace/langsmith_trace.py index 28b18932ea..fea1f235eb 100644 --- a/api/core/ops/langsmith_trace/langsmith_trace.py +++ b/api/core/ops/langsmith_trace/langsmith_trace.py @@ -29,7 +29,7 @@ from core.ops.langsmith_trace.entities.langsmith_trace_entity import ( from core.ops.utils import filter_none_values, generate_dotted_order from core.repositories import SQLAlchemyWorkflowNodeExecutionRepository from extensions.ext_database import db -from models import Account, App, EndUser, MessageFile +from models import Account, App, EndUser, MessageFile, WorkflowNodeExecutionTriggeredFrom logger = logging.getLogger(__name__) @@ -155,7 +155,10 @@ class LangSmithDataTrace(BaseTraceInstance): raise ValueError(f"Creator account with id {app.created_by} not found for app {app_id}") workflow_node_execution_repository = SQLAlchemyWorkflowNodeExecutionRepository( - session_factory=session_factory, user=service_account, app_id=trace_info.metadata.get("app_id") + session_factory=session_factory, + user=service_account, + app_id=trace_info.metadata.get("app_id"), + triggered_from=WorkflowNodeExecutionTriggeredFrom.WORKFLOW_RUN, ) # Get all executions for this workflow run diff --git a/api/core/ops/opik_trace/opik_trace.py b/api/core/ops/opik_trace/opik_trace.py index 5d543b914c..7fdbf12da1 100644 --- a/api/core/ops/opik_trace/opik_trace.py +++ b/api/core/ops/opik_trace/opik_trace.py @@ -23,7 +23,7 @@ from core.ops.entities.trace_entity import ( ) from core.repositories import SQLAlchemyWorkflowNodeExecutionRepository from extensions.ext_database import db -from models import Account, App, EndUser, MessageFile +from models import Account, App, EndUser, MessageFile, WorkflowNodeExecutionTriggeredFrom logger = logging.getLogger(__name__) @@ -168,7 +168,10 @@ class OpikDataTrace(BaseTraceInstance): raise ValueError(f"Creator account with id {app.created_by} not found for app {app_id}") workflow_node_execution_repository = SQLAlchemyWorkflowNodeExecutionRepository( - session_factory=session_factory, user=service_account, app_id=trace_info.metadata.get("app_id") + session_factory=session_factory, + user=service_account, + app_id=trace_info.metadata.get("app_id"), + triggered_from=WorkflowNodeExecutionTriggeredFrom.WORKFLOW_RUN, ) # Get all executions for this workflow run diff --git a/api/core/ops/weave_trace/weave_trace.py b/api/core/ops/weave_trace/weave_trace.py index c01b25bdc1..70826448b7 100644 --- a/api/core/ops/weave_trace/weave_trace.py +++ b/api/core/ops/weave_trace/weave_trace.py @@ -24,7 +24,7 @@ from core.ops.entities.trace_entity import ( from core.ops.weave_trace.entities.weave_trace_entity import WeaveTraceModel from core.repositories import SQLAlchemyWorkflowNodeExecutionRepository from extensions.ext_database import db -from models import Account, App, EndUser, MessageFile +from models import Account, App, EndUser, MessageFile, WorkflowNodeExecutionTriggeredFrom logger = logging.getLogger(__name__) @@ -149,7 +149,10 @@ class WeaveDataTrace(BaseTraceInstance): raise ValueError(f"Creator account with id {app.created_by} not found for app {app_id}") workflow_node_execution_repository = SQLAlchemyWorkflowNodeExecutionRepository( - session_factory=session_factory, user=service_account, app_id=trace_info.metadata.get("app_id") + session_factory=session_factory, + user=service_account, + app_id=trace_info.metadata.get("app_id"), + triggered_from=WorkflowNodeExecutionTriggeredFrom.WORKFLOW_RUN, ) # Get all executions for this workflow run