module

Autobot::Tools

Constants

DEFAULT_TIMEOUT = 10.seconds
MAX_REDIRECTS = 5
USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_2) AppleWebKit/537.36"

Class methods

create_registry(workspace : Path | Nil = nil, exec_timeout : Int32 = ExecTool::DEFAULT_TIMEOUT, exec_deny_patterns : Array(Regex) = ExecTool::DEFAULT_DENY_PATTERNS, exec_allow_patterns : Array(Regex) = [] of Regex, sandbox_config : String = "auto", brave_api_key : String | Nil = nil, web_fetch_max_chars : Int32 = WebFetchTool::DEFAULT_MAX_CHARS, skills_dirs : Array(String) = [] of String, rate_limiter : RateLimiter | Nil = nil, enabled_tools : Array(String) = [] of String, filesystem_roots : Array(String) = [] of String, web_allowed_domains : Array(String) = [] of String) : Registry

Create a registry populated with all built-in tools.

Options:

  • workspace restricts filesystem tools to a directory
  • exec_timeout sets shell command timeout (seconds)
  • sandbox_config sets sandbox mode (auto/bubblewrap/docker/none)
  • brave_api_key enables web search
  • skills_dirs adds extra directories for bash tool discovery
Source
create_subagent_registry(workspace : Path, exec_timeout : Int32 = ExecTool::DEFAULT_TIMEOUT, exec_deny_patterns : Array(Regex) = ExecTool::DEFAULT_DENY_PATTERNS, exec_allow_patterns : Array(Regex) = [] of Regex, sandbox_config : String = "auto", brave_api_key : String | Nil = nil, rate_limiter : RateLimiter | Nil = nil, enabled_tools : Array(String) = [] of String, filesystem_roots : Array(String) = [] of String, web_allowed_domains : Array(String) = [] of String) : Registry

Create a registry for subagent use (no message or spawn tools). Shares the same sandbox config as the parent agent.

Source
resolve_path(path : String) : Path
Source
resolve_roots(roots : Array(String), workspace : Path | Nil) : Array(Path)
Source

Nested types