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>
This commit is contained in:
2026-02-28 15:35:22 +00:00
parent ffea38b986
commit 851e6af951
16 changed files with 1435 additions and 1 deletions

View File

@@ -0,0 +1,16 @@
{
"name": "@aris/source-caldav",
"version": "0.0.0",
"type": "module",
"main": "src/index.ts",
"types": "src/index.ts",
"scripts": {
"test": "bun test .",
"test:live": "bun run scripts/test-live.ts"
},
"dependencies": {
"@aris/core": "workspace:*",
"ical.js": "^2.1.0",
"tsdav": "^2.1.7"
}
}