Skip to content

Commit 527c112

Browse files
mefogleclaude
andcommitted
feat: make session_service configurable in ADKAgent constructor
- Add optional session_service parameter to ADKAgent constructor - Remove TODO comment about making session service configurable - Update docstring to document the new parameter - Session service now defaults to InMemorySessionService if not provided - Addresses PR review feedback from @syedfakher27 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent f45b00e commit 527c112

File tree

1 file changed

+7
-8
lines changed
  • typescript-sdk/integrations/adk-middleware/src/adk_middleware

1 file changed

+7
-8
lines changed

typescript-sdk/integrations/adk-middleware/src/adk_middleware/adk_agent.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from google.adk import Runner
2020
from google.adk.agents import BaseAgent, RunConfig as ADKRunConfig
2121
from google.adk.agents.run_config import StreamingMode
22-
from google.adk.sessions import InMemorySessionService
22+
from google.adk.sessions import BaseSessionService, InMemorySessionService
2323
from google.adk.artifacts import BaseArtifactService, InMemoryArtifactService
2424
from google.adk.memory import BaseMemoryService, InMemoryMemoryService
2525
from google.adk.auth.credential_service.base_credential_service import BaseCredentialService
@@ -57,7 +57,8 @@ def __init__(
5757
user_id: Optional[str] = None,
5858
user_id_extractor: Optional[Callable[[RunAgentInput], str]] = None,
5959

60-
# ADK Services (session service now encapsulated in session manager)
60+
# ADK Services
61+
session_service: Optional[BaseSessionService] = None,
6162
artifact_service: Optional[BaseArtifactService] = None,
6263
memory_service: Optional[BaseMemoryService] = None,
6364
credential_service: Optional[BaseCredentialService] = None,
@@ -82,6 +83,7 @@ def __init__(
8283
app_name_extractor: Function to extract app name dynamically from input
8384
user_id: Static user ID for all requests
8485
user_id_extractor: Function to extract user ID dynamically from input
86+
session_service: Session management service (defaults to InMemorySessionService)
8587
artifact_service: File/artifact storage service
8688
memory_service: Conversation memory and search service (also enables automatic session memory)
8789
credential_service: Authentication credential storage
@@ -119,12 +121,9 @@ def __init__(
119121

120122

121123
# Session lifecycle management - use singleton
122-
# Initialize with session service based on use_in_memory_services
123-
if use_in_memory_services:
124-
session_service = InMemorySessionService()
125-
else:
126-
# For production, you would inject the real session service here
127-
session_service = InMemorySessionService() # TODO: Make this configurable
124+
# Use provided session service or create default based on use_in_memory_services
125+
if session_service is None:
126+
session_service = InMemorySessionService() # Default for both dev and production
128127

129128
self._session_manager = SessionManager.get_instance(
130129
session_service=session_service,

0 commit comments

Comments
 (0)