feat(calendar): add comprehensive Calendar app support via CalDAV protocol

- Add complete CalDAV client implementation following NextCloud patterns
- Implement 11 comprehensive calendar MCP tools:
  * nc_calendar_list_calendars - list available calendars
  * nc_calendar_create_event - full event creation with recurrence, reminders, attendees
  * nc_calendar_list_events - enhanced with advanced filtering capabilities
  * nc_calendar_get_event - detailed event information retrieval
  * nc_calendar_update_event - comprehensive event modification
  * nc_calendar_delete_event - event removal
  * nc_calendar_create_meeting - quick meeting creation with smart defaults
  * nc_calendar_get_upcoming_events - upcoming events in next N days
  * nc_calendar_find_availability - intelligent scheduling with conflict detection
  * nc_calendar_bulk_operations - batch update/delete/move operations
  * nc_calendar_manage_calendar - calendar creation and management

- Add CalDAV and iCalendar dependencies to support calendar operations
- Implement comprehensive integration tests (11 test cases covering all scenarios)
- Update documentation with complete calendar tools reference and usage examples

Resolves #74
This commit is contained in:
Neovasky
2025-07-27 00:25:31 -04:00
parent b8191c134a
commit 7291c930c4
9 changed files with 2394 additions and 1 deletions
+29
View File
@@ -1,3 +1,32 @@
## [Unreleased]
### Feat
- **calendar**: Add comprehensive Calendar app support via CalDAV protocol (Issue #74)
- **calendar**: Add `nc_calendar_list_calendars` tool for listing available calendars
- **calendar**: Add `nc_calendar_create_event` tool with full feature support (recurrence, reminders, attendees, categories)
- **calendar**: Add `nc_calendar_list_events` tool with advanced filtering (date range, attendees, categories, status)
- **calendar**: Add `nc_calendar_get_event` tool for retrieving detailed event information
- **calendar**: Add `nc_calendar_update_event` tool for modifying existing events
- **calendar**: Add `nc_calendar_delete_event` tool for removing events
- **calendar**: Add `nc_calendar_create_meeting` tool for quick meeting creation with smart defaults
- **calendar**: Add `nc_calendar_get_upcoming_events` tool for viewing upcoming events
- **calendar**: Add `nc_calendar_find_availability` tool for intelligent scheduling assistance
- **calendar**: Add `nc_calendar_bulk_operations` tool for efficient batch event management
- **calendar**: Add `nc_calendar_manage_calendar` tool for calendar creation and management
### Fix
- **calendar**: Fix type annotations in calendar client for better Pylance compatibility
- **calendar**: Fix alarm trigger formatting using proper timedelta objects
- **calendar**: Fix event update handling to merge existing data with new changes
- **calendar**: Fix categories extraction from icalendar objects
### Refactor
- **calendar**: Implement CalDAV client following existing NextCloud client patterns
- **calendar**: Add comprehensive calendar integration tests covering all scenarios
## v0.5.0 (2025-07-26)
### Feat