diff --git a/src/va_agent/session.py b/src/va_agent/session.py index 69d77dd..462dbea 100644 --- a/src/va_agent/session.py +++ b/src/va_agent/session.py @@ -6,7 +6,7 @@ import asyncio import logging import time import uuid -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import TYPE_CHECKING, Any, override from google.adk.errors.already_exists_error import AlreadyExistsError @@ -112,8 +112,13 @@ class FirestoreSessionService(BaseSessionService): if hasattr(value, "timestamp"): try: return float(value.timestamp()) - except Exception: # pragma: no cover - defensive fallback - logger.debug("Failed to convert timestamp %r", value) + except ( + TypeError, + ValueError, + OSError, + OverflowError, + ) as exc: # pragma: no cover + logger.debug("Failed to convert timestamp %r: %s", value, exc) return default # ------------------------------------------------------------------ @@ -185,7 +190,7 @@ class FirestoreSessionService(BaseSessionService): ) ) - now = datetime.now(timezone.utc) + now = datetime.now(UTC) write_coros.append( self._session_ref(app_name, user_id, session_id).set( { @@ -384,7 +389,7 @@ class FirestoreSessionService(BaseSessionService): # Persist state deltas session_ref = self._session_ref(app_name, user_id, session_id) - last_update_dt = datetime.fromtimestamp(event.timestamp, timezone.utc) + last_update_dt = datetime.fromtimestamp(event.timestamp, UTC) if event.actions and event.actions.state_delta: state_deltas = _session_util.extract_state_delta(event.actions.state_delta)