feat: add non-interactive mode to pkgs CLIs master
Makes every CLI in the monorepo safe to run unattended from CI or an LLM agent — no more hanging on a stdin prompt or dropping into a menu with no TTY attached. Non-interactive context is detected via an explicit --non-interactive flag, CI=true, or a non-TTY stdin. - bismuth: guard the stdin-read path so it fails fast instead of hanging when no file arg is given and stdin is an interactive TTY - jasper: prompt() now refuses to block in non-interactive mode; the zero-arg → interactive-menu fallthrough now errors instead; new --gallery/--gallery-title/--gallery-description and --session flags close the two prompt sites that previously had no flag equivalent - malachite: same prompt() guard pattern; the no-substantive-args → interactive-menu gate now errors instead of prompting; existing -y/--yes-gated confirms get specific non-interactive error messages - opal: accepts --non-interactive as a no-op (already fully CI-safe) - tangled-sync: new --dry-run flag guards the git push, putRecord write, and README commit+push side effects - nix-config-tools/server-config (Rust): guard-only — refuses to run past --show when non-interactive, before any dialoguer prompt (including the one gating `sudo nixos-rebuild switch`) is reached Version bumps: bismuth 0.2.4→0.3.0, jasper 0.6.1→0.7.0, malachite 0.16.2→0.17.0, opal 0.2.1→0.3.0, tangled-sync 1.0.3→1.1.0, nix-config-tools 0.1.0→0.1.1 (patch — guard only, no new public flag) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>