I think you need to sit down with her to discuss it.
From what you say, it sounds as though things have changed a good bit from what you agreed to when you moved in, so it is reasonable to raise this with a view to agreeing new arrangements.
For me personally, I would see it as reasonable to ask that no-one sleeps in the common areas without prior agreement, that no-one (other than roomie's girlfriend) is left in the flat alone without prior agreement, and that you agree together on how frequently people can stay over.
The smoking thing - as an asthmatic myself, my experience is that the extent to which being around someone who smokes affects me varies a lot - it has to do with how heavy a smoker they are, how recently they have had a cigarette, how large / well aired the room is, even down to their hair and clothing as this makes a big difference, not to mention my own state of health at the time they happen to be visiting . I would absolutely make any room mate aware that I was asthmatic and that I needed to be in a non-smoking house. but I would then expect to discuss on a case by case basis if there was someone who caused problems for me - it seems as though a big issue here is that it is the girlfriend who smokes, so it has much more of an impact than if it were a casual visitor who was only there for a couple of hours, one evening.
I'd try to reach a compromise - visitors limited to 3 nights a week, for instance (except with prior agreement)
The puking in a bucket thing is unpleasant but I am not sure how you could enforce a rule like that. I presume that someone was either taken ill, or had been drinking - either way, it may not have been something which roomie could have known in advance. Are there 2 bathrooms? If so, i agree that it would be reasonable to ask that any guest who is taken ill uses roomie's bathroom rather than a bucket, but unless you have ongoing issues with her having guests back who are, or who get drunk, I would be inclined to assume that this was a one-off, and not make it a big deal,.