+
+
+ {message.role === "user" ?
+ :
+
+ }
+
+
{message.role}
+ {message.role === "assistant" && message.model && (
+
+ {message.model}
+
+ )}
+
+ {message.reasoningContent && (
+
+ )}
+
+ {/* Show MCP events at the start of assistant messages */}
+ {message.role === "assistant" &&
+ index === chatHistory.length - 1 &&
+ mcpEvents.length > 0 &&
+ endpointType === EndpointType.RESPONSES && (
+
+
+
+ )}
+
+
+ {message.isImage ? (
+

+ ) : (
+ <>
+ {/* Show attached image for user messages based on current endpoint */}
+ {endpointType === EndpointType.RESPONSES && (
+
+ )}
+ {endpointType === EndpointType.CHAT && (
+
+ )}
+
+
& {
+ inline?: boolean;
+ node?: any;
+ }) {
+ const match = /language-(\w+)/.exec(className || '');
+ return !inline && match ? (
+
+ {String(children).replace(/\n$/, '')}
+
+ ) : (
+
+ {children}
+
+ );
+ },
+ pre: ({ node, ...props }) => (
+
+ )
+ }}
+ >
+ {typeof message.content === "string" ? message.content : ""}
+
+
+ {/* Show generated image from chat completions */}
+ {message.image && (
+
+

+
+ )}
+ >
+ )}
+
+ {message.role === "assistant" && (message.timeToFirstToken || message.usage) && (
+
+ )}
+
+