![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/openai-php/laravel/src/ |
<?php declare(strict_types=1); namespace OpenAI\Laravel; use Illuminate\Contracts\Support\DeferrableProvider; use Illuminate\Support\ServiceProvider as BaseServiceProvider; use OpenAI; use OpenAI\Client; use OpenAI\Contracts\ClientContract; use OpenAI\Laravel\Exceptions\ApiKeyIsMissing; /** * @internal */ final class ServiceProvider extends BaseServiceProvider implements DeferrableProvider { /** * Register any application services. */ public function register(): void { $this->app->singleton(ClientContract::class, static function (): Client { $apiKey = config('openai.api_key'); $organization = config('openai.organization'); if (! is_string($apiKey) || ($organization !== null && ! is_string($organization))) { throw ApiKeyIsMissing::create(); } return OpenAI::client($apiKey, $organization); }); $this->app->alias(ClientContract::class, 'openai'); $this->app->alias(ClientContract::class, Client::class); } /** * Bootstrap any application services. */ public function boot(): void { if ($this->app->runningInConsole()) { $this->publishes([ __DIR__.'/../config/openai.php' => config_path('openai.php'), ]); } } /** * Get the services provided by the provider. * * @return array<int, string> */ public function provides(): array { return [ Client::class, ClientContract::class, 'openai', ]; } }