- Built comprehensive Rust binary with CLI structure matching Swift version - Implemented all command interfaces: image, list (apps/windows/server_status) - Added platform-specific implementations for Linux, macOS, and Windows - Fixed ApplicationData model to include path field for compatibility - Updated error handling with proper error types and constructors - Built both debug and release versions of the binary - MCP server already has platform detection to use appropriate binary: - macOS: Uses Swift binary at 'peekaboo' - Linux: Uses Rust binary at 'peekaboo-native/target/release/peekaboo' - Windows: Uses Rust binary at 'peekaboo-native/target/release/peekaboo.exe' - Tests show platform detection working correctly (using Rust binary on Linux) - Fixed tsx dependency version conflict The Rust implementation provides a solid foundation with working CLI structure. Core functionality implementations (screen capture, window management) are placeholder implementations that need to be completed for full feature parity.
82 lines
2.3 KiB
JSON
82 lines
2.3 KiB
JSON
{
|
|
"name": "@steipete/peekaboo-mcp",
|
|
"version": "1.0.0-beta.18",
|
|
"description": "A macOS utility exposed via Node.js MCP server for advanced screen captures, image analysis, and window management",
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"bin": {
|
|
"peekaboo-mcp": "dist/index.js"
|
|
},
|
|
"files": [
|
|
"dist/",
|
|
"peekaboo",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"build:rust": "cd peekaboo-native && cargo build --release",
|
|
"build:rust:debug": "cd peekaboo-native && cargo build",
|
|
"build:swift": "cd peekaboo-cli && swift build -c release",
|
|
"build:swift:debug": "cd peekaboo-cli && swift build",
|
|
"dev": "tsx src/index.ts",
|
|
"test": "jest",
|
|
"test:watch": "jest --watch",
|
|
"test:coverage": "jest --coverage",
|
|
"test:rust": "cd peekaboo-native && cargo test",
|
|
"test:swift": "cd peekaboo-cli && swift test",
|
|
"lint": "eslint src --ext .ts,.js",
|
|
"lint:fix": "eslint src --ext .ts,.js --fix",
|
|
"lint:rust": "cd peekaboo-native && cargo clippy -- -D warnings",
|
|
"lint:swift": "cd peekaboo-cli && swift-format lint --recursive Sources Tests",
|
|
"format:rust": "cd peekaboo-native && cargo fmt",
|
|
"format:swift": "cd peekaboo-cli && swift-format format --recursive Sources Tests --in-place"
|
|
},
|
|
"keywords": [
|
|
"mcp",
|
|
"screen-capture",
|
|
"macos",
|
|
"linux",
|
|
"windows",
|
|
"cross-platform",
|
|
"ai-analysis",
|
|
"image-analysis",
|
|
"window-management"
|
|
],
|
|
"author": "Peter Steinberger <steipete@gmail.com>",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
"openai": "^4.0.0",
|
|
"pino": "^9.7.0",
|
|
"zod": "^3.25.28"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.15.21",
|
|
"@typescript-eslint/eslint-plugin": "^8.19.1",
|
|
"@typescript-eslint/parser": "^8.19.1",
|
|
"@vitest/coverage-v8": "^3.1.4",
|
|
"@vitest/ui": "^3.1.4",
|
|
"eslint": "^8.57.1",
|
|
"jest": "^29.5.0",
|
|
"pino-pretty": "^13.0.0",
|
|
"tsx": "^4.19.4",
|
|
"typescript": "^5.3.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.0.0"
|
|
},
|
|
"os": [
|
|
"darwin",
|
|
"linux"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/steipete/peekaboo.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/steipete/peekaboo/issues"
|
|
},
|
|
"homepage": "https://github.com/steipete/peekaboo#readme"
|
|
}
|