implementation for CalendarClient V3#1876
Conversation
bmerkle
commented
Jan 31, 2026
- replaced empty dummy implementation of calendar with working version (based on V2 behaviour)
- enhanced calendar client login with better authentication and error handling
- fixed some arguments (e.g. passing of dates/search strings(
…n (based on V2 behaviour) - enhanced calendar client login with better authentication and error handling - fixed some arguments (e.g. passing of dates/search strings(
There was a problem hiding this comment.
Pull request overview
This PR wires up the Calendar V3 agent to a real MS Graph-backed CalendarClient, adds proper login/logout commands, and improves Graph authentication behavior including silent login and clearer failure modes.
Changes:
- Implemented a fully functional
CalendarActionHandlerV3that usesCalendarClientto schedule events, find events (by description/date), add participants, and list today’s/this week’s events, returning rich HTML display results. - Enhanced
GraphClient’s device-code login flow to distinguish silent vs interactive authentication, use cached tokens when available, and surface clearer error conditions when credentials are missing or expired. - Updated
CalendarClientto attempt a silent login on construction and hook intoGraphClient’sconnected/disconnectedevents to manage the calendar indexing sync thread.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| ts/packages/agents/calendar/src/calendarActionHandlerV3.ts | Replaces the previous stubbed V3 handler with a Graph-integrated implementation plus login/logout command handlers and HTML formatting helpers. |
| ts/packages/agents/agentUtils/graphUtils/src/graphClient.ts | Refines device-code authentication options and error handling for silent vs interactive MS Graph login. |
| ts/packages/agents/agentUtils/graphUtils/src/calendarClient.ts | Adds constructor-time silent login attempt and keeps the calendar sync thread wired to Graph connection lifecycle. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
This is great, thank you! FYI @steveluc , since you're working on updated calendar stuff. |
|
@bmerkle , getting a build issue, can you investigate please:
|
|
Thanks i will look into it |
|
@robgruen fixed :-) |
|
@robgruen sorry, now reformatted. question: the makefile for TS projects is package.json but do we have some default targets i shall run before push ? maybe I should add a contribute.md where we summarize the most important steps to obey before contributing/pushing ? |

