























@@ -231,6 +231,21 @@ vi.mock("openclaw/plugin-sdk/channel-reply-pipeline", () => ({
231231}));
232232233233vi.mock("openclaw/plugin-sdk/channel-streaming", () => ({
234+buildChannelProgressDraftLine: (params: {
235+progressText?: string;
236+summary?: string;
237+title?: string;
238+name?: string;
239+}) => {
240+const text = params.progressText ?? params.summary ?? params.title ?? params.name;
241+return text
242+ ? {
243+kind: "item",
244+ text,
245+label: params.title ?? params.name ?? "Update",
246+}
247+ : undefined;
248+},
234249createChannelProgressDraftGate: (params: { onStart: () => void | Promise<void> }) => {
235250let started = false;
236251let workEvents = 0;
@@ -257,12 +272,14 @@ vi.mock("openclaw/plugin-sdk/channel-streaming", () => ({
257272},
258273formatChannelProgressDraftText: (params: {
259274entry?: { streaming?: { progress?: { label?: string | false; maxLines?: number } } };
260-lines: string[];
275+lines: Array<string | { text: string }>;
276+formatLine?: (line: string) => string;
261277}) => {
262278const label = params.entry?.streaming?.progress?.label;
279+const formatLine = params.formatLine ?? ((line: string) => line);
263280return [
264281label === false ? undefined : (label ?? "Thinking"),
265- ...params.lines.map((line) => `• ${line}`),
282+ ...params.lines.map((line) => `• ${formatLine(typeof line === "string" ? line : line.text)}`),
266283]
267284.filter((line): line is string => Boolean(line))
268285.join("\n");
@@ -276,6 +293,9 @@ vi.mock("openclaw/plugin-sdk/channel-streaming", () => ({
276293resolveChannelProgressDraftMaxLines: (entry?: {
277294streaming?: { progress?: { maxLines?: number } };
278295}) => entry?.streaming?.progress?.maxLines ?? 8,
296+resolveChannelProgressDraftRender: (entry?: {
297+streaming?: { progress?: { render?: "text" | "rich" } };
298+}) => entry?.streaming?.progress?.render ?? "text",
279299resolveChannelStreamingBlockEnabled: () => mockedBlockStreamingEnabled,
280300resolveChannelStreamingNativeTransport: () => mockedNativeStreaming,
281301resolveChannelStreamingPreviewToolProgress: (entry?: {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。