from google.adk.tools.tool_context import ToolContext from datetime import datetime from typing import Dict, Any def save_user_preference( preference_type: str, value: str, tool_context: ToolContext ) -> Dict[str, Any]: """Save a user preference with timestamp. Args: preference_type: Type of preference (e.g., 'cuisine', 'music_genre') value: The preference value tool_context: Automatically injected by ADK Returns: dict: Operation status and details """ # Store preference with user scope preference_key = f"user:preference_{preference_type}" timestamp_key = f"user:preference_{preference_type}_updated" # Save the preference and when it was set tool_context.state[preference_key] = value tool_context.state[timestamp_key] = datetime.now().isoformat() return { "status": "success", "message": f"Saved {preference_type} preference: {value}", "updated_at": tool_context.state[timestamp_key] } __ __