+
{message.role === 'user' ? 'You: ' : 'AI: '}
+ {message.parts.map((part, index) => {
+ switch (part.type) {
+ case 'text': {
+ return (
+
+ {part.text}
+
+ );
+ }
+ case 'reasoning': {
+ return (
+
+ {part.text}
+
+ );
+ }
+ case 'file':
+ case 'reasoning-file': {
+ if (part.mediaType.startsWith('image/')) {
+ return (
+ // eslint-disable-next-line @next/next/no-img-element
+

+ );
+ }
+ return null;
+ }
+ case 'tool-bash': {
+ return
;
+ }
+ case 'tool-read':
+ case 'tool-write': {
+ return
;
+ }
+ case 'tool-glob':
+ case 'tool-grep':
+ case 'tool-webSearch':
+ case 'tool-web_fetch':
+ case 'tool-todo':
+ case 'tool-agent':
+ case 'tool-load_skill':
+ case 'tool-connection_search': {
+ const input =
+ typeof part.input === 'object' && part.input !== null
+ ? (part.input as Record
)
+ : undefined;
+ const toolArg =
+ input?.pattern ??
+ input?.path ??
+ input?.url ??
+ input?.query ??
+ input?.name ??
+ input?.agent ??
+ input?.connection;
+
+ return (
+
+ );
+ }
+ case 'dynamic-tool': {
+ return ;
+ }
+ }
+ })}
+