Skip to content

Commit 8139a6c

Browse files
nhanced StreamingPlanResponse UI with dynamic content display and improved UI formatting
1 parent a624a20 commit 8139a6c

File tree

2 files changed

+432
-254
lines changed

2 files changed

+432
-254
lines changed
Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,39 @@
11
import { AgentMessageData } from "@/models";
2-
32
import ReactMarkdown from "react-markdown";
43
import remarkGfm from "remark-gfm";
54
import rehypePrism from "rehype-prism";
6-
// Render AI thinking/planning state
7-
const renderAgentMessages = (agentMessages: AgentMessageData[]) => {
8-
if (!agentMessages || agentMessages.length === 0) return null;
95

10-
return (
11-
<div >
12-
{agentMessages.map((msg, index) => {
13-
const trimmed = msg.raw_content?.trim();
14-
if (!trimmed) return null; // skip if empty, null, or whitespace
15-
return (
16-
<div key={index} style={{ marginBottom: '16px' }}>
17-
<strong>{msg.agent}</strong>:
18-
<ReactMarkdown
19-
remarkPlugins={[remarkGfm]}
20-
rehypePlugins={[rehypePrism]}
21-
>
22-
{trimmed}
23-
</ReactMarkdown>
24-
</div>
25-
);
26-
})}
6+
interface StreamingAgentMessageProps {
7+
agentMessages: AgentMessageData[];
8+
}
9+
10+
const StreamingAgentMessage = ({ agentMessages }: StreamingAgentMessageProps) => {
11+
if (!agentMessages?.length) return null;
12+
13+
// Filter out messages with empty content
14+
const validMessages = agentMessages.filter(msg => msg.raw_content?.trim());
15+
16+
if (!validMessages.length) return null;
17+
18+
return (
19+
<div className="streaming-agent-messages">
20+
{validMessages.map((message, index) => (
21+
<div key={`${message.agent}-${message.timestamp}-${index}`} className="agent-message">
22+
<div className="agent-name">
23+
<strong>{message.agent}</strong>:
24+
</div>
25+
<div className="agent-content">
26+
<ReactMarkdown
27+
remarkPlugins={[remarkGfm]}
28+
rehypePlugins={[rehypePrism]}
29+
>
30+
{message.raw_content.trim()}
31+
</ReactMarkdown>
32+
</div>
2733
</div>
28-
);
34+
))}
35+
</div>
36+
);
2937
};
30-
export default renderAgentMessages;
38+
39+
export default StreamingAgentMessage;

0 commit comments

Comments
 (0)