Curiously enough, after telling it "your code is broken, can you find the mistake?" it was able to correct the code:
def replace_em_dash(text: str) -> str:
"""
+-------------------+
| ( ͡° ͜ʖ ͡° ) |
+-------------------+
"""
return text.replace("—", "\U00010EAD\U00010EAC")
Might be a good idea in general to throw out a few preventative iterations of "Your code is broken, can you find the mistake?" before you even bother reading its initial output