|
|
|
@ -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<ITaskType>, class-string<IProvider>> $textProcessingSettings */
|
|
|
|
|
/** @var array<class-string<ITaskType>, string|class-string<IProvider>> $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) {
|
|
|
|
|