use elicitation::{Elicit, collect_all_elicit_tools};
#[derive(Debug, Clone, Elicit, serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
struct _TestConfig {
_name: String,
}
#[derive(Debug, Clone, Elicit, serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
struct _TestUser {
_id: u32,
}
#[test]
fn test_tool_discovery() {
let tools = collect_all_elicit_tools();
let tool_names: Vec<&str> = tools.iter().map(|t| t.type_name).collect();
println!("Found {} tools: {:?}", tools.len(), tool_names);
assert!(
tool_names.contains(&"_TestConfig"),
"_TestConfig should be registered"
);
assert!(
tool_names.contains(&"_TestUser"),
"_TestUser should be registered"
);
}
#[test]
fn test_qualified_names() {
let tools = collect_all_elicit_tools();
for tool in tools {
let qualified = tool.qualified_name();
println!("Tool: {} ({})", tool.type_name, qualified);
assert!(qualified.contains(tool.type_name));
}
}