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 clixml;
14mod command_options;
15mod cwd;
16mod each;
17#[cfg(test)]
18mod failing_tool;
19mod file_mode;
20mod interpreter_code;
21mod invocation;
22mod output_files;
23mod parameters;
24mod powershell;
25mod program_text;
26mod raw_checks;
27pub mod run;
28mod script;
29pub mod search_path;
30mod stdout_mode;
31pub mod validate;
32mod wrappers;
33
34pub use powershell::is_powershell;
35pub use run::ShellRun;
36
37/// The node type the shell processor registers under. Trust, consent and
38/// dry-run match nodes against this, so a recipe can't run a command
39/// without the consent check seeing it.
40pub const NODE_TYPE: &str = "shell-run";