async def _generate_user_entities(
        self, client: httpx.AsyncClient
    ) -> AsyncGenerator[LinearUserEntity, None]:
        """Generate entities for all users in the workspace.

        Args:
            client: HTTP client to use for requests

        Yields:
            User entities
        """
        # Define query template with pagination placeholder
        query_template = """
        {{
          users({pagination}) {{
            nodes {{
              id
              name
              displayName
              email
              avatarUrl
              description
              timezone
              active
              admin
              guest
              lastSeen
              statusEmoji
              statusLabel
              statusUntilAt
              createdIssueCount
              createdAt
              updatedAt
              teams {{
                nodes {{
                  id
                  name
                  key
                }}
              }}
            }}
            pageInfo {{
              hasNextPage
              endCursor
            }}
          }}
        }}
        """

        # Define processor function for user nodes
        async def process_user(user):
            user_id = user.get("id")
            user_name = user.get("name")
            display_name = user.get("displayName")

            logger.info(f"Processing user: {user_name} ({display_name})")

            # Extract team data
            team_ids = []
            team_names = []
            teams = user.get("teams", {}).get("nodes", [])

            for team in teams:
                team_ids.append(team.get("id"))
                team_names.append(team.get("name"))

            # Build breadcrumbs list - add team breadcrumbs
            breadcrumbs = []
            for i, team_id in enumerate(team_ids):
                team_name = team_names[i]
                team_breadcrumb = Breadcrumb(entity_id=team_id, name=team_name, type="team")
                breadcrumbs.append(team_breadcrumb)

            # Create user URL
            user_url = f"https://linear.app/u/{user.get('id')}"

            # Create and yield LinearUserEntity
            yield LinearUserEntity(
                entity_id=user_id,
                name=user_name,
                breadcrumbs=breadcrumbs,
                url=user_url,
                # LinearUserEntity specific fields
                display_name=display_name,
                email=user.get("email"),
                avatar_url=user.get("avatarUrl"),
                description=user.get("description"),
                timezone=user.get("timezone"),
                active=user.get("active"),
                admin=user.get("admin"),
                guest=user.get("guest"),
                last_seen=user.get("lastSeen"),
                status_emoji=user.get("statusEmoji"),
                status_label=user.get("statusLabel"),
                status_until_at=user.get("statusUntilAt"),
                created_issue_count=user.get("createdIssueCount"),
                team_ids=team_ids if team_ids else None,
                team_names=team_names if team_names else None,
                created_at=user.get("createdAt"),
                updated_at=user.get("updatedAt"),
            )

        # Use the paginated query helper
        try:
            async for entity in self._paginated_query(
                client, query_template, process_user, entity_type="users"
            ):
                yield entity
        except Exception as e:
            logger.error(f"Error in user entity generation: {str(e)}")
Generate entities for all users in the workspace.

        Args:
            client: HTTP client to use for requests

        Yields:
            User entities
        
backend/airweave/platform/sources/linear.py