Kenneth 40ad90aa2d feat: add generic CalDAV calendar data source (#42)
* feat: add generic CalDAV calendar data source

Add @aris/source-caldav package that fetches calendar events from any
CalDAV server via tsdav + ical.js.

- Supports Basic auth and OAuth via explicit authMethod discriminant
- serverUrl provided at construction time, not hardcoded
- Optional timeZone for correct local day boundaries
- Credentials cleared from memory after client login
- Failed calendar fetches logged, not silently dropped
- Login promise cached with retry on failure

Co-authored-by: Ona <no-reply@ona.com>

* fix: deduplicate concurrent fetchEvents calls

Co-authored-by: Ona <no-reply@ona.com>

* fix: timezone-aware signals, low-priority cancelled events

- computeSignals uses startOfDay(timeZone) for 'later today' boundary
- Cancelled events get urgency 0.1, excluded from context inProgress/nextEvent

Co-authored-by: Ona <no-reply@ona.com>

---------

Co-authored-by: Ona <no-reply@ona.com>
2026-02-28 16:09:11 +00:00
2026-02-24 22:30:13 +00:00
2026-01-16 00:56:55 +00:00
2026-01-16 00:56:55 +00:00
2026-01-16 23:51:05 +00:00
2026-01-16 00:56:55 +00:00

aris

To install dependencies:

bun install

Packages

@aris/source-tfl

TfL (Transport for London) feed source for tube, overground, and Elizabeth line alerts.

Testing

cd packages/aris-source-tfl
bun run test

Fixtures

Tests use fixture data from real TfL API responses stored in fixtures/tfl-responses.json.

To refresh fixtures:

bun run fetch-fixtures
Description
No description provided
Readme 14 MiB
Languages
TypeScript 97.4%
Shell 1.3%
JavaScript 0.8%
Dockerfile 0.3%
CSS 0.2%