def add_user(self, user_id: UUID) -> None:
        """Adds an existing user to the workspace in Argilla.

        Note that users with the `owner` role are excluded from the `add_user` method, as they
        are superusers and they can access all the workspaces and datasets in Argilla.

        Args:
            user_id: the ID of the user to be added to the workspace. The user must exist in Argilla.

        Raises:
            ValueError: if the user with the provided ID either doesn't exist in Argilla or
                already exists in the workspace.
            RuntimeError: if there was an error while either fetching the user from Argilla or
                adding the user to the workspace.

        Examples:
            >>> from argilla_v1 import rg
            >>> workspace = rg.Workspace.from_name("my-workspace")
            >>> workspace.add_user("my-user-id")
        """
        try:
            user = User.from_id(user_id)
        except ValueError as e:
            raise ValueError(
                f"User with id=`{user_id}` doesn't exist in Argilla, so please"
                " make sure that the ID you provided is a valid one. Otherwise,"
                " you can create a new one via the `User.create` method."
            ) from e
        except RuntimeError as e:
            raise RuntimeError(f"Error while retrieving user with id=`{user_id}` from Argilla.") from e

        if user.is_owner:
            warnings.warn(
                "The user you are trying to add to the workspace has the `owner` role, so it"
                " will be excluded from the workspace. Note that users with the `owner` role are"
                " superusers and they can access all the workspaces and datasets in Argilla.",
                UserWarning,
                stacklevel=2,
            )
            return

        try:
            workspaces_api.create_workspace_user(client=self._client, id=self.id, user_id=user_id)
        except AlreadyExistsApiError as e:
            raise ValueError(f"User with id=`{user_id}` already exists in workspace with id=`{self.id}`.") from e
        except BaseClientError as e:
            raise RuntimeError(f"Error while adding user with id=`{user_id}` to workspace with id=`{self.id}`.") from e
Adds an existing user to the workspace in Argilla.

        Note that users with the `owner` role are excluded from the `add_user` method, as they
        are superusers and they can access all the workspaces and datasets in Argilla.

        Args:
            user_id: the ID of the user to be added to the workspace. The user must exist in Argilla.

        Raises:
            ValueError: if the user with the provided ID either doesn't exist in Argilla or
                already exists in the workspace.
            RuntimeError: if there was an error while either fetching the user from Argilla or
                adding the user to the workspace.

        Examples:
            >>> from argilla_v1 import rg
            >>> workspace = rg.Workspace.from_name("my-workspace")
            >>> workspace.add_user("my-user-id")
        
argilla-v1/src/argilla_v1/client/workspaces.py