diff --git a/apps/testing/composer/composer/autoload_classmap.php b/apps/testing/composer/composer/autoload_classmap.php index 9be96aaf61793..81abc4acfe495 100644 --- a/apps/testing/composer/composer/autoload_classmap.php +++ b/apps/testing/composer/composer/autoload_classmap.php @@ -26,6 +26,7 @@ 'OCA\\Testing\\Settings\\DeclarativeSettingsForm' => $baseDir . '/../lib/Settings/DeclarativeSettingsForm.php', 'OCA\\Testing\\TaskProcessing\\FakeContextWriteProvider' => $baseDir . '/../lib/TaskProcessing/FakeContextWriteProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTextToImageProvider' => $baseDir . '/../lib/TaskProcessing/FakeTextToImageProvider.php', + 'OCA\\Testing\\TaskProcessing\\FakeTextToTextChatProvider' => $baseDir . '/../lib/TaskProcessing/FakeTextToTextChatProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTextToTextProvider' => $baseDir . '/../lib/TaskProcessing/FakeTextToTextProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTextToTextSummaryProvider' => $baseDir . '/../lib/TaskProcessing/FakeTextToTextSummaryProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTranscribeProvider' => $baseDir . '/../lib/TaskProcessing/FakeTranscribeProvider.php', diff --git a/apps/testing/composer/composer/autoload_static.php b/apps/testing/composer/composer/autoload_static.php index bd557c37f6bd1..94b58f35303e8 100644 --- a/apps/testing/composer/composer/autoload_static.php +++ b/apps/testing/composer/composer/autoload_static.php @@ -41,6 +41,7 @@ class ComposerStaticInitTesting 'OCA\\Testing\\Settings\\DeclarativeSettingsForm' => __DIR__ . '/..' . '/../lib/Settings/DeclarativeSettingsForm.php', 'OCA\\Testing\\TaskProcessing\\FakeContextWriteProvider' => __DIR__ . '/..' . '/../lib/TaskProcessing/FakeContextWriteProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTextToImageProvider' => __DIR__ . '/..' . '/../lib/TaskProcessing/FakeTextToImageProvider.php', + 'OCA\\Testing\\TaskProcessing\\FakeTextToTextChatProvider' => __DIR__ . '/..' . '/../lib/TaskProcessing/FakeTextToTextChatProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTextToTextProvider' => __DIR__ . '/..' . '/../lib/TaskProcessing/FakeTextToTextProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTextToTextSummaryProvider' => __DIR__ . '/..' . '/../lib/TaskProcessing/FakeTextToTextSummaryProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTranscribeProvider' => __DIR__ . '/..' . '/../lib/TaskProcessing/FakeTranscribeProvider.php', diff --git a/apps/testing/lib/AppInfo/Application.php b/apps/testing/lib/AppInfo/Application.php index 2add318f32746..db68795ced86e 100644 --- a/apps/testing/lib/AppInfo/Application.php +++ b/apps/testing/lib/AppInfo/Application.php @@ -20,6 +20,7 @@ use OCA\Testing\Settings\DeclarativeSettingsForm; use OCA\Testing\TaskProcessing\FakeContextWriteProvider; use OCA\Testing\TaskProcessing\FakeTextToImageProvider; +use OCA\Testing\TaskProcessing\FakeTextToTextChatProvider; use OCA\Testing\TaskProcessing\FakeTextToTextProvider; use OCA\Testing\TaskProcessing\FakeTextToTextSummaryProvider; use OCA\Testing\TaskProcessing\FakeTranscribeProvider; @@ -47,6 +48,7 @@ public function register(IRegistrationContext $context): void { $context->registerTextToImageProvider(FakeText2ImageProvider::class); $context->registerTaskProcessingProvider(FakeTextToTextProvider::class); + $context->registerTaskProcessingProvider(FakeTextToTextChatProvider::class); $context->registerTaskProcessingProvider(FakeTextToTextSummaryProvider::class); $context->registerTaskProcessingProvider(FakeTextToImageProvider::class); $context->registerTaskProcessingProvider(FakeTranslateProvider::class); diff --git a/apps/testing/lib/TaskProcessing/FakeTextToTextChatProvider.php b/apps/testing/lib/TaskProcessing/FakeTextToTextChatProvider.php new file mode 100644 index 0000000000000..8f75490dd6c8a --- /dev/null +++ b/apps/testing/lib/TaskProcessing/FakeTextToTextChatProvider.php @@ -0,0 +1,98 @@ +appConfig->getAppValueBool('fail-' . $this->getId())) { + throw new ProcessingException('Failing as set by AppConfig'); + } + + if (!isset($input['system_prompt']) || !is_string($input['system_prompt'])) { + throw new RuntimeException('Invalid system prompt'); + } + + if (!isset($input['input']) || !is_string($input['input'])) { + throw new RuntimeException('Invalid input message'); + } + + if (!isset($input['history']) || !is_array($input['history'])) { + throw new RuntimeException('Invalid message history'); + } + + return [ + 'output' => 'This is a fake response message: ' + . "\n\n- System prompt: " . $input['system_prompt'] + . "\n- Input message: " . $input['input'] + . "\n- Message history:\n" . count($input['history']) . ' messages', + ]; + } +}