//! Entry-point for the `codex-exec` binary. //! //! When this CLI is invoked normally, it parses the standard `codex-exec` CLI //! options and launches the non-interactive Codex agent. However, if it is //! invoked with arg0 as `codex-linux-sandbox`, we instead treat the invocation //! as a request to run the logic for the standalone `codex-linux-sandbox` //! executable (i.e., parse any -s args and then run a *sandboxed* command under //! Landlock + seccomp. //! //! This allows us to ship a completely separate set of functionality as part //! of the `codex-exec` binary. use clap::Parser; use codex_exec::Cli; use codex_exec::run_main; fn main() -> anyhow::Result<()> { codex_linux_sandbox::run_with_sandbox(|codex_linux_sandbox_exe| async move { let cli = Cli::parse(); run_main(cli, codex_linux_sandbox_exe).await?; Ok(()) }) }