I'm sorry you are having such a terrible time Lea.
Although getting into a physical altercation is taking things too far, that woman bears some of the responsibility for what happened by egging you on and provoking you. Had I been in your shoes, I could easily see myself getting physical and throwing a punch. She should not have verbally pushed you like that. Don't be too hard on yourself.
It sounds like you are taking the right steps to stay safe and deal with all of this, and it's good that you have your son there to help you. In regards to the gun, I'm all for people having the means for self defense available when they need it, but in this situation, I have to agree with the others that getting the firearm out of the house was a smart thing to do.
I can't really add anything else to the good advice Gizmo and others have already given you.
Just stay safe, and take care of yourself.
PS-I once lost a good friend to suicide too, it was an awful thing. I know how you feel.
I should have know that all along since I have known this women which is only about a year, My husband always took her side in everything she said that should have been a clue it was going the wrong way. My husband was mad that he did not see me hit her, and was also mad that the only people that did see it happen was me and her. Everyone there which was about 25 people and they claim they saw nothing. Anyway I have taken precautions to stay safe, one of the reasons I remove the gun was I knew it would make him mad cause he wanted it back so he could sell it. He doesn't know who I gave it too.
As far as suicide my uncle committed suicide a few years back so I have an understand of it, My cousin his son is a grief counselor that deals with suicide.
anyway I am hanging in the best I can. just hoping that he don't do something crazy, we don't think so but apparently you never know.