From b67d0d8c4579661a3327f5e6660d360014012850 Mon Sep 17 00:00:00 2001 From: Harry Date: Fri, 30 Jan 2026 22:44:41 +0800 Subject: [PATCH] refactor(sandbox): update sandbox service to use sandbox_id instead of workflow_execution_id - Modified the SandboxService and related app generators to replace workflow_execution_id with sandbox_id for improved clarity and consistency in sandbox handling. - Adjusted the AdvancedChatAppGenerator and WorkflowAppGenerator to align with the new parameter naming convention. --- api/core/app/apps/advanced_chat/app_generator.py | 4 +--- api/core/app/apps/workflow/app_generator.py | 2 +- api/services/sandbox/sandbox_service.py | 6 ++---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/api/core/app/apps/advanced_chat/app_generator.py b/api/core/app/apps/advanced_chat/app_generator.py index 841c783861..8ac938e3b8 100644 --- a/api/core/app/apps/advanced_chat/app_generator.py +++ b/api/core/app/apps/advanced_chat/app_generator.py @@ -536,13 +536,11 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator): sandbox_provider=sandbox_provider, ) else: - if application_generate_entity.workflow_run_id is None: - raise ValueError("workflow_run_id is required when sandbox is enabled") sandbox = SandboxService.create( tenant_id=application_generate_entity.app_config.tenant_id, app_id=application_generate_entity.app_config.app_id, user_id=application_generate_entity.user_id, - workflow_execution_id=application_generate_entity.workflow_run_id, + sandbox_id=conversation_id, sandbox_provider=sandbox_provider, ) graph_engine_layers = (SandboxLayer(sandbox=sandbox),) diff --git a/api/core/app/apps/workflow/app_generator.py b/api/core/app/apps/workflow/app_generator.py index b1f197953e..6b4efac9de 100644 --- a/api/core/app/apps/workflow/app_generator.py +++ b/api/core/app/apps/workflow/app_generator.py @@ -515,7 +515,7 @@ class WorkflowAppGenerator(BaseAppGenerator): tenant_id=application_generate_entity.app_config.tenant_id, app_id=application_generate_entity.app_config.app_id, user_id=application_generate_entity.user_id, - workflow_execution_id=application_generate_entity.workflow_execution_id, + sandbox_id=application_generate_entity.workflow_execution_id, sandbox_provider=sandbox_provider, ) graph_engine_layers = ( diff --git a/api/services/sandbox/sandbox_service.py b/api/services/sandbox/sandbox_service.py index b4f2cda24a..e69215ee1a 100644 --- a/api/services/sandbox/sandbox_service.py +++ b/api/services/sandbox/sandbox_service.py @@ -24,14 +24,14 @@ class SandboxService: tenant_id: str, app_id: str, user_id: str, - workflow_execution_id: str, + sandbox_id: str, sandbox_provider: SandboxProviderEntity, ) -> Sandbox: assets = AppAssetService.get_assets(tenant_id, app_id, user_id, is_draft=False) if not assets: raise ValueError(f"No assets found for tid={tenant_id}, app_id={app_id}") - archive_storage = ArchiveSandboxStorage(tenant_id, app_id, workflow_execution_id, storage.storage_runner) + archive_storage = ArchiveSandboxStorage(tenant_id, app_id, sandbox_id, storage.storage_runner) sandbox = ( SandboxBuilder(tenant_id, SandboxType(sandbox_provider.provider_type)) .options(sandbox_provider.config) @@ -67,8 +67,6 @@ class SandboxService: if not assets: raise ValueError(f"No assets found for tid={tenant_id}, app_id={app_id}") - SandboxService.delete_draft_storage(tenant_id, app_id, user_id) - AppAssetPackageService.build_assets(tenant_id, app_id, assets) sandbox_id = SandboxBuilder.draft_id(user_id) archive_storage = ArchiveSandboxStorage(