diff --git a/src/main/run/manager.ts b/src/main/run/manager.ts index 344d552..29ac82f 100644 --- a/src/main/run/manager.ts +++ b/src/main/run/manager.ts @@ -28,12 +28,22 @@ export function startRun(flow: FlowDefinition, sender: WebContents): { runId: st const controller = new AbortController(); active.set(runId, controller); currentRunId = runId; + showRunOverlay(getMainWindow()); const catalog = loadCatalog(); const components = new Map(catalog.components.map((item) => [item.id, item])); + const nodeLabels = new Map(); + for (const node of flow.nodes) { + nodeLabels.set(node.id, node.label || node.componentId); + } const emit = (event: Omit) => { - if (!sender.isDestroyed()) sender.send("run:event", { ...event, runId }); + const enriched = { ...event, runId } as RunEvent; + if (event.type === "node.started" && event.nodeId) { + enriched.nodeLabel = nodeLabels.get(event.nodeId); + } + if (!sender.isDestroyed()) sender.send("run:event", enriched); + overlayBroadcast(enriched); }; const log: (message: string, level?: "info" | "warn" | "error", nodeId?: string) => void = ( message, @@ -63,6 +73,7 @@ export function startRun(flow: FlowDefinition, sender: WebContents): { runId: st } finally { active.delete(runId); if (currentRunId === runId) currentRunId = null; + hideRunOverlay(getMainWindow()); } })(); diff --git a/src/shared/types.ts b/src/shared/types.ts index 99fc70f..f87cd5d 100644 --- a/src/shared/types.ts +++ b/src/shared/types.ts @@ -247,6 +247,8 @@ export interface RunEvent { evidence?: string[]; attempt?: number; startedAt?: string; + nodeLabel?: string; + total?: number; }