diff --git a/packages/components/nodes/agentflow/Agent/Agent.ts b/packages/components/nodes/agentflow/Agent/Agent.ts index 5736c4149..ae494210c 100644 --- a/packages/components/nodes/agentflow/Agent/Agent.ts +++ b/packages/components/nodes/agentflow/Agent/Agent.ts @@ -81,7 +81,7 @@ class Agent_Agentflow implements INode { constructor() { this.label = 'Agent' this.name = 'agentAgentflow' - this.version = 2.0 + this.version = 2.1 this.type = 'Agent' this.category = 'Agent Flows' this.description = 'Dynamically choose and utilize tools during runtime, enabling multi-step reasoning' diff --git a/packages/ui/src/views/agentflowsv2/AgentFlowNode.jsx b/packages/ui/src/views/agentflowsv2/AgentFlowNode.jsx index 3a6c689d5..7941d69b9 100644 --- a/packages/ui/src/views/agentflowsv2/AgentFlowNode.jsx +++ b/packages/ui/src/views/agentflowsv2/AgentFlowNode.jsx @@ -24,7 +24,8 @@ import { IconAlertCircleFilled, IconCode, IconWorldWww, - IconPhoto + IconPhoto, + IconBrandGoogle } from '@tabler/icons-react' import StopCircleIcon from '@mui/icons-material/StopCircle' import CancelIcon from '@mui/icons-material/Cancel' @@ -142,6 +143,17 @@ const AgentFlowNode = ({ data }) => { } } + const getBuiltInGeminiToolIcon = (toolName) => { + switch (toolName) { + case 'urlContext': + return + case 'googleSearch': + return + default: + return null + } + } + useEffect(() => { if (ref.current) { setTimeout(() => { @@ -433,6 +445,16 @@ const AgentFlowNode = ({ data }) => { : [], toolProperty: 'builtInTool', isBuiltInOpenAI: true + }, + { + tools: data.inputs?.agentToolsBuiltInGemini + ? (typeof data.inputs.agentToolsBuiltInGemini === 'string' + ? JSON.parse(data.inputs.agentToolsBuiltInGemini) + : data.inputs.agentToolsBuiltInGemini + ).map((tool) => ({ builtInTool: tool })) + : [], + toolProperty: 'builtInTool', + isBuiltInGemini: true } ] @@ -493,6 +515,32 @@ const AgentFlowNode = ({ data }) => { ] } + // Handle built-in Gemini tools with icons + if (config.isBuiltInGemini) { + const icon = getBuiltInGeminiToolIcon(toolName) + if (!icon) return [] + + return [ + + {icon} + + ] + } + return [