Skip to content

Commit 0d802be

Browse files
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 files
1 parent d164763 commit 0d802be

File tree

5 files changed

+5178
-947
lines changed

5 files changed

+5178
-947
lines changed

0 commit comments

Comments
 (0)