Skip to main content

ShellConfig

Struct ShellConfig 

Source
pub struct ShellConfig {
Show 13 fields pub timeout: u64, pub blocked_commands: Vec<String>, pub allowed_commands: Vec<String>, pub allowed_paths: Vec<String>, pub allow_network: bool, pub confirm_patterns: Vec<String>, pub env_blocklist: Vec<String>, pub transactional: bool, pub transaction_scope: Vec<String>, pub auto_rollback: bool, pub auto_rollback_exit_codes: Vec<i32>, pub snapshot_required: bool, pub max_snapshot_bytes: u64,
}
Expand description

Shell-specific configuration: timeout, command blocklist, and allowlist overrides.

Fields§

§timeout: u64§blocked_commands: Vec<String>§allowed_commands: Vec<String>§allowed_paths: Vec<String>§allow_network: bool§confirm_patterns: Vec<String>§env_blocklist: Vec<String>

Environment variable name prefixes to strip from subprocess environment. Variables whose names start with any of these prefixes are removed before spawning shell commands. Default covers common credential naming conventions.

§transactional: bool

Enable transactional mode: snapshot files before write commands, rollback on failure.

§transaction_scope: Vec<String>

Glob patterns defining which paths are eligible for snapshotting. Only files matching these patterns (relative to cwd) are captured. Empty = snapshot all files referenced in the command.

§auto_rollback: bool

Automatically rollback when exit code >= 2. Default: false. Exit code 1 is excluded because many tools (grep, diff, test) use it for non-error conditions.

§auto_rollback_exit_codes: Vec<i32>

Exit codes that trigger auto-rollback. Default: empty (uses >= 2 heuristic). When non-empty, only these exact exit codes trigger rollback.

§snapshot_required: bool

When true, snapshot failure aborts execution with an error. When false (default), snapshot failure emits a warning and execution proceeds.

§max_snapshot_bytes: u64

Maximum cumulative bytes for transaction snapshots. 0 = unlimited.

Implementations§

Trait Implementations§

Source§

impl Debug for ShellConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ShellConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ShellConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for ShellConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,