+ {message.parts.map((part, i) => {
+ if (part.type === 'text') {
+ return (
+
+ {part.text}
+
+ )
+ }
+ if (part.type === 'tool-scheduleMeeting') {
+ const toolPart = part as unknown as {
+ type: 'tool-scheduleMeeting'
+ state: string
+ input: unknown
+ output?: { success: boolean; message?: string; htmlLink?: string; error?: string }
+ }
+ if (toolPart.state === 'input-available' || toolPart.state === 'input-streaming') {
+ return (
+
+ Scheduling meeting…
+
+ )
+ }
+ if (toolPart.state === 'output-available' && toolPart.output) {
+ const result = toolPart.output
+ return (
+
+ {result.success ? (
+
+ ✓ {result.message}{' '}
+ {result.htmlLink && (
+
+ View event
+
+ )}
+
+ ) : (
+
✗ {result.error}
+ )}
+
+ )
+ }
+ }
+ return null
+ })}
+