Build ToolsComponent from tool configurations. Args: tools: Dict of tool name -> ToolConfig or tool dict knowledge_base_summary: Summary text from knowledge bases language: Language code ('zh' or 'en') is_manager: Whether this is a manager agent priority:
(
tools: Dict[str, Any],
knowledge_base_summary: Optional[str] = None,
language: str = "zh",
is_manager: bool = True,
priority: int = 50,
)
| 861 | |
| 862 | |
| 863 | def build_tools_component( |
| 864 | tools: Dict[str, Any], |
| 865 | knowledge_base_summary: Optional[str] = None, |
| 866 | language: str = "zh", |
| 867 | is_manager: bool = True, |
| 868 | priority: int = 50, |
| 869 | ) -> "ToolsComponent": |
| 870 | """Build ToolsComponent from tool configurations. |
| 871 | |
| 872 | Args: |
| 873 | tools: Dict of tool name -> ToolConfig or tool dict |
| 874 | knowledge_base_summary: Summary text from knowledge bases |
| 875 | language: Language code ('zh' or 'en') |
| 876 | is_manager: Whether this is a manager agent |
| 877 | priority: Component priority for selection |
| 878 | |
| 879 | Returns: |
| 880 | ToolsComponent instance |
| 881 | """ |
| 882 | from nexent.core.agents.agent_model import ToolsComponent |
| 883 | |
| 884 | tool_list = [] |
| 885 | for name, tool in tools.items(): |
| 886 | if hasattr(tool, 'description'): |
| 887 | tool_dict = { |
| 888 | "name": name, |
| 889 | "description": tool.description, |
| 890 | "inputs": getattr(tool, 'inputs', ''), |
| 891 | "output_type": getattr(tool, 'output_type', ''), |
| 892 | "source": getattr(tool, 'source', 'local'), |
| 893 | } |
| 894 | else: |
| 895 | tool_dict = { |
| 896 | "name": name, |
| 897 | "description": tool.get('description', ''), |
| 898 | "inputs": tool.get('inputs', ''), |
| 899 | "output_type": tool.get('output_type', ''), |
| 900 | "source": tool.get('source', 'local'), |
| 901 | } |
| 902 | tool_list.append(tool_dict) |
| 903 | |
| 904 | formatted_desc = _format_tools_description( |
| 905 | tools, |
| 906 | language=language, |
| 907 | is_manager=is_manager, |
| 908 | ) |
| 909 | return ToolsComponent( |
| 910 | tools=tool_list, |
| 911 | formatted_description=formatted_desc, |
| 912 | priority=priority, |
| 913 | ) |
| 914 | |
| 915 | |
| 916 | def build_skills_component( |