pub struct SequencePolicy {
pub required_predecessors: HashMap<String, HashSet<String>>,
pub forbidden_transitions: Vec<(String, String)>,
pub max_consecutive: Option<u32>,
pub required_first_tool: Option<String>,
}Expand description
Policy configuration for the behavioral sequence guard.
Fields§
§required_predecessors: HashMap<String, HashSet<String>>Tools that must have been invoked before a given tool can run. Map from tool_name to set of required predecessor tools.
forbidden_transitions: Vec<(String, String)>Forbidden immediate transitions: (from_tool, to_tool) pairs.
If the last invoked tool is from_tool, then to_tool is denied.
max_consecutive: Option<u32>Maximum consecutive invocations of the same tool. None means unlimited.
required_first_tool: Option<String>If set, the first tool in the session must match this name.
Trait Implementations§
Source§impl Clone for SequencePolicy
impl Clone for SequencePolicy
Source§fn clone(&self) -> SequencePolicy
fn clone(&self) -> SequencePolicy
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 moreSource§impl Debug for SequencePolicy
impl Debug for SequencePolicy
Source§impl Default for SequencePolicy
impl Default for SequencePolicy
Source§fn default() -> SequencePolicy
fn default() -> SequencePolicy
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SequencePolicy
impl RefUnwindSafe for SequencePolicy
impl Send for SequencePolicy
impl Sync for SequencePolicy
impl Unpin for SequencePolicy
impl UnsafeUnpin for SequencePolicy
impl UnwindSafe for SequencePolicy
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