fix: keep generation progress out of chat history

This commit is contained in:
2026-04-26 22:44:44 +08:00
parent ea550de6a1
commit b7a507044f
8 changed files with 74 additions and 67 deletions

View File

@@ -103,3 +103,31 @@ test('big fish workspace hides keyword fill before two turns', () => {
expect(screen.queryByRole('button', { name: '补充剩余设定' })).toBeNull();
});
test('big fish workspace does not render progress action messages as chat bubbles', () => {
render(
<BigFishAgentWorkspace
session={{
...baseSession,
messages: [
...baseSession.messages,
{
id: 'message-action-result-1',
role: 'assistant',
kind: 'action_result',
text: '本级主图已正式生成,可在结果页继续预览。',
createdAt: '2026-04-24T10:01:00.000Z',
},
],
}}
onBack={() => {}}
onSubmitMessage={() => {}}
onExecuteAction={() => {}}
/>,
);
expect(screen.getByText('爽点和生态已经清楚,继续补剩余关键词。')).toBeTruthy();
expect(
screen.queryByText('本级主图已正式生成,可在结果页继续预览。'),
).toBeNull();
});

View File

@@ -52,6 +52,14 @@ function mapBigFishAnchor(
function mapBigFishSession(
session: BigFishSessionSnapshotResponse,
): CreationAgentSessionView {
// 中文注释:生成进度与资产完成记录不属于聊天历史,旧会话里的 action_result 也不再渲染为气泡。
const chatMessages = session.messages.filter(
(message) =>
message.kind === 'chat' ||
message.kind === 'summary' ||
message.kind === 'warning',
);
return {
sessionId: session.sessionId,
// 所有玩法的 Agent 聊天页顶部模块只保留操作与进度,不展示标题和引导副文案。
@@ -65,7 +73,7 @@ function mapBigFishSession(
session.anchorPack.growthLadder,
session.anchorPack.riskTempo,
].map(mapBigFishAnchor),
messages: session.messages,
messages: chatMessages,
recommendedReplies: [],
};
}

View File

@@ -102,3 +102,29 @@ test('puzzle workspace hides keyword fill before two turns', () => {
expect(screen.queryByRole('button', { name: '补充剩余设定' })).toBeNull();
});
test('puzzle workspace does not render progress action messages as chat bubbles', () => {
render(
<PuzzleAgentWorkspace
session={{
...baseSession,
messages: [
...baseSession.messages,
{
id: 'message-action-result-1',
role: 'assistant',
kind: 'action_result',
text: '拼图结果页草稿已生成。',
createdAt: '2026-04-24T10:01:00.000Z',
},
],
}}
onBack={() => {}}
onSubmitMessage={() => {}}
onExecuteAction={() => {}}
/>,
);
expect(screen.getByText('画面主体已经清楚,继续收束剩余关键词。')).toBeTruthy();
expect(screen.queryByText('拼图结果页草稿已生成。')).toBeNull();
});

View File

@@ -44,6 +44,14 @@ const PUZZLE_AGENT_THEME: CreationAgentTheme = {
function mapPuzzleSession(
session: PuzzleAgentSessionSnapshot,
): CreationAgentSessionView {
// 中文注释:生成进度与草稿写回记录不属于聊天历史,旧会话里的 action_result 也不再渲染为气泡。
const chatMessages = session.messages.filter(
(message) =>
message.kind === 'chat' ||
message.kind === 'summary' ||
message.kind === 'warning',
);
return {
sessionId: session.sessionId,
// 所有玩法的 Agent 聊天页顶部模块只保留操作与进度,不展示标题和引导副文案。
@@ -58,7 +66,7 @@ function mapPuzzleSession(
session.anchorPack.compositionHooks,
session.anchorPack.tagsAndForbidden,
],
messages: session.messages,
messages: chatMessages,
recommendedReplies: [],
};
}