For the filling:
In a medium skillet over medium heat, heat the oil. Add the onion; cook, stirring, until tender and translucent, about 5 min., adding the garlic and salt halfway through. Raise the heat to medium high. Cook, stirring, until golden, another 1 to 2 min. Stir in the canned tomatoes; simmer until the liquid has evaporated, about 2 min. Add the sun-dried tomatoes, pepper, and a pinch of salt if needed. You should have about 1/4 cup filling; set aside 1 tsp. for garnish and proceed with the omelet preparation.
For the omelet:
In a medium bowl, whisk together the eggs, water, salt, pepper, and the fresh basil until the yolks and whites are well combined but not foamy. In an 8-inch heavy-duty nonstick skillet over medium-high heat, heat the oil and then add the butter. Swirl to coat the pan.
When the butter melts, pour the eggs into the pan. With a heatproof spatula, scramble the eggs using small, circular scribbling motions until soft curds start to form, 30 to 50 seconds.
As the mixture firms, spread it over the bottom of the pan; swipe the sides as needed. Stop working the curds to let the omelet begin to firm and let it sit about 30 seconds. (If you like your eggs well done, let it go a bit longer.)
Scatter the cheese evenly, leaving a scant margin around the omelet’s edge. Add the other filling ingredients and use your spatula to gently press them into the curds to incorporate the filling into the omelet.
With the spatula, lift one-third of the omelet and fold it over the center like a business letter.
Tilt the pan toward the plate to slide the omelet so one-third of it hangs over the pan’s edge. Invert the pan, using the spatula to help support the omelet so that it flips neatly over itself as it slides out of the pan. Garnish with the pesto and the reserved filling.