'97 jeep grand cherokee laredo idle/stall problems

I have a '97 jeep grand Cherokee Laredo 4wd I6, since it has been getting cold out I started having problems with my jeep idling/stalling. When I start it up in the morning it idles rough and will rev up and the go back down acting like it’s losing power and about to die then rev back up again (it never completely looses power) when I start driving for the first few blocks it does the same thing, revs up and then looses power, when i hold the gas in it makes a clunking sound like its misfiring and will keep loosing power. sometimes when I’m stopped it will lurch when it revs up again like its going to take right off into the car infront of me. It goes on like this for a few blocks never getting over 30 mph then will all the sudden kick up to power and run perfectly fine until the next time I start it up again. There is no check engine light on and no codes that show up when the computer is scanned. I have replaced the spark plugs, wires, air filter, and cleaned out the IAC with carb cleaner. From what I’m reading online I’m hearing to either replace the IAC, O2 sensor or TPS… any ideas??

The next time the engine is started and the idle is unstable, take the handle of a screwdriver and rap on the IAC valve. If this causes the engine to stall, or if the idle smooths out replace the IAC valve.

Tester