where('slug', $provider) ->firstOrFail(); } if (!$provider->is_active) { throw new InvalidArgumentException('AI provider is not active.'); } return match ($provider->slug) { 'openrouter', 'openrouter-test' => new OpenRouterService($provider), 'stepfun' => new StepFunService($provider), 'llamacpp' => new LlamaCppService($provider), default => throw new InvalidArgumentException("Unsupported AI provider: {$provider->slug}"), }; } }