From 8d6dedd3077110e85f6174cb1469fca8c4532a3a Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Tue, 26 Aug 2025 08:45:52 -0400 Subject: [PATCH 1/4] docs: migrate readme to responses api --- README.md | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index f68de3e..37f3557 100644 --- a/README.md +++ b/README.md @@ -46,14 +46,12 @@ Finally, you may use the `OpenAI` facade to access the OpenAI API: ```php use OpenAI\Laravel\Facades\OpenAI; -$result = OpenAI::chat()->create([ - 'model' => 'gpt-4o-mini', - 'messages' => [ - ['role' => 'user', 'content' => 'Hello!'], - ], +$result = OpenAI::responses()->create([ + 'model' => 'gpt-5', + 'input' => 'Hello!', ]); -echo $result->choices[0]->message->content; // Hello! How can I assist you today? +echo $response->outputText; // Hello! How can I assist you today? ``` ## Configuration @@ -111,7 +109,7 @@ All responses are having a `fake()` method that allows you to easily create a re ```php use OpenAI\Laravel\Facades\OpenAI; -use OpenAI\Responses\Completions\CreateResponse; +use OpenAI\Responses\Responses\CreateResponse; OpenAI::fake([ CreateResponse::fake([ @@ -123,21 +121,21 @@ OpenAI::fake([ ]), ]); -$completion = OpenAI::completions()->create([ - 'model' => 'gpt-4o-mini', - 'prompt' => 'PHP is ', +$response = OpenAI::responses()->create([ + 'model' => 'gpt-5', + 'input' => 'PHP is ', ]); -expect($completion['choices'][0]['text'])->toBe('awesome!'); +expect($response->outputText)->toBe('awesome!'); ``` After the requests have been sent there are various methods to ensure that the expected requests were sent: ```php // assert completion create request was sent -OpenAI::assertSent(Completions::class, function (string $method, array $parameters): bool { +OpenAI::assertSent(Responses::class, function (string $method, array $parameters): bool { return $method === 'create' && - $parameters['model'] === 'gpt-4o-mini' && + $parameters['model'] === 'gpt-5' && $parameters['prompt'] === 'PHP is '; }); ``` From 088626820bff8436321e6b8b2e50828fed1e3dbb Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Wed, 27 Aug 2025 06:06:50 -0400 Subject: [PATCH 2/4] build(meta): upgrade to phpstan v2 (#168) --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 39309d3..ffa6c11 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "laravel/pint": "^1.22.0", "pestphp/pest": "^3.8.2|^4.0.0", "pestphp/pest-plugin-arch": "^3.1.1|^4.0.0", - "phpstan/phpstan": "^1.12.25", + "phpstan/phpstan": "^2.1", "symfony/var-dumper": "^7.2.6" }, "autoload": { From 802080ce55f9f33d7fdd75d81795f152e89e64eb Mon Sep 17 00:00:00 2001 From: Hijen EL Khalifi Date: Thu, 28 Aug 2025 14:47:45 +0100 Subject: [PATCH 3/4] docs(meta): correct README for wrong intermediate variable in example (#169) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37f3557..d452d93 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Finally, you may use the `OpenAI` facade to access the OpenAI API: ```php use OpenAI\Laravel\Facades\OpenAI; -$result = OpenAI::responses()->create([ +$response = OpenAI::responses()->create([ 'model' => 'gpt-5', 'input' => 'Hello!', ]); From d60f0a07c2d3b7bed8940e3633b9328386ec4195 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Thu, 4 Sep 2025 11:27:02 -0400 Subject: [PATCH 4/4] feat(meta): Add support for 0.16.1 of client (#171) --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index ffa6c11..40ba5ce 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "php": "^8.2.0", "guzzlehttp/guzzle": "^7.9.3", "laravel/framework": "^11.29|^12.12", - "openai-php/client": "^0.16.0" + "openai-php/client": "^0.16.1" }, "require-dev": { "laravel/pint": "^1.22.0",