The US says it struck boats and missile sites in Iran, shortly after both sides had indicated progress in peace talks.