Skip to main content

bnto_shell/
lib.rs

1// bnto-shell — Shell command execution for native targets.
2//
3// Provides the `shell-run` processor: a generic NodeProcessor that
4// executes external CLI tools via ProcessContext::run_command(). This
5// enables connector-as-recipe architecture — recipes can wrap any CLI
6// tool (ffmpeg, yt-dlp, imagemagick) without needing a dedicated Rust
7// processor for each one.
8//
9// Native-only: registered behind `#[cfg(feature = "native")]` in
10// bnto-engine. Browser (WASM) gets NoopContext which blocks execution.
11
12mod args;
13mod command_options;
14mod cwd;
15mod each;
16#[cfg(test)]
17mod failing_tool;
18mod file_mode;
19mod interpreter_code;
20mod invocation;
21mod output_files;
22mod parameters;
23mod program_text;
24mod raw_checks;
25pub mod run;
26mod script;
27pub mod search_path;
28mod stdout_mode;
29pub mod validate;
30mod wrappers;
31
32pub use run::ShellRun;
33
34/// The node type the shell processor registers under. Trust, consent and
35/// dry-run match nodes against this, so a recipe can't run a command
36/// without the consent check seeing it.
37pub const NODE_TYPE: &str = "shell-run";