def METHOD_NAME(
    user_id: str,
    filter_type: Optional[str] = None,
    filter_id: Optional[str] = None,
    offset: int = 0,
    limit: int = 0,
    before: Optional[datetime.datetime] = None,
    after: Optional[datetime.datetime] = None,
) -> list[dict[str, Any]]:
    """Return the dashboard activity stream of the current user.
    :param user_id: the id of the user
    :type user_id: string
    :param filter_type: the type of thing to filter by
    :type filter_type: string
    :param filter_id: the id of item to filter by
    :type filter_id: string
    :returns: an activity stream as an HTML snippet
    :rtype: string
    """
    context: Context = {"user": tk.g.user}
    if filter_type:
        action_functions = {
            "dataset": "package_activity_list",
            "user": "user_activity_list",
            "group": "group_activity_list",
            "organization": "organization_activity_list",
        }
        action_function = tk.get_action(action_functions[filter_type])
        return action_function(
            context, {
                "id": filter_id,
                "limit": limit,
                "offset": offset,
                "before": before,
                "after": after
                })
    else:
        return tk.get_action("dashboard_activity_list")(
            context, {
                "offset": offset,
                "limit": limit,
                "before": before,
                "after": after
                }
        )