Skip to main content

Crate vtcode_bash_runner

Crate vtcode_bash_runner 

Source
Expand description

Cross-platform command runner modeled after VT Code’s original bash wrapper. The crate exposes a trait-based executor so downstream applications can swap the underlying process strategy (system shell, pure-Rust emulation, or dry-run logging) while reusing the higher-level helpers for workspace-safe filesystem manipulation.

§Modules

  • executor - Command execution strategies (process, dry-run, pure-rust)
  • runner - High-level BashRunner for workspace-safe operations
  • background - Background task management
  • pipe - Async pipe-based process spawning with unified handles
  • process - Process handle types for PTY and pipe backends
  • process_group - Process group management for reliable cleanup
  • stream - Stream utilities for reading output

Re-exports§

pub use background::BackgroundCommandManager;
pub use background::BackgroundTaskHandle;
pub use background::BackgroundTaskStatus;
pub use executor::DryRunCommandExecutor;
pub use executor::EventfulExecutor;
pub use executor::PureRustCommandExecutor;
pub use executor::CommandCategory;
pub use executor::CommandExecutor;
pub use executor::CommandInvocation;
pub use executor::CommandOutput;
pub use executor::CommandStatus;
pub use executor::ProcessCommandExecutor;
pub use executor::ShellKind;
pub use policy::AllowAllPolicy;
pub use policy::CommandPolicy;
pub use policy::WorkspaceGuardPolicy;
pub use runner::BashRunner;
pub use stream::ReadLineResult;
pub use stream::read_line_with_limit;
pub use pipe::PipeSpawnOptions;
pub use pipe::PipeStdinMode;
pub use pipe::spawn_process as spawn_pipe_process;
pub use pipe::spawn_process_no_stdin as spawn_pipe_process_no_stdin;
pub use pipe::spawn_process_with_options as spawn_pipe_process_with_options;
pub use process::ChildTerminator;
pub use process::ExecCommandSession;
pub use process::ProcessHandle;
pub use process::PtyHandles;
pub use process::SpawnedProcess;
pub use process::SpawnedPty;
pub use process::collect_output_until_exit;
pub use process_group::DEFAULT_GRACEFUL_TIMEOUT_MS;
pub use process_group::GracefulTerminationResult;
pub use process_group::KillSignal;
pub use process_group::detach_from_tty;
pub use process_group::graceful_kill_process_group;
pub use process_group::graceful_kill_process_group_default;
pub use process_group::kill_child_process_group;
pub use process_group::kill_child_process_group_with_signal;
pub use process_group::kill_process_group;
pub use process_group::kill_process_group_by_pid;
pub use process_group::kill_process_group_by_pid_with_signal;
pub use process_group::kill_process_group_with_signal;
pub use process_group::set_parent_death_signal;
pub use process_group::set_process_group;
pub use process_group::kill_process;

Modules§

background
executor
pipe
Async pipe-based process spawning with unified handle interface.
policy
process
Unified process handle types for PTY and pipe backends.
process_group
Process-group helpers for reliable child process cleanup.
runner
stream