Summary
Add a new SessionProvider for OpenAI Codex CLI so DPlex can discover and resume Codex sessions out of the box, alongside Copilot CLI and Claude Code.
Background
DPlex's provider system is documented in docs/providers.md. Each provider is one TypeScript class implementing SessionProvider (defined in src/main/services/providers/types.ts). Built-ins live in src/main/services/providers/.
Acceptance criteria
Files to touch
src/main/services/providers/codexProvider.ts (new)
src/main/services/providers/index.ts (register)
tests/unit/codex-provider.test.ts (new)
How to test
npm run typecheck
npm run test:unit
npm run dev # confirm Codex sessions appear in the Sessions tab if you have any
Reference
- See
claudeCodeProvider.ts for the closest analog (also pidfile-based active detection).
- See
copilotProvider.ts for the other built-in.
Effort: 1-2 days for someone unfamiliar with the codebase.
Summary
Add a new
SessionProviderfor OpenAI Codex CLI so DPlex can discover and resume Codex sessions out of the box, alongside Copilot CLI and Claude Code.Background
DPlex's provider system is documented in
docs/providers.md. Each provider is one TypeScript class implementingSessionProvider(defined insrc/main/services/providers/types.ts). Built-ins live insrc/main/services/providers/.Acceptance criteria
src/main/services/providers/codexProvider.tsexporting aCodexProviderclass that implementsSessionProvider.createDefaultRegistry()insrc/main/services/providers/index.ts.~/.codex/sessionsor similar).getResumeCommand(sessionId)returns the correctcodex --resume=<id>shape.Files to touch
src/main/services/providers/codexProvider.ts(new)src/main/services/providers/index.ts(register)tests/unit/codex-provider.test.ts(new)How to test
npm run typecheck npm run test:unit npm run dev # confirm Codex sessions appear in the Sessions tab if you have anyReference
claudeCodeProvider.tsfor the closest analog (also pidfile-based active detection).copilotProvider.tsfor the other built-in.Effort: 1-2 days for someone unfamiliar with the codebase.