- 
                Notifications
    You must be signed in to change notification settings 
- Fork 0
Commit 0d802be
committed
feat: Add VTODO support and multi-calendar search (v1.2.0)
This major update implements complete VTODO (CalDAV task) support and introduces intelligent multi-calendar search capabilities, significantly improving API usability and reducing LLM token consumption.
## New Features
### VTODO Support (6 new tools)
- list_todos: List all todos from a calendar
- create_todo: Create new tasks with status, priority, due dates
- update_todo: Update existing todos (requires ETag)
- delete_todo: Delete todos permanently
- todo_query: ⭐ PREFERRED - Efficient filtered todo search
- todo_multi_get: Batch fetch multiple todos by URL
### Multi-Calendar Search
- calendar_query: calendar_url now optional, searches ALL calendars by default
- todo_query: calendar_url now optional, searches ALL calendars by default
- Eliminates need for list_calendars call before queries
- Reduces 2-5 API calls down to 1 call
- Each result includes calendar name for context
### LLM Output Optimization
- New src/formatters.js: Markdown-formatted responses for better LLM consumption
- Emoji status indicators for todos: 📋 NEEDS-ACTION, 🔄 IN-PROCESS, ✅ COMPLETED, ❌ CANCELLED
- Priority labels: 🔴 High, 🟡 Medium, 🟢 Low
- RFC 5545 compliant parsing via ical.js
## Technical Changes
### Dependencies
- tsdav: Upgraded to github:PhilflowIO/tsdav#master (VTODO support)
- ical.js: Added ^2.1.0 for RFC-compliant iCalendar parsing
### Validation Layer
- 6 new Zod schemas for VTODO operations
- Fixed datetime validation: Added { offset: true } for timezone support
- Now accepts ISO 8601 with timezone offset (e.g., 2025-10-08T00:00:00.000+02:00)
### Tool Count
- Total tools: 17 → 23 (6 new VTODO tools)
- CalDAV: 10 tools
- CardDAV: 7 tools
- VTODO: 6 tools
## Breaking Changes
None. All existing tools remain backward compatible.
## Bug Fixes
- Fixed "calendar is not defined" error in multi-calendar iteration
- Fixed datetime validation rejecting valid timezone offsets
- Fixed "Calendar not found" errors when LLMs use cached URLs
## Testing
- Server starts successfully with 23 tools
- Health check passes
- Multi-calendar search tested and working
- VTODO parsing via ical.js verified
## Documentation
- Updated CLAUDE.md with Phase 8 completion status
- Added comprehensive test prompts for VTODO and multi-calendar features
- Updated tool descriptions with PREFERRED/WARNING labels
Total changes: +5178 lines, -947 lines across 5 files1 parent d164763 commit 0d802beCopy full SHA for 0d802be
File tree
Expand file treeCollapse file tree
5 files changed
+5178
-947
lines changedOpen diff view settings
Filter options
- src
Expand file treeCollapse file tree
5 files changed
+5178
-947
lines changedOpen diff view settings
0 commit comments