config

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfigDir

func ConfigDir() string

func ConfigFilePath

func ConfigFilePath() string

func DataDir

func DataDir() string

func EnsureDirs

func EnsureDirs() error

func LogDir added in v0.2.0

func LogDir() string

func LogFilePath added in v0.2.0

func LogFilePath() string

func Save added in v0.2.0

func Save(cfg Config) error

Save writes the configuration to the config.toml file.

func SaveToPath added in v0.2.0

func SaveToPath(cfg Config, path string) error

SaveToPath writes the configuration to a specific file path.

func SessionDir

func SessionDir() string

Types

type ApprovalConfig

type ApprovalConfig struct {
	AutoApproveReads  bool `toml:"auto_approve_reads"`
	AutoApproveWrites bool `toml:"auto_approve_writes"`
	AutoApproveShell  bool `toml:"auto_approve_shell"`
}

ApprovalConfig specifies tool approval thresholds (deprecated in favor of Permissions).

type Config

type Config struct {
	Provider    ProviderConfig    `toml:"provider"`
	Approval    ApprovalConfig    `toml:"approval"`
	Permissions PermissionsConfig `toml:"permissions"`
	Session     SessionConfig     `toml:"session"`
	Tools       ToolsConfig       `toml:"tools"`
	MCP         MCPConfig         `toml:"mcp"`
}

Config represents top-level configuration options.

func DefaultConfig

func DefaultConfig() Config

DefaultConfig returns default configuration values.

func Load

func Load() (Config, error)

Load reads configuration from file or returns defaults if non-existent.

func LoadFromPath added in v0.2.0

func LoadFromPath(path string) (Config, error)

LoadFromPath reads configuration from a specific file path.

type GatewayConfig

type GatewayConfig struct {
	BaseURL      string `toml:"base_url"`
	APIKey       string `toml:"api_key"`
	APIKeyEnv    string `toml:"api_key_env"`
	DefaultModel string `toml:"default_model"`
}

GatewayConfig configures an OpenAI-compatible gateway or cloud provider endpoint.

type MCPConfig added in v0.2.0

type MCPConfig struct {
	Servers map[string]MCPServerConfig `toml:"servers"`
}

MCPConfig specifies Model Context Protocol server configurations.

type MCPServerConfig added in v0.2.0

type MCPServerConfig struct {
	Command string            `toml:"command"`
	Args    []string          `toml:"args"`
	Env     map[string]string `toml:"env,omitempty"`
}

MCPServerConfig defines an individual MCP server command and arguments.

type OllamaConfig

type OllamaConfig struct {
	Host         string `toml:"host"`
	DefaultModel string `toml:"default_model"`
}

OllamaConfig configures local Ollama instance.

type PermissionsConfig added in v0.2.0

type PermissionsConfig struct {
	AutoApprove       []string `toml:"auto_approve"`
	Deny              []string `toml:"deny"`
	SensitivePatterns []string `toml:"sensitive_patterns"`
}

PermissionsConfig specifies granular tool permissions.

type ProviderConfig

type ProviderConfig struct {
	Default    string                   `toml:"default"`
	Ollama     OllamaConfig             `toml:"ollama"`
	OmniRoute  GatewayConfig            `toml:"omniroute"`
	OpenAI     GatewayConfig            `toml:"openai"`
	Gemini     GatewayConfig            `toml:"gemini"`
	Groq       GatewayConfig            `toml:"groq"`
	OpenRouter GatewayConfig            `toml:"openrouter"`
	Anthropic  GatewayConfig            `toml:"anthropic"`
	Qwen       GatewayConfig            `toml:"qwen"`
	Kimi       GatewayConfig            `toml:"kimi"`
	Custom     map[string]GatewayConfig `toml:"custom"`
}

ProviderConfig specifies provider settings.

type SessionConfig

type SessionConfig struct {
	Persist    bool   `toml:"persist"`
	HistoryDir string `toml:"history_dir"`
}

SessionConfig specifies session settings.

type ShellConfig

type ShellConfig struct {
	TimeoutSeconds int `toml:"timeout_seconds"`
}

type ToolsConfig

type ToolsConfig struct {
	Shell ShellConfig `toml:"shell"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL