Commit Graph

2 Commits

Author SHA1 Message Date
6c4982ae85 fix: use Promise.allSettled for calendar fetching
A transient error on one calendar (e.g. shared calendar
with permission issues) no longer discards results from
all other calendars.

Co-authored-by: Ona <no-reply@ona.com>
2026-02-14 00:44:47 +00:00
f557a0f967 feat: add Apple Calendar source package
Add @aris/source-apple-calendar for fetching iCloud
calendar events via CalDAV using tsdav and ical.js.

- CalendarSource implements FeedSource with fetchItems
  and fetchContext for downstream context
- CalendarCredentialProvider interface for token injection
- CalendarDAVClient interface for testability
- iCal parser extracts full event data including
  attendees, alarms, organizer, and recurrence
- Priority based on event proximity to current time

Co-authored-by: Ona <no-reply@ona.com>
2026-02-13 22:08:58 +00:00