diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index ee77fbd4cda82..115e8babde21a 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -871,6 +871,7 @@ 'OCP\\TaskProcessing\\Exception\\ProcessingException' => $baseDir . '/lib/public/TaskProcessing/Exception/ProcessingException.php', 'OCP\\TaskProcessing\\Exception\\UnauthorizedException' => $baseDir . '/lib/public/TaskProcessing/Exception/UnauthorizedException.php', 'OCP\\TaskProcessing\\Exception\\ValidationException' => $baseDir . '/lib/public/TaskProcessing/Exception/ValidationException.php', + 'OCP\\TaskProcessing\\IInternalTaskType' => $baseDir . '/lib/public/TaskProcessing/IInternalTaskType.php', 'OCP\\TaskProcessing\\IManager' => $baseDir . '/lib/public/TaskProcessing/IManager.php', 'OCP\\TaskProcessing\\IProvider' => $baseDir . '/lib/public/TaskProcessing/IProvider.php', 'OCP\\TaskProcessing\\ISynchronousProvider' => $baseDir . '/lib/public/TaskProcessing/ISynchronousProvider.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index 3b18f00da9697..0354cc2097da3 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -912,6 +912,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OCP\\TaskProcessing\\Exception\\ProcessingException' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/Exception/ProcessingException.php', 'OCP\\TaskProcessing\\Exception\\UnauthorizedException' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/Exception/UnauthorizedException.php', 'OCP\\TaskProcessing\\Exception\\ValidationException' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/Exception/ValidationException.php', + 'OCP\\TaskProcessing\\IInternalTaskType' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/IInternalTaskType.php', 'OCP\\TaskProcessing\\IManager' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/IManager.php', 'OCP\\TaskProcessing\\IProvider' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/IProvider.php', 'OCP\\TaskProcessing\\ISynchronousProvider' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/ISynchronousProvider.php', diff --git a/lib/private/TaskProcessing/Manager.php b/lib/private/TaskProcessing/Manager.php index d67b025d5edc0..371b1ab7eaf8f 100644 --- a/lib/private/TaskProcessing/Manager.php +++ b/lib/private/TaskProcessing/Manager.php @@ -51,6 +51,7 @@ use OCP\TaskProcessing\Exception\ProcessingException; use OCP\TaskProcessing\Exception\UnauthorizedException; use OCP\TaskProcessing\Exception\ValidationException; +use OCP\TaskProcessing\IInternalTaskType; use OCP\TaskProcessing\IManager; use OCP\TaskProcessing\IProvider; use OCP\TaskProcessing\ISynchronousProvider; @@ -88,7 +89,7 @@ class Manager implements IManager { private ?array $providers = null; /** - * @var array, optionalInputShape: ShapeDescriptor[], optionalInputShapeEnumValues: ShapeEnumValue[][], optionalInputShapeDefaults: array, outputShape: ShapeDescriptor[], outputShapeEnumValues: ShapeEnumValue[][], optionalOutputShape: ShapeDescriptor[], optionalOutputShapeEnumValues: ShapeEnumValue[][]}> + * @var array, isInternal: bool, optionalInputShape: ShapeDescriptor[], optionalInputShapeEnumValues: ShapeEnumValue[][], optionalInputShapeDefaults: array, outputShape: ShapeDescriptor[], outputShapeEnumValues: ShapeEnumValue[][], optionalOutputShape: ShapeDescriptor[], optionalOutputShapeEnumValues: ShapeEnumValue[][]}> */ private ?array $availableTaskTypes = null; @@ -878,6 +879,7 @@ public function getAvailableTaskTypes(bool $showDisabled = false, ?string $userI 'outputShapeEnumValues' => $provider->getOutputShapeEnumValues(), 'optionalOutputShape' => $provider->getOptionalOutputShape(), 'optionalOutputShapeEnumValues' => $provider->getOptionalOutputShapeEnumValues(), + 'isInternal' => $taskType instanceof IInternalTaskType, ]; } catch (\Throwable $e) { $this->logger->error('Failed to set up TaskProcessing provider ' . $provider::class, ['exception' => $e]); diff --git a/lib/public/TaskProcessing/IInternalTaskType.php b/lib/public/TaskProcessing/IInternalTaskType.php new file mode 100644 index 0000000000000..56c53d5a8420b --- /dev/null +++ b/lib/public/TaskProcessing/IInternalTaskType.php @@ -0,0 +1,19 @@ +, optionalInputShape: ShapeDescriptor[], optionalInputShapeEnumValues: ShapeEnumValue[][], optionalInputShapeDefaults: array, outputShape: ShapeDescriptor[], outputShapeEnumValues: ShapeEnumValue[][], optionalOutputShape: ShapeDescriptor[], optionalOutputShapeEnumValues: ShapeEnumValue[][]}> + * @return array, isInternal: bool, optionalInputShape: ShapeDescriptor[], optionalInputShapeEnumValues: ShapeEnumValue[][], optionalInputShapeDefaults: array, outputShape: ShapeDescriptor[], outputShapeEnumValues: ShapeEnumValue[][], optionalOutputShape: ShapeDescriptor[], optionalOutputShapeEnumValues: ShapeEnumValue[][]}> * @since 30.0.0 * @since 31.0.0 Added the `showDisabled` argument. * @since 31.0.7 Added the `userId` argument + * @since 33.0.0 Added `isInternal` to return value */ public function getAvailableTaskTypes(bool $showDisabled = false, ?string $userId = null): array; diff --git a/lib/public/TaskProcessing/TaskTypes/AudioToAudioChat.php b/lib/public/TaskProcessing/TaskTypes/AudioToAudioChat.php index c862437e86b27..0613a2d07d244 100644 --- a/lib/public/TaskProcessing/TaskTypes/AudioToAudioChat.php +++ b/lib/public/TaskProcessing/TaskTypes/AudioToAudioChat.php @@ -12,14 +12,14 @@ use OCP\IL10N; use OCP\L10N\IFactory; use OCP\TaskProcessing\EShapeType; -use OCP\TaskProcessing\ITaskType; +use OCP\TaskProcessing\IInternalTaskType; use OCP\TaskProcessing\ShapeDescriptor; /** * This is the task processing task type for audio chat * @since 32.0.0 */ -class AudioToAudioChat implements ITaskType { +class AudioToAudioChat implements IInternalTaskType { /** * @since 32.0.0 */ diff --git a/lib/public/TaskProcessing/TaskTypes/ContextAgentAudioInteraction.php b/lib/public/TaskProcessing/TaskTypes/ContextAgentAudioInteraction.php index 6cd358040b716..b668ea248067d 100644 --- a/lib/public/TaskProcessing/TaskTypes/ContextAgentAudioInteraction.php +++ b/lib/public/TaskProcessing/TaskTypes/ContextAgentAudioInteraction.php @@ -12,14 +12,14 @@ use OCP\IL10N; use OCP\L10N\IFactory; use OCP\TaskProcessing\EShapeType; -use OCP\TaskProcessing\ITaskType; +use OCP\TaskProcessing\IInternalTaskType; use OCP\TaskProcessing\ShapeDescriptor; /** * This is the task processing task type for Context Agent interaction * @since 32.0.0 */ -class ContextAgentAudioInteraction implements ITaskType { +class ContextAgentAudioInteraction implements IInternalTaskType { public const ID = 'core:contextagent:audio-interaction'; private IL10N $l; diff --git a/lib/public/TaskProcessing/TaskTypes/ContextAgentInteraction.php b/lib/public/TaskProcessing/TaskTypes/ContextAgentInteraction.php index cd08d6f4e3de3..6cb126e189453 100644 --- a/lib/public/TaskProcessing/TaskTypes/ContextAgentInteraction.php +++ b/lib/public/TaskProcessing/TaskTypes/ContextAgentInteraction.php @@ -12,14 +12,14 @@ use OCP\IL10N; use OCP\L10N\IFactory; use OCP\TaskProcessing\EShapeType; -use OCP\TaskProcessing\ITaskType; +use OCP\TaskProcessing\IInternalTaskType; use OCP\TaskProcessing\ShapeDescriptor; /** * This is the task processing task type for Context Agent interaction * @since 31.0.0 */ -class ContextAgentInteraction implements ITaskType { +class ContextAgentInteraction implements IInternalTaskType { public const ID = 'core:contextagent:interaction'; private IL10N $l; diff --git a/lib/public/TaskProcessing/TaskTypes/TextToTextChatWithTools.php b/lib/public/TaskProcessing/TaskTypes/TextToTextChatWithTools.php index ebc660a3af952..3e470bf23aefe 100644 --- a/lib/public/TaskProcessing/TaskTypes/TextToTextChatWithTools.php +++ b/lib/public/TaskProcessing/TaskTypes/TextToTextChatWithTools.php @@ -12,14 +12,14 @@ use OCP\IL10N; use OCP\L10N\IFactory; use OCP\TaskProcessing\EShapeType; -use OCP\TaskProcessing\ITaskType; +use OCP\TaskProcessing\IInternalTaskType; use OCP\TaskProcessing\ShapeDescriptor; /** * This is the task processing task type for invoking Chat-enabled LLMs with tool call support * @since 31.0.0 */ -class TextToTextChatWithTools implements ITaskType { +class TextToTextChatWithTools implements IInternalTaskType { public const ID = 'core:text2text:chatwithtools'; private IL10N $l;