feat: enable ESC cancellation for Mathematica tool long-running computations #96
+677
−114
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Key Features
🚀 ESC Cancellation Support
Users can now press ESC in Claude Code to cancel long-running Mathematica evaluations:
%reference historywolframclientAPI versions🎯 Elegant Implementation
Testing Instructions for Mathematica Users
Prerequisites
pip install wolframclientInstallation from Branch
Test Scenarios
1. Basic Cancellation Test
Expected: Press ESC, see immediate cancellation message
2. Complex Computation Cancellation
Expected: Can interrupt and continue with new computations
3. Session Preservation Test
Expected:
%references work after cancellation4. Error Handling Test
Verification Steps
✅ Cancellation works: ESC interrupts long evaluations
✅ Session preserved:
%,%%references work after cancellation✅ New evaluations: Can continue computing after cancellation
✅ Error messages: Clear feedback when cancellation occurs
✅ No crashes: Tool remains stable after multiple cancellations
Reporting Issues
If you encounter problems:
$Versionoutputpip show wolframclientTechnical Implementation
Signal Handling Architecture
Cross-API Compatibility
Supports PID discovery across different
wolframclientversions:session.kernel.pidsession.kernel.kernel_proc.pidsession.controller.pidsession.controller.kernel_proc.pidError Recovery
Code Quality Improvements
Based on comprehensive Gemini code review:
🤖 Generated with Claude Code