Documentation
¶
Index ¶
- func ConfigFileFlags(flags *pflag.FlagSet, opts *ToolboxOptions)
- func ConvertConfig(raw []byte) ([]byte, error)
- func GetPathsFromConfigFolder(ctx context.Context, folderPath string) ([]string, error)
- func PersistentFlags(parentCmd *cobra.Command, opts *ToolboxOptions)
- func ServeFlags(flags *pflag.FlagSet, opts *ToolboxOptions)
- type Config
- type ConfigParser
- type IOStreams
- type Option
- type ToolboxOptions
- func (o *ToolboxOptions) Apply(opts ...Option)
- func (opts *ToolboxOptions) GetCustomConfigFiles(ctx context.Context) ([]string, bool, error)
- func (opts *ToolboxOptions) LoadConfig(ctx context.Context, parser *ConfigParser) (bool, error)
- func (opts *ToolboxOptions) Setup(ctx context.Context) (context.Context, func(context.Context) error, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConfigFileFlags ¶
func ConfigFileFlags(flags *pflag.FlagSet, opts *ToolboxOptions)
ConfigFileFlags defines flags related to the configuration file. It should be applied to any command that requires configuration loading.
func ConvertConfig ¶
ConvertConfig converts configuration file to flat format.
func GetPathsFromConfigFolder ¶
GetPathsFromConfigFolder loads all YAML files from a directory and merges them
func PersistentFlags ¶
func PersistentFlags(parentCmd *cobra.Command, opts *ToolboxOptions)
PersistentFlags sets up flags that are available for all commands and subcommands It is also used to set up persistent flags during subcommand unit tests
func ServeFlags ¶
func ServeFlags(flags *pflag.FlagSet, opts *ToolboxOptions)
ServeFlags defines flags for starting and configuring the server.
Types ¶
type Config ¶
type Config struct {
Sources server.SourceConfigs `yaml:"sources"`
AuthServices server.AuthServiceConfigs `yaml:"authServices"`
EmbeddingModels server.EmbeddingModelConfigs `yaml:"embeddingModels"`
Tools server.ToolConfigs `yaml:"tools"`
Toolsets server.ToolsetConfigs `yaml:"toolsets"`
Prompts server.PromptConfigs `yaml:"prompts"`
}
type ConfigParser ¶
type ConfigParser struct {
EnvVars map[string]string
OptionalEnvVars []string
// contains filtered or unexported fields
}
func (*ConfigParser) LoadAndMergeConfigs ¶
LoadAndMergeConfigs loads multiple YAML files and merges them
func (*ConfigParser) ParseConfig ¶
ParseConfig parses the provided yaml into appropriate configs.
type Option ¶
type Option func(*ToolboxOptions)
Option defines a function that modifies the ToolboxOptions struct.
func WithIOStreams ¶
WithIOStreams updates the IO streams.
type ToolboxOptions ¶
type ToolboxOptions struct {
IOStreams IOStreams
Logger log.Logger
Cfg server.ServerConfig
Config string
Configs []string
ConfigFolder string
PrebuiltConfigs []string
VersionNum string
}
ToolboxOptions holds dependencies shared by all commands.
func NewToolboxOptions ¶
func NewToolboxOptions(opts ...Option) *ToolboxOptions
NewToolboxOptions creates a new instance with defaults, then applies any provided options.
func (*ToolboxOptions) Apply ¶
func (o *ToolboxOptions) Apply(opts ...Option)
Apply allows you to update an EXISTING ToolboxOptions instance. This is useful for "late binding".
func (*ToolboxOptions) GetCustomConfigFiles ¶
GetCustomConfigFiles retrieves the list of custom config file paths
func (*ToolboxOptions) LoadConfig ¶
func (opts *ToolboxOptions) LoadConfig(ctx context.Context, parser *ConfigParser) (bool, error)
LoadConfig checks and merge files that should be loaded into the server