diff --git a/clients/example-ui/src/components/chat-ui.tsx b/clients/example-ui/src/components/chat-ui.tsx
index 551a8e1c..b5fa9168 100644
--- a/clients/example-ui/src/components/chat-ui.tsx
+++ b/clients/example-ui/src/components/chat-ui.tsx
@@ -41,8 +41,7 @@ export function ChatUI() {
if (currentChat?.messages) {
console.log('📝 Processing messages for chat:', chatId);
const formattedMessages: MessageType[] = currentChat.messages.map(msg => ({
- type: msg.role === "assistant" ? "assistant" :
- msg.role === "user" ? "user" : "system",
+ type: msg.role,
message: msg.data.content || msg.data.message || "",
}));
setAllMessages(formattedMessages);
@@ -58,7 +57,7 @@ export function ChatUI() {
if (!input.trim() || !currentOrchestratorId) return;
const userMessage: MessageType = {
- type: "user",
+ type: "input",
message: input,
};
@@ -76,7 +75,7 @@ export function ChatUI() {
setAllMessages(prev => [
...prev,
{
- type: "error",
+ type: "ERROR",
error: "Failed to send message",
},
]);
diff --git a/clients/example-ui/src/components/message-list.tsx b/clients/example-ui/src/components/message-list.tsx
index 208ab24d..5c57fa25 100644
--- a/clients/example-ui/src/components/message-list.tsx
+++ b/clients/example-ui/src/components/message-list.tsx
@@ -1,12 +1,5 @@
interface MessageType {
- type:
- | "user"
- | "assistant"
- | "system"
- | "error"
- | "other"
- | "welcome"
- | "info";
+ type: "input" | "output" | "system" | "ERROR" | "OTHER" | "WELCOME" | "INFO";
message?: string;
error?: string;
}
@@ -16,101 +9,113 @@ interface MessagesListProps {
}
export function MessagesList({ messages }: MessagesListProps) {
- console.log("messages", messages);
return (
{messages.map((msg, i) => {
- const baseBubble = `
- relative
-
- p-4
- text-sm
- shadow-md
- transition-all
- duration-200
- w-[80%]
- whitespace-pre-wrap
- break-words
- border-opacity-50
- `;
-
- let containerClass = "flex items-start";
- let bubbleClass = baseBubble;
+ // Base classes that are common to all message types
+ const baseClasses = [
+ "relative",
+ "p-4",
+ "text-sm",
+ "shadow-md",
+ "transition-all",
+ "duration-200",
+ "w-4/5", // Using w-4/5 instead of w-[80%]
+ "whitespace-pre-wrap",
+ "break-words",
+ "border",
+ "border-opacity-50"
+ ];
+ // Container classes start with flex and items-start
+ let containerClasses = ["flex", "items-start"];
+
+ // Add specific classes based on message type
switch (msg.type) {
- case "user":
- containerClass += " justify-end";
- bubbleClass += `
- bg-card text-foreground mr-2
- self-end hover:brightness-110
- dither-border
- `;
+ case "input":
+ containerClasses.push("justify-end");
+ baseClasses.push(
+ "bg-card",
+ "text-foreground",
+ "mr-2",
+ "self-end",
+ "hover:brightness-110",
+ "border-primary",
+ );
break;
- case "assistant":
- containerClass += " justify-start";
- bubbleClass += `
- bg-card text-foreground ml-2
- dither-border
- hover:brightness-105
- `;
+ case "output":
+ containerClasses.push("justify-start");
+ baseClasses.push(
+ "bg-card",
+ "text-foreground",
+ "ml-2",
+ "hover:brightness-105",
+ "border-secondary"
+ );
break;
case "system":
- containerClass += " justify-center";
- bubbleClass += `
- bg-card text-muted-foreground
- dither-border
- hover:brightness-105
- `;
+ containerClasses.push("justify-center");
+ baseClasses.push(
+ "bg-card",
+ "text-muted-foreground",
+ "hover:brightness-105",
+ "border-muted"
+ );
break;
- case "error":
- containerClass += " justify-center";
- bubbleClass += `
- bg-card text-destructive font-semibold
- dither-border
- hover:brightness-105
- `;
+ case "ERROR":
+ containerClasses.push("justify-center");
+ baseClasses.push(
+ "bg-card",
+ "text-destructive",
+ "font-semibold",
+ "hover:brightness-105",
+ "border-destructive"
+ );
break;
- case "welcome":
- containerClass += " justify-center";
- bubbleClass += `
- bg-card text-accent-foreground
- dither-border
- hover:brightness-105
- `;
+ case "WELCOME":
+ containerClasses.push("justify-center");
+ baseClasses.push(
+ "bg-card",
+ "text-accent-foreground",
+ "hover:brightness-105",
+ "border-accent"
+ );
break;
- case "info":
- containerClass += " justify-center";
- bubbleClass += `
- bg-card text-secondary-foreground
- dither-border
- hover:brightness-105
- `;
+ case "INFO":
+ containerClasses.push("justify-center");
+ baseClasses.push(
+ "bg-card",
+ "text-secondary-foreground",
+ "hover:brightness-105",
+ "border-secondary"
+ );
break;
default:
- containerClass += " justify-start";
- bubbleClass += `
- bg-card text-card-foreground ml-2
- dither-border
- hover:brightness-105
- `;
+ containerClasses.push("justify-start");
+ baseClasses.push(
+ "bg-card",
+ "text-card-foreground",
+ "ml-2",
+ "hover:brightness-105",
+ "border-primary"
+ );
}
-
+ console.log("msg:L110",baseClasses);
+ console.log("msg:L110",msg.type);
return (
-
-
- {/* Affiche le type si ce n'est pas un user/assistant classique */}
- {msg.type !== "user" &&
- msg.type !== "assistant" && (
-
- {msg.type}
-
- )}
+
+
+ {msg.type !== "INPUT" && msg.type !== "OUTPUT" && (
+
+ {msg.type}
+
+ )}
{msg.message && (
{msg.message}
@@ -127,4 +132,4 @@ export function MessagesList({ messages }: MessagesListProps) {
})}
);
-}
+}
\ No newline at end of file