diff --git a/surfaces/gui/src-tauri/Info.plist b/surfaces/gui/src-tauri/Info.plist index 07237296..a31e6109 100644 --- a/surfaces/gui/src-tauri/Info.plist +++ b/surfaces/gui/src-tauri/Info.plist @@ -1,9 +1,16 @@ + permission prompts (Desktop/Documents/Downloads/Photos/Calendars/Reminders), so a prompt the + user didn't expect at least explains itself — the agent's tool runs are what touch these, and + only when a task needs them. + + Calendars/Reminders (#302): without these keys macOS' TCC blocks EventKit access OUTRIGHT + rather than prompting, so a calendar/reminders MCP tool silently fails. macOS 14 split the + key: apps built against the 14+ SDK read the ...FullAccessUsageDescription variant, older + systems read the legacy key, so both are declared. Like Photos above (and unlike the mic, + a hardened-runtime *device* resource that also needs an entitlement), these personal- + information resources are gated by the usage string alone on this non-sandboxed app. --> NSMicrophoneUsageDescription @@ -16,5 +23,13 @@ A task you run may need to read or save files in Downloads. OpenWorker never scans this folder on its own. NSPhotoLibraryUsageDescription A task you run may need to read an image from your photo library. OpenWorker never scans your photos on its own. + NSCalendarsUsageDescription + A task you run may need to read or manage events in your calendar, for example a calendar MCP tool. OpenWorker never reads your calendar on its own. + NSCalendarsFullAccessUsageDescription + A task you run may need to read or manage events in your calendar, for example a calendar MCP tool. OpenWorker never reads your calendar on its own. + NSRemindersUsageDescription + A task you run may need to read or manage your reminders, for example a reminders MCP tool. OpenWorker never reads your reminders on its own. + NSRemindersFullAccessUsageDescription + A task you run may need to read or manage your reminders, for example a reminders MCP tool. OpenWorker never reads your reminders on its own.