*/ public function execute( string $prompt, AiProvider $provider, AiModel $model, float $temperature = 0.7, int $maxTokens = 8192 ): array { $startTime = microtime(true); $aiData = [ 'prompt' => $prompt, 'temperature' => $temperature, 'max_tokens' => $maxTokens, 'model' => $model->slug, 'api_key' => $provider->api_key, 'base_url' => $provider->base_url, ]; try { $service = $this->aiServiceFactory->make($provider); $result = $service->generatePrompt($aiData); } catch (ConnectionException|RuntimeException $e) { Log::error('AI Agent execution failed: ' . $e->getMessage()); return [ 'success' => false, 'error' => $e->getMessage(), 'content' => '', 'tokens_used' => null, 'generation_time' => round(microtime(true) - $startTime, 3), 'model' => $model->slug, 'provider' => $provider->name, ]; } return [ 'success' => true, 'content' => $result['content'] ?? '', 'tokens_used' => $result['tokens_used'] ?? null, 'generation_time' => round(microtime(true) - $startTime, 3), 'model' => $model->slug, 'provider' => $provider->name, ]; } }