Feat: Add "Open Workflow" link in workflow side panel (#28898)

This commit is contained in:
CrabSAMA
2025-11-29 18:47:12 +08:00
committed by GitHub
parent 95528ad8e5
commit 0a2d478749
10 changed files with 301 additions and 4 deletions

View File

@@ -201,7 +201,9 @@ class ToolTransformService:
@staticmethod
def workflow_provider_to_user_provider(
provider_controller: WorkflowToolProviderController, labels: list[str] | None = None
provider_controller: WorkflowToolProviderController,
labels: list[str] | None = None,
workflow_app_id: str | None = None,
):
"""
convert provider controller to user provider
@@ -221,6 +223,7 @@ class ToolTransformService:
plugin_unique_identifier=None,
tools=[],
labels=labels or [],
workflow_app_id=workflow_app_id,
)
@staticmethod

View File

@@ -189,6 +189,9 @@ class WorkflowToolManageService:
select(WorkflowToolProvider).where(WorkflowToolProvider.tenant_id == tenant_id)
).all()
# Create a mapping from provider_id to app_id
provider_id_to_app_id = {provider.id: provider.app_id for provider in db_tools}
tools: list[WorkflowToolProviderController] = []
for provider in db_tools:
try:
@@ -202,8 +205,11 @@ class WorkflowToolManageService:
result = []
for tool in tools:
workflow_app_id = provider_id_to_app_id.get(tool.provider_id)
user_tool_provider = ToolTransformService.workflow_provider_to_user_provider(
provider_controller=tool, labels=labels.get(tool.provider_id, [])
provider_controller=tool,
labels=labels.get(tool.provider_id, []),
workflow_app_id=workflow_app_id,
)
ToolTransformService.repack_provider(tenant_id=tenant_id, provider=user_tool_provider)
user_tool_provider.tools = [