app->bind(ArticleRepositoryInterface::class, ArticleRepository::class); $this->app->bind(LlmClientInterface::class, function ($app) { $settings = $app->make(AppSettingsService::class); $provider = (string) ($settings->activeProviderInstance()['type'] ?? 'ollama'); return match ($provider) { 'lmstudio' => new LmStudioClient($settings), default => new OllamaClient($settings), }; }); } public function boot(): void { Article::observe(ArticleObserver::class); } }