feat: use configured meta plugins for MCP items

Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-08-28 14:24:05 -03:00
parent d5490eacb9
commit bfa233330e

View File

@@ -304,6 +304,8 @@ impl ItemService {
content: &[u8],
tags: &Vec<String>,
metadata: &HashMap<String, String>,
cmd: &mut Command,
settings: &Settings,
conn: &mut Connection,
) -> Result<ItemWithMeta, CoreError> {
debug!("ITEM_SERVICE: Starting save_item_from_mcp with {} bytes, {} tags, {} metadata entries",
@@ -340,24 +342,13 @@ impl ItemService {
writer.write_all(content)?;
drop(writer);
let plugin_types = vec![
MetaPluginType::Digest,
MetaPluginType::User,
MetaPluginType::Hostname,
];
let mut plugins: Vec<Box<dyn MetaPlugin>> = plugin_types
.iter()
.map(|p| crate::meta_plugin::get_meta_plugin(p.clone(), None, None))
.collect();
debug!("ITEM_SERVICE: Created {} meta plugins for MCP item", plugins.len());
self.meta_service
.initialize_plugins(&mut plugins, conn, item_id);
self.meta_service
.process_chunk(&mut plugins, content, conn, item_id);
let mut plugins = self.meta_service.get_plugins(cmd, settings);
debug!("ITEM_SERVICE: Got {} configured meta plugins for MCP item", plugins.len());
self.meta_service.initialize_plugins(&mut plugins, conn, item_id);
self.meta_service.process_chunk(&mut plugins, content, conn, item_id);
self.meta_service.finalize_plugins(&mut plugins, conn, item_id);
debug!("ITEM_SERVICE: Processed MCP item through meta plugins");
debug!("ITEM_SERVICE: Processed MCP item through configured meta plugins");
item.size = Some(content.len() as i64);
db::update_item(conn, item.clone())?;