mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-13 02:41:50 +08:00
feat: add CCW Loop System for automated iterative workflow execution
Implements a complete loop execution system with multi-loop parallel support, dashboard monitoring, and comprehensive security validation. Core features: - Loop orchestration engine (loop-manager, loop-state-manager) - Multi-loop parallel execution with independent state management - REST API endpoints for loop control (pause, resume, stop, retry) - WebSocket real-time status updates - Dashboard Loop Monitor view with live updates - Security: path traversal protection and sandboxed JavaScript evaluation Test coverage: - 42 comprehensive tests covering multi-loop, API, WebSocket, security - Security validation for success_condition injection attacks - Edge case handling and end-to-end workflow tests
This commit is contained in:
@@ -87,6 +87,10 @@ const i18n = {
|
||||
'nav.liteFix': 'Lite Fix',
|
||||
'nav.multiCliPlan': 'Multi-CLI Plan',
|
||||
|
||||
// Sidebar - Loops section
|
||||
'nav.loops': 'Loops',
|
||||
'nav.loopMonitor': 'Monitor',
|
||||
|
||||
// Sidebar - MCP section
|
||||
'nav.mcpServers': 'MCP Servers',
|
||||
'nav.manage': 'Manage',
|
||||
@@ -2144,6 +2148,51 @@ const i18n = {
|
||||
'title.issueManager': 'Issue Manager',
|
||||
'title.issueDiscovery': 'Issue Discovery',
|
||||
|
||||
// Loop Monitor
|
||||
'title.loopMonitor': 'Loop Monitor',
|
||||
'loop.title': 'Loop Monitor',
|
||||
'loop.status.created': 'Created',
|
||||
'loop.status.running': 'Running',
|
||||
'loop.status.paused': 'Paused',
|
||||
'loop.status.completed': 'Completed',
|
||||
'loop.status.failed': 'Failed',
|
||||
'loop.tabs.timeline': 'Timeline',
|
||||
'loop.tabs.logs': 'Logs',
|
||||
'loop.tabs.variables': 'Variables',
|
||||
'loop.buttons.pause': 'Pause',
|
||||
'loop.buttons.resume': 'Resume',
|
||||
'loop.buttons.stop': 'Stop',
|
||||
'loop.buttons.retry': 'Retry',
|
||||
'loop.buttons.newLoop': 'New Loop',
|
||||
'loop.empty': 'No active loops',
|
||||
'loop.metric.iteration': 'Iteration',
|
||||
'loop.metric.step': 'Step',
|
||||
'loop.metric.duration': 'Duration',
|
||||
'loop.task.id': 'Task',
|
||||
'loop.created': 'Created',
|
||||
'loop.updated': 'Updated',
|
||||
'loop.progress': 'Progress',
|
||||
'loop.cliSequence': 'CLI Sequence',
|
||||
'loop.stateVariables': 'State Variables',
|
||||
'loop.executionHistory': 'Execution History',
|
||||
'loop.failureReason': 'Failure Reason',
|
||||
'loop.noLoopsFound': 'No loops found',
|
||||
'loop.selectLoop': 'Select a loop to view details',
|
||||
'loop.tasks': 'Tasks',
|
||||
'loop.createTaskTitle': 'Create Loop Task',
|
||||
'loop.loopsCount': 'loops',
|
||||
'loop.paused': 'Loop paused',
|
||||
'loop.resumed': 'Loop resumed',
|
||||
'loop.stopped': 'Loop stopped',
|
||||
'loop.startedSuccess': 'Loop started',
|
||||
'loop.taskDescription': 'Description',
|
||||
'loop.maxIterations': 'Max Iterations',
|
||||
'loop.errorPolicy': 'Error Policy',
|
||||
'loop.pauseOnError': 'Pause on error',
|
||||
'loop.retryAutomatically': 'Retry automatically',
|
||||
'loop.failImmediate': 'Fail immediately',
|
||||
'loop.successCondition': 'Success Condition',
|
||||
|
||||
// Issue Discovery
|
||||
'discovery.title': 'Issue Discovery',
|
||||
'discovery.description': 'Discover potential issues from multiple perspectives',
|
||||
@@ -2438,6 +2487,10 @@ const i18n = {
|
||||
'nav.liteFix': '轻量修复',
|
||||
'nav.multiCliPlan': '多CLI规划',
|
||||
|
||||
// Sidebar - Loops section
|
||||
'nav.loops': '循环',
|
||||
'nav.loopMonitor': '监控器',
|
||||
|
||||
// Sidebar - MCP section
|
||||
'nav.mcpServers': 'MCP 服务器',
|
||||
'nav.manage': '管理',
|
||||
@@ -4507,6 +4560,51 @@ const i18n = {
|
||||
'title.issueManager': '议题管理器',
|
||||
'title.issueDiscovery': '议题发现',
|
||||
|
||||
// Loop Monitor
|
||||
'title.loopMonitor': '循环监控',
|
||||
'loop.title': '循环监控',
|
||||
'loop.status.created': '已创建',
|
||||
'loop.status.running': '运行中',
|
||||
'loop.status.paused': '已暂停',
|
||||
'loop.status.completed': '已完成',
|
||||
'loop.status.failed': '失败',
|
||||
'loop.tabs.timeline': '时间线',
|
||||
'loop.tabs.logs': '日志',
|
||||
'loop.tabs.variables': '变量',
|
||||
'loop.buttons.pause': '暂停',
|
||||
'loop.buttons.resume': '恢复',
|
||||
'loop.buttons.stop': '停止',
|
||||
'loop.buttons.retry': '重试',
|
||||
'loop.buttons.newLoop': '新建循环',
|
||||
'loop.empty': '没有活跃的循环',
|
||||
'loop.metric.iteration': '迭代',
|
||||
'loop.metric.step': '步骤',
|
||||
'loop.metric.duration': '耗时',
|
||||
'loop.task.id': '任务',
|
||||
'loop.created': '创建时间',
|
||||
'loop.updated': '更新时间',
|
||||
'loop.progress': '进度',
|
||||
'loop.cliSequence': 'CLI 序列',
|
||||
'loop.stateVariables': '状态变量',
|
||||
'loop.executionHistory': '执行历史',
|
||||
'loop.failureReason': '失败原因',
|
||||
'loop.noLoopsFound': '未找到循环',
|
||||
'loop.selectLoop': '选择一个循环查看详情',
|
||||
'loop.tasks': '任务',
|
||||
'loop.createTaskTitle': '创建循环任务',
|
||||
'loop.loopsCount': '个循环',
|
||||
'loop.paused': '循环已暂停',
|
||||
'loop.resumed': '循环已恢复',
|
||||
'loop.stopped': '循环已停止',
|
||||
'loop.startedSuccess': '循环已启动',
|
||||
'loop.taskDescription': '描述',
|
||||
'loop.maxIterations': '最大迭代数',
|
||||
'loop.errorPolicy': '错误策略',
|
||||
'loop.pauseOnError': '错误时暂停',
|
||||
'loop.retryAutomatically': '自动重试',
|
||||
'loop.failImmediate': '立即失败',
|
||||
'loop.successCondition': '成功条件',
|
||||
|
||||
// Issue Discovery
|
||||
'discovery.title': '议题发现',
|
||||
'discovery.description': '从多个视角发现潜在问题',
|
||||
|
||||
Reference in New Issue
Block a user