fix(session): use datetime UTC and tighten timestamp logging
All checks were successful
CI / ci (pull_request) Successful in 19s
All checks were successful
CI / ci (pull_request) Successful in 19s
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user