implement single user mode

This commit is contained in:
Taylor Wilsdon
2025-05-23 11:22:23 -04:00
parent 0a353a5bbc
commit 558d61fc9e
5 changed files with 122 additions and 51 deletions

View File

@@ -143,11 +143,17 @@ async def _get_authenticated_calendar_service(
try:
service = build("calendar", "v3", credentials=credentials)
log_user_email = user_google_email or (
credentials.id_token.get("email")
if credentials and credentials.id_token
else "Unknown"
)
log_user_email = user_google_email or "Unknown"
# Try to get email from id_token if it's a dict, otherwise use user_google_email or "Unknown"
if not user_google_email and credentials and credentials.id_token:
try:
if isinstance(credentials.id_token, dict):
log_user_email = credentials.id_token.get("email", "Unknown")
# If id_token is a string (JWT), we'd need to decode it, but for logging purposes "Unknown" is fine
except Exception:
pass # Keep log_user_email as "Unknown"
logger.info(
f"[{tool_name}] Successfully built calendar service. User associated with creds: {log_user_email}"
)
@@ -162,7 +168,6 @@ async def _get_authenticated_calendar_service(
# --- Tool Implementations ---
@server.tool()
async def list_calendars(
user_google_email: Optional[str] = None,