Adds comprehensive OAuth 2.0 integration for Google Calendar and Microsoft Calendar
with two authentication modes: Quick Setup (Device Flow) and Advanced Setup (standard
OAuth flow with user credentials).
## Features
**Calendar Providers**
- Google Calendar and Microsoft Calendar integration with full CRUD operations
- Unified CalendarProvider abstraction for extensibility
- Events display in Bases calendar view with drag-and-drop scheduling
**Authentication**
- Quick Setup: OAuth 2.0 Device Flow (RFC 8628) - requires license key, no OAuth app configuration needed
- Advanced Setup: Standard OAuth flow with PKCE - use your own Google Cloud/Azure credentials
**Sync & Performance**
- Incremental sync using sync tokens (Google) and delta links (Microsoft)
- Exponential backoff retry logic for rate limiting
- Token refresh with mutex pattern to prevent race conditions
- Automatic refresh every 15 minutes
## Technical Implementation
**New Services**
- OAuthService: OAuth flows, token management, and revocation
- GoogleCalendarService: Google Calendar API client
- MicrosoftCalendarService: Microsoft Graph API client
- LicenseService: Lemon Squeezy license validation
- CalendarProvider: Abstract base class for calendar integrations
**Error Handling**
- Custom error types for calendar operations
- Validation helpers for IDs and required fields
- Graceful handling of expired tokens and API errors
**Security**
- Device Flow uses only public client IDs (no secrets bundled)
- PKCE support for standard OAuth flow
- Tokens stored securely in Obsidian's data folder
- Token revocation on disconnect
## Testing
- Comprehensive test coverage: 1,423 tests passing
- Tests cover CRUD operations, error handling, rate limiting, and timezone handling
- Manually tested with real Google and Microsoft accounts
## Documentation
- Setup instructions in docs/calendar-setup.md
- Users configure via Settings → Integrations → Calendar