use agent_contracts::tool::ToolSource;
use super::builtin::BuiltinToolSource;
use super::plugin::PluginToolSource;
use super::ToolRuntimeServices;
pub fn load_tool_sources() -> Vec<Box<dyn ToolSource>> {
load_tool_sources_with_services(ToolRuntimeServices::default())
}
pub fn load_tool_sources_with_services(services: ToolRuntimeServices) -> Vec<Box<dyn ToolSource>> {
let workspace_root = services.workspace_root.clone();
vec![
Box::new(BuiltinToolSource::new(services)),
Box::new(PluginToolSource::new(workspace_root)),
]
}