## Description This PR fixes the issue where the CLI can't continue after interrupting the assistant with ESC ESC (Fixes #114). The problem was caused by duplicate code in the `cancel()` method and improper state reset after cancellation. ## Changes - Fixed duplicate code in the `cancel()` method of the `AgentLoop` class - Added proper reset of the `currentStream` property in the `cancel()` method - Created a new `AbortController` after aborting the current one to ensure future tool calls work - Added a system message to indicate the interruption to the user - Added a comprehensive test to verify the fix ## Benefits - Users can now continue using the CLI after interrupting the assistant - Improved user experience by providing feedback when interruption occurs - Better state management in the agent loop ## Testing - Added a dedicated test that verifies the agent can process new input after cancellation - Manually tested the fix by interrupting the assistant and confirming that new input is processed correctly --------- Signed-off-by: crazywolf132 <crazywolf132@gmail.com>
3.8 KiB
3.8 KiB