feat: Enhance status with detailed filter plugin information
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat>
This commit is contained in:
@@ -9,13 +9,22 @@ use crate::compression_engine::program::CompressionEngineProgram;
|
||||
use crate::meta_plugin::MetaPluginType;
|
||||
use crate::services::filter_service::get_available_filter_plugins;
|
||||
|
||||
use crate::filter_plugin::FilterOption;
|
||||
|
||||
#[derive(serde::Serialize, serde::Deserialize, ToSchema)]
|
||||
pub struct FilterPluginInfo {
|
||||
pub name: String,
|
||||
pub options: Vec<FilterOption>,
|
||||
pub description: String,
|
||||
}
|
||||
|
||||
#[derive(serde::Serialize, serde::Deserialize, ToSchema)]
|
||||
pub struct StatusInfo {
|
||||
pub paths: PathInfo,
|
||||
pub compression: Vec<CompressionInfo>,
|
||||
pub meta_plugins: std::collections::HashMap<String, MetaPluginInfo>,
|
||||
pub enabled_meta_plugins: Vec<String>,
|
||||
pub filter_plugins: Vec<String>,
|
||||
pub filter_plugins: Vec<FilterPluginInfo>,
|
||||
pub configured_meta_plugins: Option<Vec<crate::config::MetaPluginConfig>>,
|
||||
}
|
||||
|
||||
|
||||
@@ -33,11 +33,23 @@ impl StatusService {
|
||||
|
||||
let mut status_info = generate_status_info(data_path, db_path, &meta_plugin_types, enabled_compression_type);
|
||||
|
||||
// Add filter plugins information
|
||||
status_info.filter_plugins = get_available_filter_plugins()
|
||||
.keys()
|
||||
.map(|name| name.clone())
|
||||
.collect();
|
||||
// Add detailed filter plugins information
|
||||
let filter_plugins_map = get_available_filter_plugins();
|
||||
let mut filter_plugins_info = Vec::new();
|
||||
|
||||
for (name, creator) in filter_plugins_map {
|
||||
let plugin = creator();
|
||||
let options = plugin.options();
|
||||
// For now, use a default description
|
||||
let description = "Filter plugin".to_string();
|
||||
|
||||
filter_plugins_info.push(crate::common::status::FilterPluginInfo {
|
||||
name,
|
||||
options,
|
||||
description,
|
||||
});
|
||||
}
|
||||
status_info.filter_plugins = filter_plugins_info;
|
||||
|
||||
// Add configured meta plugins information
|
||||
status_info.configured_meta_plugins = settings.meta_plugins.clone();
|
||||
|
||||
Reference in New Issue
Block a user