fix: initialize meta plugins with defaults before configuration
Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) <aider@aider.chat>
This commit is contained in:
@@ -47,13 +47,23 @@ fn setup_compression_and_plugins(
|
|||||||
for meta_plugin in meta_plugins.iter_mut() {
|
for meta_plugin in meta_plugins.iter_mut() {
|
||||||
let plugin_name = meta_plugin.meta_name();
|
let plugin_name = meta_plugin.meta_name();
|
||||||
if let Some(config) = meta_plugin_configs.iter().find(|c| c.name == plugin_name) {
|
if let Some(config) = meta_plugin_configs.iter().find(|c| c.name == plugin_name) {
|
||||||
// Configure outputs first
|
// Start with default outputs and options, then apply configuration on top
|
||||||
if let Err(e) = meta_plugin.configure_outputs(&config.outputs.iter().map(|(k, v)| (k.clone(), serde_yaml::Value::String(v.clone()))).collect()) {
|
let mut configured_outputs = meta_plugin.outputs().clone();
|
||||||
|
for (key, value) in &config.outputs {
|
||||||
|
configured_outputs.insert(key.clone(), serde_yaml::Value::String(value.clone()));
|
||||||
|
}
|
||||||
|
|
||||||
|
let mut configured_options = meta_plugin.default_options();
|
||||||
|
for (key, value) in &config.options {
|
||||||
|
configured_options.insert(key.clone(), value.clone());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apply the combined configuration
|
||||||
|
if let Err(e) = meta_plugin.configure_outputs(&configured_outputs) {
|
||||||
eprintln!("Warning: Failed to configure outputs for meta plugin '{}': {}", plugin_name, e);
|
eprintln!("Warning: Failed to configure outputs for meta plugin '{}': {}", plugin_name, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Then configure with options
|
if let Err(e) = meta_plugin.configure_options(&configured_options) {
|
||||||
if let Err(e) = meta_plugin.configure_options(&config.options) {
|
|
||||||
eprintln!("Warning: Failed to configure options for meta plugin '{}': {}", plugin_name, e);
|
eprintln!("Warning: Failed to configure options for meta plugin '{}': {}", plugin_name, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user