-
-
Notifications
You must be signed in to change notification settings - Fork 35
feat: add AutoHotkey provider for Windows automation #201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Cheffromspace
wants to merge
17
commits into
main
Choose a base branch
from
feature/autohotkey-provider-only
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Block all Ctrl key combinations in validation logic - Add additional safety check in keyboard implementation - Update keyboard tests - Add known limitation to README 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Update tests to expect Control key combinations to be rejected - Fix mock implementations in test files 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Similar to Control key combinations, Windows key combinations can cause server crashes due to stdio handling issues. This is a temporary fix until the new HTTP transport is implemented. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
…nations fix: prevent crashes from control key combinations
…10.2 feat: upgrade to MCP SDK 1.10.2 for HTTP streaming support
Implements streamable HTTP transport for the MCP server using SDK 1.10.2. Features include: - Session management for tracking user interactions - CORS configuration for cross-origin requests - HTTP endpoint for streaming and batch responses - Updated MCP server implementation to support multiple transports - Updated documentation with accurate SDK API reference 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Extract HTTP transport to dedicated module with robust security checks - Implement apiKey authentication middleware - Add CORS security warnings and validation - Make CORS configuration more restrictive by default - Add session management with proper cleanup - Add security best practices documentation - Add HTTP transport tests 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Implement comprehensive close() method in HttpTransportManager for proper resource cleanup - Fix TypeScript typing issues with Express middleware - Remove commented-out supertest import from tests - Improve error handling with targeted error catching - Fix centralized version management using environment variables - Update tests for close() method 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Phase 1: Set up HTTP Stream Transport Server
- Add streaming typeText method with human-like typing rhythm - Implement progressive character-by-character streaming updates - Add delay randomization and special handling for punctuation - Update MCP tool interface to support humanlike option 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Add comprehensive unit tests for streaming keyboard functionality - Implement chunking for memory-efficient processing of long text - Add detailed JSDoc comments for better maintainability - Optimize progress reporting to reduce overhead for long texts - Enhance human-like typing with pauses at end of words 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
…streaming feat: implement human-like typing with streaming support
…improvements enhance: improve human-like typing with streaming support
Implements automation interfaces using AutoHotkey v2 scripts for Windows environments. ✨ Features: • Keyboard automation (type, press keys, combinations) • Mouse automation (move, click, scroll, drag) • Screen automation (capture, get colors, window management) • Clipboard automation (get/set content, clear) 📚 Documentation: • README with installation and usage instructions • Environment variables for configuration • Performance considerations and limitations 🧪 Testing: • Unit tests for provider interfaces • Factory integration tests • Test scripts for manual verification This provides an alternative to keysender for Windows automation tasks. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
• Adds AutoHotkey v2 provider as an alternative to keysender for Windows automation
• Implements all automation interfaces (keyboard, mouse, screen, clipboard)
• Includes comprehensive documentation and tests
Details
This PR introduces a new automation provider using AutoHotkey v2 scripts. It provides the same interfaces as the existing keysender provider but uses AutoHotkey for Windows automation tasks.
Features
✨ Keyboard Automation
🖱️ Mouse Automation
🖥️ Screen Automation
📋 Clipboard Automation
Documentation
Testing
Breaking Changes
None - this is a new provider that doesn't affect existing functionality.
Migration Guide
To use the AutoHotkey provider instead of keysender:
Or via environment variables:
export AUTOMATION_PROVIDER=autohotkeyRelated Issues
This provides an alternative solution for users who prefer AutoHotkey over keysender for Windows automation.
🤖 Generated with Claude Code