pub struct DynamicPluginManager { /* private fields */ }Expand description
Manages dynamic plugin loading based on workflow needs
Implementations§
Source§impl DynamicPluginManager
impl DynamicPluginManager
Sourcepub fn new(bridge: Arc<IntegrationBridge>, memory_budget_mb: f64) -> Self
pub fn new(bridge: Arc<IntegrationBridge>, memory_budget_mb: f64) -> Self
Create a new dynamic plugin manager
Sourcepub async fn register_always_on(
&self,
name: &str,
capabilities: Vec<Capability>,
)
pub async fn register_always_on( &self, name: &str, capabilities: Vec<Capability>, )
Register an always-on plugin (will be immediately activated)
Sourcepub async fn register_on_demand(
&self,
name: &str,
capabilities: Vec<Capability>,
memory_mb: f64,
)
pub async fn register_on_demand( &self, name: &str, capabilities: Vec<Capability>, memory_mb: f64, )
Register an on-demand plugin (will be loaded when needed)
Sourcepub async fn ensure_capabilities(
&self,
required: &[Capability],
) -> Result<Vec<String>, String>
pub async fn ensure_capabilities( &self, required: &[Capability], ) -> Result<Vec<String>, String>
Ensure required capabilities are available, loading plugins if needed
Sourcepub async fn unload_plugin(&self, name: &str) -> Result<(), String>
pub async fn unload_plugin(&self, name: &str) -> Result<(), String>
Unload a plugin by name (fails for always-on plugins)
Sourcepub async fn suspend_plugin(&self, name: &str) -> Result<(), String>
pub async fn suspend_plugin(&self, name: &str) -> Result<(), String>
Suspend a plugin (keep state, free resources)
Sourcepub async fn process_intent(&self, message: &str) -> ProcessedIntent
pub async fn process_intent(&self, message: &str) -> ProcessedIntent
Process a user message and ensure required plugins are loaded
Sourcepub async fn status(&self) -> PluginManagerStatus
pub async fn status(&self) -> PluginManagerStatus
Get current plugin status summary
Auto Trait Implementations§
impl Freeze for DynamicPluginManager
impl !RefUnwindSafe for DynamicPluginManager
impl Send for DynamicPluginManager
impl Sync for DynamicPluginManager
impl Unpin for DynamicPluginManager
impl !UnwindSafe for DynamicPluginManager
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> 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