- Added lookup_civitai_by_hash() to query CivitAI API by file hash
- Modified lookup-sources endpoint to process one model at a time
- UI now shows real-time progress with found/not-found counts
- Added Stop button to cancel ongoing lookup
- Computes SHA256 hashes for models that don't have them
This allows identifying models that were downloaded outside of
tracked sources and finding their CivitAI pages automatically.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>