From 5da2a28a5eb0178ac63fb8b63c5ee7cf673f5ae0 Mon Sep 17 00:00:00 2001 From: Christopher Hertel Date: Thu, 9 Oct 2025 02:35:27 +0200 Subject: [PATCH] Drop mixed in favor of ToolResult in event --- src/agent/src/Toolbox/Event/ToolCallSucceeded.php | 5 +++-- src/agent/src/Toolbox/Toolbox.php | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/agent/src/Toolbox/Event/ToolCallSucceeded.php b/src/agent/src/Toolbox/Event/ToolCallSucceeded.php index 2ed607aeb..3fe686d32 100644 --- a/src/agent/src/Toolbox/Event/ToolCallSucceeded.php +++ b/src/agent/src/Toolbox/Event/ToolCallSucceeded.php @@ -11,6 +11,7 @@ namespace Symfony\AI\Agent\Toolbox\Event; +use Symfony\AI\Agent\Toolbox\ToolResult; use Symfony\AI\Platform\Tool\Tool; /** @@ -25,7 +26,7 @@ public function __construct( private object $tool, private Tool $metadata, private array $arguments, - private mixed $result, + private ToolResult $result, ) { } @@ -47,7 +48,7 @@ public function getArguments(): array return $this->arguments; } - public function getResult(): mixed + public function getResult(): ToolResult { return $this->result; } diff --git a/src/agent/src/Toolbox/Toolbox.php b/src/agent/src/Toolbox/Toolbox.php index 644f27cca..0762a2ce1 100644 --- a/src/agent/src/Toolbox/Toolbox.php +++ b/src/agent/src/Toolbox/Toolbox.php @@ -82,7 +82,7 @@ public function execute(ToolCall $toolCall): ToolResult $arguments = $this->argumentResolver->resolveArguments($metadata, $toolCall); $this->eventDispatcher?->dispatch(new ToolCallArgumentsResolved($tool, $metadata, $arguments)); - $result = $tool->{$metadata->getReference()->getMethod()}(...$arguments); + $result = new ToolResult($toolCall, $tool->{$metadata->getReference()->getMethod()}(...$arguments)); $this->eventDispatcher?->dispatch(new ToolCallSucceeded($tool, $metadata, $arguments, $result)); } catch (ToolExecutionExceptionInterface $e) { $this->eventDispatcher?->dispatch(new ToolCallFailed($tool, $metadata, $arguments ?? [], $e)); @@ -93,7 +93,7 @@ public function execute(ToolCall $toolCall): ToolResult throw ToolExecutionException::executionFailed($toolCall, $e); } - return new ToolResult($toolCall, $result); + return $result; } private function getMetadata(ToolCall $toolCall): Tool