- Add HuggingFace API wrapper class (huggingfaceAPI.js)
- Support upload, download, delete operations via HuggingFace Hub API
- Support public repos (unlimited storage) and private repos (100GB limit)
- Private repos: server proxies requests with Authorization header
- Auto-create repo if not exists (with write token)
- Add HuggingFace to auto-retry channel list
- Environment variables: HF_TOKEN, HF_REPO, HF_PRIVATE
- Support load balancing for multiple HuggingFace channels
- Add quota counter tracking (usedMB, fileCount) per channel
- Filter channels by quota threshold in fetchUploadConfig()
- Update quota on upload (endUpload) and delete
- Add /api/manage/quota API for stats and recalculation
- Fix null check in delete when file record not found
- Fix R2 channel name from hardcoded to actual channel.name
- Change cache purging from synchronous to asynchronous
- Prevents "Delete Failed" false positives when Cloudflare API is slow
- Tags are now deleted immediately while cache purges in background
- Uses waitUntil() for non-blocking cache operations
- Add tag CRUD APIs (single file and batch operations)
- Add tag autocomplete endpoint
- Add tag search support in file listing
- Update database schema with tags column
- Add tag validation and normalization utilities
- Initialize Tags:[] for all new uploads