feat: add Command node support

- Introduced Command node type in workflow with associated UI components and translations.
- Enhanced SandboxLayer to manage sandbox attachment for Command nodes during execution.
- Updated various components and constants to integrate Command node functionality across the workflow.
This commit is contained in:
Harry
2026-01-06 19:30:38 +08:00
parent caabca3f02
commit 1c7c475c43
22 changed files with 672 additions and 0 deletions

View File

@ -3,6 +3,7 @@
"blocks.answer": "Answer",
"blocks.assigner": "Variable Assigner",
"blocks.code": "Code",
"blocks.command": "Command",
"blocks.datasource": "Data Source",
"blocks.datasource-empty": "Empty Data Source",
"blocks.document-extractor": "Doc Extractor",
@ -33,6 +34,7 @@
"blocksAbout.answer": "Define the reply content of a chat conversation",
"blocksAbout.assigner": "The variable assignment node is used for assigning values to writable variables(like conversation variables).",
"blocksAbout.code": "Execute a piece of Python or NodeJS code to implement custom logic",
"blocksAbout.command": "Execute shell commands in a subprocess",
"blocksAbout.datasource": "Data Source About",
"blocksAbout.datasource-empty": "Empty Data Source placeholder",
"blocksAbout.document-extractor": "Used to parse uploaded documents into text content that is easily understandable by LLM.",
@ -296,6 +298,7 @@
"errorMsg.authRequired": "Authorization is required",
"errorMsg.fieldRequired": "{{field}} is required",
"errorMsg.fields.code": "Code",
"errorMsg.fields.command": "Command",
"errorMsg.fields.model": "Model",
"errorMsg.fields.rerankModel": "A configured Rerank Model",
"errorMsg.fields.variable": "Variable Name",
@ -405,6 +408,12 @@
"nodes.code.outputVars": "Output Variables",
"nodes.code.searchDependencies": "Search Dependencies",
"nodes.code.syncFunctionSignature": "Sync function signature to code",
"nodes.command.command": "Command",
"nodes.command.commandPlaceholder": "Enter the command to execute, e.g., ls -la",
"nodes.command.seconds": "seconds",
"nodes.command.timeout": "Timeout",
"nodes.command.workingDirectory": "Working Directory",
"nodes.command.workingDirectoryPlaceholder": "Enter working directory path (optional)",
"nodes.common.errorHandle.defaultValue.desc": "When an error occurs, specify a static output content.",
"nodes.common.errorHandle.defaultValue.inLog": "Node exception, outputting according to default values.",
"nodes.common.errorHandle.defaultValue.output": "Output Default Value",