Added
- Audio source provider selection: New
audio_source_provider config option allows selecting between YouTube (youtube) and local file (local) sources. Defaults to youtube for backward compatibility.
- Local file unique ID extraction: LocalSource now generates a unique ID from the file path hash, fixing vector store unique constraint violations.
- Pre-download budget checks for local files: Budget reservation now works for local files (file:// URLs and local paths), not just YouTube URLs.
Fixed
- Impersonate handling: String impersonate values (e.g., "chrome-120") are now properly converted to
ImpersonateTarget objects before passing to yt-dlp, preventing crashes.
Changed
- Provider factory: Added
create_audio_source_provider() factory function for consistent provider instantiation.
Configuration
# Select audio source provider (default: youtube)
export AUDIORAG_AUDIO_SOURCE_PROVIDER="local" # or "youtube"