Question: what do villagers need to refresh trades?
Answer: In order for a villager to restock their trades, they have to be able to reach their designated job block. Trades can restock up to twice per (in game) day. These times are determined by random Ticks. You just need to make sure your villager can access their job site within those ticks.