diff --git a/apps/rowboat/app/projects/[projectId]/playground/components/messages.tsx b/apps/rowboat/app/projects/[projectId]/playground/components/messages.tsx index 693cc11b..36a9ae80 100644 --- a/apps/rowboat/app/projects/[projectId]/playground/components/messages.tsx +++ b/apps/rowboat/app/projects/[projectId]/playground/components/messages.tsx @@ -369,55 +369,45 @@ export function Messages({ if (!userMessageSeen) { latency = 0; } - // Helper: is this message a transfer pill or internal message? - const isTransferPill = 'tool_calls' in message && message.tool_calls.some(tc => tc.function.name.startsWith('transfer_to_')); - const isInternal = message.agenticResponseType === 'internal'; - - // Skip internal messages and transfer pills if debug mode is off - if (!showDebugMessages && (isTransferPill || isInternal)) { - return null; + + // First check for tool calls + if ('tool_calls' in message && message.tool_calls) { + // Skip tool calls if debug mode is off + if (!showDebugMessages) { + return null; + } + return ( + + ); } - if (isTransferPill || isInternal) { - // Find previous message that is either a transfer pill or internal message - let delta = latency; - for (let i = index - 1; i >= 0; i--) { - const prev = messages[i]; - const prevIsTransferPill = prev.role === 'assistant' && 'tool_calls' in prev && prev.tool_calls.some(tc => tc.function.name.startsWith('transfer_to_')); - const prevIsInternal = prev.role === 'assistant' && prev.agenticResponseType === 'internal'; - if (prevIsTransferPill || prevIsInternal) { - delta = new Date(message.createdAt).getTime() - new Date(prev.createdAt).getTime(); - break; - } - if (prev.role === 'user') { - break; - } - } - if (isTransferPill) { - return ( - - ); - } else { - return ( - - ); + // Then check for internal messages + if (message.agenticResponseType === 'internal') { + // Skip internal messages if debug mode is off + if (!showDebugMessages) { + return null; } + return ( + + ); } + + // Finally, regular assistant messages return (