Packages
lemon_cli_runners
0.1.0
Vendor AI CLIs (Claude Code, Codex, Droid, Kimi, OpenCode, Pi) wrapped as streaming subagents: JSONL subprocess management, per-vendor event schemas, session resume, and lifecycle control.
Current section
Files
Jump to
Current section
Files
lemon_cli_runners
CHANGELOG.md
CHANGELOG.md
# Changelog
All notable changes to `lemon_cli_runners` are documented here.
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/);
releases follow [Semantic Versioning](https://semver.org/) from `0.1.0` onward.
## [Unreleased]
First release. `lemon_cli_runners` is the former `LemonAgent.CliRunners.*`
namespace, carved out of `lemon_agent`. Vendor CLI wrappers churn with vendor
releases; a separate package can version fast without forcing releases of the
agent framework.
### Added
- `LemonCliRunners.JsonlRunner` — base behaviour + GenServer for
JSONL-streaming CLI subprocesses: port spawning, line buffering, session
locking, stderr capture, graceful shutdown.
- Per-vendor runner/schema/subagent triples for Claude Code, Codex, Droid,
Kimi, OpenCode, and Pi.
- `LemonCliRunners.Types` — `ResumeToken`, `Action`, `StartedEvent`,
`ActionEvent`, `CompletedEvent`, `EventFactory`.
- `LemonCliRunners.Env` — the `:cli_runners`-area environment variable
declarations, moved out of `LemonAgent.Env`.
### Changed
- Module namespace: `LemonAgent.CliRunners.*` → `LemonCliRunners.*`.
- App-env keys `:cli_timeout_ms`, `:cli_cancel_grace_ms`, and
`:cli_session_lock_max_age_ms` are read from `:lemon_cli_runners`
(previously `:lemon_agent`).