Expand description
Account-bound integrations for Common Agent Runtime: Calendar, Contacts, Mail.
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 | |
|---|---|---|---|
| macOS | EventKit (EKEventStore) | Contacts.framework | IMAP/SMTP + AppleScript hint |
| Windows | MS Graph + Outlook MAPI | Windows.Contacts + Graph | MS Graph + MAPI |
| Linux | Evolution DS + CalDAV | Evolution DS + CardDAV | Evolution DS + IMAP/SMTP |
v1 wires the API only. Backends return Unavailable-with-reason so the release surface is stable before any one adapter is complete.
§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
These are wired as runtime deps but not yet composed inside any backend implementation.
Modules§
- calendar
- Calendar capability — list calendars, list upcoming events.
- contacts
- Contacts capability — enumerate containers, query contacts.
- Mail capability — enumerate accounts, summarize inbox, send/draft.
Structs§
- Availability
- Availability envelope — returned from every list-ish method so callers
can branch on
availableinstead of assuming a populated list.