|
|
|
|
@ -82,6 +82,20 @@ class Manager implements IManager { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function hasProviders(): bool { |
|
|
|
|
// check if task processing equivalent types are available |
|
|
|
|
$taskTaskTypes = $this->taskProcessingManager->getAvailableTaskTypes(); |
|
|
|
|
$taskProcessingCompatibleTaskTypes = [ |
|
|
|
|
FreePromptTaskType::class => TextToText::ID, |
|
|
|
|
HeadlineTaskType::class => TextToTextHeadline::ID, |
|
|
|
|
SummaryTaskType::class => TextToTextSummary::ID, |
|
|
|
|
TopicsTaskType::class => TextToTextTopics::ID, |
|
|
|
|
]; |
|
|
|
|
foreach ($taskProcessingCompatibleTaskTypes as $textTaskTypeClass => $taskTaskTypeId) { |
|
|
|
|
if (isset($taskTaskTypes[$taskTaskTypeId])) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$context = $this->coordinator->getRegistrationContext(); |
|
|
|
|
if ($context === null) { |
|
|
|
|
return false; |
|
|
|
|
@ -97,6 +111,21 @@ class Manager implements IManager { |
|
|
|
|
foreach ($this->getProviders() as $provider) { |
|
|
|
|
$tasks[$provider->getTaskType()] = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// check if task processing equivalent types are available |
|
|
|
|
$taskTaskTypes = $this->taskProcessingManager->getAvailableTaskTypes(); |
|
|
|
|
$taskProcessingCompatibleTaskTypes = [ |
|
|
|
|
FreePromptTaskType::class => TextToText::ID, |
|
|
|
|
HeadlineTaskType::class => TextToTextHeadline::ID, |
|
|
|
|
SummaryTaskType::class => TextToTextSummary::ID, |
|
|
|
|
TopicsTaskType::class => TextToTextTopics::ID, |
|
|
|
|
]; |
|
|
|
|
foreach ($taskProcessingCompatibleTaskTypes as $textTaskTypeClass => $taskTaskTypeId) { |
|
|
|
|
if (isset($taskTaskTypes[$taskTaskTypeId])) { |
|
|
|
|
$tasks[$textTaskTypeClass] = true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return array_keys($tasks); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|