From 82ad5a1daae111036f5a43ec98f5153a66352f04 Mon Sep 17 00:00:00 2001 From: cfdaily Date: Tue, 19 May 2026 13:59:12 +0800 Subject: [PATCH] auto-sync: 2026-05-19 13:59:12 --- .../src/components/CheckpointPanel.tsx | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/src/frontend/src/components/CheckpointPanel.tsx b/src/frontend/src/components/CheckpointPanel.tsx index b68ab7a..f70d3aa 100644 --- a/src/frontend/src/components/CheckpointPanel.tsx +++ b/src/frontend/src/components/CheckpointPanel.tsx @@ -192,16 +192,10 @@ function VerifyCheckpoint({ // ── Action Checkpoint ── function ActionCheckpoint({ - taskId, - info, - onDone, -}: { - taskId: string; - info: CheckpointInfo; - onDone: () => void; -}) { - const cp = info.checkpoint; - const steps = cp.actionSteps || []; + taskId, cp, onDone, +}: { taskId: string; cp: Checkpoint; onDone: () => void }) { + const payload: ActionPayload = JSON.parse(cp.payload || '{}'); + const steps = payload.steps || []; const [completedSteps, setCompletedSteps] = useState>(new Set()); const [note, setNote] = useState(''); const [loading, setLoading] = useState(false); @@ -221,12 +215,11 @@ function ActionCheckpoint({ if (!allDone) return; setLoading(true); try { - const r = await api.humanInputRespond(taskId, { - node_id: info.node_id, - action: 'complete', - completed_steps: Array.from(completedSteps), - verification_note: note, + const res = await fetch(`/api/projects/${api._getProjectId()}/tasks/${taskId}/checkpoints/${cp.id}/approve`, { + method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ resolved_by: 'user', note }), }); + const r = await res.json(); if (r.ok) { toast('✅ 已确认', 'ok'); onDone(); } else toast(r.error || '操作失败', 'err'); } catch { toast('服务器连接失败', 'err'); }