validate([ 'task_id' => 'nullable|integer', 'custom_prompt' => 'nullable|string', 'budget' => 'nullable|numeric|min:0', ]); try { $service = new AiSuggestorService(); $result = $service->suggest( $request->input('task_id'), // ✅ Безопасно: вернёт null, если нет $request->input('custom_prompt'), $request->input('budget') ); return response()->json([ 'message' => 'Сборка успешно сгенерирована ИИ.', 'build' => $result['build']->load('components'), ], 201); } catch (\Exception $e) { return response()->json([ 'message' => 'Не удалось сгенерировать сборку.', 'error' => $e->getMessage() ], 500); } } }