from core.plugin.entities.plugin_daemon import PluginDatasourceProviderEntity from core.plugin.impl.datasource import PluginDatasourceManager from services.datasource_provider_service import DatasourceProviderService class RagPipelineManageService: @staticmethod def list_rag_pipeline_datasources(tenant_id: str) -> list[PluginDatasourceProviderEntity]: """ list rag pipeline datasources """ # get all builtin providers manager = PluginDatasourceManager() datasources = manager.fetch_datasource_providers(tenant_id) for datasource in datasources: datasource_provider_service = DatasourceProviderService() credentials = datasource_provider_service.get_datasource_credentials( tenant_id=tenant_id, provider=datasource.provider, plugin_id=datasource.plugin_id ) if credentials: datasource.is_authorized = True return datasources