diff --git a/src/agent/src/Toolbox/ToolResultConverter.php b/src/agent/src/Toolbox/ToolResultConverter.php index 1270e29c6..8d839ed86 100644 --- a/src/agent/src/Toolbox/ToolResultConverter.php +++ b/src/agent/src/Toolbox/ToolResultConverter.php @@ -28,8 +28,10 @@ public function __construct( ) { } - public function convert(mixed $result): ?string + public function convert(ToolResult $toolResult): ?string { + $result = $toolResult->getResult(); + if (null === $result || \is_string($result)) { return $result; } diff --git a/src/agent/tests/Toolbox/ToolResultConverterTest.php b/src/agent/tests/Toolbox/ToolResultConverterTest.php index ea752dbfc..fa8615b53 100644 --- a/src/agent/tests/Toolbox/ToolResultConverterTest.php +++ b/src/agent/tests/Toolbox/ToolResultConverterTest.php @@ -13,17 +13,20 @@ use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; +use Symfony\AI\Agent\Toolbox\ToolResult; use Symfony\AI\Agent\Toolbox\ToolResultConverter; use Symfony\AI\Fixtures\StructuredOutput\UserWithConstructor; +use Symfony\AI\Platform\Result\ToolCall; final class ToolResultConverterTest extends TestCase { #[DataProvider('provideResults')] public function testConvert(mixed $result, ?string $expected) { + $toolResult = new ToolResult(new ToolCall('123456789', 'tool_name'), $result); $converter = new ToolResultConverter(); - $this->assertSame($expected, $converter->convert($result)); + $this->assertSame($expected, $converter->convert($toolResult)); } public static function provideResults(): \Generator