diff --git a/src/google/adk/cli/service_registry.py b/src/google/adk/cli/service_registry.py index 7269eebb..2ea286ef 100644 --- a/src/google/adk/cli/service_registry.py +++ b/src/google/adk/cli/service_registry.py @@ -250,9 +250,16 @@ def _register_builtin_services(registry: ServiceRegistry) -> None: return memory_session_factory("memory://", **kwargs) elif db_path.startswith("/"): db_path = db_path[1:] - kwargs_copy = kwargs.copy() - kwargs_copy.pop("agents_dir", None) - return SqliteSessionService(db_path=db_path, **kwargs_copy) + + # SqliteSessionService only accepts db_path, warn if extra kwargs provided + ignored_kwargs = {k: v for k, v in kwargs.items() if k != "agents_dir"} + if ignored_kwargs: + logger.warning( + "SqliteSessionService does not support additional kwargs. " + "The following parameters will be ignored: %s", + list(ignored_kwargs.keys()), + ) + return SqliteSessionService(db_path=db_path) registry.register_session_service("memory", memory_session_factory) registry.register_session_service("agentengine", agentengine_session_factory) diff --git a/tests/unittests/cli/test_service_registry.py b/tests/unittests/cli/test_service_registry.py index 05b03ac4..37c6e7c2 100644 --- a/tests/unittests/cli/test_service_registry.py +++ b/tests/unittests/cli/test_service_registry.py @@ -63,13 +63,25 @@ def test_create_session_service_sqlite(registry, mock_services): mock_services["sqlite_session"].assert_called_once_with(db_path="test.db") -def test_create_session_service_sqlite_with_kwargs(registry, mock_services): - registry.create_session_service( - "sqlite:///test.db", pool_size=10, agents_dir="foo" - ) - mock_services["sqlite_session"].assert_called_once_with( - db_path="test.db", pool_size=10 +def test_create_session_service_sqlite_ignores_unsupported_kwargs( + registry, mock_services, caplog +): + """Test that SqliteSessionService ignores unsupported kwargs and logs warning.""" + import logging + + with caplog.at_level(logging.WARNING): + registry.create_session_service( + "sqlite:///test.db", pool_size=10, agents_dir="foo" + ) + + # SqliteSessionService should only receive db_path, not pool_size + mock_services["sqlite_session"].assert_called_once_with(db_path="test.db") + + # Verify warning was logged about ignored kwargs + assert ( + "SqliteSessionService does not support additional kwargs" in caplog.text ) + assert "pool_size" in caplog.text def test_create_session_service_postgresql(registry, mock_services):