feat(orchestrator): redesign orchestrator page as template editor with terminal execution

Phase 1: Orchestrator Simplification
- Remove ExecutionMonitor from OrchestratorPage
- Replace "Run Workflow" button with "Send to Terminal" button
- Update i18n texts for template editor context

Phase 2: Session Lock Mechanism
- Add 'locked' status to TerminalStatus type
- Extend TerminalMeta with isLocked, lockReason, lockedByExecutionId, lockedAt
- Implement lockSession/unlockSession in sessionManagerStore
- Create SessionLockConfirmDialog component for input interception

Phase 3: Execution Monitor Panel
- Create executionMonitorStore for execution state management
- Create ExecutionMonitorPanel component with step progress display
- Add execution panel to DashboardToolbar and TerminalDashboardPage
- Support WebSocket message handling for execution updates

Phase 4: Execution Bridge
- Add POST /api/orchestrator/flows/:id/execute-in-session endpoint
- Create useExecuteFlowInSession hook for frontend API calls
- Broadcast EXECUTION_STARTED and CLI_SESSION_LOCKED WebSocket messages
- Lock session when execution starts, unlock on completion
This commit is contained in:
catlog22
2026-02-20 21:49:05 +08:00
parent b38750f0cf
commit f8ff9eaa7f
13 changed files with 1156 additions and 234 deletions

View File

@@ -1,6 +1,6 @@
{
"title": "Orchestrator",
"description": "Manage and execute workflow flows",
"title": "Workflow Template Editor",
"description": "Create and edit workflow templates",
"flow": {
"title": "Flow",
"flows": "Flows",
@@ -98,6 +98,9 @@
"couldNotDuplicate": "Could not duplicate the flow",
"flowExported": "Flow exported as JSON file",
"noFlowToExport": "Create or load a flow first",
"saveBeforeExecute": "Please save the flow first",
"flowSent": "Flow Sent",
"sentToTerminal": "\"{name}\" sent to terminal for execution",
"executionFailed": "Execution Failed",
"couldNotExecute": "Could not start flow execution"
},
@@ -152,8 +155,7 @@
"export": "Export Flow",
"templates": "Templates",
"importTemplate": "Import Template",
"runWorkflow": "Run Workflow",
"monitor": "Monitor",
"sendToTerminal": "Send to Terminal",
"savedFlows": "Saved Flows ({count})",
"loading": "Loading...",
"noSavedFlows": "No saved flows",

View File

@@ -1,6 +1,6 @@
{
"title": "编排器",
"description": "管理和执行工作流",
"title": "工作流模板编辑器",
"description": "创建和编辑工作流模板",
"flow": {
"title": "流程",
"flows": "流程列表",
@@ -98,6 +98,9 @@
"couldNotDuplicate": "无法复制流程",
"flowExported": "流程已导出为 JSON 文件",
"noFlowToExport": "请先创建或加载流程",
"saveBeforeExecute": "请先保存流程",
"flowSent": "流程已发送",
"sentToTerminal": "\"{name}\" 已发送到终端执行",
"executionFailed": "执行失败",
"couldNotExecute": "无法启动流程执行"
},
@@ -152,8 +155,7 @@
"export": "导出流程",
"templates": "模板",
"importTemplate": "导入模板",
"runWorkflow": "运行流程",
"monitor": "监控",
"sendToTerminal": "发送到终端执行",
"savedFlows": "已保存的流程 ({count})",
"loading": "加载中...",
"noSavedFlows": "无已保存的流程",