feat: Add Fuse.js distillery name normalization

New: src/lib/distillery-matcher.ts
- normalizeDistillery(): Fuzzy matches AI responses against distilleries.json
- cleanBottleName(): Removes distillery from bottle name to avoid duplication
- normalizeWhiskyData(): Combined helper for both operations

Example transformations:
- 'ARDNAHOE DISTILLERY CO LTD' → 'Ardnahoe'
- 'Laphroaig 10 Year Old' → '10 Year Old' (with distillery in separate field)

Integration:
- gemini-vision.ts now normalizes results after AI response
- Enables consistent distillery names for enrichment cache
This commit is contained in:
2025-12-26 22:20:31 +01:00
parent daf6c86633
commit 883b2b61b4
3 changed files with 188 additions and 2 deletions

File diff suppressed because one or more lines are too long