Module tools

Module tools 

Source
Expand description

System Tools for Gestura

This module provides output-agnostic system tools that can be used by both the CLI and GUI interfaces. All tools return structured data rather than formatted strings, allowing each interface to present results appropriately.

§Tools

  • file: File system operations (read, write, edit, search, list, tree)
  • shell: Shell command execution
  • git: Git repository operations
  • code: Code analysis and navigation
  • web: Web fetching and search
  • permissions: Permission management for tool access
  • registry: Tool registry for listing available tools

Re-exports§

pub use registry::render_capabilities;

Modules§

code
Code analysis and navigation tool
code_async
Async code operations for pipeline integration
file
File operations tool
file_async
Async file operations for pipeline integration
git
Git repository operations tool
git_async
Async git operations for pipeline integration
mcp_manager
MCP Manager — Search, evaluate, install, and manage MCP servers
permissions
Permission management for tool access
policy
Tool policy helpers.
registry
Tool Registry
schemas
Provider-specific tool schemas (OpenAI / Anthropic / Gemini)
screen
Screen capture and recording tool
screen_async
Async screen capture operations for pipeline integration
shell
Shell command execution tool
shell_async
Async shell operations for pipeline integration
shell_sessions
PTY-backed reusable interactive shell sessions. PTY-backed shell sessions for reusable agent execution and interactive terminals.
shell_streaming
Streaming shell execution for real-time output to the frontend.
web
Web fetching and search tool

Structs§

CodeTools
Code analysis service
FileTools
File operations service
GitTools
Git operations service
PermissionManager
Permission management service
ScreenTools
ShellTools
Shell command service
ToolDefinition
A single tool definition.
WebTools
Web operations service (legacy interface) Prefer using WebSearchService for new code

Functions§

all_tools
Return the set of built-in tools.
find_tool
Find a tool definition by name (case-insensitive).
looks_like_capabilities_question
Heuristic: decide whether a user message is asking for full capabilities/config.
looks_like_tools_question
Heuristic: decide whether a user message is asking for a tool inventory.
render_tool_detail
Render a detailed tool description.
render_tools_overview
Render a compact table of built-in tools (static, no config needed).