mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-05-03 21:02:31 +08:00
autonomy M1 phase4: expose last pause reason/time in task queue API and task detail view
This commit is contained in:
@@ -1455,15 +1455,17 @@ func (s *RegistryServer) handleWebUITaskQueue(w http.ResponseWriter, r *http.Req
|
||||
continue
|
||||
}
|
||||
row := map[string]interface{}{
|
||||
"task_id": id,
|
||||
"time": t["updated_at"],
|
||||
"status": t["status"],
|
||||
"source": t["source"],
|
||||
"idle_run": true,
|
||||
"input_preview": t["content"],
|
||||
"block_reason": t["block_reason"],
|
||||
"logs": []string{fmt.Sprintf("autonomy state: %v", t["status"])},
|
||||
"retry_count": 0,
|
||||
"task_id": id,
|
||||
"time": t["updated_at"],
|
||||
"status": t["status"],
|
||||
"source": t["source"],
|
||||
"idle_run": true,
|
||||
"input_preview": t["content"],
|
||||
"block_reason": t["block_reason"],
|
||||
"last_pause_reason": t["last_pause_reason"],
|
||||
"last_pause_at": t["last_pause_at"],
|
||||
"logs": []string{fmt.Sprintf("autonomy state: %v", t["status"])},
|
||||
"retry_count": 0,
|
||||
}
|
||||
items = append(items, row)
|
||||
if fmt.Sprintf("%v", row["status"]) == "running" {
|
||||
|
||||
@@ -19,6 +19,8 @@ const resources = {
|
||||
taskQueue: 'Task Queue',
|
||||
taskLogs: 'Task Logs',
|
||||
mediaSources: 'Media Sources',
|
||||
lastPauseReason: 'Last Pause Reason',
|
||||
lastPauseAt: 'Last Pause Time',
|
||||
error: 'Error',
|
||||
noTaskAudit: 'No task audit records',
|
||||
selectTask: 'Select a task from the left list',
|
||||
@@ -172,6 +174,8 @@ const resources = {
|
||||
taskQueue: '任务队列',
|
||||
taskLogs: '任务日志',
|
||||
mediaSources: '媒体来源',
|
||||
lastPauseReason: '最近暂停原因',
|
||||
lastPauseAt: '最近暂停时间',
|
||||
error: '错误',
|
||||
noTaskAudit: '暂无任务审计记录',
|
||||
selectTask: '请从左侧选择任务',
|
||||
|
||||
@@ -13,6 +13,8 @@ type TaskAuditItem = {
|
||||
source?: string;
|
||||
idle_run?: boolean;
|
||||
block_reason?: string;
|
||||
last_pause_reason?: string;
|
||||
last_pause_at?: string;
|
||||
duration_ms?: number;
|
||||
retry_count?: number;
|
||||
error?: string;
|
||||
@@ -115,6 +117,17 @@ const TaskAudit: React.FC = () => {
|
||||
<div className="p-2 rounded bg-zinc-950/60 border border-zinc-800 whitespace-pre-wrap text-amber-200">{selected.block_reason || '-'}</div>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-3">
|
||||
<div>
|
||||
<div className="text-zinc-500 text-xs mb-1">{t('lastPauseReason')}</div>
|
||||
<div className="p-2 rounded bg-zinc-950/60 border border-zinc-800 whitespace-pre-wrap text-zinc-200">{selected.last_pause_reason || '-'}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div className="text-zinc-500 text-xs mb-1">{t('lastPauseAt')}</div>
|
||||
<div className="p-2 rounded bg-zinc-950/60 border border-zinc-800 whitespace-pre-wrap text-zinc-200">{selected.last_pause_at || '-'}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div className="text-zinc-500 text-xs mb-1">{t('taskLogs')}</div>
|
||||
<div className="p-2 rounded bg-zinc-950/60 border border-zinc-800 whitespace-pre-wrap text-zinc-200">{Array.isArray(selected.logs) && selected.logs.length ? selected.logs.join('\n') : '-'}</div>
|
||||
|
||||
Reference in New Issue
Block a user