getContainer(); $this->appConfig = $container->get(IAppConfig::class); $this->taskProcessingManager = $container->get(IManager::class); } public function register(IRegistrationContext $context): void { require_once __DIR__ . '/../../vendor/autoload.php'; $context->registerCapability(Capabilities::class); $context->registerReferenceProvider(Text2ImageReferenceProvider::class); $context->registerReferenceProvider(FreePromptReferenceProvider::class); $context->registerReferenceProvider(SpeechToTextReferenceProvider::class); $context->registerReferenceProvider(TaskOutputFileReferenceProvider::class); $context->registerEventListener(RenderReferenceEvent::class, Text2ImageReferenceListener::class); $context->registerEventListener(RenderReferenceEvent::class, Text2StickerListener::class); $context->registerEventListener(RenderReferenceEvent::class, FreePromptReferenceListener::class); $context->registerEventListener(RenderReferenceEvent::class, SpeechToTextReferenceListener::class); $context->registerEventListener(RenderReferenceEvent::class, TaskOutputFileReferenceListener::class); $context->registerEventListener(BeforeTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class); $context->registerEventListener(LoadAdditionalScriptsEvent::class, LoadAdditionalScriptsListener::class); $context->registerEventListener(TaskSuccessfulEvent::class, TaskSuccessfulListener::class); $context->registerEventListener(TaskFailedEvent::class, TaskFailedListener::class); $context->registerEventListener(TaskSuccessfulEvent::class, ChattyLLMTaskListener::class); $context->registerEventListener(TaskSuccessfulEvent::class, FileActionTaskSuccessfulListener::class); $context->registerEventListener(TaskSuccessfulEvent::class, NewFileMenuTaskSuccessfulListener::class); $context->registerEventListener(TaskFailedEvent::class, FileActionTaskFailedListener::class); $context->registerEventListener(TaskFailedEvent::class, NewFileMenuTaskFailedListener::class); $context->registerNotifierService(Notifier::class); $context->registerEventListener(AddContentSecurityPolicyEvent::class, CSPListener::class); if (class_exists('OCP\\TaskProcessing\\TaskTypes\\AudioToAudioChat')) { $context->registerTaskProcessingProvider(AudioToAudioChatProvider::class); } if (class_exists('OCP\\TaskProcessing\\TaskTypes\\ContextAgentAudioInteraction')) { $context->registerTaskProcessingProvider(ContextAgentAudioInteractionProvider::class); } // TODO use this when we drop NC <= 31 // if (in_array(TextToImage::ID, $this->taskProcessingManager->getAvailableTaskTypeIds(), true)) { $context->registerTaskProcessingTaskType(TextToStickerTaskType::class); $context->registerTaskProcessingProvider(TextToStickerProvider::class); $context->registerReferenceProvider(Text2StickerProvider::class); } public function boot(IBootContext $context): void { } }