fix: extract message content from parts array

This commit is contained in:
Nathan Flurry 2026-01-25 04:19:15 -08:00
parent a4b58dc62e
commit 1fe795fe93

View file

@ -58,11 +58,19 @@ type UniversalEventData =
| { questionAsked: QuestionRequest } | { questionAsked: QuestionRequest }
| { permissionAsked: PermissionRequest }; | { permissionAsked: PermissionRequest };
type UniversalMessagePart = {
type: string;
text?: string;
name?: string;
input?: unknown;
output?: unknown;
};
type UniversalMessage = { type UniversalMessage = {
role?: string; role?: string;
content?: string; parts?: UniversalMessagePart[];
type?: string;
raw?: unknown; raw?: unknown;
error?: string;
}; };
type StartedInfo = { type StartedInfo = {
@ -627,12 +635,20 @@ export default function App() {
const transcriptMessages = useMemo(() => { const transcriptMessages = useMemo(() => {
return events return events
.filter((event): event is UniversalEvent & { data: { message: UniversalMessage } } => "message" in event.data) .filter((event): event is UniversalEvent & { data: { message: UniversalMessage } } => "message" in event.data)
.map((event) => ({ .map((event) => {
id: event.id, const msg = event.data.message;
role: event.data.message?.role ?? "assistant", // Extract text from parts array
content: event.data.message?.content ?? "", const content = msg?.parts
timestamp: event.timestamp ?.filter((part) => part.type === "text" && part.text)
})) .map((part) => part.text)
.join("\n") ?? "";
return {
id: event.id,
role: msg?.role ?? "assistant",
content,
timestamp: event.timestamp
};
})
.filter((msg) => msg.content); .filter((msg) => msg.content);
}, [events]); }, [events]);