"Gains==1 returns all cards that, when played, allow the player to choose and gain one card from the supply (e.g. workshop, remodel)"
This excludes Border Village and Farmland (stipulating "when played"), and excludes Jester, Talisman, Hoard, etc which do not allow you to choose which card to gain (Thief and Noble Brigand are edge cases since if they reveal a silver and gold you get a choice, but this is rare and isn't really in the spirit of what I had in mind). Remodel, Expand, Forge, Upgrade, and the like are included in this definition. If you want to require cards to increase the size of your deck, you can set them it's easy enough to require "&&Trash==0" (this would exclude develop, but this isn't much of a problem). Cards like Upgrade may offer only one (or zero) legal choice given what you're trashing and the kingdom, but in principle they allow a choice.
(Haggler would count)