File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -55,3 +55,7 @@ def __getattr__(name: str):
5555 raise missing_extra ('sqlalchemy' , 'db' ) from e
5656 return vars (module )['DatabaseSessionService' ]
5757 raise AttributeError (f'module { __name__ !r} has no attribute { name !r} ' )
58+
59+
60+ def __dir__ () -> list [str ]:
61+ return sorted (__all__ )
Original file line number Diff line number Diff line change @@ -1784,3 +1784,15 @@ async def test_vertex_ai_session_service_raises_not_implemented_for_get_user_sta
17841784 service = VertexAiSessionService (project = 'proj' , location = 'us-central1' )
17851785 with pytest .raises (NotImplementedError ):
17861786 await service .get_user_state (app_name = 'my_app' , user_id = 'u1' )
1787+
1788+
1789+ def test_database_session_service_visible_in_module_namespace ():
1790+ """DatabaseSessionService must be in dir() so Sphinx autodoc renders it.
1791+
1792+ It is imported lazily via module __getattr__, so without an explicit
1793+ __dir__ it drops out of the generated API reference (issue #4331).
1794+ """
1795+ import google .adk .sessions as sessions_module
1796+
1797+ assert 'DatabaseSessionService' in dir (sessions_module )
1798+ assert sessions_module .DatabaseSessionService is DatabaseSessionService
You can’t perform that action at this time.
0 commit comments