a stdio mcp server for apple mail
at main 21 lines 506 B view raw
1import { execFile } from "node:child_process"; 2 3const TIMEOUT_MS = 15_000; 4const MAX_BUFFER = 10 * 1024 * 1024; // 10MB 5 6export function execAppleScript(script: string): Promise<string> { 7 return new Promise((resolve, reject) => { 8 execFile( 9 "osascript", 10 ["-e", script], 11 { timeout: TIMEOUT_MS, maxBuffer: MAX_BUFFER }, 12 (err, stdout, stderr) => { 13 if (err) { 14 reject(new Error(`AppleScript failed: ${err.message}\n${stderr}`)); 15 } else { 16 resolve(stdout); 17 } 18 }, 19 ); 20 }); 21}