mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-22 16:25:51 +00:00
feat(workflow): add workflow engine, /workflows panel, /ultracode skill
将 feat/sdk-backend 分支中 workflow 相关的 20 个 commit 压缩为单 commit: - 工作流引擎核心:phase / agent / parallel / pipeline 编排原语(packages/workflow-engine/) - /workflows 面板:三区焦点布局(顶部 run tabs + 左侧 phase 侧栏 + 右侧 agent 列表) - /ultracode skill:多 agent workflow 编排入口 - 进度存储 / journal / notification 系统 - WorkflowService 生命周期管理 + SentryErrorBoundary - 脚本沙箱:禁用 dynamic import()、JSON args 防御性归一化 - journal 与 named-workflow 路径统一在 projectRoot - 错误处理:parallel/pipeline hooks 错误日志、failure routing、semaphore abort - workflow 工具升级为 core 工具 + PascalCase 命名 Co-Authored-By: glm-5.1 <zai-org@claude-code-best.win>
This commit is contained in:
53
src/workflow/panel/status.ts
Normal file
53
src/workflow/panel/status.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import type { AgentProgress, RunProgress } from '../progress/store.js'
|
||||
|
||||
/** run 状态 → 圆点字符(顶部 tab 用)。 */
|
||||
export const STATUS_DOT: Record<RunProgress['status'], string> = {
|
||||
running: '●',
|
||||
completed: '✓',
|
||||
failed: '✗',
|
||||
killed: '■',
|
||||
}
|
||||
|
||||
/** run 状态 → ink theme 颜色 token(沿用现有 WorkflowList 配色)。 */
|
||||
export const RUN_STATUS_COLOR: Record<RunProgress['status'], string> = {
|
||||
running: 'warning',
|
||||
completed: 'success',
|
||||
failed: 'error',
|
||||
killed: 'subtle',
|
||||
}
|
||||
|
||||
/** phase 在侧栏的合并状态(含 pending:meta 声明但未启动)。 */
|
||||
export type PhaseStatus = 'running' | 'done' | 'pending'
|
||||
|
||||
export const PHASE_MARK: Record<PhaseStatus, string> = {
|
||||
running: '●',
|
||||
done: '✓',
|
||||
pending: '○',
|
||||
}
|
||||
|
||||
export const PHASE_COLOR: Record<PhaseStatus, string> = {
|
||||
running: 'warning',
|
||||
done: 'success',
|
||||
pending: 'subtle',
|
||||
}
|
||||
|
||||
/** agent 行的视觉三件套:标记字符 + 颜色 + 行尾文字后缀。 */
|
||||
export type AgentVisual = { mark: string; color: string; suffix: string }
|
||||
|
||||
/**
|
||||
* agent 状态 → 视觉。
|
||||
* - running → ● warning
|
||||
* - done·dead → ✗ error
|
||||
* - done·ok:outputShape='object' → object;否则 text
|
||||
*/
|
||||
export function agentVisual(a: AgentProgress): AgentVisual {
|
||||
if (a.status === 'running')
|
||||
return { mark: '●', color: 'warning', suffix: 'running' }
|
||||
if (a.resultKind === 'dead')
|
||||
return { mark: '✗', color: 'error', suffix: 'dead' }
|
||||
return {
|
||||
mark: '✓',
|
||||
color: 'success',
|
||||
suffix: a.outputShape === 'object' ? 'object' : 'text',
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user