Expand description
Account-bound integrations for Common Agent Runtime: Calendar, Contacts, Mail, Messages.
The logical capabilities are the same on every OS; the backends are
not. v1 defines the release contract — stable return shapes that carry
explicit available + backend fields so downstream apps can branch
cleanly while backends light up incrementally.
§Backends (target)
| OS | Calendar | Contacts | Messages | |
|---|---|---|---|---|
| macOS | EventKit (EKEventStore) | Contacts.framework | Mail.app automation | Messages.app automation |
| Windows | MS Graph + Outlook MAPI | Windows.Contacts + Graph | MS Graph + MAPI | Not modeled |
| Linux | Evolution DS + CalDAV | Evolution DS + CardDAV | Evolution DS + IMAP | Not modeled |
Backends return Unavailable-with-reason so callers can distinguish missing OS configuration, denied TCC access, and unmodeled platforms.
§Dependencies (and honest gaps)
Full operation needs:
- car-secrets — where credentials and tokens live
- car-accounts — to know which account the call should be bound to
- car-permissions — to preflight OS consent before the side effect
The macOS backends compose these where the OS exposes a useful native surface; other platforms are still modeled but not fully implemented.
Modules§
- apple
- macOS account-backed Apple app integrations not covered by Calendar, Contacts, Mail, or Messages.
- calendar
- Calendar capability — list calendars, list upcoming events.
- contacts
- Contacts capability — enumerate containers, query contacts.
- Mail capability — enumerate accounts, summarize inbox, send/draft.
- messages
- Messages capability — enumerate Messages.app services/chats and send.
Structs§
- Availability
- Availability envelope — returned from every list-ish method so callers
can branch on
availableinstead of assuming a populated list.