car-integrations
Account-bound integrations for Common Agent Runtime — Calendar, Contacts, Mail.
What it does
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 branch cleanly while backends light up incrementally.
| 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 |
Dependencies (and honest gaps)
Full operation requires:
car-secrets— where credentials and tokens livecar-accounts— to know which account a call is bound tocar-permissions— to preflight OS consent before the side effect
These are wired as runtime deps but not yet composed inside any backend implementation. v1 wires the API only; backends return Unavailable-with-reason so the release surface is stable before any one adapter is complete.
Where it fits
Surfaced via the WebSocket calendar.*, contacts.*, mail.* methods. See docs/websocket-protocol.md.