pub async fn run_for_node(args: Vec<String>) -> Result<RunResult>
Programmatic entrypoint to execute the CLI with provided arguments and capture output. This avoids spawning a new process and preserves deterministic behavior.