class

Enkaidu::Config

Inherits Enkaidu::ProfileConfig < Enkaidu::ConfigSerializable < JSON::Serializable < YAML::Serializable::Strict < YAML::Serializable < Reference < Object

Application level configuration class facilitates settings for the Enkaidu application.

Constants

DEFAULT_NAME = "enkaidu"

Constructors

new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)

Application level configuration class facilitates settings for the Enkaidu application.

Source
new(pull : JSON::PullParser)

Application level configuration class facilitates settings for the Enkaidu application.

Source

Class methods

find_config_file(path : Path, base_name = DEFAULT_NAME) : Path | Nil

Given a path, look for the supported config file name/extension variants

Source

Instance methods

console
Source
debug
Source
find_llm_and_model_by?(unique_model_name)

Look for a model by its unique name and, if one exists, return its model's enclosing LLM

Source
find_llm_model_by_actual?(provider_type : String, actual_model_name : String) : Config::LLM::Model | Nil

Use the actual model name (not the name we give it in our config) and provider type to find the LLM::Model object

Source
find_mcp_server_by_url?(url : String)

Look for an MCP server based on its url and return its name in the config, or nil if not found.

Source
llms
Source
macros
Source
mcp_servers
Source
merge_profile_config(profile_config : ProfileConfig, renderer)

Merge in a profile configuration, using settings from the profile configuration when none have been specific in the app configuration

Source
prompts
Source
session
Source
system_prompts
Source
tool_settings_by_name(tool_name : String) : ::LLM::Function::Settings | Nil

Return tool settings if any

Source

Nested types