refactor: Support both CSV and list formats for enabled_mcp_servers

This commit is contained in:
2026-06-03 13:23:13 -06:00
parent 7637a4e46b
commit 1263ada775
15 changed files with 174 additions and 97 deletions
+3 -3
View File
@@ -257,7 +257,7 @@ fn build_inline_role(
if node.tools.as_deref().unwrap_or_default().is_empty() {
role.set_enabled_tools(Some(String::new()));
role.set_enabled_mcp_servers(Some(String::new()));
role.set_enabled_mcp_servers(Some(Vec::new()));
} else {
if !regular_tools.is_empty() {
role.set_enabled_tools(Some(regular_tools.join(",")));
@@ -265,9 +265,9 @@ fn build_inline_role(
role.set_enabled_tools(Some(String::new()));
}
if !mcp_servers.is_empty() {
role.set_enabled_mcp_servers(Some(mcp_servers.join(",")));
role.set_enabled_mcp_servers(Some(mcp_servers.to_vec()));
} else {
role.set_enabled_mcp_servers(Some(String::new()));
role.set_enabled_mcp_servers(Some(Vec::new()));
}
}
+5 -2
View File
@@ -56,7 +56,7 @@ async fn extract_via_extractor(
fn build_extractor_role() -> Result<Role> {
let mut role = Role::new(EXTRACTOR_ROLE_NAME, EXTRACTOR_ROLE_PROMPT);
role.set_enabled_tools(Some(String::new()));
role.set_enabled_mcp_servers(Some(String::new()));
role.set_enabled_mcp_servers(Some(Vec::new()));
Ok(role)
}
@@ -184,6 +184,9 @@ mod tests {
let role = build_extractor_role().expect("builtin role must exist");
assert_eq!(role.enabled_tools().as_deref(), Some(""));
assert_eq!(role.enabled_mcp_servers().as_deref(), Some(""));
assert_eq!(
role.enabled_mcp_servers().as_deref(),
Some([].as_slice())
);
}
}