*/ class FakeTextProcessingProviderSync implements IProviderWithExpectedRuntime { #[\Override] public function getName(): string { return 'Fake text processing provider (synchronous)'; } #[\Override] public function process(string $prompt): string { return $this->mb_strrev($prompt) . ' (done with FakeTextProcessingProviderSync)'; } #[\Override] public function getTaskType(): string { return FreePromptTaskType::class; } #[\Override] public function getExpectedRuntime(): int { return 1; } /** * Reverse a miltibyte string. * * @param string $string The string to be reversed. * @return string The reversed string */ private function mb_strrev(string $string): string { $chars = mb_str_split($string, 1); return implode('', array_reverse($chars)); } }