use std::sync::Arc;
use agent_contracts::tool::DiscoveredTool;
use crate::r#impl::ToolRuntimeServices;
use super::executor::JoinSubagentExecutor;
use super::spec::JoinSubagentToolSpec;
pub(crate) fn discover_join_subagent(services: ToolRuntimeServices) -> DiscoveredTool {
let spec = Arc::new(JoinSubagentToolSpec::new());
let executor = JoinSubagentExecutor::new(Arc::clone(&spec), services);
DiscoveredTool {
spec,
executor: Arc::new(executor),
}
}