async def _generate_company_entities(
        self, client: httpx.AsyncClient
    ) -> AsyncGenerator[ChunkEntity, None]:
        """Generate Company entities from Intercom.

        Using the Companies endpoint:
          GET https://api.intercom.io/companies
        """
        url = "https://api.intercom.io/companies"
        while url:
            data = await self._get_with_auth(client, url)
            for company in data.get("data", []):
                yield IntercomCompanyEntity(
                    entity_id=company.get("id"),
                    name=company.get("name"),
                    company_id=company.get("company_id"),
                    plan=company.get("plan", {}).get("name"),
                    monthly_spend=company.get("monthly_spend"),
                    session_count=company.get("session_count"),
                    user_count=company.get("user_count"),
                    website=company.get("website"),
                    created_at=company.get("created_at"),
                    updated_at=company.get("updated_at"),
                    archived=company.get("archived", False),
                )

            # Handle pagination
            pages = data.get("pages", {})
            next_link = pages.get("next")
            url = next_link if next_link else None
Generate Company entities from Intercom.

        Using the Companies endpoint:
          GET https://api.intercom.io/companies
        
backend/airweave/platform/sources/intercom.py