MCPcopy
hub / github.com/HKUDS/DeepCode / _register_default_tools

Method _register_default_tools

nanobot/nanobot/agent/loop.py:85–126  ·  view source on GitHub ↗

Register the default set of tools.

(self)

Source from the content-addressed store, hash-verified

83 self._register_default_tools()
84
85 def _register_default_tools(self) -> None:
86 """Register the default set of tools."""
87 # File tools (restrict to workspace if configured)
88 allowed_dir = self.workspace if self.restrict_to_workspace else None
89 self.tools.register(ReadFileTool(allowed_dir=allowed_dir))
90 self.tools.register(WriteFileTool(allowed_dir=allowed_dir))
91 self.tools.register(EditFileTool(allowed_dir=allowed_dir))
92 self.tools.register(ListDirTool(allowed_dir=allowed_dir))
93
94 # Shell tool
95 self.tools.register(
96 ExecTool(
97 working_dir=str(self.workspace),
98 timeout=self.exec_config.timeout,
99 restrict_to_workspace=self.restrict_to_workspace,
100 )
101 )
102
103 # Web tools
104 self.tools.register(WebSearchTool(api_key=self.brave_api_key))
105 self.tools.register(WebFetchTool())
106
107 # Message tool
108 message_tool = MessageTool(send_callback=self.bus.publish_outbound)
109 self.tools.register(message_tool)
110
111 # Spawn tool (for subagents)
112 spawn_tool = SpawnTool(manager=self.subagents)
113 self.tools.register(spawn_tool)
114
115 # Cron tool (for scheduling)
116 if self.cron_service:
117 self.tools.register(CronTool(self.cron_service))
118
119 # DeepCode tools (conditionally loaded when DEEPCODE_API_URL is set)
120 deepcode_url = os.environ.get("DEEPCODE_API_URL")
121 if deepcode_url:
122 from nanobot.agent.tools.deepcode import create_all_tools
123
124 for tool in create_all_tools(api_url=deepcode_url):
125 self.tools.register(tool)
126 logger.info(f"DeepCode tools registered (API: {deepcode_url})")
127
128 async def run(self) -> None:
129 """Run the agent loop, processing messages from the bus."""

Callers 1

__init__Method · 0.95

Calls 13

ReadFileToolClass · 0.90
WriteFileToolClass · 0.90
EditFileToolClass · 0.90
ListDirToolClass · 0.90
ExecToolClass · 0.90
WebSearchToolClass · 0.90
WebFetchToolClass · 0.90
MessageToolClass · 0.90
SpawnToolClass · 0.90
CronToolClass · 0.90
create_all_toolsFunction · 0.90
getMethod · 0.80

Tested by

no test coverage detected