fix: keep scene 8 transcript visible

This commit is contained in:
lda
2026-07-12 05:28:44 +07:00 Verified
parent d1128c0b49
commit 7165c74d83
6 changed files with 92 additions and 3 deletions
@@ -10,6 +10,7 @@ type AuthoringConversationProps = {
readonly activePhase: AuthoringPhaseId;
readonly surface: "stage" | "dock";
readonly requestOverride?: string | undefined;
readonly scrollMode?: "active" | "start" | undefined;
readonly runAction?: { readonly label: string; readonly disabled: boolean; readonly run: () => void } | undefined;
};
@@ -19,6 +20,7 @@ export const AuthoringConversation = ({
activePhase,
surface,
requestOverride,
scrollMode,
runAction,
}: AuthoringConversationProps) => (
<AssistantOperatorThread
@@ -26,6 +28,7 @@ export const AuthoringConversation = ({
surface={surface}
messages={projectPreparedAuthoringThread(throughPhase, requestOverride)}
activeToolGroupId={authoringToolGroupId(activePhase)}
scrollMode={scrollMode}
ariaLabel="prepared authoring conversation"
runAction={runAction}
/>
@@ -45,6 +45,10 @@ describe("Scene8ChatEntry", () => {
await user.click(screen.getByRole("button", { name: "Send" }));
expect(screen.getByText(/let me inspect the available sources/i)).toBeInTheDocument();
expect(screen.getByRole("button", { name: /discover.*4 tool calls/i })).toBeInTheDocument();
expect(screen.getByRole("region", { name: "authoring chat entry" })).toHaveAttribute(
"data-entry-phase",
"submitted",
);
expect(screen.queryByRole("button", { name: /run prepared workflow/i })).not.toBeInTheDocument();
expect(screen.getByRole("button", { name: "Send" })).toBeDisabled();
});
@@ -24,7 +24,11 @@ export const Scene8ChatEntry = ({ state, dispatch }: Scene8ChatEntryProps) => {
};
return (
<section className="agent-handoff-scene__entry" aria-label="authoring chat entry">
<section
className="agent-handoff-scene__entry"
aria-label="authoring chat entry"
data-entry-phase={state.phase}
>
<div className="agent-handoff-scene__intro">
<span>Scene 8 · agent handoff</span>
<h1>What should the workflow author prepare?</h1>
@@ -62,6 +66,7 @@ export const Scene8ChatEntry = ({ state, dispatch }: Scene8ChatEntryProps) => {
throughPhase="discover"
activePhase="discover"
surface="stage"
scrollMode="start"
requestOverride={state.request}
/>
</div>