-
Notifications
You must be signed in to change notification settings - Fork 168
Description
Problem or use case
following with the new contributing.md
From my research, Codex already emits a JSONL event stream (thread/turn/item/error events), which seems like the cleanest integration surface to start with.
Proposed scope for an initial PR: support non-interactive runs via codex exec --json.
If we can ingest that stream and write it into the existing session/checkpoint format, we get real value without needing interactive hook support. (Codex stores local state under CODEX_HOME if we ever need to reference per-session artifacts.)
Steps:
Add entire codex exec -- <codex args/prompt> that runs codex exec --json ...
Stream-parse JSONL, ignore unknown event types, and persist:
normalized session/checkpoint data (same place/branch as other agents)
raw JSONL as an artifact for debugging and future mapping improvements
Will include tests
Caveat: This is for non-interactive codex exec flow only (not interactive TUI hooks).
Desired behavior
$ entire codex exec [flags] -- with --model and --sandbox flagsProposed solution
Use wrapper command (entire codex exec) rather than hooks. The wrapper runs codex exec --json, tees the JSONL event stream to capture it, then creates a checkpoint through the existing strategy.SaveChanges() pipeline.
Register a codexcli agent package following the same pattern as claudecode and geminicli (self-registration via init(), full Agent interface, TranscriptAnalyzer, TranscriptChunker)
Streaming JSONL parser that extracts thread ID, messages, commands, file changes, and token usage, make it tolerant of unknown event types, so it won't break when Codex adds new ones
entire codex exec [flags] -- with --model and --sandbox flags
Uses the shared DetectFileChanges, FilterAndNormalizePaths, cleanPromptForCommit, and GetGitAuthor, no new abstractions
Alternatives or workarounds
No response
Looking for maintainer response