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 OutputConfig
- 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"`
Output OutputConfig `yaml:"output"`
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 OutputConfig ¶
type OutputConfig struct {
Format string `yaml:"format"`
Quiet bool `yaml:"quiet"`
Debug bool `yaml:"debug"`
}
OutputConfig contains output formatting 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