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: boolEnable 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: boolAutomatically 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: boolWhen true, snapshot failure aborts execution with an error. When false (default), snapshot failure emits a warning and execution proceeds.
max_snapshot_bytes: u64Maximum cumulative bytes for transaction snapshots. 0 = unlimited.