feat: implement Phase 2 Core features for AutoScheduler GTD System

- ConnectWise Manage Integration:
  - ConnectWiseModule with service, controller, entity
  - API endpoints for connection CRUD and sync
  - Syncs service tickets, project tickets, zero-ticket projects
  - Stores ConnectWise priority/SLA in task metadata

- Intelligent Calendar Scheduling:
  - CalendarModule with connection and event entities
  - Support for CalDAV, Microsoft Graph, Google Calendar providers
  - CalendarService with sync methods for all providers
  - SchedulingModule with automatic scheduling engine
  - Finds available slots respecting working hours
  - Groups tasks by context, respects priority and due dates

- Interactive Calendar Week View:
  - FullCalendar with timeGridWeek view
  - Drag-and-drop task rescheduling
  - Tasks auto-lock when manually moved
  - Color-coded by context
  - Regenerate Schedule button

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Debian
2026-01-11 09:58:15 +00:00
parent e7ffcce768
commit 9c6b85f28a
29 changed files with 1863 additions and 47 deletions

View File

@@ -19,3 +19,32 @@
- Inbox UI with quick-add form and GTD processing workflow modal
- All tests passing, build succeeds, lint passes (one warning)
[2026-01-11T09:58:00.000Z] [2] [COMPLETE] - Phase 2 Core implemented
- ConnectWise Manage Integration:
- ConnectWiseModule with service, controller, entity
- API endpoints: POST/GET/DELETE /api/v1/connections/connectwise
- Sync endpoint: POST /api/v1/connections/connectwise/:id/sync
- Syncs service tickets, project tickets, and zero-ticket projects to inbox
- ConnectWise priority/SLA stored in task metadata
- Intelligent Calendar Scheduling:
- CalendarModule with calendar connection and event entities
- CalendarConnection entity supports CALDAV, MICROSOFT_GRAPH, GOOGLE providers
- CalendarEvent entity stores synced external calendar events
- CalendarService with CalDAV, Microsoft Graph, Google Calendar sync methods
- API endpoints: POST/GET/DELETE /api/v1/connections/calendar
- Sync endpoint: POST /api/v1/connections/calendar/:id/sync
- Events endpoint: GET /api/v1/calendar/events
- SchedulingModule with schedule regeneration engine
- ScheduleService finds available time slots respecting working hours
- Groups tasks by context for batching, respects priority and due dates
- Schedule endpoint: POST /api/v1/schedule/regenerate
- Interactive Calendar Week View:
- FullCalendar integration with timeGridWeek view
- Drag-and-drop task rescheduling with eventDrop/eventResize handlers
- Tasks auto-lock when manually moved
- Color-coded by context (@desk=blue, @phone=green, @errand=orange, @homelab=purple, @anywhere=gray)
- Calendar events displayed with distinct styling
- Regenerate Schedule button triggers scheduling engine
- ToastProvider for user feedback notifications
- All tests passing (17 tests), build succeeds, lint passes (2 warnings)