- Add Pink Purple theme (hot pink/purple/magenta on dark plum background)
- Fix race condition where clearPastedImages() in input-area ran before
the async message handler could read the images, silently dropping them
- Allow @ file picker and / command menu to trigger at any cursor position,
not just when the input is empty
- Update CHANGELOG and README with new changes
The plan approval system now has enforcement at the tool execution level:
- After modifying more than 2 files, the agent MUST use plan_approval
- File-modifying tools (write, edit, delete, etc.) are blocked until
an approved plan exists
- Clear error message guides agent to create and submit a plan
This ensures agents can't bypass plan approval instructions.
The rollback system was failing because it looked for `file_path`
(snake_case) but the write/edit tools use `filePath` (camelCase).
Now checks both formats when extracting the file path for rollback tracking.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds execution control system per GitHub issue #113:
- Ctrl+P: Toggle pause/resume during agent execution
- Ctrl+Z: Abort with rollback (undo file changes)
- Ctrl+Shift+S: Toggle step-by-step mode
- Enter: Advance one step when in step mode
New files:
- src/types/execution-control.ts: Type definitions
- src/services/execution-control.ts: Control implementation with rollback
- src/constants/execution-control.ts: Keyboard shortcuts and messages
Modified:
- agent-stream.ts: Integrated execution control into agent loop
- message-handler.ts: Added control functions and callbacks
- app.tsx: Added keyboard shortcut handlers
- help-content.ts: Added help topics for new shortcuts
Closes#113
Agent behavior improvements:
- Add project context detection (tsconfig.json, pom.xml, etc.)
- Enforce validation after changes (tsc --noEmit, mvn compile, etc.)
- Run tests automatically - never ask "do you want me to run tests"
- Complete full loop: create → type-check → test → confirm
- Add command detection for direct execution (run tree, run ls)
Diff view improvements:
- Use darker backgrounds for added/removed lines
- Add diffLineBgAdded, diffLineBgRemoved, diffLineText theme colors
- Improve text visibility with white text on dark backgrounds
- Update both React/Ink and SolidJS diff components
Streaming fixes:
- Fix tool call argument accumulation using OpenAI index field
- Fix streaming content display after tool calls
- Add consecutive error tracking to prevent token waste
Other changes:
- ESC to abort operations, Ctrl+C to exit
- Fix model selection when provider changes in cascade mode
- Add debug logging for troubleshooting
- Move tests to root tests/ folder
- Fix banner test GRADIENT_COLORS reference