Documentation
¶
Index ¶
- type BashResult
- type BashTool
- type DeleteResult
- type DeleteTool
- type FetchTool
- type FileReadResult
- type GoogleSearchItem
- type GoogleSearchResponse
- type GrepCount
- type GrepMatch
- type GrepResult
- type GrepTool
- type ReadTool
- type Registry
- type SearchOptions
- type TreeResult
- type TreeTool
- type WebSearchTool
- type WriteTool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BashResult ¶
type BashResult struct {
Command string `json:"command"`
Output string `json:"output"`
Error string `json:"error,omitempty"`
ExitCode int `json:"exit_code"`
Duration string `json:"duration"`
}
BashResult represents the internal result of a bash command execution
type BashTool ¶
type BashTool struct {
// contains filtered or unexported fields
}
BashTool handles bash command execution with security validation
func NewBashTool ¶
NewBashTool creates a new bash tool
func (*BashTool) Definition ¶
func (t *BashTool) Definition() domain.ToolDefinition
Definition returns the tool definition for the LLM
func (*BashTool) Execute ¶
func (t *BashTool) Execute(ctx context.Context, args map[string]interface{}) (*domain.ToolExecutionResult, error)
Execute runs the bash tool with given arguments
type DeleteResult ¶ added in v0.18.0
type DeleteResult struct {
Path string `json:"path"`
DeletedFiles []string `json:"deleted_files"`
DeletedDirs []string `json:"deleted_dirs"`
TotalFilesDeleted int `json:"total_files_deleted"`
TotalDirsDeleted int `json:"total_dirs_deleted"`
WildcardExpanded bool `json:"wildcard_expanded"`
Errors []string `json:"errors,omitempty"`
}
DeleteResult represents the result of a delete operation
type DeleteTool ¶ added in v0.18.0
type DeleteTool struct {
// contains filtered or unexported fields
}
DeleteTool handles file and directory deletion operations
func NewDeleteTool ¶ added in v0.18.0
func NewDeleteTool(cfg *config.Config) *DeleteTool
NewDeleteTool creates a new delete tool
func (*DeleteTool) Definition ¶ added in v0.18.0
func (t *DeleteTool) Definition() domain.ToolDefinition
Definition returns the tool definition for the LLM
func (*DeleteTool) Execute ¶ added in v0.18.0
func (t *DeleteTool) Execute(ctx context.Context, args map[string]interface{}) (*domain.ToolExecutionResult, error)
Execute runs the delete tool with given arguments
func (*DeleteTool) IsEnabled ¶ added in v0.18.0
func (t *DeleteTool) IsEnabled() bool
IsEnabled returns whether the delete tool is enabled
func (*DeleteTool) Validate ¶ added in v0.18.0
func (t *DeleteTool) Validate(args map[string]interface{}) error
Validate checks if the delete tool arguments are valid
type FetchTool ¶
type FetchTool struct {
// contains filtered or unexported fields
}
FetchTool handles content fetching operations
func NewFetchTool ¶
NewFetchTool creates a new fetch tool
func (*FetchTool) Definition ¶
func (t *FetchTool) Definition() domain.ToolDefinition
Definition returns the tool definition for the LLM
func (*FetchTool) Execute ¶
func (t *FetchTool) Execute(ctx context.Context, args map[string]interface{}) (*domain.ToolExecutionResult, error)
Execute runs the fetch tool with given arguments
type FileReadResult ¶
type FileReadResult struct {
FilePath string `json:"file_path"`
Content string `json:"content"`
Size int64 `json:"size"`
StartLine int `json:"start_line,omitempty"`
EndLine int `json:"end_line,omitempty"`
Error string `json:"error,omitempty"`
}
FileReadResult represents the internal result of a file read operation
type GoogleSearchItem ¶
type GoogleSearchItem struct {
Title string `json:"title"`
Link string `json:"link"`
Snippet string `json:"snippet"`
}
GoogleSearchItem represents a single search result from Google API
type GoogleSearchResponse ¶
type GoogleSearchResponse struct {
Items []GoogleSearchItem `json:"items"`
}
GoogleSearchResponse represents the response from Google Custom Search API
type GrepMatch ¶ added in v0.19.0
type GrepMatch struct {
File string `json:"file"`
Line int `json:"line"`
Text string `json:"text"`
}
GrepMatch represents a single match with line content
type GrepResult ¶ added in v0.19.0
type GrepResult struct {
Pattern string `json:"pattern"`
OutputMode string `json:"output_mode"`
Files []string `json:"files,omitempty"`
Matches []GrepMatch `json:"matches,omitempty"`
Counts []GrepCount `json:"counts,omitempty"`
Total int `json:"total"`
Truncated bool `json:"truncated"`
Duration string `json:"duration"`
Error string `json:"error,omitempty"`
}
GrepResult represents the result of a grep operation
type GrepTool ¶ added in v0.19.0
type GrepTool struct {
// contains filtered or unexported fields
}
GrepTool handles search operations with ripgrep fallback to Go implementation
func NewGrepTool ¶ added in v0.19.0
NewGrepTool creates a new grep tool
func (*GrepTool) Definition ¶ added in v0.19.0
func (t *GrepTool) Definition() domain.ToolDefinition
Definition returns the tool definition for the LLM
func (*GrepTool) Execute ¶ added in v0.19.0
func (t *GrepTool) Execute(ctx context.Context, args map[string]interface{}) (*domain.ToolExecutionResult, error)
Execute runs the grep tool with given arguments
type ReadTool ¶
type ReadTool struct {
// contains filtered or unexported fields
}
ReadTool handles file reading operations with optional line range
func NewReadTool ¶
NewReadTool creates a new read tool
func (*ReadTool) Definition ¶
func (t *ReadTool) Definition() domain.ToolDefinition
Definition returns the tool definition for the LLM
func (*ReadTool) Execute ¶
func (t *ReadTool) Execute(ctx context.Context, args map[string]interface{}) (*domain.ToolExecutionResult, error)
Execute runs the read tool with given arguments
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry manages all available tools
func NewRegistry ¶
NewRegistry creates a new tool registry with self-contained tools
func (*Registry) GetToolDefinitions ¶
func (r *Registry) GetToolDefinitions() []domain.ToolDefinition
GetToolDefinitions returns definitions for all enabled tools
func (*Registry) IsToolEnabled ¶
IsToolEnabled checks if a specific tool is enabled
func (*Registry) ListAvailableTools ¶
ListAvailableTools returns names of all available and enabled tools
type SearchOptions ¶ added in v0.19.0
type SearchOptions struct {
CaseInsensitive bool
ShowLineNumbers bool
ContextBefore int
ContextAfter int
Multiline bool
GlobPattern string
FileType string
HeadLimit int
}
SearchOptions holds configuration for the search operation
type TreeResult ¶ added in v0.16.0
type TreeResult struct {
Path string `json:"path"`
Output string `json:"output"`
TotalFiles int `json:"total_files"`
TotalDirs int `json:"total_dirs"`
MaxDepth int `json:"max_depth"`
MaxFiles int `json:"max_files"`
ExcludePatterns []string `json:"exclude_patterns"`
ShowHidden bool `json:"show_hidden"`
Format string `json:"format"`
UsingNativeTree bool `json:"using_native_tree"`
Truncated bool `json:"truncated"`
}
TreeResult represents the internal result of a tree operation
type TreeTool ¶ added in v0.16.0
type TreeTool struct {
// contains filtered or unexported fields
}
TreeTool handles directory tree visualization operations
func NewTreeTool ¶ added in v0.16.0
NewTreeTool creates a new tree tool
func (*TreeTool) Definition ¶ added in v0.16.0
func (t *TreeTool) Definition() domain.ToolDefinition
Definition returns the tool definition for the LLM
func (*TreeTool) Execute ¶ added in v0.16.0
func (t *TreeTool) Execute(ctx context.Context, args map[string]interface{}) (*domain.ToolExecutionResult, error)
Execute runs the tree tool with given arguments
type WebSearchTool ¶
type WebSearchTool struct {
// contains filtered or unexported fields
}
WebSearchTool handles web search operations
func NewWebSearchTool ¶
func NewWebSearchTool(cfg *config.Config) *WebSearchTool
NewWebSearchTool creates a new web search tool
func (*WebSearchTool) Definition ¶
func (t *WebSearchTool) Definition() domain.ToolDefinition
Definition returns the tool definition for the LLM
func (*WebSearchTool) Execute ¶
func (t *WebSearchTool) Execute(ctx context.Context, args map[string]interface{}) (*domain.ToolExecutionResult, error)
Execute runs the web search tool with given arguments
func (*WebSearchTool) IsEnabled ¶
func (t *WebSearchTool) IsEnabled() bool
IsEnabled returns whether the web search tool is enabled
func (*WebSearchTool) Validate ¶
func (t *WebSearchTool) Validate(args map[string]interface{}) error
Validate checks if the web search tool arguments are valid
type WriteTool ¶ added in v0.17.0
type WriteTool struct {
// contains filtered or unexported fields
}
WriteTool handles file writing operations to the filesystem
func NewWriteTool ¶ added in v0.17.0
NewWriteTool creates a new write tool
func (*WriteTool) Definition ¶ added in v0.17.0
func (t *WriteTool) Definition() domain.ToolDefinition
Definition returns the tool definition for the LLM
func (*WriteTool) Execute ¶ added in v0.17.0
func (t *WriteTool) Execute(ctx context.Context, args map[string]interface{}) (*domain.ToolExecutionResult, error)
Execute runs the write tool with given arguments