import type { FC } from "react"; import { Bot, CalendarClock, ChartNoAxesCombined, ShieldCheck, Workflow, type LucideProps } from "lucide-react"; import { StageCaption } from "../StageCaption.js"; import type { SceneBeatDefinition, SceneDefinition } from "../storyboard.js"; import { contributionNodes, evidenceNode, futureWorkBranches, isConclusionBeatId, nonClaims, type FutureWorkIcon, } from "./conclusion-model.js"; type ConclusionSceneProps = { readonly scene: SceneDefinition; readonly beat: SceneBeatDefinition; }; const futureWorkIcons: Record> = { agent: Bot, security: ShieldCheck, schedule: CalendarClock, evaluation: ChartNoAxesCombined, runtime: Workflow, }; export const ConclusionScene: FC = ({ scene, beat }) => { const beatId = isConclusionBeatId(beat.id) ? beat.id : "conclusion"; const futureState = beatId === "conclusion" ? "receded" : "visible"; return ( <>

{beat.caption}

01 {contributionNodes[0].label}
02 {contributionNodes[1].label}
04 {evidenceNode.label} saved traces and receipts
03 {contributionNodes[2].label}
    {nonClaims.map((claim) =>
  • {claim}
  • )}
    {futureWorkBranches.map((branch) => { const Icon = futureWorkIcons[branch.icon]; return (
  • ); })}

Planner proposes; runtime executes.

{scene.evidencePointer}

); };