Releases: JKamsker/JKToolKit.CodexSDK
0.0.110
What's Changed
- Automation/upstream codex 0.106.0 by @JKamsker in #15
- chore(upstream): bump @openai/codex to 0.107.0 by @github-actions[bot] in #16
- chore(upstream): bump @openai/codex to 0.110.0 by @github-actions[bot] in #18
- chore(upstream): bump @openai/codex to 0.111.0 by @github-actions[bot] in #19
- chore(upstream): bump @openai/codex to 0.112.0 by @github-actions[bot] in #20
- chore(upstream): bump @openai/codex to 0.113.0 by @github-actions[bot] in #21
- chore(upstream): bump @openai/codex to 0.114.0 by @github-actions[bot] in #22
- chore(upstream): bump @openai/codex to 0.115.0 by @github-actions[bot] in #23
- chore(upstream): bump @openai/codex to 0.116.0 by @github-actions[bot] in #24
- chore(upstream): bump @openai/codex to 0.117.0 by @github-actions[bot] in #25
- fix: codex-cli 0.118.0 parity pass by @JKamsker in #27
New Contributors
- @github-actions[bot] made their first contribution in #16
Full Changelog: 0.0.109...0.0.110
0.0.109
0.0.101
0.0.70
What's Changed
- Add resilient app-server client with auto-restart and retry policies by @JKamsker in #3
- Feat/compatibility by @JKamsker in #4
- Feat/output schema by @JKamsker in #5
- Make uncorrelated session log discovery optional by @JKamsker in #6
- Feat/cleanup by @JKamsker in #7
- Feat/appserver mcp management by @JKamsker in #8
Full Changelog: 0.0.29...0.0.70
0.0.29
What’s new in 0.0.29
0.0.29 is a usability-focused release: it tightens up event parsing and introduces a cleaner, more “one-stop” SDK surface while simplifying demos and namespaces.
New CodexSdk facade (new architecture)
You can now use a single entry point that groups the three ways of interacting with Codex:
sdk.Exec– Exec mode (built on the existingCodexClient)sdk.AppServer– App-server mode (starts/controlsCodexAppServerClientinstances via a factory)sdk.McpServer– MCP server mode (starts/controlsCodexMcpServerClientinstances via a factory)
The key architectural change is that CodexSdk is a thin composition layer: it doesn’t replace the underlying clients, it just makes the “happy path” easier to discover and wire up.
DI + non-DI support
- DI:
services.AddCodexSdk(...)registers the underlying components and exposes a singleCodexSdkto consume. - Non-DI:
CodexSdk.Create(builder => ...)usesCodexSdkBuilderto configure options and construct the composed SDK directly.
Configuration precedence
CodexSdkBuilder supports global defaults like CodexExecutablePath, but mode-specific configuration wins (global path only applies when the mode-specific path is unset). This makes it easy to share defaults while still overriding per mode when needed.
Event pipeline improvements
- Adds
event_msgunwrapping, so consumers see a cleaner, more consistent event shape without having to manually peel nested payloads. - Adds a review output model, making
codex reviewresults easier to handle as structured data.
Namespace and demo cleanup
- Exec-facing types move from
JKToolKit.CodexSDK.PublictoJKToolKit.CodexSDK.Exec. - Models consolidate under
JKToolKit.CodexSDK.Models(replacing*.Public.Modelsusage in docs/samples). - Multiple demo projects are consolidated into a single
JKToolKit.CodexSDK.Demowith subcommands (review/appserver/mcpserver flows).
Included PRs
- Add event_msg unwrapping and review output model (#1)
- Add
CodexSdkfacade + consolidate demos + namespace cleanup (#2)
Full changelog: https://github.com/JKamsker/JKToolKit.CodexSDK/commits/0.0.29