Commit Graph

22 Commits

Author SHA1 Message Date
Peter Steinberger
f22e46cc1a
chore(release): prepare 3.5.3 2026-06-13 22:30:12 -07:00
Peter Steinberger
1fa8eead7e
chore(release): prepare 3.5.2 2026-06-13 01:15:58 -07:00
Peter Steinberger
6a932d0004
chore(release): prepare 3.5.1 2026-06-12 20:51:04 -07:00
Peter Steinberger
e183cd15fb
chore(release): prepare 3.5.0 2026-06-12 00:45:49 -07:00
Peter Steinberger
e4cd616e19
chore(release): prepare 3.4.2 2026-06-11 18:01:03 -07:00
Peter Steinberger
689013808f
chore(release): prepare 3.4.1 2026-06-10 05:00:23 +01:00
Peter Steinberger
613f0435a8
chore(release): prepare 3.4.0 2026-06-07 07:40:24 +01:00
Peter Steinberger
6feffe58b1
chore(release): prepare 3.3.0 2026-06-01 00:08:26 +01:00
Peter Steinberger
3078d65b8d
chore(release): prepare 3.2.3 2026-05-24 04:41:14 +01:00
Peter Steinberger
43ed861725
chore(release): prepare 3.2.2 2026-05-22 14:28:56 +01:00
Peter Steinberger
75e2884e01
chore(release): prepare 3.2.1 2026-05-18 09:44:54 +01:00
Peter Steinberger
42c196b911
chore(release): prepare 3.2.0 2026-05-15 04:06:49 +01:00
Peter Steinberger
3f1ea6dd90
fix(release): prepare 3.1.2 clean artifacts 2026-05-11 06:30:45 +01:00
Peter Steinberger
80b0de996c
chore(release): prepare 3.1.1 2026-05-11 05:24:50 +01:00
Peter Steinberger
741988ff73
feat: add daemon-backed fast capture and model refresh 2026-05-10 09:46:55 +01:00
Peter Steinberger
64de6ceca0
chore(release): prepare 3.0.0 2026-05-09 12:49:22 +01:00
Peter Steinberger
a55cd73d68 chore: release 3.0.0-beta4 2026-01-18 07:30:24 +00:00
Peter Steinberger
32b81512d1 chore(release): bump to 3.0.0-beta3 2025-12-29 21:57:13 +00:00
Peter Steinberger
2b285959e1 chore(release): bump versions to 3.0.0-beta2 2025-12-14 00:20:04 +00:00
Peter Steinberger
9c42257e17 chore(release): bump versions to 2.0.0 2025-12-14 00:20:04 +00:00
Peter Steinberger
912c01e837 build: bump version to 3.0.0-beta1 2025-11-25 18:35:29 +01:00
Peter Steinberger
c91d968be0 feat: Migrate MCP server from TypeScript to native Swift implementation
This is a complete rewrite of the Peekaboo MCP server in Swift, removing all TypeScript dependencies
and providing a native, high-performance implementation that integrates directly with PeekabooCore.

## Major Changes

### Architecture
- Removed entire TypeScript/Node.js server implementation (Server/ directory)
- Implemented native Swift MCP server using modelcontextprotocol/swift-sdk
- Direct integration with PeekabooCore services for ~10x performance improvement
- All operations now run on MainActor for thread safety with UI/AppKit APIs

### MCP Tools Implementation
- Implemented all 23 MCP tools in Swift with full feature parity
- Added comprehensive input validation and error handling
- Improved type safety with Swift's strong type system
- Better integration with macOS accessibility and UI automation APIs

### Key Improvements
- Performance: ~10x faster by eliminating CLI subprocess overhead
- Type Safety: Compile-time checking for all tool parameters
- Thread Safety: Proper @MainActor usage for UI operations
- Memory Efficiency: No more Node.js runtime overhead
- Better Error Messages: More descriptive errors for debugging

### Testing
- Added comprehensive test suite with 200+ tests
- Unit tests for all MCP tools and components
- Integration tests for server functionality
- Mock implementations for testing without side effects

### Fixes Included
- Fixed threading violations by ensuring UI operations run on main thread
- Fixed API errors with proper media type detection for images
- Fixed UI element detection using correct property mappings
- Added Sendable conformance for Swift concurrency compliance

### Installation
- New installation script for Claude Desktop integration
- Simplified deployment with single binary
- No npm dependencies or Node.js runtime required

## Breaking Changes
- Server/ directory and all TypeScript code removed
- npm scripts updated to reflect Swift-only build
- MCP server now starts with 'peekaboo mcp serve' command

Co-authored-by: Previous Claude session <claude-3-5-sonnet@anthropic.com>
2025-08-02 22:10:01 +02:00