import { renderAppShell } from "../layout/app-shell.tsx"; import { renderRunGraphView, type RunTaskView, } from "./components/run-graph-view.tsx"; import { renderTaskLogPanel } from "./components/task-log-panel.tsx"; export type RunDetailPageInput = { workspaceName: string; projectName: string; run: { id: string; workflowName: string; status: string; assetIds?: string[]; }; tasks: RunTaskView[]; selectedTaskId?: string; }; export function renderRunDetailPage(input: RunDetailPageInput): string { return renderAppShell({ workspaceName: input.workspaceName, projectName: input.projectName, activeItem: "Runs", content: `

${input.run.workflowName}

Run ${input.run.id}

Status: ${input.run.status}

Input assets: ${(input.run.assetIds ?? []).join(", ") || "none"}

${renderRunGraphView(input.tasks)} ${renderTaskLogPanel(input.tasks, input.selectedTaskId)}
`, }); }