"use client"; import { CircleAlert, Check, ChevronDown, Loader2, RotateCcw, Square } from "lucide-react"; import type { AgentRunView } from "@/lib/ai/canvas-agent-runtime/protocol"; import { canvasAgentProgressLabel, type CanvasAgentProgress } from "@/lib/ai/canvas-agent-runtime/progress"; export function CanvasAgentProgressMessage(props: { progress: CanvasAgentProgress; run?: AgentRunView | null; busy?: boolean; stopping?: boolean; sending?: boolean; onCancel?: () => void; onResume?: () => void; }) { const { progress, run } = props; const running = progress.status === "running"; const label = progress.status === "completed" ? "处理完成" : props.stopping && running ? "正在停止后续步骤,已完成的结果会保留" : canvasAgentProgressLabel(progress.message || "正在处理你的任务"); return (
{running ? : progress.status === "completed" ? : } {label} {progress.activities?.length ? (
    {progress.activities.map(activity => (
  1. {activity.status === "started" ? : } {canvasAgentProgressLabel(activity.title)} {activity.status === "succeeded" ? "已完成" : activity.status === "failed" ? "待处理" : activity.status === "queued" ? "待执行" : "进行中"}
  2. ))}
) : null} {run?.inputs.slice(-2).map(input => (

{input.applied ? "已应用补充要求" : "已收到补充要求"}:{input.text}

))}
{running && props.onCancel ? ( ) : run?.resumable && props.onResume ? ( ) : null}
); }