Copybara import of the project:

--
1ca16aba5b7b869afa8e0a0cddaea539acd737f5 by bart.lee(이철민)/kakao <bart.lee@kakaocorp.com>:

chore: Improves session update time validation message

Enhances the error message when a session's last update time is later than the storage update time.
This provides better readability by formatting the timestamps in the error message.

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/446 from kakao-bart-lee:main a2a0cff036429b61bd7cf1600fc4c2c0cf50089d
PiperOrigin-RevId: 754452381
This commit is contained in:
Bart 2025-05-03 17:07:16 -07:00 committed by Copybara-Service
parent 9bec05ce86
commit ad4226b3d8
4 changed files with 12 additions and 10 deletions

View File

@ -27,7 +27,7 @@
### ⚠ BREAKING CHANGES ### ⚠ BREAKING CHANGES
* Auth: expose `access_token` and `refresh_token` at top level of auth * Auth: expose `access_token` and `refresh_token` at top level of auth
credentails, instead of a `dict` credentials, instead of a `dict`
([commit](https://github.com/google/adk-python/commit/956fb912e8851b139668b1ccb8db10fd252a6990)). ([commit](https://github.com/google/adk-python/commit/956fb912e8851b139668b1ccb8db10fd252a6990)).
### Features ### Features
@ -50,7 +50,7 @@
### Miscellaneous Chores ### Miscellaneous Chores
* README.md impprovements. * README.md improvements.
* Various code improvements. * Various code improvements.
* Various typo fixes. * Various typo fixes.
* Bump min version of google-genai to 1.11.0. * Bump min version of google-genai to 1.11.0.
@ -108,4 +108,4 @@
* Built-in evaluation support * Built-in evaluation support
* Development UI that makes local development easy * Development UI that makes local development easy
* Deploy to Google Cloud Run, Agent Engine * Deploy to Google Cloud Run, Agent Engine
* (Experimental) Live(Bidi) auido/video agent support and Compositional Function Calling(CFC) support * (Experimental) Live(Bidi) audio/video agent support and Compositional Function Calling(CFC) support

View File

@ -484,9 +484,11 @@ class DatabaseSessionService(BaseSessionService):
if storage_session.update_time.timestamp() > session.last_update_time: if storage_session.update_time.timestamp() > session.last_update_time:
raise ValueError( raise ValueError(
f"Session last_update_time {session.last_update_time} is later than" f"Session last_update_time "
f" the upate_time in storage {storage_session.update_time}" f"{datetime.fromtimestamp(session.last_update_time):%Y-%m-%d %H:%M:%S} "
) f"is later than the update_time in storage "
f"{storage_session.update_time:%Y-%m-%d %H:%M:%S}"
)
# Fetch states from storage # Fetch states from storage
storage_app_state = sessionFactory.get( storage_app_state = sessionFactory.get(

View File

@ -83,8 +83,7 @@ class OperationParser:
schema.description = ( schema.description = (
description if not schema.description else schema.description description if not schema.description else schema.description
) )
# param.required can be None required = param.required
required = param.required if param.required is not None else False
self.params.append( self.params.append(
ApiParameter( ApiParameter(

View File

@ -347,8 +347,9 @@ def test_get_json_schema(sample_operation):
assert json_schema['type'] == 'object' assert json_schema['type'] == 'object'
assert 'param1' in json_schema['properties'] assert 'param1' in json_schema['properties']
assert 'prop1' in json_schema['properties'] assert 'prop1' in json_schema['properties']
# By default nothing is required unless explicitly stated assert 'param1' in json_schema['required']
assert 'required' not in json_schema or json_schema['required'] == [] assert 'prop1' in json_schema['required']
def test_get_signature_parameters(sample_operation): def test_get_signature_parameters(sample_operation):
"""Test get_signature_parameters method.""" """Test get_signature_parameters method."""