MCPcopy Index your code
hub / github.com/ModelEngine-Group/nexent / build_tools_component

Function build_tools_component

backend/utils/context_utils.py:863–913  ·  view source on GitHub ↗

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,
)

Source from the content-addressed store, hash-verified

861
862
863def 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
916def build_skills_component(

Calls 5

ToolsComponentClass · 0.90
itemsMethod · 0.80
appendMethod · 0.80
getMethod · 0.45