Files
writer-work-flow/apps/web/app/projects/[id]/chains/page.tsx
Yaojia Wang a2dcd89881 feat(web): Scope B B1 — 多章工作流链前端 UI(发起/轮询/裁决续跑)
链页 app/projects/[id]/chains(RSC fetchProject)+ ChainPage/ChainStarter/
ChainProgress/ChainAdjudication;lib/chain 纯函数(result 收窄/相位映射/resume 组装)。
复用 useJobPoll 轮询、ConflictCard + decisions.ts 裁决、normalizeConflicts/latestReview、
friendlyError;nav 加 chains 入口。awaiting(interrupt)→ 读该章冲突渲 ConflictCard →
POST .../chains/runs/{job_id}/resume 续跑。gen:api 纳入 chains run/resume。
守 #5(链暂停=等裁决,token/正文不入 job result)。
2026-06-23 19:21:00 +02:00

21 lines
624 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { notFound } from "next/navigation";
import { ChainPage } from "@/components/chain/ChainPage";
import { fetchProject } from "@/lib/api/server";
interface PageProps {
params: Promise<{ id: string }>;
}
// 多章工作流链页Scope B B1。Server Component 取项目ChainPageClient承载
// 发起 → job 轮询进度 → interrupt 裁决 → resume 续跑交互。
export default async function ChainsRoutePage({ params }: PageProps) {
const { id } = await params;
try {
const project = await fetchProject(id);
return <ChainPage project={project} />;
} catch {
notFound();
}
}