Move the transcript to a native OpenTUI scrollbox so new output sticks to the bottom, mouse wheel scrolling works, and the scroll indicator is native instead of hand-rolled.
Add a resizable todo rail with mouse movement enabled, a narrower default width, a larger max width, and hover feedback on the resize edge.
Rework the TUI framing with compact panel borders, a prompt frame, reclaimed vertical space, and a compact zero header mark with version/model/usage metadata.
Add explicit /build and /default paths back out of plan mode while preserving /plan as a toggle.
Handle OpenTUI paste events and add a Windows Ctrl+V clipboard fallback for terminals that send the control key directly.
Make Ctrl+C clear the composer or back out of provider screens before exiting the TUI.
Resolve conflicts from main's plan-mode, debug, provider-error, and test additions by porting them into the OpenTUI/Solid implementation.
Keep the non-exe OpenTUI build path while preserving main's test script, plan-mode system prompt, tool schema conversion, tools/debug toggles, and improved provider error handling.
Replace the Ink and React terminal UI with an OpenTUI + Solid implementation while preserving Zero's chat/provider flows.
Add a persistent header for provider, model, mode, and usage totals; add an optional todo rail fed by update_plan with Ctrl+T and /todo toggles; add a slash-command popup for /provider, /plan, /todo, /help, and /exit.
Update agent/provider plumbing to surface usage and plan updates, retry OpenAI-compatible streams without stream_options when unsupported, and lazy-load the TUI with the Solid transform for source execution.
Switch the build to a non-exe Bun bundle under dist and remove the old Ink/React dependencies and components.
* fix plan mode and add test
* Address review: wire plan mode, harden test script, restore friendly errors
- Wire /plan into agent behavior: add PLAN_MODE_SYSTEM_PROMPT and a planMode
option on runAgent; App passes isPlanMode through so the agent actually
plans without editing instead of only changing UI color.
- Harden test script to "bun test ./tests --timeout 15000" for deterministic
discovery and a bounded runtime so it always exits.
- Restore friendly provider-setup/auth/network error mapping via
toFriendlyError(); debug mode still records the full error object.
- Add tests/agent-loop.test.ts covering prompt selection and the
tool-call -> result -> final-answer loop with a mock provider.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
---------
Co-authored-by: Kevin Codex <[email protected]>
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>