Fix: config.after_timestamp behavior in InMemorySessionService.get_session() and add a test

Copybara import of the project:

--
c1d0d649b5aae1322a02dbaa586822d69b8546f6 by allengour <allengour@google.com>:

fix: fix and test `config.after_timestamp` behavior in `InMemorySessionService.get_session()`
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/438 from allengour:fix/issue-437-after_timestamp-behavior 4b49a5e6509b5ad9dd9103a6dc357fd44c101f31
PiperOrigin-RevId: 755492201
This commit is contained in:
Allen
2025-05-06 13:09:28 -07:00
committed by Copybara-Service
parent e2ba484b43
commit 1393965720
2 changed files with 59 additions and 4 deletions

View File

@@ -95,14 +95,14 @@ class InMemorySessionService(BaseSessionService):
copied_session.events = copied_session.events[
-config.num_recent_events :
]
elif config.after_timestamp:
i = len(session.events) - 1
if config.after_timestamp:
i = len(copied_session.events) - 1
while i >= 0:
if copied_session.events[i].timestamp < config.after_timestamp:
break
i -= 1
if i >= 0:
copied_session.events = copied_session.events[i:]
copied_session.events = copied_session.events[i + 1:]
return self._merge_state(app_name, user_id, copied_session)