Documentation
¶
Index ¶
- type BashToolConfig
- type ChatConfig
- type CompactConfig
- type Config
- func (c *Config) GetAPIKey() string
- func (c *Config) GetDefaultModel() string
- func (c *Config) GetGatewayURL() string
- func (c *Config) GetOutputDirectory() string
- func (c *Config) GetSystemPrompt() string
- func (c *Config) GetTimeout() int
- func (c *Config) IsApprovalRequired(toolName string) bool
- func (c *Config) IsDebugMode() bool
- func (c *Config) SaveConfig(configPath string) error
- func (c *Config) ValidatePathInSandbox(path string) error
- type DeleteToolConfig
- type EditToolConfig
- type FetchCacheConfig
- type FetchSafetyConfig
- type GatewayConfig
- type GitHubFetchConfig
- type GrepToolConfig
- type LoggingConfig
- type ReadToolConfig
- type SafetyConfig
- type SandboxConfig
- type TodoWriteToolConfig
- type ToolWhitelistConfig
- type ToolsConfig
- type TreeToolConfig
- type WebFetchToolConfig
- type WebSearchToolConfig
- type WriteToolConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BashToolConfig ¶ added in v0.14.1
type BashToolConfig struct { Enabled bool `yaml:"enabled"` Whitelist ToolWhitelistConfig `yaml:"whitelist"` RequireApproval *bool `yaml:"require_approval,omitempty"` }
BashToolConfig contains bash-specific tool settings
type ChatConfig ¶ added in v0.8.0
type ChatConfig struct { DefaultModel string `yaml:"default_model"` SystemPrompt string `yaml:"system_prompt"` }
ChatConfig contains chat-related settings
type CompactConfig ¶ added in v0.2.0
type CompactConfig struct {
OutputDir string `yaml:"output_dir"`
}
CompactConfig contains settings for compact command
type Config ¶
type Config struct { Gateway GatewayConfig `yaml:"gateway"` Logging LoggingConfig `yaml:"logging"` Tools ToolsConfig `yaml:"tools"` Compact CompactConfig `yaml:"compact"` Chat ChatConfig `yaml:"chat"` }
Config represents the CLI configuration
func LoadConfig ¶
LoadConfig loads configuration from file
func (*Config) GetDefaultModel ¶ added in v0.27.0
func (*Config) GetGatewayURL ¶ added in v0.27.0
func (*Config) GetOutputDirectory ¶ added in v0.27.0
func (*Config) GetSystemPrompt ¶ added in v0.27.0
func (*Config) GetTimeout ¶ added in v0.27.0
func (*Config) IsApprovalRequired ¶ added in v0.14.1
IsApprovalRequired checks if approval is required for a specific tool It returns true if tool-specific approval is set to true, or if global approval is true and tool-specific is not set to false ConfigService interface implementation
func (*Config) IsDebugMode ¶ added in v0.27.0
Additional ConfigService methods
func (*Config) SaveConfig ¶
SaveConfig saves configuration to file
func (*Config) ValidatePathInSandbox ¶ added in v0.29.0
ValidatePathInSandbox checks if a path is within the configured sandbox directories
type DeleteToolConfig ¶ added in v0.18.2
type DeleteToolConfig struct { Enabled bool `yaml:"enabled"` RequireApproval *bool `yaml:"require_approval,omitempty"` }
DeleteToolConfig contains delete-specific tool settings
type EditToolConfig ¶ added in v0.21.0
type EditToolConfig struct { Enabled bool `yaml:"enabled"` RequireApproval *bool `yaml:"require_approval,omitempty"` }
EditToolConfig contains edit-specific tool settings
type FetchCacheConfig ¶ added in v0.11.1
type FetchCacheConfig struct { Enabled bool `yaml:"enabled"` TTL int `yaml:"ttl"` MaxSize int64 `yaml:"max_size"` }
FetchCacheConfig contains cache settings for fetch operations
type FetchSafetyConfig ¶ added in v0.11.1
type FetchSafetyConfig struct { MaxSize int64 `yaml:"max_size"` Timeout int `yaml:"timeout"` AllowRedirect bool `yaml:"allow_redirect"` }
FetchSafetyConfig contains safety settings for fetch operations
type GatewayConfig ¶
type GatewayConfig struct { URL string `yaml:"url"` APIKey string `yaml:"api_key"` Timeout int `yaml:"timeout"` }
GatewayConfig contains gateway connection settings
type GitHubFetchConfig ¶ added in v0.11.1
type GitHubFetchConfig struct { Enabled bool `yaml:"enabled"` Token string `yaml:"token"` BaseURL string `yaml:"base_url"` }
GitHubFetchConfig contains GitHub-specific fetch settings
type GrepToolConfig ¶ added in v0.19.0
type GrepToolConfig struct { Enabled bool `yaml:"enabled"` Backend string `yaml:"backend"` RequireApproval *bool `yaml:"require_approval,omitempty"` }
GrepToolConfig contains grep-specific tool settings
type LoggingConfig ¶ added in v0.29.4
type LoggingConfig struct {
Debug bool `yaml:"debug"`
}
LoggingConfig contains logging settings
type ReadToolConfig ¶ added in v0.14.1
type ReadToolConfig struct { Enabled bool `yaml:"enabled"` RequireApproval *bool `yaml:"require_approval,omitempty"` }
ReadToolConfig contains read-specific tool settings
type SafetyConfig ¶ added in v0.3.0
type SafetyConfig struct {
RequireApproval bool `yaml:"require_approval"`
}
SafetyConfig contains safety approval settings
type SandboxConfig ¶ added in v0.29.0
type SandboxConfig struct { Directories []string `yaml:"directories"` ProtectedPaths []string `yaml:"protected_paths"` }
SandboxConfig contains sandbox directory settings
type TodoWriteToolConfig ¶ added in v0.20.0
type TodoWriteToolConfig struct { Enabled bool `yaml:"enabled"` RequireApproval *bool `yaml:"require_approval,omitempty"` }
TodoWriteToolConfig contains TodoWrite-specific tool settings
type ToolWhitelistConfig ¶
type ToolWhitelistConfig struct { Commands []string `yaml:"commands"` Patterns []string `yaml:"patterns"` }
ToolWhitelistConfig contains whitelisted commands and patterns
type ToolsConfig ¶
type ToolsConfig struct { Enabled bool `yaml:"enabled"` Sandbox SandboxConfig `yaml:"sandbox"` Bash BashToolConfig `yaml:"bash"` Read ReadToolConfig `yaml:"read"` Write WriteToolConfig `yaml:"write"` Edit EditToolConfig `yaml:"edit"` Delete DeleteToolConfig `yaml:"delete"` Grep GrepToolConfig `yaml:"grep"` Tree TreeToolConfig `yaml:"tree"` WebFetch WebFetchToolConfig `yaml:"web_fetch"` WebSearch WebSearchToolConfig `yaml:"web_search"` TodoWrite TodoWriteToolConfig `yaml:"todo_write"` Safety SafetyConfig `yaml:"safety"` }
ToolsConfig contains tool execution settings
type TreeToolConfig ¶ added in v0.16.0
type TreeToolConfig struct { Enabled bool `yaml:"enabled"` RequireApproval *bool `yaml:"require_approval,omitempty"` }
TreeToolConfig contains tree-specific tool settings
type WebFetchToolConfig ¶ added in v0.24.1
type WebFetchToolConfig struct { Enabled bool `yaml:"enabled"` WhitelistedDomains []string `yaml:"whitelisted_domains"` GitHub GitHubFetchConfig `yaml:"github"` Safety FetchSafetyConfig `yaml:"safety"` Cache FetchCacheConfig `yaml:"cache"` RequireApproval *bool `yaml:"require_approval,omitempty"` }
WebFetchToolConfig contains fetch-specific tool settings
type WebSearchToolConfig ¶ added in v0.14.1
type WebSearchToolConfig struct { Enabled bool `yaml:"enabled"` DefaultEngine string `yaml:"default_engine"` MaxResults int `yaml:"max_results"` Engines []string `yaml:"engines"` Timeout int `yaml:"timeout"` RequireApproval *bool `yaml:"require_approval,omitempty"` }
WebSearchToolConfig contains web search-specific tool settings
type WriteToolConfig ¶ added in v0.17.0
type WriteToolConfig struct { Enabled bool `yaml:"enabled"` RequireApproval *bool `yaml:"require_approval,omitempty"` }
WriteToolConfig contains write-specific tool settings