pub struct SkillDiscoveryPlugin { /* private fields */ }Expand description
Injects a skills catalog into the LLM context so the model can discover and activate skills.
This is intentionally non-persistent: the catalog is rebuilt from the registry snapshot per step.
Implementations§
Source§impl SkillDiscoveryPlugin
impl SkillDiscoveryPlugin
pub fn new(registry: Arc<dyn SkillRegistry>) -> SkillDiscoveryPlugin
pub fn with_limits( self, max_entries: usize, max_chars: usize, ) -> SkillDiscoveryPlugin
Trait Implementations§
Source§impl AgentBehavior for SkillDiscoveryPlugin
impl AgentBehavior for SkillDiscoveryPlugin
fn id(&self) -> &str
Source§fn register_lattice_paths(&self, registry: &mut LatticeRegistry)
fn register_lattice_paths(&self, registry: &mut LatticeRegistry)
Register lattice (CRDT) paths with the registry.
Source§fn register_state_scopes(&self, registry: &mut StateScopeRegistry)
fn register_state_scopes(&self, registry: &mut StateScopeRegistry)
Register state scopes with the registry.
Source§fn register_state_action_deserializers(
&self,
registry: &mut StateActionDeserializerRegistry,
)
fn register_state_action_deserializers( &self, registry: &mut StateActionDeserializerRegistry, )
Register state-action deserializers for persisted intent-log replay and recovery.
fn before_inference<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 ReadOnlyContext<'life2>,
) -> Pin<Box<dyn Future<Output = ActionSet<BeforeInferenceAction>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SkillDiscoveryPlugin: 'async_trait,
fn behavior_ids(&self) -> Vec<&str>
fn run_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 ReadOnlyContext<'life2>,
) -> Pin<Box<dyn Future<Output = ActionSet<LifecycleAction>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn step_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 ReadOnlyContext<'life2>,
) -> Pin<Box<dyn Future<Output = ActionSet<LifecycleAction>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn after_inference<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 ReadOnlyContext<'life2>,
) -> Pin<Box<dyn Future<Output = ActionSet<AfterInferenceAction>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn before_tool_execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 ReadOnlyContext<'life2>,
) -> Pin<Box<dyn Future<Output = ActionSet<BeforeToolExecuteAction>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn after_tool_execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 ReadOnlyContext<'life2>,
) -> Pin<Box<dyn Future<Output = ActionSet<AfterToolExecuteAction>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn step_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 ReadOnlyContext<'life2>,
) -> Pin<Box<dyn Future<Output = ActionSet<LifecycleAction>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn run_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 ReadOnlyContext<'life2>,
) -> Pin<Box<dyn Future<Output = ActionSet<LifecycleAction>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Source§impl Clone for SkillDiscoveryPlugin
impl Clone for SkillDiscoveryPlugin
Source§fn clone(&self) -> SkillDiscoveryPlugin
fn clone(&self) -> SkillDiscoveryPlugin
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SkillDiscoveryPlugin
impl !RefUnwindSafe for SkillDiscoveryPlugin
impl Send for SkillDiscoveryPlugin
impl Sync for SkillDiscoveryPlugin
impl Unpin for SkillDiscoveryPlugin
impl !UnwindSafe for SkillDiscoveryPlugin
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