validate([ 'message' => ['required', 'string', 'max:1000'], 'history' => ['sometimes', 'array', 'max:20'], 'history.*.role' => ['required_with:history', 'string', 'in:user,model'], 'history.*.text' => ['required_with:history', 'string', 'max:1000'], ]); $user = Auth::user(); $reply = $this->geminiService->sendMessage( message: $validated['message'], userType: $user->type, history: $validated['history'] ?? [], ); return $this->successResponse(payload: ['reply' => $reply]); } }