tools

package
v0.0.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2026 License: MIT Imports: 26 Imported by: 0

Documentation

Overview

Package tools provides the base set of assistant tools for file operations and command execution.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func All

func All(cfg config.Config, paths config.Paths, rt *config.Runtime, todoList *todo.List, events chan<- ui.Event, pluginCache *plugins.Cache, lspManager *lsp.Manager, estimate func(string) int) (tool.Tools, error)

All returns all built-in tools with runtime-dependent configuration applied. Meta-tools (Ask, Done, LoadTools) are injected later by rebuildState(). Batch and Task are conditionally registered at assistant construction. None of those meta-tools are returned here — only the base set. pluginCache is optional (nil when plugins are disabled). lspManager is optional (nil when LSP is disabled or not needed).

Types

type SetupError

type SetupError struct{ Err error }

SetupError signals that a sandboxed subprocess failed during setup (config, plugins, estimator), not during tool execution. The LLM should not see these — they are routed to the user instead.

func (*SetupError) Error

func (e *SetupError) Error() string

func (*SetupError) Unwrap

func (e *SetupError) Unwrap() error

type ToolResult

type ToolResult struct {
	ExitCode int    `json:"exit_code"`
	Stdout   string `json:"stdout"`
	Stderr   string `json:"stderr,omitempty"`
	Error    string `json:"error,omitempty"`
	Setup    bool   `json:"setup,omitempty"`
}

ToolResult represents structured output for tool execution.

Directories

Path Synopsis
Package ask provides a tool for the LLM to ask the user questions mid-execution.
Package ask provides a tool for the LLM to ask the user questions mid-execution.
Package bash provides shell command execution using mvdan/sh interpreter.
Package bash provides shell command execution using mvdan/sh interpreter.
Package batch provides a meta-tool that executes multiple independent tool calls concurrently.
Package batch provides a meta-tool that executes multiple independent tool calls concurrently.
Package done provides a tool for the LLM to explicitly signal task completion.
Package done provides a tool for the LLM to explicitly signal task completion.
Package filetime tracks file read operations to enforce "read before edit" semantics.
Package filetime tracks file read operations to enforce "read before edit" semantics.
Package glob provides file pattern matching using doublestar glob.
Package glob provides file pattern matching using doublestar glob.
Package loadtools provides a meta-tool for on-demand loading of deferred tool schemas.
Package loadtools provides a meta-tool for on-demand loading of deferred tool schemas.
Package ls provides directory listing operations.
Package ls provides directory listing operations.
Package memory provides shared helpers for persistent key-value memory storage tools.
Package memory provides shared helpers for persistent key-value memory storage tools.
read
Package read provides the MemoryRead tool for reading persistent memory entries.
Package read provides the MemoryRead tool for reading persistent memory entries.
write
Package write provides the MemoryWrite tool for persisting memory entries.
Package write provides the MemoryWrite tool for persisting memory entries.
Package mkdir provides directory creation operations.
Package mkdir provides directory creation operations.
Package patch provides file patching operations using a context-aware diff format.
Package patch provides file patching operations using a context-aware diff format.
Package query provides a tool for embedding-based code search.
Package query provides a tool for embedding-based code search.
Package read provides file reading operations with line enumeration and range support.
Package read provides file reading operations with line enumeration and range support.
Package ripgrep provides regex search through files using ripgrep.
Package ripgrep provides regex search through files using ripgrep.
Package skill provides a meta-tool for LLM-invocable skills with progressive disclosure.
Package skill provides a meta-tool for LLM-invocable skills with progressive disclosure.
Package speak provides a tool for text-to-speech synthesis.
Package speak provides a tool for text-to-speech synthesis.
Package task provides a tool that lets the LLM spawn one-shot subagent runs for complex or parallelizable subtasks.
Package task provides a tool that lets the LLM spawn one-shot subagent runs for complex or parallelizable subtasks.
Package todo provides LLM tools for managing a todo list.
Package todo provides LLM tools for managing a todo list.
Package transcribe provides a tool for speech-to-text transcription.
Package transcribe provides a tool for speech-to-text transcription.
Package vision provides a tool for LLM-based image analysis and text extraction.
Package vision provides a tool for LLM-based image analysis and text extraction.
Package webfetch provides a tool for fetching web pages and converting them to markdown.
Package webfetch provides a tool for fetching web pages and converting them to markdown.
Package websearch provides a tool for searching the web via DuckDuckGo.
Package websearch provides a tool for searching the web via DuckDuckGo.
Package write provides full-file write operations.
Package write provides full-file write operations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL