config

package
v1.8.2 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatMigrationChanges added in v1.8.1

func FormatMigrationChanges(changes []MigrationChange) string

func ParseSecrets

func ParseSecrets(secrets string) map[string]string

ParseSecrets parses a newline-separated list of key=value pairs into a map. Empty lines and lines without '=' are silently ignored. Lines without '=' are treated as malformed and skipped to handle edge cases gracefully. This allows the function to continue processing other valid entries even if some lines are malformed. Keys or values containing newlines are skipped as malformed input.

func SaveConfig

func SaveConfig(configDir string, cfg *Config) error

SaveConfig writes the configuration to the specified directory.

Types

type Config

type Config struct {
	DefaultProvider string              `yaml:"default_provider"`
	Providers       map[string]Provider `yaml:"providers"`
	DefaultModels   map[string]string   `yaml:"default_models"`
	Version         string              `yaml:"version"`
}

Config represents the application configuration.

func LoadConfig

func LoadConfig(configDir string) (*Config, error)

LoadConfig reads and parses the configuration file from the specified directory. Returns ErrConfigNotFound if the file doesn't exist. Automatically migrates old "config" file to "config.yaml" if needed.

type ConfigCache added in v1.8.0

type ConfigCache struct {
	// contains filtered or unexported fields
}

func NewConfigCache added in v1.8.0

func NewConfigCache(ttl time.Duration) *ConfigCache

func (*ConfigCache) Get added in v1.8.0

func (c *ConfigCache) Get(configDir string) (*Config, error)

func (*ConfigCache) Invalidate added in v1.8.0

func (c *ConfigCache) Invalidate(configDir string)

type FileWatcher added in v1.8.0

type FileWatcher struct {
	// contains filtered or unexported fields
}

func NewFileWatcher added in v1.8.0

func NewFileWatcher(configDir string, cache *ConfigCache, pollInterval time.Duration) *FileWatcher

func (*FileWatcher) Close added in v1.8.0

func (fw *FileWatcher) Close()

type MigrationChange added in v1.8.1

type MigrationChange struct {
	Provider string
	Field    string
	Old      string
	New      string
}

func MigrateConfigOnUpdate added in v1.8.1

func MigrateConfigOnUpdate(configDir string) ([]MigrationChange, error)

type Provider

type Provider struct {
	Name    string   `yaml:"name"`
	BaseURL string   `yaml:"base_url"`
	Model   string   `yaml:"model"`
	EnvVars []string `yaml:"env_vars"`
}

Provider represents a configured API provider.

Jump to

Keyboard shortcuts

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