MCPcopy Create free account
hub / github.com/AI45Lab/Code / register_builtins

Function register_builtins

core/src/tools/builtin/mod.rs:32–59  ·  view source on GitHub ↗

Register all baseline built-in tools with the registry, gated by workspace capabilities. Tools whose required capability is missing are not registered, so the model never sees a tool the backend cannot service. `web_fetch` and `web_search` have no workspace capability and are always registered. Note: `batch` is NOT registered here — it requires an `Arc ` and must be registered after

(
    registry: &ToolRegistry,
    capabilities: &crate::workspace::WorkspaceCapabilities,
)

Source from the content-addressed store, hash-verified

30/// Note: `batch` is NOT registered here — it requires an `Arc<ToolRegistry>`
31/// and must be registered after the registry is wrapped in an Arc.
32pub fn register_builtins(
33 registry: &ToolRegistry,
34 capabilities: &crate::workspace::WorkspaceCapabilities,
35) {
36 if capabilities.read {
37 registry.register_builtin(Arc::new(read::ReadTool));
38 registry.register_builtin(Arc::new(ls::LsTool));
39 }
40 if capabilities.write {
41 registry.register_builtin(Arc::new(write::WriteTool));
42 }
43 if capabilities.read && capabilities.write {
44 registry.register_builtin(Arc::new(edit::EditTool));
45 registry.register_builtin(Arc::new(patch::PatchTool));
46 }
47 if capabilities.exec {
48 registry.register_builtin(Arc::new(bash::BashTool));
49 }
50 if capabilities.search {
51 registry.register_builtin(Arc::new(grep::GrepTool));
52 registry.register_builtin(Arc::new(glob_tool::GlobTool));
53 }
54 if capabilities.git {
55 registry.register_builtin(Arc::new(git::GitTool));
56 }
57 registry.register_builtin(Arc::new(web_fetch::WebFetchTool));
58 registry.register_builtin(Arc::new(web_search::WebSearchTool::new()));
59}
60
61/// Register the batch tool. Must be called after the registry is wrapped in Arc.
62pub fn register_batch(registry: &Arc<ToolRegistry>) {

Callers 1

buildMethod · 0.85

Calls 1

register_builtinMethod · 0.45

Tested by

no test coverage detected