use crate::brain::tools::Tool;
use crate::brain::tools::catalog::{CORE_TOOLS, EXTENDED_TOOL_INVENTORY, is_core};
use crate::brain::tools::config_tool::ConfigTool;
use crate::brain::tools::context::ContextTool;
use crate::brain::tools::http::HttpClientTool;
#[test]
fn previously_drifted_core_tools_resolve_to_their_real_names() {
for name in [ContextTool.name(), HttpClientTool.name(), ConfigTool.name()] {
assert!(
CORE_TOOLS.contains(&name),
"core tool `{name}` missing from CORE_TOOLS"
);
assert!(is_core(name), "is_core(`{name}`) must be true");
}
}
#[test]
fn extended_inventory_lists_team_and_brave_and_drops_stale_provider_vision() {
let names: Vec<&str> = EXTENDED_TOOL_INVENTORY
.iter()
.flat_map(|(_, names)| names.iter().copied())
.collect();
for t in [
"team_create",
"team_delete",
"team_broadcast",
"brave_search",
] {
assert!(
names.contains(&t),
"extended inventory missing `{t}` (#670)"
);
}
assert!(
!names.contains(&"provider_vision"),
"stale `provider_vision` still in the inventory (#670)"
);
}
#[test]
fn old_drifted_aliases_are_gone() {
for alias in ["context", "http_client", "config_tool"] {
assert!(
!CORE_TOOLS.contains(&alias),
"drifted alias `{alias}` is back in CORE_TOOLS"
);
assert!(!is_core(alias), "is_core(`{alias}`) must be false");
}
}