pub struct ToolPolicyPlugin;Expand description
Tool scope policy plugin.
Enforces allow/deny list filtering via typed RunPolicy policy fields.
Install before PermissionPlugin so out-of-scope tools are blocked first.
Trait Implementations§
Source§impl AgentBehavior for ToolPolicyPlugin
impl AgentBehavior for ToolPolicyPlugin
fn id(&self) -> &str
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,
ToolPolicyPlugin: '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,
ToolPolicyPlugin: 'async_trait,
fn behavior_ids(&self) -> Vec<&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 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 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,
Auto Trait Implementations§
impl Freeze for ToolPolicyPlugin
impl RefUnwindSafe for ToolPolicyPlugin
impl Send for ToolPolicyPlugin
impl Sync for ToolPolicyPlugin
impl Unpin for ToolPolicyPlugin
impl UnwindSafe for ToolPolicyPlugin
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