Shared client configuration for the Codex CLI.
Holds binary path, working directory, environment variables, and default options that apply across all commands.
Usage
config = CodexWrapper.Config.new()
config = CodexWrapper.Config.new(working_dir: "/path/to/project")
Summary
Functions
Build the base command args from config (global flags).
Build the cmd options (working dir, env) for System.cmd.
Find the codex binary path.
Create a new config from keyword options.
Build the runner options for a streaming run.
Types
Functions
Build the base command args from config (global flags).
Build the cmd options (working dir, env) for System.cmd.
@spec find_binary() :: String.t()
Find the codex binary path.
Checks in order:
CODEX_CLIenvironment variable- System PATH
Create a new config from keyword options.
Options
:binary- Path to the codex binary (default: auto-discover):working_dir- Working directory for the subprocess:env- List of{key, value}environment variable tuples:timeout- Command timeout in milliseconds:verbose- Enable verbose output
Build the runner options for a streaming run.
Same shape as cmd_opts/1 but with stderr_to_stdout: false: the
streaming paths parse NDJSON off stdout, and merging stderr into it
would put unparseable lines in the stream. Stderr is left to flow to
the parent's stderr.