pub struct Config {Show 19 fields
pub agent: AgentConfig,
pub provider: ProviderConfig,
pub storage: StorageConfig,
pub budget: BudgetConfig,
pub retry: RetryConfig,
pub tools: ToolsConfig,
pub models: ModelDefaults,
pub max_tokens: u32,
pub shell: ShellDefaults,
pub store: StoreConfig,
pub providers: ProviderSettings,
pub comms: CommsRuntimeConfig,
pub compaction: CompactionRuntimeConfig,
pub limits: LimitsConfig,
pub rest: RestServerConfig,
pub hooks: HooksConfig,
pub skills: SkillsConfig,
pub self_hosted: SelfHostedConfig,
pub provider_tools: ProviderToolsConfig,
}Expand description
Complete configuration for Meerkat
Fields§
§agent: AgentConfig§provider: ProviderConfig§storage: StorageConfig§budget: BudgetConfig§retry: RetryConfig§tools: ToolsConfig§models: ModelDefaults§max_tokens: u32§shell: ShellDefaults§store: StoreConfig§providers: ProviderSettings§comms: CommsRuntimeConfig§compaction: CompactionRuntimeConfig§limits: LimitsConfig§rest: RestServerConfig§hooks: HooksConfig§skills: SkillsConfig§self_hosted: SelfHostedConfig§provider_tools: ProviderToolsConfigImplementations§
Source§impl Config
impl Config
Sourcepub fn model_registry(&self) -> Result<ModelRegistry, ConfigError>
pub fn model_registry(&self) -> Result<ModelRegistry, ConfigError>
Build the effective model registry for this config snapshot.
Sourcepub fn template_toml() -> &'static str
pub fn template_toml() -> &'static str
Return the config template as TOML.
Sourcepub fn template() -> Result<Self, ConfigError>
pub fn template() -> Result<Self, ConfigError>
Parse the config template into a Config value.
Source§impl Config
impl Config
Sourcepub async fn load() -> Result<Self, ConfigError>
pub async fn load() -> Result<Self, ConfigError>
Load configuration from all sources with proper layering Order: defaults → project config OR global config → env vars (secrets only) → CLI (CLI applied separately)
Sourcepub async fn load_layered_hooks() -> Result<HooksConfig, ConfigError>
pub async fn load_layered_hooks() -> Result<HooksConfig, ConfigError>
Load only hook configuration with explicit global -> project layering.
This preserves existing config precedence for non-hook fields while allowing deterministic hook registration ordering across scopes.
Sourcepub async fn load_layered_hooks_from(
start_dir: &Path,
home_dir: Option<&Path>,
) -> Result<HooksConfig, ConfigError>
pub async fn load_layered_hooks_from( start_dir: &Path, home_dir: Option<&Path>, ) -> Result<HooksConfig, ConfigError>
Load only hook configuration with explicit global -> project layering.
Source§impl Config
impl Config
Sourcepub fn budget_limits(&self) -> BudgetLimits
pub fn budget_limits(&self) -> BudgetLimits
Convert config limits into runtime budget limits.
Sourcepub fn global_config_path() -> Option<PathBuf>
pub fn global_config_path() -> Option<PathBuf>
Get global config path (~/.rkat/config.toml)
Sourcepub async fn merge_file(&mut self, path: &PathBuf) -> Result<(), ConfigError>
pub async fn merge_file(&mut self, path: &PathBuf) -> Result<(), ConfigError>
Merge configuration from a TOML file
Sourcepub fn merge_toml_str(&mut self, content: &str) -> Result<(), ConfigError>
pub fn merge_toml_str(&mut self, content: &str) -> Result<(), ConfigError>
Merge configuration from a TOML string.
Sourcepub fn apply_env_overrides(&mut self) -> Result<(), ConfigError>
pub fn apply_env_overrides(&mut self) -> Result<(), ConfigError>
Apply environment variable overrides
Sourcepub fn apply_cli_overrides(&mut self, cli: CliOverrides)
pub fn apply_cli_overrides(&mut self, cli: CliOverrides)
Apply CLI argument overrides.
- Explicit CLI flags override scalar runtime knobs.
override_configapplies RFC 7396 JSON merge-patch semantics.