Documentation
¶
Index ¶
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 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 FileSearchMatch ¶
type FileSearchMatch struct {
Path string `json:"path"`
Size int64 `json:"size"`
IsDir bool `json:"is_dir"`
RelPath string `json:"rel_path"`
}
FileSearchMatch represents a single file match
type FileSearchResult ¶
type FileSearchResult struct {
Pattern string `json:"pattern"`
Matches []FileSearchMatch `json:"matches"`
Total int `json:"total"`
Duration string `json:"duration"`
Error string `json:"error,omitempty"`
}
FileSearchResult represents the result of a file search operation
type FileSearchTool ¶
type FileSearchTool struct {
// contains filtered or unexported fields
}
FileSearchTool handles file searching operations using regex patterns
func NewFileSearchTool ¶
func NewFileSearchTool(cfg *config.Config) *FileSearchTool
NewFileSearchTool creates a new file search tool
func (*FileSearchTool) Definition ¶
func (t *FileSearchTool) Definition() domain.ToolDefinition
Definition returns the tool definition for the LLM
func (*FileSearchTool) Execute ¶
func (t *FileSearchTool) Execute(ctx context.Context, args map[string]interface{}) (*domain.ToolExecutionResult, error)
Execute runs the file search tool with given arguments
func (*FileSearchTool) IsEnabled ¶
func (t *FileSearchTool) IsEnabled() bool
IsEnabled returns whether the file search tool is enabled
func (*FileSearchTool) Validate ¶
func (t *FileSearchTool) Validate(args map[string]interface{}) error
Validate checks if the file search tool arguments are valid
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 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 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