Public declaration syntax from forge-rs/crates/forge-tool/src/registry.rs Original source SHA-256: d05270eb3dd4169101f2ffd197f9e81b42e1cb7282d2506bd738e13a2bcf5c35 Function bodies and constant values are omitted. This is not the complete implementation. Source line 100 #[derive(Clone)] pub struct ToolRegistry { } Source line 121 pub fn new() -> Self; Source line 178 pub fn register( &mut self, definition: ToolDefinition, executor: Arc, ) -> Result<(), ForgeToolError>; Source line 242 pub fn get(&self, name: &str) -> Option<(&ToolDefinition, &Arc)>; Source line 279 pub fn list(&self) -> Vec<&ToolDefinition>; Source line 318 pub fn definitions(&self) -> Vec; Source line 336 pub fn len(&self) -> usize; Source line 354 pub fn is_empty(&self) -> bool; Source line 401 pub fn remove(&mut self, name: &str) -> Option<(ToolDefinition, Arc)>; Source line 441 pub fn contains(&self, name: &str) -> bool;