pub struct SubagentRegistry { /* private fields */ }Expand description
Registry for managing subagent configurations
Implementations§
Source§impl SubagentRegistry
impl SubagentRegistry
Sourcepub fn new() -> RegistryResult<Self>
pub fn new() -> RegistryResult<Self>
Create a new subagent registry
Sourcepub fn load_all(&self) -> RegistryResult<()>
pub fn load_all(&self) -> RegistryResult<()>
Load all agent configurations and templates
Sourcepub fn register(&self, name: &str, agent: Arc<dyn Subagent>)
pub fn register(&self, name: &str, agent: Arc<dyn Subagent>)
Register an agent programmatically (for built-in agents)
Sourcepub fn get_executable_agent(&self, name: &str) -> Option<Arc<dyn Subagent>>
pub fn get_executable_agent(&self, name: &str) -> Option<Arc<dyn Subagent>>
Get an executable agent by name
Sourcepub fn get_all_agents(&self) -> HashMap<String, AgentInfo>
pub fn get_all_agents(&self) -> HashMap<String, AgentInfo>
Get all loaded agents
Sourcepub fn get_template(&self, name: &str) -> Option<TemplateInfo>
pub fn get_template(&self, name: &str) -> Option<TemplateInfo>
Get a template by name
Sourcepub fn get_all_templates(&self) -> HashMap<String, TemplateInfo>
pub fn get_all_templates(&self) -> HashMap<String, TemplateInfo>
Get all loaded templates
Sourcepub fn check_for_updates(&self) -> RegistryResult<bool>
pub fn check_for_updates(&self) -> RegistryResult<bool>
Check if any configurations have been modified and reload if necessary
Sourcepub fn get_agents_for_file(&self, file_path: &Path) -> Vec<AgentInfo>
pub fn get_agents_for_file(&self, file_path: &Path) -> Vec<AgentInfo>
Get agents that match a specific file pattern
Get agents with specific tags
Sourcepub fn create_default_agents(&self) -> RegistryResult<()>
pub fn create_default_agents(&self) -> RegistryResult<()>
Create default agent configurations
Trait Implementations§
Source§impl Debug for SubagentRegistry
impl Debug for SubagentRegistry
Auto Trait Implementations§
impl Freeze for SubagentRegistry
impl RefUnwindSafe for SubagentRegistry
impl Send for SubagentRegistry
impl Sync for SubagentRegistry
impl Unpin for SubagentRegistry
impl UnwindSafe for SubagentRegistry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more