diff --git a/ui/desktop/src/components/ToolCallWithResponse.tsx b/ui/desktop/src/components/ToolCallWithResponse.tsx index f5daabfe5ec8..a75a7065201c 100644 --- a/ui/desktop/src/components/ToolCallWithResponse.tsx +++ b/ui/desktop/src/components/ToolCallWithResponse.tsx @@ -7,6 +7,7 @@ import { cn, snakeToTitleCase } from '../utils'; import Dot, { LoadingStatus } from './ui/Dot'; import { NotificationEvent } from '../hooks/useMessageStream'; import { ChevronRight, LoaderCircle } from 'lucide-react'; +import { TooltipWrapper } from './settings/providers/subcomponents/buttons/TooltipWrapper'; interface ToolCallWithResponseProps { isCancelledMessage: boolean; @@ -121,6 +122,17 @@ const logToString = (logMessage: NotificationEvent) => { const notificationToProgress = (notification: NotificationEvent): Progress => notification.message.params as unknown as Progress; +// Helper function to extract extension name for tooltip +const getExtensionTooltip = (toolCallName: string): string | null => { + const lastIndex = toolCallName.lastIndexOf('__'); + if (lastIndex === -1) return null; + + const extensionName = toolCallName.substring(0, lastIndex); + if (!extensionName) return null; + + return `${extensionName} extension`; +}; + function ToolCallView({ isCancelledMessage, toolCall, @@ -387,6 +399,25 @@ function ToolCallView({ return null; }; + // Get extension tooltip for the current tool + const extensionTooltip = getExtensionTooltip(toolCall.name); + + // Extract tool label content to avoid duplication + const getToolLabelContent = () => { + const description = getToolDescription(); + if (description) { + return description; + } + // Fallback tool name formatting + return snakeToTitleCase(toolCall.name.substring(toolCall.name.lastIndexOf('__') + 2)); + }; + + const toolLabel = ( + + {getToolLabelContent()} + + ); + return ( )} - - {(() => { - const description = getToolDescription(); - if (description) { - return description; - } - // Fallback tool name formatting - return snakeToTitleCase(toolCall.name.substring(toolCall.name.lastIndexOf('__') + 2)); - })()} - + {extensionTooltip ? ( + + {toolLabel} + + ) : ( + toolLabel + )} } >