#[non_exhaustive]pub struct ArgumentAllowlist {
pub tool: String,
pub argument: String,
pub allowed: Vec<String>,
}Expand description
Per-tool argument allowlist entry.
When the middleware sees a tools/call for tool, it extracts the
string value at argument from the call’s arguments object and checks
its first token against allowed. If the token is not in the list
the call is rejected with 403.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.tool: StringTool name to match (exact or glob, e.g. "run_query").
argument: StringArgument key whose value is checked (e.g. "cmd", "query").
allowed: Vec<String>Permitted first-token values. Empty means unrestricted.
Implementations§
Trait Implementations§
Source§impl Clone for ArgumentAllowlist
impl Clone for ArgumentAllowlist
Source§fn clone(&self) -> ArgumentAllowlist
fn clone(&self) -> ArgumentAllowlist
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 ArgumentAllowlist
impl Debug for ArgumentAllowlist
Source§impl<'de> Deserialize<'de> for ArgumentAllowlist
impl<'de> Deserialize<'de> for ArgumentAllowlist
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ArgumentAllowlist
impl RefUnwindSafe for ArgumentAllowlist
impl Send for ArgumentAllowlist
impl Sync for ArgumentAllowlist
impl Unpin for ArgumentAllowlist
impl UnsafeUnpin for ArgumentAllowlist
impl UnwindSafe for ArgumentAllowlist
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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