96 lines
2.0 KiB
Python
96 lines
2.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
Tools package for data-agent.
|
|
|
|
This module provides a unified entry point for all agent tools,
|
|
organized by agent type for easy access and management.
|
|
"""
|
|
from typing import List
|
|
from agentscope.agent import AgentBase
|
|
from agentscope.tool import (
|
|
view_text_file,
|
|
write_text_file,
|
|
)
|
|
from agentscope.tool import Toolkit
|
|
|
|
from .dj_helpers import execute_safe_command
|
|
from .router_helpers import agent_to_tool
|
|
from .dj_helpers import query_dj_operators
|
|
from .dj_dev_helpers import (
|
|
get_basic_files,
|
|
get_operator_example,
|
|
configure_data_juicer_path,
|
|
)
|
|
from .mcp_helpers import get_mcp_toolkit
|
|
|
|
|
|
def create_toolkit(tools: List[AgentBase]):
|
|
# Create toolkit and register tools
|
|
toolkit = Toolkit()
|
|
for tool in tools:
|
|
toolkit.register_tool_function(tool)
|
|
|
|
return toolkit
|
|
|
|
|
|
# DJ Agent tools
|
|
dj_tools = [
|
|
execute_safe_command,
|
|
view_text_file,
|
|
write_text_file,
|
|
query_dj_operators,
|
|
]
|
|
|
|
# DJ Development Agent tools - for developing DataJuicer operators
|
|
dj_dev_tools = [
|
|
view_text_file,
|
|
write_text_file,
|
|
get_basic_files,
|
|
get_operator_example,
|
|
configure_data_juicer_path,
|
|
]
|
|
|
|
# MCP Agent tools - for advanced data processing with Recipe Flow MCP
|
|
mcp_tools = [
|
|
view_text_file,
|
|
write_text_file,
|
|
]
|
|
|
|
|
|
def agents2toolkit(agents: List[AgentBase]):
|
|
tools = [agent_to_tool(agent) for agent in agents]
|
|
return create_toolkit(tools)
|
|
|
|
|
|
dj_toolkit = create_toolkit(dj_tools)
|
|
dj_dev_toolkit = create_toolkit(dj_dev_tools)
|
|
|
|
|
|
# All available tools
|
|
all_toolkit = {
|
|
"dj": dj_toolkit,
|
|
"dj_dev": dj_dev_toolkit,
|
|
"dj_mcp": get_mcp_toolkit,
|
|
"router": agents2toolkit,
|
|
}
|
|
|
|
# Public API
|
|
__all__ = [
|
|
"dj_tools",
|
|
"dj_dev_tools",
|
|
"mcp_tools",
|
|
"agents2toolkit",
|
|
"dj_toolkit",
|
|
"dj_dev_toolkit",
|
|
"get_mcp_toolkit",
|
|
# Individual tools for direct import
|
|
"execute_safe_command",
|
|
"view_text_file",
|
|
"write_text_file",
|
|
"agent_to_tool",
|
|
"query_dj_operators",
|
|
"get_basic_files",
|
|
"get_operator_example",
|
|
"configure_data_juicer_path",
|
|
]
|