Files
tutti/packages/agent/gui/shared/workspaceAgentGoalControlProjection.ts
T
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

36 lines
992 B
TypeScript

import type { WorkspaceAgentSessionDetailGoalControl } from "./workspaceAgentSessionDetailViewModel";
import type { WorkspaceAgentActivityTimelineItem } from "./workspaceAgentTimelineTypes";
import { normalizedPayload } from "./workspaceAgentTimelineProjectionHelpers";
export function appendWorkspaceAgentGoalControl(
target: WorkspaceAgentSessionDetailGoalControl[],
item: WorkspaceAgentActivityTimelineItem,
id: string,
body: string
): boolean {
if (item.itemType !== "goal.control") {
return false;
}
const action = normalizedPayload(item.payload)?.action;
if (
action !== "pause" &&
action !== "resume" &&
action !== "clear" &&
action !== "set"
) {
return true;
}
const normalizedBody = body.trim();
if (!normalizedBody) {
return true;
}
target.push({
id,
action,
body: normalizedBody,
occurredAtUnixMs: item.occurredAtUnixMs ?? item.createdAtUnixMs ?? null,
sourceTimelineItems: [item]
});
return true;
}