Process manager wrapping the codex binary via erlexec.
Provides blocking and streaming helpers that decode JSONL event output into
typed %Codex.Events{} structs.
Summary
Functions
Runs codex exec review and accumulates all emitted events.
Returns a lazy stream of events for codex exec review.
Runs codex in blocking mode and accumulates all emitted events.
Returns a lazy stream of events. The underlying process starts on first enumeration and stops automatically when the stream halts.
Types
@type exec_opts() :: %{ optional(:codex_opts) => Codex.Options.t(), optional(:thread) => Codex.Thread.t(), optional(:turn_opts) => map(), optional(:continuation_token) => String.t(), optional(:attachments) => [Codex.Files.Attachment.t()], optional(:output_schema_path) => String.t(), optional(:tool_outputs) => [map()], optional(:tool_failures) => [map()], optional(:env) => map(), optional(:clear_env?) => boolean(), optional(:cancellation_token) => String.t(), optional(:timeout_ms) => pos_integer() }
Functions
Runs codex exec review and accumulates all emitted events.
@spec review_stream(term(), exec_opts()) :: {:ok, Enumerable.t()} | {:error, term()}
Returns a lazy stream of events for codex exec review.
Runs codex in blocking mode and accumulates all emitted events.
@spec run_stream(String.t(), exec_opts()) :: {:ok, Enumerable.t()} | {:error, term()}
Returns a lazy stream of events. The underlying process starts on first enumeration and stops automatically when the stream halts.