v0.9.14
Highlights
- CLI startup is ~4× faster for trivial invocations:
lm --versiondropped from ~650ms to ~150ms (of which ~130ms is the bare Node process floor — actual module init fell from ~520ms to ~20ms). - The agent bundle no longer sits on the startup path. Runners (TUI, prompt mode, stream-json, channel setup, plugin entry) load at dispatch time;
lm exportbuilds its SDK dependencies inside the action; and the app's constants module no longer imports the entire SDK for a single error-code value — the code is now a pinned literal that is type-checked against the SDK, so a rename in core still breaks the build instead of silently diverging. - The bundle now code-splits: the TUI (658KB), the agent SDK (4.2MB), and the bundled TypeScript compiler (7.9MB) are separate chunks that
--version,--help, and argument errors never evaluate. Interactive and agent runs load exactly what they always did.
Verification
- Local suite: 4,947 tests passed, with 41 skipped and 2 todo.
- Typecheck, lint, package lint, Sherif checks, and the full build passed.
- Dual-platform CI (Windows + Ubuntu) green on PR #17 and the follow-up PR #18 (export deps stay SDK-free when injected, and
#/cli/update/source's transitive SDK import is documented and kept off the startup path). - Runtime probes on the built CLI:
--version,--help,migrate,__plugin_run_node(end-to-end entry execution),export(SDK chunk loads, session lookup runs), andstream-jsonall load their lazy chunks correctly.
Full Changelog: v0.9.13...v0.9.14