async def create(
        cls, credentials: BitbucketAuthConfig, config: Optional[Dict[str, Any]] = None
    ) -> "BitbucketSource":
        """Create a new source instance with authentication.

        Args:
            credentials: BitbucketAuthConfig instance containing authentication details
            config: Optional source configuration parameters

        Returns:
            Configured Bitbucket source instance
        """
        instance = cls()

        instance.username = credentials.username
        instance.app_password = credentials.app_password
        instance.workspace = credentials.workspace
        instance.repo_slug = credentials.repo_slug

        instance.branch = config.get("branch", "") if config else ""
        instance.file_extensions = config.get("file_extensions", []) if config else []

        return instance
Create a new source instance with authentication.

        Args:
            credentials: BitbucketAuthConfig instance containing authentication details
            config: Optional source configuration parameters

        Returns:
            Configured Bitbucket source instance
        
backend/airweave/platform/sources/bitbucket.py