Skip to main content

vtcode_bash_runner/
lib.rs

1//! Cross-platform command runner modeled after VT Code's original bash
2//! wrapper. The crate exposes a trait-based executor so downstream
3//! applications can swap the underlying process strategy (system shell,
4//! pure-Rust emulation, or dry-run logging) while reusing the higher-level
5//! helpers for workspace-safe filesystem manipulation.
6
7pub mod background;
8pub mod executor;
9pub mod policy;
10pub mod runner;
11pub mod stream;
12
13pub use background::{BackgroundCommandManager, BackgroundTaskHandle, BackgroundTaskStatus};
14#[cfg(feature = "dry-run")]
15pub use executor::DryRunCommandExecutor;
16#[cfg(feature = "exec-events")]
17pub use executor::EventfulExecutor;
18#[cfg(feature = "pure-rust")]
19pub use executor::PureRustCommandExecutor;
20pub use executor::{
21    CommandCategory, CommandExecutor, CommandInvocation, CommandOutput, CommandStatus,
22    ProcessCommandExecutor, ShellKind,
23};
24pub use policy::{AllowAllPolicy, CommandPolicy, WorkspaceGuardPolicy};
25pub use runner::BashRunner;
26pub use stream::{ReadLineResult, read_line_with_limit};