diff --git a/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php b/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php index eb1983690a5..72efca66636 100644 --- a/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php +++ b/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php @@ -33,6 +33,7 @@ use OCP\Settings\IDelegatedSettings; use OCP\SpeechToText\ISpeechToTextManager; use OCP\TextProcessing\IManager; use OCP\TextProcessing\IProvider; +use OCP\TextProcessing\IProviderWithId; use OCP\TextProcessing\ITaskType; use OCP\Translation\ITranslationManager; use Psr\Container\ContainerExceptionInterface; @@ -74,15 +75,15 @@ class ArtificialIntelligence implements IDelegatedSettings { } $textProcessingProviders = []; - /** @var array, class-string> $textProcessingSettings */ + /** @var array, string|class-string> $textProcessingSettings */ $textProcessingSettings = []; foreach ($this->textProcessingManager->getProviders() as $provider) { $textProcessingProviders[] = [ - 'class' => $provider::class, + 'class' => $provider instanceof IProviderWithId ? $provider->getId() : $provider::class, 'name' => $provider->getName(), 'taskType' => $provider->getTaskType(), ]; - $textProcessingSettings[$provider->getTaskType()] = $provider::class; + $textProcessingSettings[$provider->getTaskType()] = $provider instanceof IProviderWithId ? $provider->getId() : $provider::class; } $textProcessingTaskTypes = []; foreach ($textProcessingSettings as $taskTypeClass => $providerClass) {