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:
@@ -304,6 +304,8 @@ impl ItemService {
|
|||||||
content: &[u8],
|
content: &[u8],
|
||||||
tags: &Vec<String>,
|
tags: &Vec<String>,
|
||||||
metadata: &HashMap<String, String>,
|
metadata: &HashMap<String, String>,
|
||||||
|
cmd: &mut Command,
|
||||||
|
settings: &Settings,
|
||||||
conn: &mut Connection,
|
conn: &mut Connection,
|
||||||
) -> Result<ItemWithMeta, CoreError> {
|
) -> Result<ItemWithMeta, CoreError> {
|
||||||
debug!("ITEM_SERVICE: Starting save_item_from_mcp with {} bytes, {} tags, {} metadata entries",
|
debug!("ITEM_SERVICE: Starting save_item_from_mcp with {} bytes, {} tags, {} metadata entries",
|
||||||
@@ -340,24 +342,13 @@ impl ItemService {
|
|||||||
writer.write_all(content)?;
|
writer.write_all(content)?;
|
||||||
drop(writer);
|
drop(writer);
|
||||||
|
|
||||||
let plugin_types = vec![
|
let mut plugins = self.meta_service.get_plugins(cmd, settings);
|
||||||
MetaPluginType::Digest,
|
debug!("ITEM_SERVICE: Got {} configured meta plugins for MCP item", plugins.len());
|
||||||
MetaPluginType::User,
|
|
||||||
MetaPluginType::Hostname,
|
self.meta_service.initialize_plugins(&mut plugins, conn, item_id);
|
||||||
];
|
self.meta_service.process_chunk(&mut plugins, content, conn, item_id);
|
||||||
|
|
||||||
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);
|
|
||||||
self.meta_service.finalize_plugins(&mut plugins, 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);
|
item.size = Some(content.len() as i64);
|
||||||
db::update_item(conn, item.clone())?;
|
db::update_item(conn, item.clone())?;
|
||||||
|
|||||||
Reference in New Issue
Block a user