feat: add MetaPlugin.configure method and update status generation

Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-08-19 13:32:21 -03:00
parent fddc7670aa
commit 63eb1b10b3
2 changed files with 19 additions and 1 deletions

View File

@@ -8,6 +8,7 @@ use crate::compression_engine::CompressionType;
use crate::compression_engine::program::CompressionEngineProgram;
use crate::meta_plugin::MetaPluginType;
use crate::meta_plugin;
use crate::config;
#[derive(serde::Serialize, serde::Deserialize, ToSchema)]
pub struct StatusInfo {
@@ -111,6 +112,16 @@ pub fn generate_status_info(
// Plugin initialized successfully
}
// Configure plugin with settings if available
// Create a dummy settings object to get plugin configs
let dummy_settings = config::Settings::default();
if let Some(meta_plugin_configs) = &dummy_settings.meta_plugins {
if let Some(config) = meta_plugin_configs.iter().find(|c| c.name == meta_plugin.meta_name()) {
// Configure the plugin with options and outputs from config
let _ = meta_plugin.configure(&config.options, &config.outputs.iter().map(|(k, v)| (k.clone(), serde_yaml::Value::String(v.clone()))).collect());
}
}
let (binary_display, args_display) = if !is_supported {
("<NOT FOUND>".to_string(), "".to_string())
} else {