Render speak tool calls inline as spoken messages

Instead of showing speak tool calls as expandable tool call badges,
render them inline with a mic icon header matching assistant message
styling.
This commit is contained in:
Mohamed Boudra
2026-04-07 17:15:18 +07:00
parent ee611d65b6
commit d3e3a83a0d
2 changed files with 76 additions and 0 deletions
@@ -26,6 +26,7 @@ import { Check, ChevronDown, X } from "lucide-react-native";
import { usePanelStore } from "@/stores/panel-store";
import {
AssistantMessage,
SpeakMessage,
UserMessage,
ActivityLog,
ToolCall,
@@ -359,6 +360,21 @@ const AgentStreamViewComponent = forwardRef<AgentStreamViewHandle, AgentStreamVi
if (payload.source === "agent") {
const data = payload.data;
if (
data.name === "speak" &&
data.detail.type === "unknown" &&
typeof data.detail.input === "string" &&
data.detail.input.trim()
) {
return (
<SpeakMessage
message={data.detail.input}
timestamp={item.timestamp.getTime()}
/>
);
}
return (
<ToolCall
toolName={data.name}