Versions in this module Expand all Collapse all v0 v0.3.1 Aug 27, 2026 v0.3.0 Aug 27, 2026 Changes in this version + const DefaultMaxToolOutputBytes + type CalculatorTool struct + func NewCalculatorTool() *CalculatorTool + func (t *CalculatorTool) Execute(ctx context.Context, args string) (interface{}, error) + func (t *CalculatorTool) GetConfig() map[string]interface{} + func (t *CalculatorTool) GetDefinition() llm.ToolDefinition + func (t *CalculatorTool) GetDescription() string + func (t *CalculatorTool) GetName() string + func (t *CalculatorTool) SetConfig(config map[string]interface{}) error + func (t *CalculatorTool) Validate(args string) error + type FileListTool struct + func NewFileListTool() *FileListTool + func (t *FileListTool) Execute(ctx context.Context, args string) (interface{}, error) + func (t *FileListTool) GetConfig() map[string]interface{} + func (t *FileListTool) GetDefinition() llm.ToolDefinition + func (t *FileListTool) GetDescription() string + func (t *FileListTool) GetName() string + func (t *FileListTool) SetConfig(config map[string]interface{}) error + func (t *FileListTool) SetSecurityPolicy(p *SecurityPolicy) + func (t *FileListTool) Validate(args string) error + type FileReadTool struct + func NewFileReadTool() *FileReadTool + func (t *FileReadTool) Execute(ctx context.Context, args string) (interface{}, error) + func (t *FileReadTool) GetConfig() map[string]interface{} + func (t *FileReadTool) GetDefinition() llm.ToolDefinition + func (t *FileReadTool) GetDescription() string + func (t *FileReadTool) GetName() string + func (t *FileReadTool) SetConfig(config map[string]interface{}) error + func (t *FileReadTool) SetSecurityPolicy(p *SecurityPolicy) + func (t *FileReadTool) Validate(args string) error + type FileWriteTool struct + func NewFileWriteTool() *FileWriteTool + func (t *FileWriteTool) Execute(ctx context.Context, args string) (interface{}, error) + func (t *FileWriteTool) GetConfig() map[string]interface{} + func (t *FileWriteTool) GetDefinition() llm.ToolDefinition + func (t *FileWriteTool) GetDescription() string + func (t *FileWriteTool) GetName() string + func (t *FileWriteTool) SetConfig(config map[string]interface{}) error + func (t *FileWriteTool) SetSecurityPolicy(p *SecurityPolicy) + func (t *FileWriteTool) Validate(args string) error + type GenericTool struct + func NewGenericTool(name, description string, executor ToolExecutor, ...) *GenericTool + func (t *GenericTool) Execute(ctx context.Context, args string) (interface{}, error) + func (t *GenericTool) GetConfig() map[string]interface{} + func (t *GenericTool) GetDefinition() llm.ToolDefinition + func (t *GenericTool) GetDescription() string + func (t *GenericTool) GetName() string + func (t *GenericTool) SetConfig(config map[string]interface{}) error + func (t *GenericTool) Validate(args string) error + type HTTPTool struct + func NewHTTPTool() *HTTPTool + func (t *HTTPTool) Execute(ctx context.Context, args string) (interface{}, error) + func (t *HTTPTool) GetConfig() map[string]interface{} + func (t *HTTPTool) GetDefinition() llm.ToolDefinition + func (t *HTTPTool) GetDescription() string + func (t *HTTPTool) GetName() string + func (t *HTTPTool) SetConfig(config map[string]interface{}) error + func (t *HTTPTool) SetSecurityPolicy(p *SecurityPolicy) + func (t *HTTPTool) Validate(args string) error + type SecurityPolicy struct + AllowPrivateNetwork bool + AllowedCommands []string + AllowedHosts []string + AllowedRoots []string + DeniedArgSubstrings []string + MaxOutputBytes int64 + MaxRedirects int + func DefaultSecurityPolicy() *SecurityPolicy + func (p *SecurityPolicy) CheckCommand(parts []string) error + func (p *SecurityPolicy) CheckURL(raw string) (*url.URL, error) + func (p *SecurityPolicy) HTTPClient(timeout time.Duration) *http.Client + func (p *SecurityPolicy) LimitedRead(r interface{ ... }) ([]byte, bool, error) + func (p *SecurityPolicy) ResolvePath(path string) (string, error) + func (p *SecurityPolicy) SetAllowedRoots(roots []string) + type ShellTool struct + func NewShellTool() *ShellTool + func (t *ShellTool) Execute(ctx context.Context, args string) (interface{}, error) + func (t *ShellTool) GetConfig() map[string]interface{} + func (t *ShellTool) GetDefinition() llm.ToolDefinition + func (t *ShellTool) GetDescription() string + func (t *ShellTool) GetName() string + func (t *ShellTool) SetConfig(config map[string]interface{}) error + func (t *ShellTool) SetSecurityPolicy(p *SecurityPolicy) + func (t *ShellTool) Validate(args string) error + type TimeTool struct + func NewTimeTool() *TimeTool + func (t *TimeTool) Execute(ctx context.Context, args string) (interface{}, error) + func (t *TimeTool) GetConfig() map[string]interface{} + func (t *TimeTool) GetDefinition() llm.ToolDefinition + func (t *TimeTool) GetDescription() string + func (t *TimeTool) GetName() string + func (t *TimeTool) SetConfig(config map[string]interface{}) error + func (t *TimeTool) Validate(args string) error + type Tool interface + Execute func(ctx context.Context, args string) (interface{}, error) + GetConfig func() map[string]interface{} + GetDefinition func() llm.ToolDefinition + GetDescription func() string + GetName func() string + SetConfig func(config map[string]interface{}) error + Validate func(args string) error + type ToolExecutor func(ctx context.Context, args map[string]interface{}) (interface{}, error) + type ToolRegistry struct + func NewToolRegistry() *ToolRegistry + func (tr *ToolRegistry) GetAllDefinitions() []llm.ToolDefinition + func (tr *ToolRegistry) GetDefinitions(toolNames []string) []llm.ToolDefinition + func (tr *ToolRegistry) GetTool(name string) (Tool, bool) + func (tr *ToolRegistry) ListTools() []string + func (tr *ToolRegistry) RegisterTool(tool Tool) error + func (tr *ToolRegistry) UnregisterTool(name string) error + type WebSearchTool struct + func NewWebSearchTool() *WebSearchTool + func (t *WebSearchTool) Execute(ctx context.Context, args string) (interface{}, error) + func (t *WebSearchTool) GetConfig() map[string]interface{} + func (t *WebSearchTool) GetDefinition() llm.ToolDefinition + func (t *WebSearchTool) GetDescription() string + func (t *WebSearchTool) GetName() string + func (t *WebSearchTool) SetConfig(config map[string]interface{}) error + func (t *WebSearchTool) Validate(args string) error