Search Behavior Best Practices for "type ahead" and "near matches’

I'm working on a user directory widget for a B2B app. The search function is the most important part of the widget. Currently we showing the type-ahead results after 2 characters (So The user types "bo" the displayed results might be Bob Gundersonn and Sarah Flamboe). This is fine, but we're having some disagreement about how to handle near-matches or fuzzy search.

Allowing near matches would help if you typed Steven but meant Stephen. But it might be confusing if they type in Jennifer Barker, who hasn't been added to the system and needs to be created, And they see results like Jian Jan and Jeremy Simon. (which we're currently getting).

If there were no type-ahead functionality, you could just wait for a the user to enter their formal search and say, "There were no matches, did you mean. . . " But it's a little trickier with the type ahead, because as they're typing possible results are being generated, and that list changes dynamically and quickly.

What do you think is the best solution for this behavior?