You need to stand up for yourself and what you need. I get that you usually avoid confrontation, but not doing anything won’t help it get any better. Tell her no about going to lunch or suggest a restaurant in your budget. When she has people in the office that shouldn’t be there, just tell her that you are trying to get your work done and really need it to be quiet in the office. If that doesn’t work, perhaps you need to talk to someone else about it (management wise) and get them involved with what she is doing.