From 6ddc8418187b6a485860da1fe7af2ea283e0840b Mon Sep 17 00:00:00 2001 From: joris Date: Thu, 23 Oct 2025 09:29:06 +0200 Subject: [PATCH] Fix: Wait for all tool calls to roll in before executing them --- src/Response/ResponsesStreamedResponseWrapper.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Response/ResponsesStreamedResponseWrapper.php b/src/Response/ResponsesStreamedResponseWrapper.php index 3533269..90d0948 100644 --- a/src/Response/ResponsesStreamedResponseWrapper.php +++ b/src/Response/ResponsesStreamedResponseWrapper.php @@ -110,7 +110,7 @@ public function getIterator(): Generator assert($response instanceof CreateStreamedResponse); $this->generated[] = $response; - if ($response->response instanceof CreateResponse) { + if ($response->event === 'response.created' && $response->response instanceof CreateResponse) { $this->agent->orchestrator()->context->withPreviousResponseId($response->response->id); continue; @@ -133,7 +133,7 @@ public function getIterator(): Generator } // and execute them when done collecting - if (! empty($capturedToolCalls) && $response->event === 'response.output_item.done') { + if (! empty($capturedToolCalls) && $response->event === 'response.completed') { $this->agent->executeTools($capturedToolCalls); break;