def get_user_summary(tool_context: ToolContext) -> Dict[str, Any]: state = tool_context.state preferences = state.get("preferences", {}) profile = state.get("profile", {}) # Compute derived information preference_count = len(preferences) is_complete_profile = all(profile.values()) return { "preference_count": preference_count, "is_complete_profile": is_complete_profile, "user_engaged": preference_count > 5 } __ __