pub struct CodeExecutionConfig {
pub enabled: bool,
pub language_allowlist: Vec<String>,
pub module_denylist: Vec<String>,
pub network_access: bool,
pub max_execution_time_ms: Option<u64>,
pub max_scan_bytes: usize,
}Expand description
Configuration for CodeExecutionGuard.
Fields§
§enabled: boolEnable/disable the guard entirely.
language_allowlist: Vec<String>Allowed interpreter languages. Empty means “any language”.
module_denylist: Vec<String>Dangerous module names (used as word-boundary literal matches
against the code body). Defaults to
default_dangerous_modules.
network_access: boolWhen false, deny code-execution calls that request network
access (either via argument flag or a detectable network import).
max_execution_time_ms: Option<u64>Maximum execution time in milliseconds. When set, any call with
an execution_time_ms / timeout_ms argument above this value
is denied. None disables the check.
max_scan_bytes: usizeMaximum bytes of code to scan for module / network detection. Longer code bodies are denied outright (fail-closed) so a padding-based bypass cannot push a forbidden import past the scan boundary.
Trait Implementations§
Source§impl Clone for CodeExecutionConfig
impl Clone for CodeExecutionConfig
Source§fn clone(&self) -> CodeExecutionConfig
fn clone(&self) -> CodeExecutionConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 CodeExecutionConfig
impl Debug for CodeExecutionConfig
Source§impl Default for CodeExecutionConfig
impl Default for CodeExecutionConfig
Source§impl<'de> Deserialize<'de> for CodeExecutionConfig
impl<'de> Deserialize<'de> for CodeExecutionConfig
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 CodeExecutionConfig
impl RefUnwindSafe for CodeExecutionConfig
impl Send for CodeExecutionConfig
impl Sync for CodeExecutionConfig
impl Unpin for CodeExecutionConfig
impl UnsafeUnpin for CodeExecutionConfig
impl UnwindSafe for CodeExecutionConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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