Querying the LLM for one item specifically every turn would be quite inefficient. What actually happens is that the game asks the LLM to check if any item has been given to the player in general, then asks for the name of the item. If there's an ad-verbatim match in the game's database of predefined items or the NPC's inventory, that item is given to the player directly, otherwise the game tries to find the closest match in the previously mentioned pool of items. If the result is a generic item, there are further steps of customization. The key items NPCs give to you at high relationship are procedurally generated, so they're not part of the item database or the NPC's inventory, and as such can't be given to you in the current version. Gareth's shed key is a predefined item, so it can be given to the player. I hope that helps.
As for the slime fixation, it's currently an issue but I'm working on it.