Document-shape types for .bnto.json files — the authoring view.
Mirrors the TypeScript Definition types and round-trips every real
recipe fixture. Distinct from pipeline (the execution-pruned view).
Definition JSON Schema — validates .bnto.json files.
Generates a JSON Schema (Draft 2020-12) describing the Definition structure
so any consumer can validate recipe files without reimplementing TS types.
Editor state model — pure-data recipe editing state.
Shared by all editor surfaces (TUI List, Wizard, Code, Graph).
No TUI dependency. Sprint 15 extracts to standalone bnto-editor crate.
Structured pipeline events — rich progress reporting for multi-node execution.
Powers per-node status highlighting in the editor, progress bars, and error display.
File content abstraction — in-memory bytes or on-disk path reference.
Large files (shell-command outputs) stay on disk as path references to
avoid reading multi-GB files into memory.
Node metadata types — self-describing processor definitions.
Each processor declares its name, category, parameters, accepted MIME types,
and whether it runs in the browser. Powers the node_catalog() WASM export.
Secret declarations for recipes — pre-flight validation of required env vars.
Recipes declare what secrets they need; the engine validates before execution.
Version constraint checking for external dependencies.
Parses --version output, extracts version numbers, validates against
constraint strings like ">=6.0".
Version constraint checking for external dependencies.
Default quality when not specified by the user (1-100 scale).
80 is the industry sweet spot: significant file size savings with barely
noticeable quality loss for most photos. Used by all image operations
(compress, resize, convert).