feat: add orchestrator execution engine, observability panel, and LSP document caching

Wire FlowExecutor into orchestrator routes for actual flow execution with
pause/resume/stop lifecycle management. Add CLI session audit system with
audit-routes backend and Observability tab in IssueHub frontend. Introduce
cli-session-mux for cross-workspace session routing and QueueSendToOrchestrator
UI component. Normalize frontend API response handling for { data: ... }
wrapper format and propagate projectPath through flow hooks.

In codex-lens, add per-server opened-document cache in StandaloneLspManager
to avoid redundant didOpen notifications (using didChange for updates), and
skip warmup delay for already-warmed LSP server instances in ChainSearchEngine.
This commit is contained in:
catlog22
2026-02-11 15:38:33 +08:00
parent d0cdee2e68
commit 5a9e54fd70
35 changed files with 5325 additions and 77 deletions

View File

@@ -159,6 +159,18 @@
"exec": {
"title": "Execute in Session"
},
"orchestrator": {
"title": "Send to Orchestrator",
"targetSession": "Target session",
"tool": "Tool",
"mode": "Mode",
"resumeStrategy": "resumeStrategy",
"send": "Send",
"sending": "Sending...",
"sentTitle": "Sent to Orchestrator",
"sentDesc": "Flow created: {flowId}",
"sendFailed": "Failed to send"
},
"status": {
"pending": "Pending",
"ready": "Ready",
@@ -359,9 +371,38 @@
"issues": "Issues",
"board": "Board",
"queue": "Queue",
"discovery": "Discovery"
"discovery": "Discovery",
"observability": "Observability"
}
},
"observability": {
"pageTitle": "Observability",
"description": "Audit and inspect automated deliveries and CLI session activity",
"audit": {
"title": "CLI Session Audit"
},
"filters": {
"search": "Search",
"searchPlaceholder": "Search type/sessionKey/resumeKey/details...",
"sessionKey": "Session Key",
"sessionKeyPlaceholder": "e.g. cli-xxxx",
"type": "Type",
"typeAll": "All types",
"limit": "Limit"
},
"table": {
"timestamp": "Timestamp",
"type": "Type",
"sessionKey": "Session",
"tool": "Tool",
"resumeKey": "Resume Key",
"workingDir": "Working Dir",
"ip": "IP",
"userAgent": "User Agent"
},
"empty": "No audit events",
"error": "Failed to load audit events"
},
"board": {
"pageTitle": "Issue Board",
"description": "Visualize and manage issues in a kanban board",

View File

@@ -159,6 +159,18 @@
"exec": {
"title": "在会话中执行"
},
"orchestrator": {
"title": "发送到编排器",
"targetSession": "目标会话",
"tool": "工具",
"mode": "模式",
"resumeStrategy": "resumeStrategy",
"send": "发送",
"sending": "发送中...",
"sentTitle": "已发送到编排器",
"sentDesc": "已创建 flow: {flowId}",
"sendFailed": "发送失败"
},
"status": {
"pending": "待处理",
"ready": "就绪",
@@ -359,9 +371,38 @@
"issues": "问题列表",
"board": "看板",
"queue": "执行队列",
"discovery": "问题发现"
"discovery": "问题发现",
"observability": "可观测"
}
},
"observability": {
"pageTitle": "可观测面板",
"description": "审计并查看自动投递与 CLI 会话活动",
"audit": {
"title": "CLI 会话审计"
},
"filters": {
"search": "搜索",
"searchPlaceholder": "搜索 type/sessionKey/resumeKey/details...",
"sessionKey": "会话 Key",
"sessionKeyPlaceholder": "例如 cli-xxxx",
"type": "类型",
"typeAll": "全部类型",
"limit": "条数"
},
"table": {
"timestamp": "时间戳",
"type": "类型",
"sessionKey": "会话",
"tool": "工具",
"resumeKey": "resumeKey",
"workingDir": "工作目录",
"ip": "IP",
"userAgent": "User-Agent"
},
"empty": "暂无审计事件",
"error": "加载审计事件失败"
},
"board": {
"pageTitle": "问题看板",
"description": "以看板方式可视化管理问题",